422
edits
(Out of draft state, add software tips) |
No edit summary |
||
| Line 12: | Line 12: | ||
*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. | ||
*Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or transparent parts. | *Combine all different parts of the Model into one single Object/Mesh, with the exception of parts that need to be animated, or transparent parts. | ||
** Blender: Select some objects and press {{Key press|Ctrl|J}} to | ** '''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. | ||
*Make all faces of the objects single sided. | *Make all faces of the objects single sided. | ||
*Split transparent parts into their own objects, and place at the end of the object list. | *Split transparent parts into their own objects, and place at the end of the object list. | ||
** 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}}. | ||
*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"> | |||
<model> | |||
<usage>interior</usage> <!--make sure to have this tag--> | |||
<path>Models/interior-model.xml</path> | |||
</model> | |||
</syntaxhighlight> | |||
== Texturing guidelines == | == Texturing guidelines == | ||
| Line 25: | Line 32: | ||
*Prefer texture replacing animations to textranslate for models that spend large amounts of their time in one state (day/night animations). | *Prefer texture replacing animations to textranslate for models that spend large amounts of their time in one state (day/night animations). | ||
*Avoid transparency like the plague, it kills frame rate like nothing else: remove the alpha channel from textures if they are non-transparent. | *Avoid transparency like the plague, it kills frame rate like nothing else: remove the alpha channel from textures if they are non-transparent. | ||
** GIMP: Go to <tt>Layers > Transparency > Remove alpha layer</tt>. | ** '''GIMP''': Go to <tt>Layers > Transparency > Remove alpha layer</tt>. | ||
** Inkscape: Go to <tt>File > Document Properties</tt> and set the "Background" to a non transparent colour. | ** '''Inkscape''': Go to <tt>File > Document Properties</tt> and set the "Background" to a non transparent colour (preferably black). | ||
*Hive off transparent parts of textures into their own textures. | *Hive off transparent parts of textures into their own textures. | ||
*Use power of two dimensions for textures (2<sup>n</sup>, e.g. 256x256, 512x1024). Do not worry if your image would get stretched in the texture, you can fix that with the mapping on the model. | *Use power of two dimensions for textures (2<sup>n</sup>, e.g. 256x256, 512x1024). Do not worry if your image would get stretched in the texture, you can fix that with the mapping on the model. | ||
*Do not have textures with the image in one corner and the rest unused. | *Do not have textures with the image in one corner and the rest unused. | ||
* | *Recommended texture format is: '''.png'''. In general any texture format supported by OSG could be used, but be aware of varying cross-platform support for such formats, or of lossy compression. | ||
<!--== Animation guidelines == | |||
*Keep the number of range animations to a minimum. Load the instruments in a submodel XML file, to avoid having one for each instrument. Testing one range animation is cheaper than 47.--> <!--commented out for now--> | |||
[[Category:Modeling]] | [[Category:Modeling]] | ||
edits