Managing Transparent Objects

Revision as of 14:31, 5 May 2009 by Robert the rebuilder (Talk | contribs) (New page: '''Note: Currently, this page is nothing more than a re-post of [http://forum.guildofwriters.com/viewtopic.php?p=31450#p31450 Paradox's explanation]. Feel free to expand this.''' Flags...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: Currently, this page is nothing more than a re-post of Paradox's explanation. Feel free to expand this.


Flags can be set on objects individually through AlcScript to give greater control over the DrawableSpans. Unfortunately in the current release, everything must be done in hexadecimal, but you can grab my edited DrawClasses.py file to set the flags by name.

Firstly, all Spans have a RenderLevel. This applies to all of the objects in that span. The RenderLevel has a Major and a Minor component.

0 = opaque
1 = fb
2 = defrend
4 = blend
8 = late

All default spans have a render level of (Major = opaque; minor = opaque).

If an object has any sort of transparency, it must be exported in a BlendSpan, which has a render level of (M=defrend;m=opaque). Your can force objects to be exported in a BlendSpan using the TRANSP button in the Object Properties.

Wavesets are always automatically exported with a render level of (M=late;m=opaque).


You can control these in AlcScript using the visual.renderlevel.major and visual.renderlevel.minor properties.

[ObjectName]:
   visual:
       renderlevel:
           major:
             - blend
           minor:
             - opaque

Uru seems to render the spans in a specific order, sorting them first by the major renderlevel in increasing order, and then within that order by minor level in increasing order, and finally by the suffix number at the end of the span (controlled by the PassIndex setting).

Hence, if you have 5 DrawableSpans with various settings they would be rendered as follows:

#1 M=Opaque    m=Opaque    Spans0    (0 0 0)
#2 M=Opaque    m=Opaque    Spans1    (0 0 1)
#3 M=Opaque    m=Blend     Spans0    (0 4 0)
#4 M=DefRend   m=Opaque    Spans0    (2 0 0)
#5 M=Late      m=Opaque    Spans0    (8 0 0)