Jump to content
  • 0

Some Assets' LOD were not generated or not loaded in the game


Radongas

Question

I encountered an issue with lods: in my world space, some assets' lods were not generated or were missing while all the others worked well. These assets are all scaled up to 10.0 times size of the original size. Will it be the possible reason that their lods are missing, because they are not expected to be so large in the world space? Also, the Dyndlod plugins are initialized successfully as the popping-up message indicates in the game.

Edit: Fixed

My issue is actually an out-of-space floating objects issue. I found the solution from the DynDOLOD website. It can be fixed by adding rules to use Mesh Mask.

Edited by Radongas
Link to comment
Share on other sites

Recommended Posts

  • 0
55 minutes ago, Radongas said:

I encountered an issue with lods: in my world space, some assets' lods were not generated or were missing while all the others worked well. These assets are all scaled up to 10.0 times size of the original size. Will it be the possible reason that their lods are missing, because they are not expected to be so large in the world space? Also, the Dyndlod plugins are initialized successfully as the popping-up message indicates in the game.

No, the scale of a reference does not affect if object LOD is generated for a reference or not.

Read https://dyndolod.info/Official-DynDOLOD-Support-Forum how to properly report a problem.

https://dyndolod.info/FAQ#Something-does-not-have-LOD

Link to comment
Share on other sites

  • 0
On 2/8/2024 at 3:52 PM, sheson said:

No, the scale of a reference does not affect if object LOD is generated for a reference or not.

Read https://dyndolod.info/Official-DynDOLOD-Support-Forum how to properly report a problem.

https://dyndolod.info/FAQ#Something-does-not-have-LOD

As you mentioned previously though, I think the object bounds need to be updated in a plugin patch if they are replacing small vanilla trees like TreeAspen04. Some people may confuse this with 'scale' even though they are completely different.

That's not mentioned in your FAQ, AFAIK. Maybe too rare to be worth it, IDK.

Link to comment
Share on other sites

  • 0
6 hours ago, z929669 said:

As you mentioned previously though, I think the object bounds need to be updated in a plugin patch if they are replacing small vanilla trees like TreeAspen04. Some people may confuse this with 'scale' even though they are completely different.

That's not mentioned in your FAQ, AFAIK. Maybe too rare to be worth it, IDK.

DynDOLOD does not care about object bounds.

https://dyndolod.info/FAQ#Something-does-not-have-LOD
For something to have LOD, a LOD model or a LOD Billboard is required to be installed in the load order.
If a LOD model does not exist, mesh mask / reference rules can be used to use the full model for LOD.
If a LOD billboard does not exist, use TexGen to generate it. Also see TexGen Configuration.

https://dyndolod.info/Help/TexGen-Configuration#Tree-Grass-LOD-Billboards explains how control/change billboard generation with TexGen.

Link to comment
Share on other sites

  • 0
5 hours ago, sheson said:

DynDOLOD does not care about object bounds.

https://dyndolod.info/FAQ#Something-does-not-have-LOD
For something to have LOD, a LOD model or a LOD Billboard is required to be installed in the load order.
If a LOD model does not exist, mesh mask / reference rules can be used to use the full model for LOD.
If a LOD billboard does not exist, use TexGen to generate it. Also see TexGen Configuration.

https://dyndolod.info/Help/TexGen-Configuration#Tree-Grass-LOD-Billboards explains how control/change billboard generation with TexGen.

Thanks for setting me straight. What is the context for this post then? Are you referring to threshold for TexGen billboard creation or a game INI dependency on tree object bounds (not grass)?

Link to comment
Share on other sites

  • 0
1 hour ago, z929669 said:

Thanks for setting me straight. What is the context for this post then? Are you referring to threshold for TexGen billboard creation or a game INI dependency on tree object bounds (not grass)?

https://stepmodifications.org/forum/topic/17510-dyndolod-300-alpha-167/page/611/#comment-277374

Object Bounds is data on base records that define models. https://dyndolod.info/Help/Object-Bounds
There are no related game INI settings.

Link to comment
Share on other sites

  • 0
6 hours ago, sheson said:

https://stepmodifications.org/forum/topic/17510-dyndolod-300-alpha-167/page/611/#comment-277374

Object Bounds is data on base records that define models. https://dyndolod.info/Help/Object-Bounds
There are no related game INI settings.

So to be clear after reading through that, the base record object bounds for TREE is what's used in the volume calculation to determine if TexGen will ignore the record or create the billboard and billboard data for it(?).

In my previous post, I said DynDOLOD, but it sounds like I should have said TexGen.

Link to comment
Share on other sites

  • 0
2 minutes ago, z929669 said:

So to be clear after reading through that, the base record object bounds for TREE is what's used in the volume calculation to determine if TexGen will ignore the record or create the billboard and billboard data for it(?).

In my previous post, I said DynDOLOD, but it sounds like I should have said TexGen.

From the already linked explantions https://dyndolod.info/Help/TexGen-Configuration#Tree-Grass-LOD-Billboards
A tree is every base record of the types 'TREE' and 'STAT' with the 'Has Tree LOD' flag set. Grass is every base record of the type 'GRAS'.
For the calculations, the 'OBND - Object Bounds' from the tree/grass base record are used.

Link to comment
Share on other sites

  • 0
54 minutes ago, sheson said:

From the already linked explantions https://dyndolod.info/Help/TexGen-Configuration#Tree-Grass-LOD-Billboards
A tree is every base record of the types 'TREE' and 'STAT' with the 'Has Tree LOD' flag set. Grass is every base record of the type 'GRAS'.
For the calculations, the 'OBND - Object Bounds' from the tree/grass base record are used.

I quite literally do not understand those first two statements. Could you rephrase?

The third statement is clear.

... I think

EDIT (trying to understand what you typed in the doc): So for EVT TreepineForest01, which gets Ultra trees when running DynDOLOD 'Ultra' and also gets billboards from TexGen:

image.png

The base record (not a reference): But "Has TreeDistant LOD" is not ticked. It has object bounds matching vanilla.

You write "A tree" (one tree) "is every base record" (all base records? There's one.).


Here's a STAT base record from EVT. It doesn't (and probably shouldn't) get LOD but has the "Has Tree LOD" flag mentioned unticked. Also has object bounds matching vanilla.:

image.png

I might be hung up on semantics here, but I truly don't comprehend those two sentences as mentioned above^


I understand the math for calculating volume of a 3D object.

Logically, the object bounds for vanilla TreeAspen04 would be ignored by TexGen when it creates billboards, because the volume is too small (height is OK though):

image.png

Creating a patch plugin for this record with updated object bounds > the volume and height thresholds would cause TexGen to create the billboard, correct?

 

; automatic tree/grass discovery - base record object bounds Sqrt((X2-X1)^2 + (Y2-Y1)^2 + (Z2-Z1)^2) >= Min[Tree|Grass]ModelVolume
MinTreeModelVolume=512
MinGrassModelVolume=64
; automatic tree/grass discovery - base record object bounds Z2 >= Min[Tree|Grass]ModelHeight
MinTreeModelHeight=256
MinGrassModelHeight=32

 

Link to comment
Share on other sites

  • 0
1 hour ago, z929669 said:

I quite literally do not understand those first two statements. Could you rephrase?

The third statement is clear.

... I think

EDIT (trying to understand what you typed in the doc): So for EVT TreepineForest01, which gets Ultra trees when running DynDOLOD 'Ultra' and also gets billboards from TexGen:

image.png

The base record (not a reference): But "Has TreeDistant LOD" is not ticked. It has object bounds matching vanilla.

You write "A tree" (one tree) "is every base record" (all base records? There's one.).

Here's a STAT base record from EVT. It doesn't (and probably shouldn't) get LOD but has the "Has Tree LOD" flag mentioned unticked. Also has object bounds matching vanilla.:

image.png

I might be hung up on semantics here, but I truly don't comprehend those two sentences as mentioned above^

A tree is every base record of the type (signature) 'TREE' and only the base records of the type (signature) 'STAT' with the 'Has Tree LOD' flag set.

For the calculations the values of the 'OBND - Object Bounds' from the base record are used.

Link to comment
Share on other sites

  • 0
22 minutes ago, sheson said:

A tree is every base record of the type (signature) 'TREE' and only the base records of the type (signature) 'STAT' with the 'Has Tree LOD' flag set.

For the calculations below the values from the 'OBND - Object Bounds' from the base record are used.

 

Close to giving up on this miscommunication, but I'll give it one last try with some new wording as I think I understand things:

Quote

 

TexGen determines which trees and grasses should have tree/grass LOD billboards automatically created for them based on the model volume and height.

Volume and height are calculated from the Object Bounds of the corresponding base record of a given tree or grass object. Base records having Signature TREE, STAT (only if the "Has Tree LOD" Record Flag is set), or GRAS are considered:

image.png

  • Volume = sqrt( (X2 - X1)2 + (Y2 - Y1)2 + (Z2 - Z1)2 )
  • Height = Z2

The volume of the model must be greater than or equal to the Min[Tree|Grass]ModelVolume setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\TexGen_[GAME MODE].ini AND the height must be greater than or equal to the Min[Tree|Grass]ModelHeight setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\TexGen_[GAME MODE].ini.

 

If this is correct, then I simply miscommunicated that DynDOLOD cares about Object Bounds, since it's actually TexGen that cares (and DynDOLOD only cares about what TexGen is providing in terms of a tree/grass billboard). I should be more careful then (especially when I can be this pedantic).

If you disagree with this wording, then I totally give up on this one and yield all quarters :rolleyes:

Sorry I hijacked this OP :coffee:

Link to comment
Share on other sites

  • 0
7 minutes ago, z929669 said:

Close to giving up on this miscommunication, but I'll give it one last try with some new wording as I think I understand things:

If this is correct, then I simply miscommunicated that DynDOLOD cares about Object Bounds, since it's actually TexGen that cares (and DynDOLOD only cares about what TexGen is providing in terms of a tree/grass billboard). I should be more careful then (especially when I can be this pedantic).

If you disagree with this wording, then I totally give up on this one and yield all quarters :rolleyes:

Sorry I hijacked this OP :coffee:

The quote is saying the same thing.

  • Thanks 1
Link to comment
Share on other sites

  • 0
On 2/8/2024 at 3:52 PM, sheson said:

No, the scale of a reference does not affect if object LOD is generated for a reference or not.

Read https://dyndolod.info/Official-DynDOLOD-Support-Forum how to properly report a problem.

https://dyndolod.info/FAQ#Something-does-not-have-LOD

Sorry about describing the issue so vaguely. I am new to here. I just tried to make a mask reference following a solution in Something-does-not-have-lod page. But I still cannot get my scaled-up objects LODs to work. The link includes some images showing what my DynDLOD settings and the object I am using look like and the logs of DynDLOD. Also, I include the logs of DynDLOD after a generation. I took a look at it and tried to search for the nif that this object is using. But I cannot find it in the object log. It seems that it is not generated for some reason. In addition, I used different models in the same position before and I got the same case. They had no LODs also.

https://drive.google.com/drive/folders/1pEpcpoQ4Ua9TJTJ34xhwA5plQ4iLFluE?usp=drive_link

Btw, it seems inserting images in a post is kind of annoying. Is there a way other than URL to embed screenshots?

Edit: Fixed

My issue is actually an out-of-space floating objects issue. I found the solution from the DynDOLOD website. It can be fixed by adding rules to use Mesh Mask.

Edited by Radongas
Link to comment
Share on other sites

  • 0
1 hour ago, Radongas said:

Sorry about describing the issue so vaguely. I am new to here. I just tried to make a mask reference following a solution in Something-does-not-have-lod page. But I still cannot get my scaled-up objects LODs to work. The link includes some images showing what my DynDLOD settings and the object I am using look like and the logs of DynDLOD. Also, I include the logs of DynDLOD after a generation. I took a look at it and tried to search for the nif that this object is using. But I cannot find it in the object log. It seems that it is not generated for some reason. In addition, I used different models in the same position before and I got the same case. They had no LODs also.

https://drive.google.com/drive/folders/1pEpcpoQ4Ua9TJTJ34xhwA5plQ4iLFluE?usp=drive_link

Btw, it seems inserting images in a post is kind of annoying. Is there a way other than URL to embed screenshots?

 

Copy an image and paste it into the post using CTRL+v or whatever method you like.

Or drag an image file into a post.

It's that simple.

The image file type matters most, so you want a file type that is small, like JPG or JPEG. If what you use to copy exists as PNG (like Windows snipping tool), you may need to save it first as JPG and drag it into the post.

Link to comment
Share on other sites

  • 0
58 minutes ago, z929669 said:

Copy an image and paste it into the post using CTRL+v or whatever method you like.

Or drag an image file into a post.

It's that simple.

The image file type matters most, so you want a file type that is small, like JPG or JPEG. If what you use to copy exists as PNG (like Windows snipping tool), you may need to save it first as JPG and drag it into the post.

I tried ctrl V and drag a photo in the post but I got this warning: "You cannot paste images directly. Upload or insert images from URL".

Link to comment
Share on other sites

  • 0
30 minutes ago, Radongas said:

I tried ctrl V and drag a photo in the post but I got this warning: "You cannot paste images directly. Upload or insert images from URL".

Thanks for the info. For security reasons, we have some posting restrictions for accounts with few posts. Try to repeat the action.

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.