Get SimpleLOD from the Unity3D Asset Store
SimpleLOD will merge the meshes in a gameobject hierarchy into a single mesh and automatically create reduced meshes for LOD levels (when viewed at a greater distance a model needs less detail and can use a less expensive mesh). To reduce draw calls you can merge materials together and bake texture atlases.
- Atlas resolution would automatically be set to the size of the resulting texture, which would limit the size of the atlas when you added the next.
- Added a slider under "more' to boost the compression. It is essentially a multiplier for the compression sliders for LOD 1-5. Setting the multiplier to 10 and the compression to 3 would result in the a compression value of 30.
- The decimation algorithm has been changed to further prevent the creation of holes in decimated meshes. This would typically occur in flat shaded meshes, meshes created with Mesh Materializer and meshes with only a few vertices.
- Creating LOD levels and using an LODGroup to control them would change the hierarchy by creating a new stand alone gameObject. It now moves this new gameObject under the previous parent and preserves the hierarchy
- Bake atlas window would flicker in Unity 5
- LODSwitcher tests for the existence of a Camera first
- Added optional parameter to create a new gameobject when combining meshes, where the top level gameobject already contains a renderer.
New interface window
Added new window to select which submeshes you want to merge
Added new window to select which submeshes you want to remove
Added new window for removing triangles that are hidden (like for instance skin underneath clothes)
Number of LOD levels can now be set between 1 and 5
Added sliders to set the number of steps in which the decimation should take place (more steps = better quality)
Added additional sliders to control the details of the decimation process
Added tooltip for every button and slider
Backup and Revert buttons will automatically find the top-level gameobject
Revert would not work after option c (Create LOD levels and use LODGroup) was used
Window does not close when nothing is selected anymore
Only buttons/options that are applicable are shown.
It is now possible to select multiple gameObjects and create LOD levels for each one of them in one go
Better protection against the creation of holes in heavily decimated meshes
Now supports Unity 4.3, Unity 4.4, Unity 4.5, Unity 4.6 and Unity 5
Functions that use threading are disabled when build target is Windows Universal
Anticipates and prevents a compile error that would occur when used in combination with SmartLOD
Fixed an error where flat meshes (like a plane) were deformed
Normals of merged mesh were always calculated even if the original already had normals
Editor window now has a separate backup and revert button
Decimation algorithm was too careful on some meshes, forcing you to use higher compression levels, that allowed more mesh distortion
Decimation process make 10 - 15 times faster.
Atlas: An extra step has been added to merge materials and bake textures. This will reduce the number of draw calls and make your game faster.
Atlas: A separate window has been added with a drag & drop interface for creating atlases and combining materials
Window: The SimpleLOD panel has been turned into a window that can be moved and docked
Window: An additional slider has been added that allows you to control the number of incremental steps when a single mesh is decimated. This slider will only appear when the compression level is more than 0.5
Window: The layout of the SimpleLOD window has been changed for better overview
Window: When the SimpleLOD window is opened, a backup copy is made of the currently selected game object (if no backup existed yet). Important! read the Caveats page about this option!
Window: A Revert button has been added to revert to the backup copy
LODSwitcher: When the editor is in play-mode, the slider to select the LOD level is turned into a read-only field
LODSwitcher: A toggle switch has been added to show the model at the distance of the currently selected LOD level (in Game view only)
When merging meshes of child objects results in a mesh with more than Unity's limit of 64K vertices, it will automatically be split into multiple parts
Compression algorithm improved for even better results
Editor panel now has sliders to set the compression levels
Removal of tiny parts in LOD meshes can now be controlled with a slider
Support for vertex colors
Support for uv3 and uv4
Blendshapes of main mesh now remain intact after merging
Skinned meshes with (slightly) different bones can now be merged
Skinned meshes with different bindposes can now be merged
Non-skinned meshes (like weapons) that are attached to the bones directly can now be merged together in a skinned mesh. The original transforms will become new bones.
Support for lightmaps
It is no longer possible to merge child objects that use different lightmapIndices.
The uv2 coordinates are now scaled and translated according to the lightmapTiling information found in the child's meshRenderer.
See Considerations for lightmaps
Run in background
You can create LOD meshes at runtine in a background thread to prevent freezing the screen.
See Running in background thread
And there is a simple demo of creating LOD's for UMA characters here
Support of negative scale
Merging child objects with negative scale would cause triangles of that child to flip and turn the mesh inside out.
By reducing the scan ranges at various points the execution time is now at least 2.5 times faster.
(When the program needed the adjacent triangles for a certain triangle, it basically had to scan all triangles to see if they were adjacent. Same for finding nearby vertices. Version 1.1 keeps track of the scan range per vertex, which makes it unnecessary to scan the whole range)
The LOD switcher component now has a slider to inspect the various LOD levels
When the mesh or gameobject for a certain LOD level is not set, this LOD level is simply ignored instead of throwing an exception
Upon startup it always switches back to LOD 0
Default LOD compressions are now 0.5, 1 and 1.5
Toggle switch added to suppress recalculating normals. If the original mesh has specific normals that look better than the recalculated ones (like the Dodge Charger in the demo scene), switch this option off.
Protection of vertices at the edges of a submesh
Protection against accidentally flipping adjacent triangles over when a triangle is flattened
Corrected an error in protection of mesh corners
Corrected an error in finding adjacent triangles
Correction of UV coordinates on moved vertices to prevent UV stretching
Better protection of vertices at the edge of UV map sections
Better detection of separate mesh sections
Removal of small mesh sections at bigger distances
Recalculating normals made optional