Multiple LOD for models?

Post » Tue Dec 28, 2010 9:13 pm

Hi all, I have been trying to model some buildings for a large city, but want to use enough mesh and textural details without bringing down the performance by using LODs. I'm not too sure how they work in Oblivion as every search about LOD gives me some tutorial on how to enable distantLOD or how to increase viewing distance.

What I hope to do is to have a few number of LODs for a building, where it's detailed when viewed close and replaced by a medium quality model a little further away, and finally an even simpler model further than that. I've used that LOD system before perfectly in other game engines such as UDK and Cryengine, not sure if the same can be achieved in Oblivion. It'd really kick ass if someone could enlighten me on that.
User avatar
Jason Wolf
 
Posts: 3390
Joined: Sun Jun 17, 2007 7:30 am

Post » Tue Dec 28, 2010 9:21 pm

Here is a quick-n-easy of how the VWD system works in Oblivion, it consists of two seperate parts, Landscape LOD and Object LOD (although some may add Tree LOD, as well, and I will also explain that):

Object LOD visuals are provided by first giving the model a corresponding _far.NIF model that the game switches to whenever the object exits the game's maximum high-detail draw distance. However, before the game will even use the low-res model, you need to encode its position into an LOD file (for which a tool already exists for this http://www.tesnexus.com/downloads/file.php?id=15781.) which are generated on a cell-by-cell basis. To further explain, the file names (such as 12, 41.LOD and 4, 35.LOD) correspond to the cells in the game for which LOD data is being supplied, allowing the game to display Object LOD for that cell. Object LOD includes Distant Trees and Distant Objects (as defined in the game's Video settings menu).

Trees are only handled slightly differently from other objects because of Oblivion's usage of SpeedTree. The only real difference is that Oblivion switches trees from 3d models to 2d billboards when you exit the player-specified high-res draw distance for the tree (slider adjustable). For VWD purposes, Tree LOD positions are also encoded into .LOD files.

Landscape LOD is handled through usage of a very large mesh called a "quad," and it is essentially a heavily compressed representation of the landscaping within a 32X32 cellgrid. These can be generated in the Construction Set. The names of the meshes will also (sorta) tell you which cells the quad is providing Landscape LOD for (for example, quad 60.00.00.32's corners are located at cells 0, 0; 0, 32; 32, 0; and 32, 32.)

Put those together, and you have VWD for Oblivion.

Unfortunately, due to Oblivion's handling of VWD visuals, you can only ever have a single low-res counterpart for the object's VWD purposes, as Oblivion can only accept one LOD file for a cell at a time. Even then, Oblivion has no coding for what your idea is calling for, you have Regular visuals and VWD visuals, and that's it, there is no way for the game to understand that certain VWD data is "VWD-er" so it can further downscale the model resolution. It is also impossible to change a cell's LOD data while the game is running (again, no coding for this).

So essentially, you're stuck with High-res Low-res here. It is simply not possible to have an "in between" area for the Distant Visuals in this game.
User avatar
:)Colleenn
 
Posts: 3461
Joined: Thu Aug 31, 2006 9:03 am

Post » Tue Dec 28, 2010 9:59 pm

Here is a quick-n-easy of how the VWD system works in Oblivion, it consists of two seperate parts, Landscape LOD and Object LOD (although some may add Tree LOD, as well, and I will also explain that):

Object LOD visuals are provided by first giving the model a corresponding _far.NIF model that the game switches to whenever the object exits the game's maximum high-detail draw distance. However, before the game will even use the low-res model, you need to encode its position into an LOD file (for which a tool already exists for this http://www.tesnexus.com/downloads/file.php?id=15781.) which are generated on a cell-by-cell basis. To further explain, the file names (such as 12, 41.LOD and 4, 35.LOD) correspond to the cells in the game for which LOD data is being supplied, allowing the game to display Object LOD for that cell. Object LOD includes Distant Trees and Distant Objects (as defined in the game's Video settings menu).

Trees are only handled slightly differently from other objects because of Oblivion's usage of SpeedTree. The only real difference is that Oblivion switches trees from 3d models to 2d billboards when you exit the player-specified high-res draw distance for the tree (slider adjustable). For VWD purposes, Tree LOD positions are also encoded into .LOD files.

Landscape LOD is handled through usage of a very large mesh called a "quad," and it is essentially a heavily compressed representation of the landscaping within a 32X32 cellgrid. These can be generated in the Construction Set. The names of the meshes will also (sorta) tell you which cells the quad is providing Landscape LOD for (for example, quad 60.00.00.32's corners are located at cells 0, 0; 0, 32; 32, 0; and 32, 32.)

Put those together, and you have VWD for Oblivion.

Unfortunately, due to Oblivion's handling of VWD visuals, you can only ever have a single low-res counterpart for the object's VWD purposes, as Oblivion can only accept one LOD file for a cell at a time. Even then, Oblivion has no coding for what your idea is calling for, you have Regular visuals and VWD visuals, and that's it, there is no way for the game to understand that certain VWD data is "VWD-er" so it can further downscale the model resolution. It is also impossible to change a cell's LOD data while the game is running (again, no coding for this).

So essentially, you're stuck with High-res Low-res here. It is simply not possible to have an "in between" area for the Distant Visuals in this game.


Thanks, that's exactly what I have been trying to find out. Guess I'll have to wait til hopefully when they introduce a better engine for TES5 then. On a side note, someone mentioned that multiLODing can be manually done through OBSE, anyone ever tried that out?
User avatar
Queen Bitch
 
Posts: 3312
Joined: Fri Dec 15, 2006 2:43 pm


Return to IV - Oblivion