Jump to content

DynDOLOD 3.00 Alpha 169


sheson

Recommended Posts

34 minutes ago, sheson said:

Regarding the error, check if a plugin overwrites the base record 0007614B and in particular what it does to the CNAM - Tree Data.

Nature of The Wild Lands is replacing the vanilla birch with its own model, changing object bounds, model filename, full name and animation data. Regarding CNAM - it increases amplitude, reduces frequency compared with vanilla. Ulvenwald does its own edits, but I have NoTWL winning aspens. Sorry about the ss but I thought it might be informative, in the context of your question.

It's suspicious that your reading of the logs points to NoTWL. My build is very much Lexy's build with a few changes, and this is one of them. I know NoTWL is reported to not be the most DynDOLOD friendly tree overhaul but I thought it was just the lack of passthru models. It has such good tree models, I was even thinking about making hybrid meshes for the majority, since only a minority have them and I'm trying to run DynDOLOD with Level0 at both LOD4 and LOD8 (which is another point where I'm diverging from lexy/step). I've even been entertaining the thought of going full 3d if I did pull off the hybrids.

Meanwhile, those six duplicate formids were my DenserFallForest plugin adding back the original aspen records (with models from Aspens Ablaze) as new trees and distributing them across the map, for added variety and density. I edited the formids to differentiate them from the original, as you implied. I think if I opened and saved the plugin in the CK it would have done the same thing? Some times I abuse of "blind" xEdit tampering.

image.png

(edit: removed duplicate screenshot)

 

Edited by godescalcus
Link to comment
Share on other sites

19 minutes ago, godescalcus said:

Nature of The Wild Lands is replacing the vanilla birch with its own model, changing object bounds, model filename, full name and animation data. Regarding CNAM - it increases amplitude, reduces frequency compared with vanilla. Ulvenwald does its own edits, but I have NoTWL winning aspens. Sorry about the ss but I thought it might be informative, in the context of your question.

It's suspicious that your reading of the lods points to NoTWL. My build is very much Lexy's build with a few changes, and this is one of them. I know NoTWL is reported to not be the most DynDOLOD friendly tree overhaul but I thought it was just the lack of passthru models. It has such good tree models, I was even thinking about making hybrid meshes for the majority, since only a minority have them and I'm trying to run DynDOLOD with Level0 at both LOD4 and LOD8 (which is another point where I'm diverging from lexy/step). I've even been entertaining the thought of going full 3d if I did pull off the hybrids.

image.png

(edit: removed duplicate screenshot)

See what happens if you remove that last plugin and in case the assertion still happens, the next last plugin and so on.
Edit: the CRC32 for your version of Nature of the Wild Lands - Autumn Birches.esp is different than what I get for the latest version 2.4. Test the latest version of the mod.

Existing or not existing 3D tree LOD assets are irrelevant to this problem.

Also, read the rest of my post about the duplicate Editor ID.

  • Like 1
Link to comment
Share on other sites

Sorry, can't help it... LOL - you CRC32'd my tampered Nature of The Wild Lands and caught me red handed, so here's my confession. I broke the mod apart to avoid adding everything, as my trees are based on Ulvenwald. So I made Nature "modular", meaning I separated tree definitions, statics, etc to one base plugin, and worldspace referneces to a set of modules containing only what I wanted to add. Added the marsh in its entirety, and the autumn birches plugin because it was all that was needed to override Ulvenwald's fall forest trees. Added Solstheim edits because they would fit into a light plugin, and for good measure... but still haven't tested it extensively. Here's a clip of my frankenstein forests

image.thumb.png.4724536705ddfc2305591ca5314566f9.png

So the reason you see a different CRC32 is because I had to redirect the autumn birch plugin master from the original Nature of The Wild Lands to my broken down version, but that plugin in particular contains no other edits.

I did correct the birch editorIDs on the DenserFallForest plugin, which is a different matter - and seems to have been the one that fixed my problem. DynDOLOD didn't give out the assertion error this time at 6 minutes, and it's been doing its thing for 18 minutes now.

Edit: DynDOLOD finished, thanks!

Edited by godescalcus
Link to comment
Share on other sites

2 hours ago, godescalcus said:

Sorry, can't help it... LOL - you CRC32'd my tampered Nature of The Wild Lands and caught me red handed, so here's my confession. I broke the mod apart to avoid adding everything, as my trees are based on Ulvenwald. So I made Nature "modular", meaning I separated tree definitions, statics, etc to one base plugin, and worldspace referneces to a set of modules containing only what I wanted to add. Added the marsh in its entirety, and the autumn birches plugin because it was all that was needed to override Ulvenwald's fall forest trees. Added Solstheim edits because they would fit into a light plugin, and for good measure... but still haven't tested it extensively. Here's a clip of my frankenstein forests

image.thumb.png.4724536705ddfc2305591ca5314566f9.png

So the reason you see a different CRC32 is because I had to redirect the autumn birch plugin master from the original Nature of The Wild Lands to my broken down version, but that plugin in particular contains no other edits.

I did correct the birch editorIDs on the DenserFallForest plugin, which is a different matter - and seems to have been the one that fixed my problem. DynDOLOD didn't give out the assertion error this time at 6 minutes, and it's been doing its thing for 18 minutes now.

Edit: DynDOLOD finished, thanks!

CRC32 of the full tree model always changes when the NIF is edited and saved. It has noting to do with the plugin or edits of the plugin. If you change the full NIF, then the LOD must be updated with the new CRC32 ... and probably should be rebuilt completely, depending on the change.

Link to comment
Share on other sites

I'm now a bit confused with what I may or may not have done to the tree models. I did change their textures to bring them closer to aspens ablaze autumn variety, but don't remember doing anything to the meshes - although I cracked them open to check what might have been causing leaves to look a bit blander than their textures would indicate. I don't recall saving the mesh, but then, I may have. I'll reinstall the originals, even because, although DynDOLOD did succeed in generating lods for this build, I ended up with Ulvenwald lods!

Edit: I fetched at least one of the autumn aspens from an earlier version, because it looked prettier :P So there's probably the CRC difference, and since I hadn't gone through the hybrids yet, I overlooked checking whether there was a hybrid for that older mesh. 

Edited by godescalcus
Link to comment
Share on other sites

55 minutes ago, heheloveer said:

https://www.nexusmods.com/skyrimspecialedition/mods/25577

Stumbled upon this mod while trying to write a new LOD generation guide for Chinese players. There's no need to use this mod if Large Reference Bugs Workarounds are applied, right?

https://dyndolod.info/Help/Large-References#Large-Reference-Bugs
Watch the video. That is the bug caused by initial disabled large reference.

A large reference or its enable parent that has the Initially Disabled flag can trigger the bugs. The type of plugin does not matter. It is the cause for the example shown in the video above - the problematic large reference is defined in Skyrim.esm. DynDOLOD can create workarounds for some occurrences, including the vanilla one shown in the video. For all others, a warning message Initially disabled large reference is written to the message log.

This particular bug has been addressed by DynDOLOD since years by making a non large reference copy and hiding the large reference underground. With the the large reference bugs workarounds enabled, it is fixed keeping the actual large reference.

  • Thanks 1
Link to comment
Share on other sites

35 minutes ago, sheson said:

https://dyndolod.info/Help/Large-References#Large-Reference-Bugs
Watch the video. That is the bug caused by initial disabled large reference.

A large reference or its enable parent that has the Initially Disabled flag can trigger the bugs. The type of plugin does not matter. It is the cause for the example shown in the video above - the problematic large reference is defined in Skyrim.esm. DynDOLOD can create workarounds for some occurrences, including the vanilla one shown in the video. For all others, a warning message Initially disabled large reference is written to the message log.

This particular bug has been addressed by DynDOLOD since years by making a non large reference copy and hiding the large reference underground. With the the large reference bugs workarounds enabled, it is fixed keeping the actual large reference.

Ah yes, that makes sense. I knew the mod was trying to address a large reference bug since I saw that video on your website, even though the author seemed to have no idea how the bug came to be exactly. They said in the description that the mod should only be useful for users with a heavily modded game so I automatically assumed this was a overwritten-by-esp type of bug.

Honestly, I think large reference bugs should really get more attention. They can cause some really noticeable visual glitches and the workaround is IMO one of the most important features added by DynDOLOD 3 to date. Hopefully after it gets out of the experimental phase people will have a better understanding of this particular problem and realize its importance.

Edited by heheloveer
Link to comment
Share on other sites

What's the default fallback for LOD4 when you set the rules to level0, for trees where there is no passthru model installed? Is there a way to force LOD4 to fallback to either 4x2 billboards, or even a full tree model, when the preferred rule is not possible due to non-existing assets?

Edited by godescalcus
Link to comment
Share on other sites

25 minutes ago, godescalcus said:

What's the default fallback for LOD4 when you set the rules to level0, for trees where there is no passthru model installed? Is there a way to force LOD4 to fallback to either 4x2 billboards, or even a full tree model, when the preferred rule is not possible due to non-existing assets?

https://dyndolod.info/Help/Ultra-Tree-LOD#Generating
Depending on the mesh mask rules the LOD for such trees will use (hybrid) 3D tree LOD models (if available) or use tree LOD billboards directly or as fallback in case a 3D tree LOD is not found. The default fallback is defined by the TreeFullFallBack=1 setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].ini. 1 = Billboard, 2 = Bilboard2 etc.

Link to comment
Share on other sites

3 minutes ago, sheson said:

https://dyndolod.info/Help/Ultra-Tree-LOD#Generating
Depending on the mesh mask rules the LOD for such trees will use (hybrid) 3D tree LOD models (if available) or use tree LOD billboards directly or as fallback in case a 3D tree LOD is not found. The default fallback is defined by the TreeFullFallBack=1 setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].ini. 1 = Billboard, 2 = Bilboard2 etc.

So, considering your dire warning about setting TreeFullFallBack=0, I might set it to 4 and ensure that any fallback billboards will use the 4x2 model.

As a follow-up question, I noticed my billboard textures were a bit fuzzy, even for large pines... I had texgen units per pixel using the recommended for 1080p (my panel and game resolution are actually 1440p). Would it be absurd to use an even higher density, such as the 5.5 units per pixel recommended for 4k, to ensure the best possible looking LOD4 when I know for starters that most of my trees don't have hybrids? Or are your recommendations already the limit, considering the height of the tree and the closest distance at which LOD4 would be rendered? And would "oversampling" like this have a benefit in alpha channel generation for very finely cut tree models?

Link to comment
Share on other sites

4 minutes ago, godescalcus said:

So, considering your dire warning about setting TreeFullFallBack=0, I might set it to 4 and ensure that any fallback billboards will use the 4x2 model.

As a follow-up question, I noticed my billboard textures were a bit fuzzy, even for large pines... I had texgen units per pixel using the recommended for 1080p (my panel and game resolution are actually 1440p). Would it be absurd to use an even higher density, such as the 5.5 units per pixel recommended for 4k, to ensure the best possible looking LOD4 when I know for starters that most of my trees don't have hybrids? Or are your recommendations already the limit, considering the height of the tree and the closest distance at which LOD4 would be rendered? And would "oversampling" like this have a benefit in alpha channel generation for very finely cut tree models?

See https://dyndolod.info/Help/Texture-Resolution#Determine-Sensible-Texture-Resolutions

LOD is either transparent or opaque with a fixed threshold of 128, e.g. there is no alpha blending only alpha testing.

Link to comment
Share on other sites

When creating trunk and crown meshes, are there any steps you recommend doing in NifSkope to "tidy things up"?

Do we need to remove animations from crown meshes, or sanitize, or remove invalid stuff or any other "spell" - or does LodGEN perform all the necessary steps when combining them into hybrids? I mean, other than what you describe regarding editing UVs.

In the same vein, should we do anything about trunks prior to render with texgen, like removing collision object when present, or simply remove the crown and save, since texgen only takes "snapshots" of the rendered mesh, and lodgen uses the chosen mesh template for trunks?

Edited by godescalcus
Link to comment
Share on other sites

7 hours ago, godescalcus said:

When creating trunk and crown meshes, are there any steps you recommend doing in NifSkope to "tidy things up"?

Do we need to remove animations from crown meshes, or sanitize, or remove invalid stuff or any other "spell" - or does LodGEN perform all the necessary steps when combining them into hybrids? I mean, other than what you describe regarding editing UVs.

In the same vein, should we do anything about trunks prior to render with texgen, like removing collision object when present, or simply remove the crown and save, since texgen only takes "snapshots" of the rendered mesh, and lodgen uses the chosen mesh template for trunks?

https://dyndolod.info/Help/3D-Tree-LOD-Model
The basic idea is to split a full model into two static (collision, animation, skin, bone data etc. removed) files.

See any of the crowns ..\DynDOLOD\docs\trees.ultra\tools\hybrids\input\*passthru_lod.nif and trunks ..\DynDOLOD\Edit Scripts\DynDOLOD\Render\Skyrim\Billboards\DynDOLOD\lod\trees\*_trunk.nif included in the DynDOLOD Standalone download archive. Everything else that is not needed is properly removed to avoid issues or errors.

The separated crowns for the 3D tree LOD model creation is irrelevant for TexGen. It just creates the billboards textures and text files from the trunks.

Link to comment
Share on other sites

I made the separate trunk and crown meshes for 187 of Ulvenwald's 350 tree models (which, by my estimation, correspond to 99% of the trees referenced) and combined them with lodgen, then installed the hybrids as a new mod. Ran texgen and dyndolod and the result is (as expected) much better than before, but ran into an issue where the hybrid models seem to be more then 2x the size of the full model (adding 2 in-game screenshots to illustrate). In no moment did I manually edit anything about the meshes, simply followed instructions to produce the hybrids. Used as tree rules: Lod4=Level0; Lod8=Lod16=Billboard4; Lod32=Billboard6; VWD on; grid=FarLOD. In texgen I used texture sizes and bit density as recommended for 1440p, then ticked both Tree and HD Tree (not Rendered, since I had already built the hybrids).

Do I need additional steps to make the hybrid lods match the full model in scale?

Example screenshots (second screenshot taken past the first small pine, but the ruins are good for scale)

20230510080017_1.thumb.jpg.c6657edfd1530467699b1ca2c7353120.jpg20230510080025_1.thumb.jpg.90822f3f29802a6aaa0fec27d92b5d44.jpg

I also noticed the hybrids seem to react to light differently than the full models (brighter), but I could probably live with that for now, one problem at a time ;) Appreciate your help in getting this far, and would be happy if I could fix the issue with scale.

Edited by godescalcus
Link to comment
Share on other sites

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.