422
edits
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
== Modelling guidelines == | == Modelling guidelines == | ||
*Vertices are free up to a point - use as many as you need. | *Vertices are free up to a point - use as many as you need. | ||
*Many small (in vertex numbers) Objects/Meshes have a far worse negative impact on performance than a single Object/Mesh with very high vertex numbers. | |||
*Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or of transparent parts. | |||
** '''Blender''': Select some objects and press {{Key press|Ctrl|J}} to join them into one Object. The new object origin/transform/orientation/name will be based on the ones of the last object selected. | |||
*Use different unique names for each of the Objects in a Model file. Even more so when the different parts need to be animated. | *Use different unique names for each of the Objects in a Model file. Even more so when the different parts need to be animated. | ||
*Make all faces of the objects single sided. | *Make all faces of the objects single sided. | ||
*Split transparent parts into their own objects | *If you need a part of the model to be visible from both sides, duplicate it in place and flip the normals. The extra geometry overhead is negligible compared to the extra work generated by double-sided faces. | ||
*Split transparent parts into their own objects.<!-- and place at the end of the object list --><!-- I'm not sure this is not some kind of placebo--> | |||
** '''Blender''': Go into Edit Mode, select the part of the object that you would like to split and press {{Key press|P}}. | ** '''Blender''': Go into Edit Mode, select the part of the object that you would like to split and press {{Key press|P}}. | ||
*Assign to all transparent Objects at least the ''model-transparent'' effect: | |||
<syntaxhighlight lang="xml"> | |||
<effect> | |||
<inherits-from>Effects/model-transparent</inherits-from> | |||
<object-name>Transparent-object1</object-name> | |||
<object-name>Transparent-object2</object-name> | |||
<object-name>Transparent-object3</object-name> | |||
<object-name>other-Transparent-object</object-name> | |||
</effect> | |||
</syntaxhighlight> | |||
*The interior should be a separate Model. Having it separate enables delayed loading of such models in multiplayer/AI contexts. Such a model is specified as follows in the -set.xml file: | *The interior should be a separate Model. Having it separate enables delayed loading of such models in multiplayer/AI contexts. Such a model is specified as follows in the -set.xml file: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<model> | <model> | ||
<usage>interior</usage> <!--make sure to have this tag--> | <usage>interior</usage> <!--make sure to have this tag--> | ||
<path>Models/interior-model.xml</path> | <path>Models/your-interior-model.xml</path> | ||
</model> | </model> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 28: | Line 40: | ||
== Texturing guidelines == | == Texturing guidelines == | ||
*Combine as many parts of a single Model to a single texture as you can - the maximum texture size is 4096 x 4096 pixels. | *Combine as many parts of a single Model to a single texture as you can - the maximum texture size is 4096 x 4096 pixels. | ||
*Do not assign multiple textures to the same Object/Mesh. The Object will be split so as to have a single texture/Mesh. | |||
*Do not use different parts of a single texture for different models. Split the texture into smaller parts then. | *Do not use different parts of a single texture for different models. Split the texture into smaller parts then. | ||
*If using the same texture on multiple models, use a single file, do not make different copies. | *If using the same texture on multiple models, use a single file, do not make different copies. | ||
edits