density
Density of scattered objects. Type: real number. Units of objects per m^2.
seed
Random number generator seed. Type: positive integer. Default value 1.
view_culling
If true, remove instances not in direct camera view. Type: boolean. Default value false.
orient_normal
If true, align instances along the target object normal, instead of vertically. Type: boolean. Default value false.
scale_std_dev
Standard deviation of instance scale. Type: real number. Unit: dimensionless. Default value: 0.
height_std_dev
Standard deviation of instance height (z-scale). Type: real number. Unit: dimensionless. Default value: 0.
evenness
Controls evenness of scattering. 0 = very clumpy, 1 = very even. Type: real number. Default value: 0.
z_offset
Translate all instances by this value. Type: real number. Unit: meteres. Default value: 0.
shader
Object scattering can be controlled with shaders, as in the following example:
<scatter> <name>the scatter</name> <prototype_object_uid>4000</prototype_object_uid> <shader> <shader> <![CDATA[ def evalScale(int index) float : pow(normalOS().z, 5.0) def evalCreate(int index, vec3 p) bool : normalOS().z > 0.8 ]]> </shader> </shader> <density>2</density> <evenness>1</evenness> <target_object_uid>2000</target_object_uid> </scatter>
evalScale determines the scaling of the object instance, and evalCreate determines if the object is created or not.