Static Mesh Pipeline Tutorial
Overview
This document serves as an introduction to the Unreal Engine 3 art pipeline, as it applies to static meshes. Most attention will be directed toward features and procedures particular to the new engine. Features that have not changed in the new engine are discussed in detail elsewhere in UDN.
Realtime Bump Mapping: Detail Meshes and Render Meshes
UnrealEngine3 provides the ability to utilize realtime bump mapping. This new technology calls for new modeling techniques. A normal map is generated procedurally by reading geometric detail from a very high poly "Detail" mesh. The Detail mesh need never run in a realtime situation--it exists to provide normal map information. Therefore polygon counts become much less restrictive, allowing for detail of cinematic quality.
The generated normal map is then applied in UE3 to a lower poly "Render" mesh, the end result being a mesh which looks much more polygonally complex than it actually is.
Preparing Content for Export
At this point you should have a Detail mesh and a Render mesh which are placed at the same point in space (probably the origin). The Render mesh should be unwrapped and it's UVs should be nicely laid out.
This is important because the SHTools process is based on the unwrapping of the Render mesh.
A Few Words About UVs
The process of normal mapping requires special unwrapping considerations. For best results make sure UVs do not overlap. It is ok to stack UVs if the geometry involved is geometrically identical. For example, it is not a good idea to have different parts of a mesh overlap, like the following image:
It is fine to stack UVs, such as the case of mirrored geometry, as in the screenshot below:
These restrictions do not necessarily apply to the Detail mesh as it doesn't need to be textured at all for the SHTools process to function.
Generating Normal Maps
The process of generating normal maps from the Detail mesh can be handled by the SHTools plugin, or by tools in 3DStudio Max, Maya or Softimage XSI. This tutorial will cover simple step-by-step instructions.
Please note that the SHTools mesh processor and server were created before Max/Maya/XSI had their own normal mapping tools. We generally use those now for creating our normal maps. It is strongly suggested that you consider using a 3D Modeling package such as Maya to create normal maps.
Exporting Geometry
The detailed process of exporting your mesh can be found on the Exporting Meshes Tutorial page.
Note: Exporting normal maps via SHTools (mentioned above) for UE3 is not currently supported.
Getting Content into the Engine
With everything exported and ready, assets can now be brought into the engine via the Unreal Editor.
The detailed process of importing a mesh can be found on the Importing Meshes Tutorial page.
For more information on the Generic Browser and the Package System, see the Generic Browser Reference and Unreal Packages pages.
Applying Materials
It is assumed that any new normal and mask/texture maps have been imported and new Materials have been created. To learn more about this process, check out the Materials Tutorial.
To apply a material to the newly-imported mesh, right-click the icon in the Generic Browser and select Properties to edit the properties for the mesh. This will bring up the Static Mesh Editor. Expand the Materials section (by clicking on + to the left). Click the "None" field that comes up. The background should go white and buttons reading "Clear" and "Use" will appear to the right. Return to the Generic Browser and highlight the desired material.
Back in the Static Mesh Editor press the "Use" button to apply the currently-selected material. The material should now appear on the mesh. Repeat the process for any remaining material slots.
Collision
For more information on handling collision for Static Meshes, see the Collision Reference.
Using Static Mesh Actors
The process for placing Static Mesh Actors in a level is simple:
- Select the StaticMesh in the Generic Browser.
- Right click in the level, go to 'Add Actor' and choose 'Add StaticMesh'. You should see the mesh appear in the level.
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.