Level of Detail Modifier

I would like to get some discussion going about an idea that has been bouncing around in my head for a while now concerning the possible community interest in a new modifer to bring back an old and much missed feature from Blender’s past. I really love the old multires functionality from the 2.4x days (not to be confused with the substantially different multiresolution modifer in 2.5+); it was an amazing feature that really set Blender apart as something special to me back when I finally took the plunge and switched over to Blender. I have to admit that I was really pissed back when I found out that it was being scrapped from 2.5 and in fact that was one of a few things that held me back from making the jump for the better part of a year after first testing it out. While the multiresolution modifier is great for sculpting, and should of course remain in Blender to fulfill that use case, it totally lacks the features that made multires so useful for traditional modeling workflows, in particular for creating Level of Detail (LoD) models.

That is where this proposal comes in – I would really like to see multires brought back in to Blender in the form of a new LoD modifier. I went with that name because that helps to differentiate it from the multiresolution modifier while getting at the heart of its primary use case, allowing artists to work on multiple LoDs simultaniously in a single object with the ability to switch back and forth between different LoDs and have the changes propagate both up and down the LoD stack. For those who are unfamiliar with the old multires, here is a link to the documentation that goes over the major features and includes an example of how it worked: http://wiki.blender.org/index.php/Dev:2.4/Source/Modeling/Multires

This may not seem as useful to those of you who mainly deal with still shots, feature animation, or adding visual special effects to live action scenes, but for those of us primarily interested in game content the value of being able to manage and dynamically interact with multiple LoDs in a single working object is immense. Games often make extensive use of LoD models that are dynamically replaced depending on the distance an object is from a player so that far off objects can use less geometry and thus make the real time rendering more responsive without having to sacrifice the higher details of close up objects. Game content often goes through a number of iterations and updates to models are often inevitable, so having the ability to go in and make changes to one or more LoD models and have them affect all the others is insanely useful and a huge boon to productivity.

Basic work flow for LoD models can happen either top down or bottom up; both approaches are valid but which you go with depends a lot on the model. Complex organic forms such as characters and NPCs tend to be the case where top down is better, you start with a high poly sculpted model and then you retopo it to get your high LoD model with attention given towards animation friendly topology and then you can decimate it to get your lower LoDs if needed. On the other end of the spectrum though are simple organics, such as terrain, and more “geometric” models, particularly things like architectural elements and props, which I would argue would better fit the bottom up approach in many cases, where you first create your low LoD and then progressively add higher LoDs and more detail as needed. This is the area where an LoD modifier would shine and was the prime use of the old multires feature for myself and I am sure many others.

Another idea to potentially expand the usefulness of this feature has occurred to me. Having the option to specify an object for each level of detail could be useful.

Basically have it default to adding in a new level that is an applied subsurf version of the previous level, but also have a drop down that lets you choose between that subsurf model and specifying another object instead. If you specify another object then the main way it would interact with the other layers is as if they were something like a cage modifier to one another. This could be used to great effect by applying one level to a copy, remove unneeded loops that were added, then stick it back into the stack where it was before, then if you need a higher LoD you can base it off that optimized model instead.

This would also allow the modifier to be of use when using what I had described as the top down method in my previous post. So that you can still start with the high LoD and then add in the lower LoDs to the stack and still gain the benefit of having future changes propogate to the other LoDs.

There will be a LoD system in 2.70, although not as a modifier:

http://wiki.blender.org/index.php/User:Kupoman/Level_Of_Detail

But I believe it will suffice your needs.

That is actually pretty close, though they seem to be focusing on the top down side of things, if they just had a generate option to add in subdivision levels to create higher LoDs in addition to the planned decimate option for creating lower LoDs it would be just about what I am after.