Dedicated tools for automatic LOD creation
Blender has some pretty powerful tools already for optimizing meshes, that being the decimate modifier, Cycles high-to-low-poly baking capability and the data transfer modifier that lets you transfer UVs.
But when making many game assets its far from ideal having to redo the entire process for each asset. Ofc, theres Simplygon, a free to use software by Microsoft that lets you generate LODs. But the geometry that it creates is quite horrible in comparison to Blenders decimate modifier and it doesn't support baking in the lost detail to a normal map.
So I think it would be really cool if Blender could get some tools dedicated particularly to simplyfing the LOD creation process to allow artists more time to make stunning designs, and less time optimizing the meshes to create LODs. If you haven't gone through the process yourself. Just imagine copying your mesh 4-9 times and reduce the poly count slightly for each and then having to correct the UVs slightly by hand afterwards (for each LOD that is).
So just to give an example to what something like this could look like in practice: knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Maya-Basics/files/GUID-DF9BB4B4-333C-4934-8D1D-9C666D8C3991-htm.html
Tho in Blender maybe this is something that would be better fit well in the context menu (See thumbnail).
And just to leave a suggestion on how these LODs should be treated within Blender, personally I think it would be quite easy and nice if _LOD0 would automatically get added to the mesh/object name/label once you enable use of LOD for a mesh and that a new object would then get created as a child object to LOD0 for each other LOD. So that it would then look something like this in the outliner: imgur.com/a/gWBsd1i (_LOD<number> is a standard naming convention for LODs across many 3D softwares, so when exporting to something like a game engine or external renderer any meshes following this naming scheme will automatically get detected as LODs appropriately). I also think that it would be cool if Blender could also setup some drivers toggling the visibility based on viewport distance and switch LOD at the distance given in the context menu (Once again, see thumbnail).
Now, as LODs can be used both for films and games something like this would benefit all Blender users really. It would simply the creation process allowing less tech-savvy Blender users to unveil the power of LOD and if you intend the LODs to be used within Blender itself and not to be exported to another software features and proper support for LOD would certainly help artists boost both render times, viewport responsibility and allow for larger scenes with next to no additional effort from the artist.
Note: Some of the settings that I added in the demo/thumbnail are directly taken from the decimate modifier, which I suggest the automated LOD creation system to use. Tho I wouldn't complain if they added more functionality like automatically removing geometry thats never visible to the camera, or maybe the ability to use something like vertex paint to drive where the decimation happens (To allow for better control than vertex groups as limit method).
Thanks for reading, please upvote if you think this is something that should be implemented :)
3 Comments
Hi! i made "blender auto LOD" addon, its add the decimate modifier to all of the objects in the scene, that's what you talk about? blendermarket.com/products/blender-auto-lod
devtalk.blender.org/t/level-of-detail-addon/12840
* @ xan2622 * Hey thanks for linking this :)
Tho, as Im making game assets to be exported to a game engine its not really useful in my case as each lod would have to be a separate mesh/object for the LODs to be exportable. So Im sure its gonna be useful for some people, its not really going to help me I believe