BSOrderedNode

From GECK
Jump to: navigation, search

BSOrderedNode allows you to influence the alpha sorting of its child Nodes by defining the position (x,y,z) and radius (w) of the Alpha Sort Bound property.

A typical example, from DLC05SpaceDome07.nif

If Static Bound is set, game will sort based on this formula:

depth = dot((boundCenter * nodeWorldPosition), cameraDirection);


If using Fallout Alpha Rendering Tweaks, this formula is influenced by the Bound radius and Node scale, increasing sorting precision:

depth = dot(((boundCenter * nodeWorldPosition) * cameraDirection)) - (boundRadius * nodeWorldScale);


If Static Bound is false, game will use auto calculated Node Bound instead. The formula is as follows:

depth = dot(boundCenter, cameraDirection);


If using Fallout Alpha Rendering Tweaks, this formula is influenced by the Bound radius and Node scale, increasing sorting precision:

depth = dot((boundCenter * cameraDirection)) - boundRadius;

Notes

If you wish to make NifSkope's Alpha Sort Bound more accurate, edit Nif.XML and replace <add name="Alpha Sort Bound" type="Vector4"> with <add name="Alpha Sort Bound" type="NiBound"> This will correctly display the field as an XYZ + Radius.

How it should display.