Skip to main content

Object LOD trickery

Submitted by grumpycat on

The Creation Kit only allows for 1 HD LOD texture per WorldSpace. This allows a LOD object not only have a HD texture but also be tileable for a mesh. Skyrim uses the "MountainSlab02.dds" texture.

But I've had a break through and can get around this restriction after reading this article

I edited a BTO (its just a NIF) file using nifskope and you can manually edit LOD object models.

Now you may be wondering what the hell your looking at!? The important thing to note is that there is a texture (with an alpha even) which is not the "MountainSlab02.dds" and is LOD and over the 0-1 UV range, i.e. its tiled.

So it means that we can get around some of the limitation of the Creation Kit if we allow ourselves to manually edit the models. Each model is exactly a cell worth of LOD.
This will be especially helpful for the many different textures of the Mountains we have like, West Gash brown colours to Molag Amur very dark greys.

I know this will be right up Ormins alley :)

Karma: 0 (0 votes)
Last edited by grumpycat on 14 Mar 2014 - 18:51.

I've edited a BTO mesh file and put a hi poly model in, so basically we can do anything we want with LOD. Just have to keep a check on our own performance.

WTF is this one!? All you need to know is that its a Hi poly model and its LOD, tileable HD texture and that we can put as many models into a cell as we feel like.

However there is no association with a particular model (CK), its continuously persistent, i.e it doesn't transition into anything else up close. More research might shed light on relationship in NIF and what models (CK) it is associated with. But these LOD models don't have collision, so need to be careful how they are being used.

Karma: 0 (0 votes)

Interesting...

Karma: 0 (0 votes)

Something else I've been thinking about is what if we made an LOD model for say a city like Balmora and made the actual model just a basic non-seeing marker that is position so everything lines up? You cant guarantee the switch overs will be timed well using this method, but these can be used for very distant views so you can see the basic shape of cities. What will happen is that the actual models will pop into view and as long as we make the LOD parts slightly smaller than original models then normal models will be the only ones you see when they come into existence.

Karma: 0 (0 votes)

So in theory you could make LOD for everything?

Karma: 0 (0 votes)

In theory yes. In practical terms no. The Creation Kit has a vertices limit of a maximum number and I guess they felt this was the best for minimum spec pc.

So who knows what is a good number for a big WorldSpace, resource and performance wise given that PCs have more ram and vram? Double? 10% more? We will probably just be smart and basically use manual editing for Mountain and Rock textures, big buildings like Vivec cantons, to have tileable textures. Imperial forts, the larger Telvanni structures....that sort of thing.

Now for special LOD editing things like the Red Mountain, animated plumes and all, can be inserted into LOD meshes, at no cost to the texture atlas. If that is what we want to do.

Karma: 0 (0 votes)

Also we can have multiple texture atlases, that can only be duplicates of the base 8x8, but we can change the colours. Specially again for the Mountains and Rocks. So we can have a texture atlas that can be aimed at each region based on the common colour of the Mountains and Rocks.

Karma: 0 (0 votes)

ok, love me or hate me, but i now made you chief of the lod department :P

Karma: 0 (0 votes)

Well I both love you and hate you. Love you because you're awesome. Hate you because you put me on LOD duty :-P

Karma: 0 (0 votes)

I've had another crazy little idea. Potentially building several different texture atlases and then merging the different models into one. So lets say we do a build which is the environmental LOD assets. We have a shit ton of them now, way more than Skyrim. From West Gash arches, cliffs, etc to the normal Mountains, even the Emperor Mushrooms. Name that texture atlas: Tamriel.Objects.Environment.DDS

Make sure all the meshes are pointing at the new name. Hopefully this is where Ormin steps in and changes his software to scan through the LOD styled NIFs which are basically the same as normal nifs but with "BSMultiBoundNode" and "BSSegmentedTriShape" instead of "BSFadeNode" and "NiTriShape". Or even change the NifTextures tool to work with these type of nodes.

Do another build which is the architecture or even more depending on what we want to optimize and have viewable at distances. I think its important for the developers to remember that people are potentially running on 5 or 7 ugrids. We are probably used to 9 or 11. The world is very different on the lower settings. I'm mean things pop into existence when you're virtually just about to bump into them :-P

Same again we can just keep renaming the atlas and make sure all meshes from this build point at new atlas: Tamriel.Objects.Architecture.DDS

Maybe a third one which is Miscellaneous? Red Mountain, Blight Storm and anything else which comes up.

Then we merge the various models in their cell counterparts. Ok once again the magic of Ormin would be nice to have. The software would scan the models and meshes and insert them exactly as they are into the master one.

If Ormin doesn't feel like doing such a thing, and i don't blame him, at 681 files we could divide that between 7 users and it can be done. People are always looking to help but have no experience. Well this would be perfect.

But automated would be much preferable as re-running the LOD in Creation Kit for potential updates is probably the wise way to go. And we can spread the love to other big world projects if we want. Plus I know Ormin going to want to do something like this for Skyblivion, bait has been set.

Karma: 0 (0 votes)

Hmmm, I'm now thinking it would be better to base the texture atlases on areas. Potentially just needing to load a single 2048 texture for a given area.

Maybe I'm over thinking that too much. I don't think potentially loading three 2048 LOD textures is much of a deal?

And there are always going to be cross overs between areas, so loading 2 would probably be a given anyway if we based off areas.

Yes, I've already guessed that nobody knows or cares what I'm talking about.

Karma: 0 (0 votes)

I care, and i know ravanna care, and when we release skywind with complete lod thousands will care ;)

You have a lot of information here, it needs to sink in :P

Karma: 0 (0 votes)

Well we have a few options anyway. I'll need to do an experiment with doing 2 separate builds and merging them. Have to see if the game is able to recognize both lots of models for the swaps. I'll just do it it for a single cell.

Karma: 0 (0 votes)

Eloth we were talking about generating Vivec via the creation kit then using the results to base further models off, but the Creation Kit creates cell lod is the lowest detail. Its pretty basic as you can see with Whiterun below. Probably have to do something else.

 

Karma: 0 (0 votes)

So did a little testing of doing separate builds of LOD to start building up more detail than the restrictive Creation Kit usually allows for and it works, but, and its a Jennifer Lopez sized butt, we can only do this for the first level of LOD (lod0), which is the near to relatively far level. I'd estimate things that are 0 to 2 cells away. Anything past 3 cells (maybe its 4) is LOD1, LOD2, LOD3.

I think our strategy will be that anything that we want to show up at really far distances will be part of the "master" atlas. We will need to keep a tabs on the 8x8 and exactly what we want at extra far range. Ravanna has already started a spreadsheet.

Also to help us we can decide on some objects to be "full lod". Just being careful with this, but it does give us some flexibility on distant objects.

Another possible tool up our sleeve is utilizing a NIF property which is the BSLODTriShape. Seems you can specify levels of detail on the actual model itself. Not sure how much we could/should use this, as it might be a lot of effort, but handy for not needing tiny aspects of a model to show up until reach a certain distance.

From experimenting with Skyrim worldspace I think the types of things we want at far distances are Mountains, including Red Mountain. Cities and maybe Towns. Long story short our master atlas is still going to be a squeeze.

 

 

 

Karma: 0 (0 votes)

Thinking out aloud here, this one mainly for Ravanna.

Red Mountain; we do lod0 as a separate build that is inserted into cell meshes, this can/should be just a tileable texture meshes. This will not take up any of the texture atlas at this level.

Now I know you were looking at 6-8 models, but at lod1-3 these really are far enough away that the level of detail can be quite low. A 256x512 will look horrible, so we will still need to have maybe more like 4 models max.

[EDIT] From the pic below I'm probably wrong about 4 models working. 6-8 seems like a more reasonable approach given the size of the Mountain.

Well the other idea of thought was that really as long as the UV is folded in within the same (0-1) then Red Mountain can just be one model, if we are happy with vertex colours to give it the contours to make it pop.

For example below

 

Karma: 0 (0 votes)

Just giving us an idea of the range that lod0 covers. Near range can be variable, but just shows you how close you can be sometimes before it transitions to the full model. I used a really low poly model for emphasis.

Same models, still on lod0

Shows you how low poly the lod1-3 model can be.

Karma: 0 (0 votes)

I can see how awesome it would be to be able to see far away rocks instead of rounded hill is Skywind :D

Karma: 0 (0 votes)

i dont think vertex colours work for the normal LOD 0-3 models, thats why the atlas is a bunch of baked textures non tiling, well another reason. can we have vertex colours on our "happy lod0 model"?

Karma: 0 (0 votes)

I'm not at my gaming pc, but I'm 99.9% sure that at least you can have vertex colours on lod0.

The problem at the lower levels (lod1-3) is that because there are much fewer polys trying to use vertex colours doesn't really work. Instead of a recess or bump you end up colouring wholes sides. That is why I'd say baking the texture is done instead.

Karma: 0 (0 votes)

We were talking about actor LOD, and actors are full lod until really quite far. About the same distance as LOD0. As you can see from picture the circle in red is around an NPC. I think anything beyond that is becoming a bit ridiculous. Trying to create LOD for NPCs is probably a waste of time.

Karma: 0 (0 votes)

I'm disappointed that you think that it isn't worth it. having no actor lod has caused me so many irritation in game myself. [External image]

Karma: 0 (0 votes)