Jump to content

Recommended Posts

Posted
  On 1/2/2022 at 10:18 AM, Phlunder said:

Hey sheson. I have to circle back to a conversation from years ago. In recent runs of DynDOLOD, I noticed that a few trees in the Forgotten Vale were missing LOD again. Then I remembered when I worked on Seamless Billboards that I had to include a plugin to give some duplicate winter aspen trees (as statics) the Has Tree LOD flag to be picked up. As I don't use my billboards or the plugin anymore, this just caught my attention. Maybe you could include them? The statics in question are:

DLC1TreeWinterAspenSnow01 [STAT:0200CE13]
DLC1TreeWinterAspenSnow03 [STAT:0200CE11]
DLC1TreeWinterAspenSnow05 [STAT:0200CE12]

I also worked on those replacers for the glacier LOD meshes we talked about a while ago. As you suggested I used the full models and decimated them by hand and with Blender's tools. If you're interested, you can find them here.

Expand  

I will add a patch for those trees so they are always flagged.

For the LOD glaciers, it would be advantages if all their UV always stayed between 0.0 and 1.0. For performance of LOD that is usually more important than vertex, triangle count. Don't worry too much about it, though. it is just a thing to keep in mind.

BTW TexGen generates a glacierslabreallod.dds from glacierslab.dds since the vanilla glacierslablod.dds is not a direct derivative from glacierslab.dds.

Posted (edited)
  On 1/2/2022 at 10:46 AM, sheson said:

I will add a patch for those trees so they are always flagged.

For the LOD glaciers, it would be advantages if all their UV always stayed between 0.0 and 1.0. For performance of LOD that is usually more important than vertex, triangle count. Don't worry too much about it, though. it is just a thing to keep in mind.

BTW TexGen generates a glacierslabreallod.dds from glacierslab.dds since the vanilla glacierslablod.dds is not a direct derivative from glacierslab.dds.

Expand  

Thanks for taking care of those trees! Regarding the glacier LOD meshes, touching the UVs was something I tried to avoid, haha. But thanks for making me aware of that! I know about the UV range of 0.0-1.0 for older games like Fallout 3, as the LOD textures were broken if they were outside of that range. Is there any way to take care of that in Blender, without redoing them by hand? Because that sounds like a nightmare...

I checked the draw calls with ENB to make sure the performance impact is minimal, but if possible I would of course optimize them further.

And thanks, I missed that glacierslabreallod.dds (glacierslabreallod_n.dds too I guess) was generated by TexGen. I will change the assigned texture then!

Edited by Phlunder
Posted
  On 1/2/2022 at 11:04 AM, Phlunder said:

Thanks for taking care of those trees! Regarding the glacier LOD meshes, touching the UVs was something I tried to avoid, haha. But thanks for making me aware of that! I know about the UV range of 0.0-1.0 for older games like Fallout 3, as the LOD textures were broken if they were outside of that range. Is there any way to take care of that in Blender, without redoing them by hand? Because that sounds like a nightmare...

I checked the draw calls with ENB to make sure the performance impact is minimal, but if possible I would of course optimize them further.

Expand  

No idea about blender since I don't use it. There could be a function or plugin to do it. Simplygon can do it as a step before the optional decimating. It only becomes a problem if there are lots of models with different textures not being able to use the object LOD texture atlas.

Posted (edited)
  On 1/2/2022 at 11:11 AM, sheson said:

No idea about blender since I don't use it. There could be a function or plugin to do it. Simplygon can do it as a step before the optional decimating. It only becomes a problem if there are lots of models with different textures not being able to use the object LOD texture atlas.

Expand  

Ah, so they are currently not using the atlas, but the glacierslablod textures directly? I thought of the glacier LODs similar to the LOD0 mountain meshes (which I use in all LOD stages with a rule in DynDOLOD) so I assumed that method was okay? Similar to mountainslab, its also just a single tiled texture for the whole object.

I guess, this is a bigger problem with complex meshes like farmhouses or other buildings that use multiple texture sets. And all of them not using the atlas would degrade performance quickly. Simplygon sounds interesting, thanks for mentioning it!

Edited by Phlunder
Posted
  On 1/2/2022 at 11:26 AM, Phlunder said:

Ah, so they are currently not using the atlas, but the glacierslablod textures directly? I thought of the glacier LODs similar to the LOD0 mountain meshes (which I use in all LOD stages with a rule in DynDOLOD) so I assumed that method was okay? Its also just a single texture for the whole object.

I guess, this is a bigger problem with complex meshes like farmhouses or other buildings that use multiple texture sets. And all of them not using the atlas would degrade performance quickly. Simplygon sounds interesting, thanks for mentioning it!

Expand  

Each shape that can not use the texture atlas can potentially require several distinct shapes in a each BTO, for the different material LOD shaders, large reference or not. A couple dozen BTO files show at the same time. So if one shape requires 2 to 4 shapes in a BTO can become a 100 or more draw calls if it used often. No problem for one type of shader/texture. It can quickly multiply if there are several often used LOD models with different textures.

Posted

Hi again, posting here what I reported to you in cathedral discord:
"I just encountered some strange behaviour when generating lods with dyndolod with this mod https://www.nexusmods.com/skyrimspecialedition/mods/14663?tab=description enabled. Dyndolod.esm has esp of ashbound as a master but I physically can't move ashbound's esp higher"
Debug log is whole 60 mb so I don't know how to upload it

DynDOLOD_SSE_log.txtFetching info...

Posted

So I have often had grass LOD succesfully done before, but this time I am running into problems with the grass LOD's not appearing beyond the UGridsToLoad setting (NGIO mode to 1 and Dyndolod too). The generation completes successfully with grass lods (I checked the logs as described here https://dyndolod.info/Help/Grass-LOD).

NGIO is succesfully setting the grass to do full render up until ugrids, but after that LOD should appear, which is not happening.

Any clue as to why this might be happening?

When I tfc to outside of ugrids (even without tfc I can see that grass lod is not working):

unknown.png

unknown.png

Posted
  On 1/2/2022 at 12:25 PM, KLRBDN said:

Hi again, posting here what I reported to you in cathedral discord:
"I just encountered some strange behaviour when generating lods with dyndolod with this mod https://www.nexusmods.com/skyrimspecialedition/mods/14663?tab=description enabled. Dyndolod.esm has esp of ashbound as a master but I physically can't move ashbound's esp higher"
Debug log is whole 60 mb so I don't know how to upload it

DynDOLOD_SSE_log.txt 1.12 MB · 1 download

Expand  

Upload the debug log to a file service as explained on the first post.

Load the load order into xEdit and run the "Report Masters" script on the DynDOLOD.esm and check the ashbound.esp in the list and post/upload the lines the script prints to the message window.

  On 1/2/2022 at 1:24 PM, wdk said:

So I have often had grass LOD succesfully done before, but this time I am running into problems with the grass LOD's not appearing beyond the UGridsToLoad setting (NGIO mode to 1 and Dyndolod too). The generation completes successfully with grass lods (I checked the logs as described here https://dyndolod.info/Help/Grass-LOD).

NGIO is succesfully setting the grass to do full render up until ugrids, but after that LOD should appear, which is not happening.

Any clue as to why this might be happening?

When I tfc to outside of ugrids (even without tfc I can see that grass lod is not working):
 

Expand  

Read the fist post what log files to upload when making posts.

Go through the https://dyndolod.info/Help/Grass-LOD#No-Grass-LOD-Check-List 

The screenshots seem to show that there is LOD for some grass already. Most likely the other grasses have no billboards because the base records have too small or no object bounds.

Posted
  On 1/2/2022 at 3:13 PM, sheson said:

Upload the debug log to a file service as explained on the first post.

Load the load order into xEdit and run the "Report Masters" script on the DynDOLOD.esm and check the ashbound.esp in the list and post/upload the lines the script prints to the message window.

Read the fist post what log files to upload when making posts.

Go through the https://dyndolod.info/Help/Grass-LOD#No-Grass-LOD-Check-List 

The screenshots seem to show that there is LOD for some grass already. Most likely the other grasses have no billboards because the base records have too small or no object bounds.

Expand  

Seems like I was a bit too quick. It is indeed a grass mod without object bounds, so I will now recalc them in CK.

Posted
  On 1/2/2022 at 3:36 PM, KLRBDN said:

Sorry, didn't think about uploading to file services. Here is debug log https://ufile.io/ez6yiapb
and lines from message window https://paste.ee/p/fKhym#key=6qsks86iHc8CduBl20trL0G2FdebnJuL&s=0

Expand  

Look up the reference 0401439D in xEdit and let me know which plugins are listed for it beyond Dragonborn.esm and Ashbound.esp, You can post a screenshot that shows all plugins.

Posted (edited)
  On 1/2/2022 at 9:23 AM, sheson said:

Start troubleshooting by generating LOD without grass LOD and then for the vanilla game with vanilla INI.

Do not install or generate billboards for every little shrub and bush. Do not generate LOD for small fauna in LOD8/16 when using ultra tree LOD.

If anything, make sure that the latest version is installed into a new empty folder and generate with default settings.

Yes it is normal that dynamic LOD activates again when entering a new cell

Expand  

What a f*** headache this was. It took me the whole day to narrow it down as nothing worked. After step by step the cause is unbelievable...it's Dynamic Things Alternative - Base Object Swapper which is relying on Base Object Swapper a SKSE plugin and should've nothing to do with LODs. I don't know why this is interferring, but as soon as I am deactivating that plugin (even the already generated) LOD/full model swap is functioniong absolutely normal.
I recently switched over from the normal version to the BOS version. So that has to be the point at where it got funky. I checked it double...it is the cause.

The non Base Object Swapper version doesn't cause the issue. Could there maybe be some functions which are used by DynDOLOD and Base Object Swapper/Dynamic Things Alternative which could interferre with another? I don't have a clue, but deactivating BOS and/or DTA - BOS are solving the problem with the LOD/full model switching.

Edited by PRieST
Posted
  On 1/2/2022 at 8:01 PM, PRieST said:

What a f*** headache this was. It took me the whole day to narrow it down as nothing worked. After step by step the cause is unbelievable...it's Dynamic Things Alternative - Base Object Swapper which is relying on Base Object Swapper a SKSE plugin and should've nothing to do with LODs. I don't know why this is interferring, but as soon as I am deactivating that plugin (even the already generated) LOD/full model swap is functioniong absolutely normal.
I recently switched over from the normal version to the BOS version. So that has to be the point at where it got funky. I checked it double...it is the cause.

The non Base Object Swapper version doesn't cause the issue. Could there maybe be some functions which are used by DynDOLOD and Base Object Swapper/Dynamic Things Alternative which could interferre with another? I don't have a clue, but deactivating BOS and/or DTA - BOS are solving the problem with the LOD/full model switching.

Expand  

It could be a side effect of swapping base records.

Check if 000ACB04 is modified by a DynDOLOD plugin and has the HasLOD flag set.
If that is the case, maybe it is because Dynamic Things Alternative.esp xx00085D does not have the flag.
If neither has the flag, I dunno. I believe that is the only base record that has LOD generated with the default rules.
Maybe it is a general side effect with another reason.

Next version of DynDOLOD 3 Alpha will be able to read the _SWAP.INI and apply the swaps "hardcoded" to LOD. That means the flag will be set on the new base record if it is required. However LOD or LOD generation will have no effect on the swapping of base records in the game or vice versa for now.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.