WorldBase
-- The original starting point(s) of a Serious world.
The ultimate/root parent entity. Used as an independent root location to which primitives/brushes/entities are added/grouped (and share a common worldbase name). Some performance intensive markers/entities, such as fog, gradient, gravity, haze and mirror, must first be added to a worldbase, before they can be seen by/applied to sectors within the world. Use of multiple worldbases is useful for assuring independence of things that later need to be moved, cloned, replaced, etc. Performance implications?
(And remember....... "all your worldbase is ours" :-) )
(Intriguing, as yet undiscussed property: Opacity)
(See note at bottom regarding how to change a brush's center via a new worldbrush)
WorldBase (Davor Hunski)
- basic brush entity. It is used for 'holding' a world's (or a portion of a world's) geometry. There can be two types of world base entity: zoning and non-zoning. Zoning are used to define classification of other entities. Non-zoning are usually used to form detailed architecture or distant architecture.
Anchored
-flag property. It is normally undesirable for the user to be able to move zoning entities, due to the intensive processor calculations involved (such as classification, directional shadow recalculating, portal link setup...). The Anchored flag property is used to prevent user from accidentally moving zoning entities. If an entity has this flag turned on, the user won't be able to move it until tool button 'Anchor' is set on.
Fog 0 (special case, see end of paragraph)
Fog 1 thru 4
-pointers to fog markers. Makes up to 5 pointers (links) to fog marker entities available to the worldbase's sectors. Each sector can have one applied fog effect. This effect is used to form all kinds of fogs (thick, dense, dark, colored, orthogonal (vertical) , rotated (shaking), ...). When such a sector is rendered it asks its brush (brushes consist of sectors) to obtain fog parameters of the fog assigned to it via a fog number. That's why worldbase brush has pointers to fog markers. Via these pointers, brushes are able to access fog parameters (color, height, density,...) from fog marker, which must be known for fog rendering. This pointer mechanism is used to link entities with sectors or polygons. Fog 0 represents every sector's default fog, so setting fog 0 will tell the engine to render fog in each and every sector in the level.
Gradient 0 thru 19
-pointers to gradient markers. To obtain gradient properties, polygons use the same mechanism that is used for obtaining fog properties. A polygon that has a gradient shadow is linked with a gradient marker via its brush. Gradiental shadows are gradients that are applied when a shadow map is generated. They are used to simulate 'radiosity effect', in which light power falls near ceilings or decreases intensity with distance from illuminating areas (lava).
Gravity 0 thru 9
-pointers to gravity markers. The Serious engine is able to handle multi-directional gravity (6 degrees of freedom). Gravity that influences an entity is the result of the combined efforts of all gravities that are applied to this entity (if entity is classified into more than one sectors). The Gravity pointer property holds a pointer (link) to a gravity marker. A Gravity marker defines parameters for calculating gravity in certain point in space.
Haze 0 (special case, see end of paragraph)
Haze 1 thru 4
-pointer to haze markers. Works the same way as fog does. It simulates natural phenomena caused by light being reflected from particles in the atmosphere. Use of haze greatly contributes to the reality of the rendered view. Outdoor views rendered without haze look synthetic and unnatural, whereas proper use of haze gives a photo-realistic look. Haze also removes difference between world and background in a such a way that the transition between them is not noticeable. Haze 0 represents every sector's default haze, so setting haze 0 will tell the engine to render haze in each and every sector in the level.
Mirror 0 thru 4
-pointers to mirror markers. Mirror markers are used to define camera origin for rendering warp hole portal. When a polygon is marked as warp hole, it asks its brush to provide warped placement. To obtain warp hole exit camera placement, user has to create two linked mirror markers. Brush is via pointer properties linked to first mirror marker. This first mirror marker targets second one, one that is used to define warp hole exit. To be able to render effect properly, the warp hole rendering system has to use two placements. That's why two mirror markers must be used.
Zoning
-flag property. If this flag is set, brush is used to define zones. All non-zoning entities (non-brush entities and non-zoning brushes) are classified into zones (sectors). When classifying non-zoning brush, it is considered to behave as any other non-zoning entity (like bush or item). When it is rendered, all of its sectors (and all of the sectors' polygons) are added into rendering queue. Because a non-zoning brush can't classify entities, a model that is placed inside a non-zoning brush is actually classified into sector of zoning brush that contains the non-zoning brush. And if this sector is visible, model is added to rendering, no matter if it is occluded by non-zoning brush. Example: if you have non-zoning chapel inside one yard, and torch inside chapel, if yard is visible, torch is also visible.
---------
Changing A Brush's Center Via A New Worldbrush
This assumes a brush that is independent, i.e. that has its own worldbase (was "joined" into the world, rather than "added"). Be in entity mode. Optionally, note or copy (select and Ctrl+C) the brush's name. Make sure nothing is selected (i.e. if the brush is selected, deselect it). Drag and drop and position a new worldbase to where you want the brush's new center (of rotation, etc.) to be. Select the brush (the new worldbase's selection arrow will disappear). Click the "Add" button (the new worldbase disappears, as it is now the brush). Select the brush. Optionally, restore the brush's name by pasting it (Ctrl+V) from the Windows clipboard where you earlier copied it to. Test the brush's new center by rotating it via the arrow keys.
Note: It appears that similar can be done with a movingbrush marker, raising the possibility of changing a movingbrush's center or converting a static independent brush (that has its own worldbase) into a movingbrush.