UDN
Search public documentation
StaticMeshEditorUserGuide
Static Mesh Editor User Guide
Document Summary: Guide to using the Unreal Static Mesh Editor. Document Changelog: Created by Chris Sturgill (Demiurge Studios?). Maintained by Richard Nalezynski.Introduction
The Static Mesh Editor is the tool used to set and manipulate the properties of static meshes in the Unreal Engine.Using the Static Mesh Editor
Opening the Static Mesh Editor
You can open the Static Mesh Editor by double-clicking a static mesh or Right-clicking open its "Properties.." in the Generic Browser.Static Mesh Editor Overview
Static Mesh Editor Layout
| 1 | Menu Bar and Tool Bar. | Easy-to-click Icons are shortcuts for navigation functions in the above Menus. |
| 2 | Preview Pane. | (tumble and zoom) the static mesh. Also features counts of relevant geometric data. |
| 3 | Properties Pane. | Assign Materials, edit collision, set up Shadow Maps, etc. |
Menu Bar
Tool Bar
View Window (Navigation)
In the view window to the left you will find the following:
- Triangles: Total triangle count.
- Open Edges: In older builds of the engine, this displays the number of open edges in the mesh.
- Double-sided shadow triangles: In older builds of the engine, triangles directly or indirectly adjacent to open edges require a slower shadowing algorithm (see ShadowingReference ).
- UV channels: Number of UV channels. Unique, non-overlapping UVs are required for shadow mapping (see ShadowingReference ).
The Show... buttons are replicated in the View menu above. Clicking Lock Camera off allows you to move the camera as you would elsewhere in the editor. Otherwise it is locked to rotating about the static mesh. Use Save Thumbnail Angle if you want to change the static mesh image used in the Generic Browser.
The Collision menu at the top is used to assign basic collision volumes to the static mesh. Further documentation on this is on the way.
Properties Pane
Properties for a given static mesh are set here. These properties will apply to all instances of the static mesh unless overridden locally in the map.BodySetup
Documentaton for BodySetup is on the way.Materials
This has two subfields:- EnableCollision: When EnableCollision is True for a material, all the triangles of the mesh textured with that material will be used for collision calculations. This means that the collision calculations will be based on exactly the triangles you see. This will, in most cases, be slower than using simplified collision models.
- Material: The name of the material to be used for this texture ID. Simply select the material you wish to use in the Generic Browser and then click the 'Use" button. If you don't see the static mesh's material change immediately, try clicking in the view window.
LightMapCoordinateIndex
Determines which set of UVs will be used for calculating shadow maps and light maps. Shadow maps require unique, non-overlapping, non-tiling UVs. Since this is not always the most efficient option for texturing an object, a separate set of unique UVs can be used for Shadow mapping. For more on shadow maps see the Shadowing Reference.LightMapResolution
Determines resolution of shadow map. Type only one dimension of desired shadow map (enter "256" if you want a 256x256 shadow map). No value (the default) means no shadow map will be created (only vertex shading will be used). Again, the Shadowing Reference has more information.ForceDoubleSidedShadowVolumes
Forces the engine to use a slower algorithm to calculate shadow volumes. See the Shadowing Reference for more information.UseVertexColor
Toggles whether the mesh's pre-assigned vertex colors (if any) are used. ( Note: at present has no visible effect.)UseSimpleKarmaCollision
The UseSimpleKarmaCollision field has extensive documentation. See the Collision Reference for a handy reference. For a general guide to static mesh collision, see the StaticMeshCollisionReference doc.UseSimpleBoxCollision
The UseSimpleBoxCollision field has extensive documentation. See the Collision Reference for a handy reference. For a general guide to static mesh collision, see the StaticMeshCollisionReference doc.UseSimpleLineCollision
The UseSimpleLineCollision field has extensive documentation. See the Collision Reference for a handy reference. For a general guide to static mesh collision, see the StaticMeshCollisionReference doc.UseFullPrecisionUVs
By default static meshes use half precision (16 bit) UVs in order to save memory. Enabling this option forces the mesh to use full precision (32 bit) UVs. This might be needed for certain cases when seeing artifacts with texture mapping the mesh.Controls
Mouse Controls
Keyboard Controls
Hot Keys
Working with Static Meshes
LODs
Unreal Engine 3 supports arbitrary LOD levels for StaticMesh objects. Lower-detail meshes are created by an artist or generated, and then imported as an LOD to use for an existing StaticMesh. Once you have added an LOD, you control at what distance that LOD is used in the game.Viewing LODs
There are some buttons on the toolbar of the StaticMeshViewer which allow you to see how the different LOD levels for a mesh look:
| Auto | Select the LOD level to use automatically, based on the size of the mesh on the screen. This allows you to preview how the mesh will look in-game. |
| B | Force the display to use the `Base' mesh (ie LOD 0). |
| 1 | Force the display to use LOD 1. |
| 2 | Force the display to use LOD 2. This is gray in this case, as there is no LOD 2 imported for this mesh. |
| 3 | Force the display to use LOD 3. There is no LOD 3 imported for this mesh. |
Importing An LOD
First open the StaticMeshViewer with the StaticMesh that you want to add an LOD to. Then under the `File' menu select `Import Mesh LOD...'. You will be asked to specify the ASE file that contains the lower-detail version of that mesh. Once you have selected the .ASE to import, a combo box will pop up allowing you to choose which LOD level to import this mesh as. LOD 0 is the `base', or highest poly mesh. LOD 1 is the first step down and so on. Importing at an LOD that already exists will replace the existing LOD mesh. If your import goes successfully and does not generate any errors, you can press the appropriate `Force LOD' button on the toolbar to see if your mesh came in correctly. You can remove any imported LOD level through the 'File' menu under 'Remove Mesh LOD'.Configuring LODs
DisplayFactor is based on how large the objects bounding sphere appears on screen. 1.0 would indicate it completely fills the screen in one direction. In splitscreen it takes the largest DistanceFactor for any viewport. LODInfo contains a list of all LODs for this StaticMesh. For each LOD you will find the following properties:| Materials | An array of materials used by this LOD. LODs can have different materials. Additionally, LOD instances can override this setting for per-instance LOD materials |
Generating LODs
You can generate an LOD from the base LOD to quickly get simplified geometry. To generate a new LOD, choose Mesh->Generate LOD. Next choose which LOD you want to overwrite (the highest number available will let you add a new LOD) and input a target face count. The simplifier will do its best to get the mesh down to this target, but the resulting face count may not be exact. Generating an LOD for a large mesh may take several minutes.UVs
Generating UVs
The Generate UV's functionality was added in changelist 152240. It unwraps the UV's, giving every point on the mesh's surface a unique texture coordinate. To use this option, choose Mesh->Generate Unique UVs. In the following dialog, specify the LOD and UV channel on that LOD to use. Also input the amount of stretching the algorithm is allowed to do, where 0 is no stretching and 1 is any amount. Choosing smaller values will create more patches and therefore more UV seams. UV seams cause problems with many other algorithms (such as static texture-based lighting) so to minimize them you should use a high stretch limit. Note that unwrapping the UV's may take a couple of minutes for large meshes.Viewing UVs
You can bring up the UV Overlay by clicking on its toolbar icon or by choosing it from the View menu. The UV channel specified by LightMapCoordinateIndex will be shown, on the current LOD. The origin in texture space is the top left corner.
Fracture Static Meshes
As of the December 2007 QA-Approved build, a new feature exists which allows for physics-based fracturing of a destructible object. Here's a quick run-down of how you author a fracturable object:- Open a mesh in the Static Mesh browser.
- Select the Fracture Tool menu item, from the Tools menu.
- This will open a dialog that has functionality which allows you to calculate the fractures for the mesh. The options let you select how many chunks the mesh will be fractured into, as well as allowing you to flag individual chunks to be destructible or not. The chunk shape values scales the planes that the chunks are created along, and the noise does just that - adds noise to the fractured planes.
- Once you've sliced the mesh using the precalculated fractures, you can use the show mode and slider to view the fractures.
- After slicing, a new object will be created. This object can be placed as a FracturedStaticMesh and shooting the object will cause the relevant chunks to be thrown off based on the averaged normals of the fracture planes (ensures that the chunk doesn't try to travel back into the base mesh).