UDN
Search public documentation:

MeshProxyTool
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Unreal Editor and Tools > Creating A Mesh Proxy
UE3 Home > StaticMeshes > Creating A Mesh Proxy
UE3 Home > Level Editing > Creating A Mesh Proxy
UE3 Home > Level Designer > Creating A Mesh Proxy

Creating A Mesh Proxy


Overview


Mesh proxies can be created by merging the static meshes belonging to a group into one static mesh, reducing the amount of draw calls necessary to render the same geometery. Additionally the generated merged mesh "proxy" itself can be updated, added to or reverted back to it's original state at any time. This option can be accessed by right clicking on a group, in the main editor window, and expanding the 'Groups' menu option.

overview.png

Note: This is only present when 'Allow Group Selection' is enabled from the 'View' menu.

Mesh Proxy


The mesh proxy itself is the term for a merged mesh which can be reverted back to it's original, unmerged state.

Any group containing 2 or more static mesh actors may be considered for merging. The process takes all the static meshes present in the group and merges them together forming the merged mesh which is an amalgamation of all the component meshes which form it. The complexity, and thus generating time, depends on the settings the user inputs into the operation, the larger the desired mesh the longer it takes to make it.

Once merged, the mesh is visible in the Content Browser and the meshes it was constructed from, in the level, are replaced with an instance of that mesh. This is the proxy, for as long as it is a member of the group it was concieved from it can be reverted back to it's original form. It can also be updated, should the meshes it was originally made from change, or new meshes be added to it, the proxy can be regenerated with this new information. It can also be regenerated purely if the user wishes to modifiy the settings which it was made from (to modify texture quality or complexity). Whenever this occurs the proxy is destroyed and a new merged mesh and proxy are created in it's place.

If the user wishes to ungroup the proxied group, or delete the proxy from the group they will be prompted as to whether they wish to revert back to the original component meshes (in the case of delete, delete the original component meshes too). This does not affect other instances of the merged mesh, but once removed from the group it cannot be reverted as it is no longer a proxy.

Note: Other actor types can be made part of the group at any time, it is not limited to only containing static mesh actors. These 'other' actors types are safely ignored by the proxy during all operations on it.

Mesh Proxy Dialog


When the dialog is open it will appear in one of the following 4 states depending on the current selection.

  1. Group selection that doesn't contain a proxy
    noproxy.png
    • On Screen Size (pixels) - The on-screen size in pixels at which the mesh will be viewed.
    • Texture Resolution - The size of the texture to use for the mesh proxy.
    • Material Type - What type of material to generate for the mesh proxy. Currently supported types are 'Diffuse' or 'Diffuse and Normal'
    • Merge - Takes all the static meshes in the group and merges them into a mesh proxy, using the settings above (replaces the existing proxy)
  2. Group selection that contains a proxy
    proxy.png
    • Remerge - Remerges all previously merged static meshes (replaces the existing proxy), necessary if one of the component meshes, which made up the proxy, changes or you want to change the settings it was constructed with. The user is prompted with the original settings selection if available.
    • Unmerge - Reverts the proxy back to it's original state, restores original component meshes
  3. Group selection that contains a proxy and newly added static meshes
    proxyplus.png
    Options behave as above.
  4. Unvalid selection (for example)
    invalid.png
    If it's not possible to perform a merge/remerge/unmerge opertation on the current selection, the dialog will disable and change to display the reason as to why.

    Note - The dialog automatically updates whenever the current selection changes.

Examples


Standard level meshes

eg1.png

Merged level meshes

eg2.png

Static mesh asset

eg3.png

As you can see the quality can vary depending on the settings you use in the dialog, the more complex a merged mesh you wish to use the longer it will take to generate it, the above test was done with an On Screen Size of 400 (double the default) to preserve more intricate geometry data, but with a Texture Resolution of 1024 (default) so all the textures for the individual geometry had to be compressed into a smaller amount of space. Therefore it's ideally used for merging instances of the same object (or like textured objects) at distance.

Similar level meshes

eg4.png

Merged level meshes

eg5.png

Note: Lighting will need to be rebuilt after any of the merge operations take place in order for the new scene to be lit correctly.

Limitations


  • Proxies have to exist as part of a group, it's possible to move a proxied group to another level, but you can't just move the proxy itself (by unlocking the group), the group as a whole must be moved. This action unmerges the proxy, moves the group to their new level, then remerges the proxy with the settings it was originally merged with - if any of the original mesh components have been updated by this point, and the proxy not, the proxy will be merged based on the new meshes.
  • Additionally, you can ungroup a proxied group and you will be prompted whether or not you wish to revert the proxy back to it's component meshes or not. Saying no is permitted at this time and keeps the merged mesh, but it is no longer a proxy as it cannot be reverted back to it's original state.
  • It's also currently possible to place additional copies of the merged mesh down in the level, by creating a static mesh actor from the same base static mesh asset that the proxy has, but these aren't unmergable either - to clarify, the ability to merge/remerge/unmerge a merged mesh is only permitted on the proxy which was first created from it - therefore remerging the proxy doesn't replace other instances of the merge mesh within the level, it's a new mesh that's generated.
  • Should a user load a map which does not permit the use of mesh proxies, they will be reverted back to their original components upon load.

Simplygon®


simplygon_logo.jpg

Simplygon is used to automatically generate game-ready Level of Detail models (LODs) for a specific pixel resolution by removing as much information as possible without degrading LOD quality for a certain onscreen size. Simplygon uses a proprietary mesh reduction method that retains geometrical LOD integrity and visual quality of LOD switching, producing AutoLODs that can directly be used inside triple-A games.

Unreal Engine 3 leverages Simplygon to provide high-quality mesh reduction without having to leave the Unreal Editor. Developers can quickly simplify meshes, generate LODs, and immediately see the results in their maps.