<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Map_Objects</id>
	<title>Map Objects - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Map_Objects"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Map_Objects&amp;action=history"/>
	<updated>2026-04-07T18:56:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Map_Objects&amp;diff=3390&amp;oldid=prev</id>
		<title>Ducks: batch update</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Map_Objects&amp;diff=3390&amp;oldid=prev"/>
		<updated>2007-11-21T15:48:04Z</updated>

		<summary type="html">&lt;p&gt;batch update&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Map Objects are 3D models that are placed within a map in order to increase the percieved detail of the map itself. Examples of map objects include plants, trees, light fittings, tables, chairs, computers, trash, lightposts and other miscellaneous items.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
To create a model-based map object, create a [[Entity model_static|model_static]] or [[Entity func_static|func_static]] entity. A model can then be assigned to the entity, for example {{filename|models/mapobjects/fencing/fence_wire01.lwo}} which is a section of metal fencing for use in any map.&lt;br /&gt;
&lt;br /&gt;
In-game, mapobjects can behave in a number of ways. The most simple of which is triggering a mapobject, which will cause it to toggle itself between being visible and being hidden.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mapobjects_clip.jpg|frame|left|Some models have custom clipping hulls to improve performance, reduce memory usage, and/or prevent players getting stuck on them.]]&lt;br /&gt;
=== Collision ===&lt;br /&gt;
Models are collidable in the same manner as geometry, but adding a detailed model can have a significant impact on the collision data used by the map, and result in a decrease in performance. To alleviate this issue, many models have custom, simpler clipping hulls defined inside the model itself. Some models also have additional clip surfaces in order to prevent players getting caught or stuck on the geometry.&lt;br /&gt;
&lt;br /&gt;
Usually, collision data is shared between models in order to reduce memory usage. However it is possible to merge a model's collision model into the world model using the {{keyname|[[Entity model_static#mergecm|mergecm]]}} parameter, which gives faster collision checking, at the cost of using more memory for each and every instance that does this.&lt;br /&gt;
&lt;br /&gt;
Models can also be made non-collidable by setting their {{keyname|[[Entity model_static#noclipmodel|noclipmodel]]}} parameter, which is ideal for models that are insignificantly small or unreachable by the player. This saves memory.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== LOD  ==&lt;br /&gt;
&lt;br /&gt;
Some models exist in two guises:  a 'normal', high-polygon version for when the player is close-up, and a 'minvis', low-polygon version for when the player is far away. By using [[LOD Groups]], the high-poly versions can be set to vanish at a distance, and the low-poly (minvis) versions appear in their place. &lt;br /&gt;
&lt;br /&gt;
Combined with batching, this approach leads to extremely effective performance gains with minimum memory penalty (since the 'minvis' versions typically have only 25% the number of triangles of the original.)&lt;br /&gt;
&lt;br /&gt;
Models should be placed in [[LOD Groups]] in the same fashion as brushwork and other entities. They can then be set up to not render at all at a distance.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mapobjects instances.jpg|frame|right|The same chair model used in 3 func_statics and 3 model_statics requires 4 batches, because model_static models are instanced whereas func_static models are not.]]&lt;br /&gt;
&lt;br /&gt;
=== Batching ===&lt;br /&gt;
Batching involves the re-use of the same texture across many triangles, which allows the renderer to draw all triangles at the same without needing to load a new texture. It is generally better to use a variety of models that use the same texture than it is to use a variety of models with a unique texture on each. &lt;br /&gt;
&lt;br /&gt;
Because textures can be shared between models and the map, if a model uses a texture it is acceptable to use that same texture for map geometry as well. If both appear in the same scene (and the model is not instanced), both the model and the map triangles will be drawn in the same batch.&lt;br /&gt;
&lt;br /&gt;
Careful choice of models that share the same textures can lead to a dramatic increase in performance.&lt;br /&gt;
&lt;br /&gt;
* See [[Batches]]&lt;br /&gt;
&lt;br /&gt;
=== Instancing ===&lt;br /&gt;
{{:Model Instancing}}&lt;br /&gt;
&lt;br /&gt;
* See [[Model Instancing]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Map Objects versus world geometry ==&lt;br /&gt;
Map objects are generally preferable to world geometry for details, and should be used wherever achieving the same effect using brushwork or patches would be either difficult or inefficient. Objects that appear frequently - such as light fittings, trees, vegetation - or generally feature en-masse, are best created as models and inserted into maps where appropriate.&lt;br /&gt;
&lt;br /&gt;
A second use for map objects is for geometry that is hard to create with brushwork. Some buildings and structures used within ETQW were created as objects to save having to create complicated or precise brushwork in their place.&lt;br /&gt;
&lt;br /&gt;
== Dynamic Entities ==&lt;br /&gt;
A map object can be created out of brushwork by making the brushwork a [[Entity func_static|func_static]] entity. The entity then shares some of the capabilities of [[Entity model_static|model_static]] entities, allowing for parts of the level to be turned on/off live within the game itself. Triggering a map object from another entity will cause the entity to disappear, and re-appear if triggered a second time.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Batches]]&lt;br /&gt;
* [[Entity func_static|func_static]]&lt;br /&gt;
* [[LOD Grouping]]&lt;br /&gt;
* [[Model Instancing]]&lt;br /&gt;
* [[Entity model_static|model_static]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic Level Design]]&lt;/div&gt;</summary>
		<author><name>Ducks</name></author>
		
	</entry>
</feed>