Jump to content
  • 0

Question about waterfalls with Dyndolod


MisterMorden

Question

What is the furthest extent to which animated dynamic lods created by dyndolod can be made to show?  I believe I read somewhere here that normally after 11 cells they go to static lod?  I'm curious because I'm having an issue where at quite a distance the moving waterfall lod will unload but no static lod model replaces it.  This is using high rules in advanced settings.  I do get a static waterfall on the map though.  Also at this distance the moving windmill blades disappear but the static lod appears at that point.  So with all things working correctly, at some point the animated lods do become plain static lods (before level 32 I mean)?  Any help or insight is appreciated.

Edited by MisterMorden
Link to comment
Share on other sites

Recommended Posts

  • 0
36 minutes ago, MisterMorden said:

I believe I may be a bigger idiot than I first thought...would Upgrade near grid references to far grid box cause this?  When I was doing non dynamic lod this couldn't be checked, but in generating dynamic lod I was checking it.  Just tried without it and I seem to be in business.  Am I insane?

The mesh mask rule "fxwaterfallbody" for the waterfalls with the static object LOD should be setting Far Grid already. If it is Near Grid then the "upgrade" will in fact set them to Far Grid, since they are large references.

  • Thanks 1
Link to comment
Share on other sites

  • 0
42 minutes ago, DoubleYou said:

Please post your SkyrimPrefs.ini TerrainManager settings. If you set the fBlock0Distance too high, you may need to compensate by setting fxwaterfallbody rule to NeverFadeLod or increasing the FarGrid.

image.png

The have been all over the place during my testing, but I never go under 40000 or over 95000 for fBlock0Distance trying to find my sweet spot, so I didn't think they were TOO extreme.  I didn't consider using neverfade or changing the Far grid size.

 

25 minutes ago, sheson said:

The mesh mask rule for the waterfalls with the static object LOD should be setting Far Grid already. If it is Near Grid then the "upgrade" will in fact set them to Far Grid.

I don't know why but that seems to have put the static waterfalls back into level 16.  I think part of my problem, besides maybe needing to find a balance between fBlock0distance and Far grid settings, is that I was tcl-ing before dyndolod had a chance to activate once I coc'd into an area and what was supposed to be an animated lod wasn't appearing after I got too far from the actual waterfall (that's why no lod at all was showing).  The MCM is so new to me I didn't consider checking activation status.

I'm not supposed to be seeing thin waterfalls from a distance (static or dynamic), is that correct?

Edited by MisterMorden
Link to comment
Share on other sites

  • 0

As the mesh rule illustrates, there is static LOD in lod8 (fBlock1Distance) and lod16 (fBlockMaximumDistance) and not in lod4 (fBlock0Distance). If you set fBlock0Distance to 95000 and the waterfalls Dynamic LOD is only showing up to FarGrid (43008), then there will be 51992 units where the waterfall will not show as Static LOD or as Dynamic LOD. LOD4 are the worldspace.4 bto files. LOD8 are the worldspace.8 bto files. LOD16 are the worldspace.16 bto files. The bto will show to the distance units that correspond with the INI setting in TerrainManager.

Please do not use console codes such as tcl and tfc to test LOD.

Link to comment
Share on other sites

  • 0
2 hours ago, DoubleYou said:

As the mesh rule illustrates, there is static LOD in lod8 (fBlock1Distance) and lod16 (fBlockMaximumDistance) and not in lod4 (fBlock0Distance). If you set fBlock0Distance to 95000 and the waterfalls Dynamic LOD is only showing up to FarGrid (43008), then there will be 51992 units where the waterfall will not show as Static LOD or as Dynamic LOD. LOD4 are the worldspace.4 bto files. LOD8 are the worldspace.8 bto files. LOD16 are the worldspace.16 bto files. The bto will show to the distance units that correspond with the INI setting in TerrainManager.

Please do not use console codes such as tcl and tfc to test LOD.

That makes sense, of course...when sheson told me to lower them they were actually around 70000.  I came down to 40000 in increments of 5000 but was still seeing the issue.  I will no longer use tcl to test lod.  My blatant lack of experience and research on dynamic lod was my real issue.

 

But, if 43008 is the distance dynamic lod will appear (far grid being 21), why do guides like STEP and some others suggest using fblock0distance settings above this?  Wouldn't there still be a small area where no lod would show up?

Edited by MisterMorden
Link to comment
Share on other sites

  • 0
On 12/18/2021 at 3:16 PM, sheson said:

Far Grid / 2 * 4096 = distance of dynamic LOD in game units
fBlockLevel0Distance = max distance for object LOD Level 4 (or where LOD Level 8 starts)  in game units as explained here https://dyndolod.info/Help/Object-LOD

I have been churning this phrase over in my mind, and would like more clarification, especially in light of the below posts implicitly referencing this.

13 hours ago, DoubleYou said:

As the mesh rule illustrates, there is static LOD in lod8 (fBlock1Distance) and lod16 (fBlockMaximumDistance) and not in lod4 (fBlock0Distance). If you set fBlock0Distance to 95000 and the waterfalls Dynamic LOD is only showing up to FarGrid (43008), then there will be 51992 units where the waterfall will not show as Static LOD or as Dynamic LOD. LOD4 are the worldspace.4 bto files. LOD8 are the worldspace.8 bto files. LOD16 are the worldspace.16 bto files. The bto will show to the distance units that correspond with the INI setting in TerrainManager.

 

11 hours ago, MisterMorden said:

But, if 43008 is the distance dynamic lod will appear (far grid being 21), why do guides like STEP and some others suggest using fblock0distance settings above this?  Wouldn't there still be a small area where no lod would show up?

 

10 hours ago, DoubleYou said:

True, we probably should lower this setting, as this is indeed the case (just checked). It simply isn't very noticeable at that distance until you go looking for it. Indeed, I never noticed it until I went searching for the issue just now.

For reference:

image.png

So ... Far Grid / 2 * 4096 = distance of dynamic LOD in game units

To clarify my understanding (or lack thereof):

  • Distance from Player is assumed. Since player is in center, that is why we divide by 2. Cell width = 4096 gu.
  • This measure assumes the perpendicular (a/b), and the oblique is c2 = a2 + b2 (according to Pythagoras)
  • Dynamic LOD appears (starting) either in Near Grid or Far Grid, depending on mesh and any other rules governing.
    • Does this mean that if defined in Near Grid, Dynamic LOD will only 'animate' (or otherwise behave dynamically) when the object is between approx. 2.5 and 5.5 cells away from Player, and if defined in Far Grid, between approx. 2.5 and 11.5 cells away from Player?
      • Before the minimum of these respective ranges = animated (or otherwise dynamic) full model?
      • After the maximum of these respective ranges = static LOD?
      • Defining Dynamic LOD in Far Grid is better quality at cost of performance (due to larger potential range of Dynamic LOD)?
      • IF so, then for an object with mesh rule defining Far Grid... because fBlockLevel0Distance = max of LOD4, then Dynamic LOD objects will render as such between 10,240 gu and 43,008 gu (but only if fBlockLevel0Distance ≥ 43,008)?
Link to comment
Share on other sites

  • 0

The grid image already explains all of this better than any words ever could, no? With the default settings of 11 and 21, the Near Grid adds full or dynamic LOD models for "3 more cells" and the Far Grids adds "8 more cells" around the player. The LOD area and the Near Grid starts beyond the active cells uGridsToLoad and in case large reference are availble, the Far Grid beyond the uLargeRefLODGridSize. The math seems about correct. You remember that Bethesda choose 11 cells as the max setting for large reference as well. See https://dyndolod.info/Help/Dynamic-LOD

The Near Grid and Far Grid does not affect static object LOD. The static object LOD settings like fBlockLevel0Distance  does not affect dynamic LOD. The different LOD types all work independent from each other based on their own settings.

The 3 waterfalls types are the only objects that actually do this mix of dynamic and static object LOD. The defaults work like this since 7 years. Use the available settings and options to customize the LOD mod to your preferences.

Link to comment
Share on other sites

  • 0
45 minutes ago, sheson said:

The grid image already explains all of this better than any words ever could, no? With the default settings of 11 and 21, the Near Grid adds full or dynamic LOD models for "3 more cells" and the Far Grids adds "8 more cells" around the player. The LOD area and the Near Grid starts beyond the active cells uGridsToLoad and in case large reference are availble, the Far Grid beyond the uLargeRefLODGridSize. The math seems about correct. You remember that Bethesda choose 11 cells as the max setting for large reference as well. See https://dyndolod.info/Help/Dynamic-LOD.

The Near Grid and Far Grid does not affect static object LOD. The static object LOD settings like fBlockLevel0Distance  does not affect dynamic LOD. The different LOD types all work independent from each other based on their own settings.

The 3 waterfalls types are the only objects that actually do this mix of dynamic and static object LOD. The defaults work like this since 7 years. Use the available settings and options to customize the LOD mod to your preferences.

So Dynamic LOD is only potentially active within the Near/Far Grid as shown, and this has nothing to do with display of Static object LOD or [Terrainmanager] distances.

DY's comment above about NO waterfall LOD (Dynamic or Static) beyond Far Grid but within fBlock0distance is or is not true? If true, are you saying that this only applies to "the 3 waterfall types" in SSE and NOT all other object LOD (so *.bto meshes are shown, but somehow the waterfalls stitched into them aren't rendered?)?

Link to comment
Share on other sites

  • 0
23 minutes ago, z929669 said:

So Dynamic LOD is only potentially active within the Near/Far Grid as shown, and this has nothing to do with display of Static object LOD or [Terrainmanager] distances.

DY's comment above about NO waterfall LOD (Dynamic or Static) beyond Far Grid but within fBlock0distance is or is not true? If true, are you saying that this only apples to "the 3 waterfall types" in SSE and NOT all other object LOD (so *.bto meshes are shown, but somehow the waterfalls stitched into them aren't rendered?)?

Dynamic LOD and object LOD is generated according to the mesh rules.
The mesh rule fxwaterfallbody* matches 3 NIFs. By default and if dynamic LOD is checked, it has dynamic LOD up to the distance of Far Grid and it is has static object LOD in LOD Level 8 and 16.

So by default there is nothing for these waterfalls in object LOD Level 4, as this is (mostly) covered by the dynamic LOD Far Grid.

Whatever a BTOs for LOD Level 8/16 contains is always shown by the engine. If you do not see something, it is because it is not in the BTO or the texture is transparent.

Link to comment
Share on other sites

  • 0
24 minutes ago, sheson said:

Dynamic LOD and object LOD is generated according to the mesh rules.
The mesh rule fxwaterfallbody* matches 3 NIFs. By default and if dynamic LOD is checked, it has dynamic LOD up to the distance of Far Grid and it is has static object LOD in LOD Level 8 and 16.

So by default there is nothing for these waterfalls in object LOD Level 4, as this is (mostly) covered by the dynamic LOD Far Grid.

Whatever a BTOs for LOD Level 8/16 contains is always shown by the engine. If you do not see something, it is because it is not in the BTO or the texture is transparent.

OK, now I understand. So to wrap this up for onlookers:

DY's comment is accurate, but I was wrong about the reason why, because I hadn't considered the mesh rule for fxwaterfallbody and there being no LOD4 defined. Dynamic LOD, being a different LOD system will still show in Near/Far Grid overlapping with LOD4 but not as part of LOD4 ... so no NO waterfalls will be in the *.bto of LOD4 and will NOT show at all between approx. 43,008 gu and fBlock0distance value.

In that case, I think we should simply be customizing our own fxwaterfallbody mesh rule to define static LOD4 and not lowering any of our Terrainmanager settings (which seems would be irrelevant). Waterfalls will then have Dynamic LOD that I must assume will override the Static LOD defined in LOD4 and allow the static LOD to render in between max Far Grid and fBlock0distance value if greater.

Do correct me if I am still mistaken.

Thanks

Link to comment
Share on other sites

  • 0

Nobody ever noticed (or cared to ask) about the current settings which originated in Skyrim LE, so there wasn't any reason to change anything about it.

If you define to use the vanilla object LOD model for object LOD level 4, it will z-fight with the dynamic LOD model. A static object LOD model would need to have considerable distance behind/lower to not z-fight. If you make models that work I'll happily add them to the resources.

Dynamic LOD does not affect or change static object LOD or vice versa. All different LOD types work independent of each other. 

Technically or programmatically there is no such thing as between Far Grid and fBlock0distance.

Object LOD level 4 starts beyond uGridsToLoad or uLargeRegLODGrideSize.

Link to comment
Share on other sites

  • 0
11 minutes ago, sheson said:

Nobody ever noticed (or cared to ask) about the current settings which originated in Skyrim LE, so there wasn't any reason to change anything about it.

If you define to use the vanilla object LOD model for object LOD level 4, it will z-fight with the dynamic LOD model. A static object LOD model would need to have considerable distance behind/lower to not z-fight. If you make models that work I'll happily add them to the resources.

As I recall, I think @TechAngel85 made changes to such records in Realistic Water Two 5.0.0 to do just that (-90,000 I think) ... not sure about any necessary changes to the models though. I cannot check until later this evening, but if you have validated this or care to do so, please let us know if that's the case.

Link to comment
Share on other sites

  • 0

I figured it would z-fight. It's definitely been this way forever, just I never noticed. I remember that SkyFalls and SkyMills set the references to NeverFades and that worked quite well. If we set them as NeverFades and modified the rule to not generate static in all levels, it might be the best solution to remove any transition. I doubt the performance impact would be very high. Best place to test this are the huge waterfalls in the distance in the hot springs area south of Windhelm.

I think increasing FarGrids, at any rate, would be more performance intensive than the Neverfade solution.

Lowering fBlock0Distance to sufficient levels produced an awful lot of z-fighting for me, so I don't think that is the route to go.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

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