sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
Phlunder Posted January 2, 2022 Posted January 2, 2022 (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 January 2, 2022 by Phlunder
sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
Phlunder Posted January 2, 2022 Posted January 2, 2022 (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 January 2, 2022 by Phlunder
sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
KLRBDN Posted January 2, 2022 Posted January 2, 2022 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...
wdk Posted January 2, 2022 Posted January 2, 2022 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):
sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
KLRBDN Posted January 2, 2022 Posted January 2, 2022 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
wdk Posted January 2, 2022 Posted January 2, 2022 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.
sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
sheson Posted January 2, 2022 Author Posted January 2, 2022 On 1/2/2022 at 4:23 PM, KLRBDN said: Expand Thx. This a bug that should be fixed in the next alpha version. The esp should not be a master of course.
PRieST Posted January 2, 2022 Posted January 2, 2022 (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 January 2, 2022 by PRieST
sheson Posted January 2, 2022 Author Posted January 2, 2022 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now