The Meshify device converts a heightfield into a polygonal mesh.
When to Use
Use the Meshify device to produce a 3D mesh object for later export with either the Mesh Output or Scene Output devices.
Almost all devices within World Machine operate only on heightfields, so once your terrain has been converted to a mesh, it cannot be modified further. Because of this, it will typically be the last thing in your device network before exporting the terrain.
If your engine or application supports heightfields, it will usually be more efficient to use a Height Output instead.
How to Use
Connect your heightfield into the primary input of the device. The primary output will then contain a mesh.
By default Meshify will produce an optimized mesh of reasonable quality. There are some additional inputs and parameters that can fine-tune the results:
Force Full Resolution: This input is used to force the output to contain full-detail triangulation in particular areas.
Use this to:
- Supply your scene’s water to this input to make sure that all river and beach areas match. Without this data, Meshify cannot make sure that the water and terrain will match perfectly at their edges.
- Supply a heightfield to force some areas to be fully tessellated. You might need to manipulate the height of the ground in some areas in your game or application (for example, perhaps the ground where a building will go). Any mask value greater than 0.5 will force full detail in that spot.
Don’t use this to:
- Manipulate the level of detail in some areas. Use the quality spatial parameter for that (below), which allows smoothly varying levels of detail in different parts of your map. Force Full resolution only toggled between full detail and standard.
Note that any areas forced to full detail are not included against the maximum triangle count specified in the parameters.
A mask input is supported, allowing you to only export a mesh containing certain parts of your terrain. When exporting a volume instead of a surface, the mask is interpreted as a volume/depth.
- Optimization type: Select either optimized or regular grid. For any given triangle count, the optimized mesh will produce higher quality output.
- Max kTri: Set a limit to the number of triangles allowed in the output, in thousands-of-triangles. For example, 128kTri would produce a mesh with no more than 128,000 triangles*.
- Quality: A spatial parameter that controls the level of detail of the produced mesh, up to your specified kTri limit.
- Surfaces: Whether to produce only a top surface, or a fully enclosed volume. (See limitations below)
- Tile UVs in tiled builds: When checked, the UVs stored in the mesh will specify the tile number and not just the standard 0..1 range. So for example, the UVs in tile (1,2) would run from (1.0, 2.0) to (2.0, 3.0).
- Normal Type: The type of detail normal map to produce. Tangent space is often preferred by other applications, but object space can be produced as well.
Tips and Tricks
Changing Surfaces to “Enclosed Volume” lets you use the mask input to produce a mesh with a top and bottom side, each of which can have details present on it. This can be “abused” to produce effects like a floating terrain with a rough-hewn surface on the bottom of it.
* When an area is forced to full detail, its triangles are not included in the overall polygon count.
Optimized meshes currently only support creating a object with a top surface, instead of a fully enclosed volume.