WorldSettingsController
--
(NOTE: As of 1.07 patch, some of this has moved to Environment Particles Holder and there are interesting as yet undiscussed new properties: Apply Shading To Models)
(now uses/can use Environment Particles Holder)
(dated, needs rewritten)
WorldSettingsController (Davor Hunski)
Functionality of world settings controller class is also described under "BackgroundViewer->World Settings Controller" section. World settings controller (WSC) entity usually appears only once in a level. It serves as a holder for data needed by some complex interactive effects that are to be performed on the level (i.e. storm or room morphing). WSC also enables you to set height map and define box that height map refers to. Height map is grayscale picture where bright pixels represent high areas, and dark ones low areas. "Height map" is the term widely used in terrain displacing applications. This height map is actually a Z-buffer of level saved from above (for those who know what Z-buffer is). You can save height map for certain area with Serious Editor: select polygons that will define axis aligned height map box and select "Export displace map". Select file name to hold saved height map. Bounding box that this height map represents is dumped into SED's console. Browse for and select exported height map under "Height map" property and type dumped values under "Height map box". Height map is used for procedural particle rendering (rain or grass). You wouldn't like rain to fall under roof. That's why you have height map of a level, which can be understood as a 'rain map' in this case. This grayscale picture mapped into world coordinates (that's what height map box is for) determines heights for certain area of your level. So, when the engine renders a rain drop, it looks into rain map's y coordinate and if rain drop's y coordinate is above, it will be rendered, otherwise it won't.
Height map
-file property. Here you browse for and select a height map.
Height map box
-bounding box property. Here you set min and max coordinates for each axis, defining a boxed volume area. Height map is mapped onto this box, where first left pixel is mapped onto min x,z coordinates, lower right height map's pixel is mapped onto box's max x,z position. Engine then extracts y coordinate according to mapped pixel's color where black pixels are mapped onto bottom of box, white onto roof. Since one color component is one byte, you can have 256 distinct values for y. Along x and z coordinate you have texture size proportional to the number of values: the bigger the height map is (in pixels), the more precision you will have, since each pixel will be mapped onto smaller world area.
Obsolete
Name
Parent
Spawn flags