z929669 Posted April 20, 2021 Posted April 20, 2021 Next issue. Relevant log text: TreeReachTree02 [TREE:000B8A74] Meshes\landscape\trees\reachtree02.nif Replaced tree, Billboard found, 3D LOD model found Billboard_0: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74.dds, textures\default_n.dds Billboard_1: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_1.dds, textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_1_n.dds Billboard_2: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_2.dds, textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_2_n.dds Level0: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Level1: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Level2: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Dynamic: Meshes\landscape\trees\reachtree02.nif using textures\landscape\mountains\mountainslab02.dds, textures\landscape\mountains\mountainslab02_n.dds, textures\landscape\trees\tundradriftwoodbark01.dds, textures\landscape\trees\tundradriftwoodbark01_n.dds, textures\landscape\trees\tundradriftwoodbranches01.dds, textures\landscape\trees\tundradriftwoodbranches01_n.dds, textures\landscape\trees\reachtreebranch01.dds, textures\landscape\trees\reachtreebranch01_n.dds LOD4: Level0 LOD8: Billboard2 using dyndolod_flat_2x2_lod.nif LOD16: Billboard1 using internal This tree's Level0 LOD has leaves, but the full model does not, and I can't determine where the LOD textures are coming from ... at least what I'm finding does not match. The static model is based on reachtree02, and it is 'dead' just like the full model, but LOD is very leafy: https://imgbox.com/g/vKvHdp95nk Any direction in troubleshooting would be appreciated.
sheson Posted April 20, 2021 Author Posted April 20, 2021 3 hours ago, z929669 said: Next issue. Relevant log text: TreeReachTree02 [TREE:000B8A74] Meshes\landscape\trees\reachtree02.nif Replaced tree, Billboard found, 3D LOD model found Billboard_0: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74.dds, textures\default_n.dds Billboard_1: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_1.dds, textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_1_n.dds Billboard_2: textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_2.dds, textures\terrain\lodgen\skyrim.esm\reachtree02_000b8a74_2_n.dds Level0: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Level1: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Level2: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds Dynamic: Meshes\landscape\trees\reachtree02.nif using textures\landscape\mountains\mountainslab02.dds, textures\landscape\mountains\mountainslab02_n.dds, textures\landscape\trees\tundradriftwoodbark01.dds, textures\landscape\trees\tundradriftwoodbark01_n.dds, textures\landscape\trees\tundradriftwoodbranches01.dds, textures\landscape\trees\tundradriftwoodbranches01_n.dds, textures\landscape\trees\reachtreebranch01.dds, textures\landscape\trees\reachtreebranch01_n.dds LOD4: Level0 LOD8: Billboard2 using dyndolod_flat_2x2_lod.nif LOD16: Billboard1 using internal This tree's Level0 LOD has leaves, but the full model does not, and I can't determine where the LOD textures are coming from ... at least what I'm finding does not match. The static model is based on reachtree02, and it is 'dead' just like the full model, but LOD is very leafy: https://imgbox.com/g/vKvHdp95nk Any direction in troubleshooting would be appreciated. Check the last overwrite in the load order of the mentioned LOD mode for Level0l. That is what is being used for LOD level 4. meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds
z929669 Posted April 20, 2021 Posted April 20, 2021 7 hours ago, sheson said: Check the last overwrite in the load order of the mentioned LOD mode for Level0l. That is what is being used for LOD level 4. meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif using textures\dyndolod\lod\dyndolodtreelod.dds, textures\dyndolod\lod\dyndolodtreelod_n.dds, textures\lod\gkbbranch1lod.dds, textures\lod\gkbbranchlod_n1.dds, textures\lod\tundradriftwoodbranches01lod.dds, textures\lod\tundradriftwoodbranches01lod_n.dds That's what I mean ... the passthru model doesn't use taht texture, so not sure where this is defined if not here:
sheson Posted April 20, 2021 Author Posted April 20, 2021 16 minutes ago, z929669 said: That's what I mean ... the passthru model doesn't use taht texture, so not sure where this is defined if not here: It must be a different file in NifSkope. Use xEdit asset browser to open the file from the winning container location.
z929669 Posted April 20, 2021 Posted April 20, 2021 14 minutes ago, sheson said: Obviously you have opened a different file in NifSkope. Use MO2 right data tab to find the file/mod or use xEdit asset browser to open the file from the winning container lcoation. I opened the file referenced: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif There is only one in my load order. If I can find the definition, I can try to do something about it. EDIT: Never mind, I think I have another that I found. Sorry!
sheson Posted April 20, 2021 Author Posted April 20, 2021 5 minutes ago, z929669 said: I opened the file referenced: meshes\dyndolod\lod\trees\reachtree02_af4e809bpassthru_lod.nif There is only one in my load order. If I can find the definition, I can try to do something about it. Then most likely the load order changed between generating LOD and now. Generate LOD for the current load order.
z929669 Posted April 20, 2021 Posted April 20, 2021 See previous edit. Turns out that another of the same author's mods erroneously includes this same static model with very different textures. Probably a housekeeping issue. I simply deleted it and am regenerating now.
z929669 Posted April 22, 2021 Posted April 22, 2021 @sheson Per the doc, to modify 'fullness' of tree branches in Level0-2 statics, it is suggested that the NiAlphaProperty alpha threshold should be modified rather than the alpha in the BSLightingShaderProperty. I am not noticing any change in Nifskope or in game after changing alpha threshold in NiAlphaProperty of the static from 140 to 0. I also am guessing that the value of 140 is interpreted as 128, due to the cap. I am changing this in the static model without re-running DynDOLOD ... must I regenerate via DynDOLOD to see the change in game?
sheson Posted April 22, 2021 Author Posted April 22, 2021 1 hour ago, z929669 said: @sheson Per the doc, to modify 'fullness' of tree branches in Level0-2 statics, it is suggested that the NiAlphaProperty alpha threshold should be modified rather than the alpha in the BSLightingShaderProperty. I am not noticing any change in Nifskope or in game after changing alpha threshold in NiAlphaProperty of the static from 140 to 0. I also am guessing that the value of 140 is interpreted as 128, due to the cap. I am changing this in the static model without re-running DynDOLOD ... must I regenerate via DynDOLOD to see the change in game? LOD is generated for the current load order with the LOD assets that are installed at the time. In particular, object LOD are a collection of supermeshes made from combining LOD models. The generated object LOD files (which are just large NIF models) are loaded and placed in the game. If the load order or the LOD assets change used for LOD generation change, LOD needs to be generated again for the new load order and/or assets to be show in generated LOD. The alpha setting on the shader defines the transparency of the surface regardless of any alpha information in the texture. As explained in the manual, in case a model used for LOD generation has a NiAlphaProperty, the threshold value of it is used to adjust the alpha of the input texture (and the mipmaps that are generated for it with alpha-to-coverage) to account for the fixed threshold of LOD while the texture is added to the LOD atlas texture. the threshold is quantized into 16 steps to prevent ending up with too many similarly adjusted textures. For the changed thresholds in the LOD models to have an effect on the generated LOD meshes and textures, the LOD meshes and textures need to be generated after changing the LOD models.
z929669 Posted April 22, 2021 Posted April 22, 2021 1 hour ago, sheson said: The alpha setting on the shader defines the transparency of the surface regardless of any alpha information in the texture. As explained in the manual, in case a model used for LOD generation has a NiAlphaProperty, the threshold value of it is used to adjust the alpha of the input texture (and the mipmaps that are generated for it with alpha-to-coverage) to account for the fixed threshold of LOD while the texture is added to the LOD atlas texture. the threshold is quantized into 16 steps to prevent ending up with too many similarly adjusted textures. Alright, the need to regen makes sense. I wasn't thinking comprehensively. The 3D statics textures are not used directly but rather in the supermeshes (which are used directly), so change to any aspect of the static mesh must then be incorporated into the supermesh during LOD(re)Gen to be resolved in game. Sound correct? Regarding alpha (sorry to rehash what is probably 'basic' prerequisite knowledge): There are potentially two definitions in the static model. One inherent to any textures referenced by the model One defined in the BSLightingShaderProperty (what I assume you mean by "alpha setting on the shader") NiAlphaProperty alpha threshold value affects #1 and NOT #2? #2 on the 3D static is binary, and should only be 0 or 1? Alpha threshold value/16? If the threshold is 128, 64, or 0, what are the relative impacts to the crown appearance in game?
z929669 Posted April 22, 2021 Posted April 22, 2021 So unrelated to my follow-up Qs just above, I have questions on LODgen efficiency for testing. I want to only generate and use 3D statics and not tree billboards (so that I can determine if any 3D statics are borked without having to guess if I am looking at a tree billboard). I know I need to tick "Tree/Gass LOD Billboards" & 'Render' option in TexGen, but which of the two top options is necessary? I'm also unsure what these settings correspond to in DynDOLOD:
sheson Posted April 22, 2021 Author Posted April 22, 2021 2 hours ago, z929669 said: Alright, the need to regen makes sense. I wasn't thinking comprehensively. The 3D statics textures are not used directly but rather in the supermeshes (which are used directly), so change to any aspect of the static mesh must then be incorporated into the supermesh during LOD(re)Gen to be resolved in game. Sound correct? Regarding alpha (sorry to rehash what is probably 'basic' prerequisite knowledge): There are potentially two definitions in the static model. One inherent to any textures referenced by the model One defined in the BSLightingShaderProperty (what I assume you mean by "alpha setting on the shader") NiAlphaProperty alpha threshold value affects #1 and NOT #2? #2 on the 3D static is binary, and should only be 0 or 1? Alpha threshold value/16? If the threshold is 128, 64, or 0, what are the relative impacts to the crown appearance in game? The NiAlphaPropertety requires/works with the alpha channel of the texture. The Alpha setting on the shader defines how how opaque the entire texture is regardless of its alpha channel. It can have any value between 0 and 1, even in LOD. It is always set to 1 in the LOD meshes. You adjust the threshold in the LOD model asset. Since this can not be done in the generated LOD meshes, DynDOLOD adjusts the threshold in the LOD texture, so it works with the hardcoded LOD meshes threshold of 128. The impact is that the threshold of the full model is used to adjust the alpha channel of the input full texture when it is being added to the LOD texture atlas and becomes a LOD texture, so that whatever pixels in the full model are transparent/opaque are also transparent/opaque in the LOD despite the LOD having a hardcoded threshold of 128.
sheson Posted April 22, 2021 Author Posted April 22, 2021 2 hours ago, z929669 said: So unrelated to my follow-up Qs just above, I have questions on LODgen efficiency for testing. I want to only generate and use 3D statics and not tree billboards (so that I can determine if any 3D statics are borked without having to guess if I am looking at a tree billboard). I know I need to tick "Tree/Gass LOD Billboards" & 'Render' option in TexGen, but which of the two top options is necessary? I'm also unsure what these settings correspond to in DynDOLOD: I suggest to read the included TexGen manual and help. The first options has been available for years and still generates a select list of object LOD textures. As has been discussed over and over again for years, that first option can not update rendered object LOD textures. Now with the addition of the second option, a select list of rendered object LOD can updated as well. "Stitched object LOD textures are direct derivativs of resized full textures." "Rendered object LOD textures are rendered from special models in the ..\DynDOLOD\Edit Scripts\DynDOLOD\Render\Objects\ folder." DynDOLOD will use whatever object LOD textures are currently installed in the load order. If they are not updated with TexGen, some will still be vanilla, some will be from DynDOLOD Resources for vanilla and some from mods. All options that are enabled by default are "necessary" so that default object LOD and tree LOD generation use the best possible textures for the current load order. Unless you have a 4k or 8k monitor you not need to set 1024 in TexGen for the stitched or rendered object LOD textures. Remember that DynDOLOD 3 ALPHA is work in progress. I still need to update the texts, since nobody really pays much attention to t he manuals. From the help: "This sets the typical base size of the generated object LOD textures. The default is 256." Currently the generated stitched/rendered object textures can be anything from 32 to 2k with the base of 256. The defaults are good for a screen resolution of 1440p and lower. The stitched and rendered object LOD textures will probably also get a max texture size dropdown like the billboards. The dropdowns in DynDOLOD say "Max tile size..." From the help: "Max tile size LOD sets the maximum resolution a single object LOD texture can occupy on the object LOD texture atlas." "Max tile size full sets the maximum resolution a single full texture can occupy on the object LOD texture atlas." If a texture is larger, it is shrunk to the max tile size when it is added to the texture atlas. Again, the default are supposed to be good for 1440p. In a future update I plan to add more explanations to the manual, including how to determine live in the game the best resolution for a LOD texture in addition to the more mathematical explanations for billboards.
z929669 Posted April 22, 2021 Posted April 22, 2021 Great responses. Thanks a LOT for taking the time. I have read through all of the relevant manuals by now, but I can get hung up on phraseology and semantics, so sometimes seeing it explained in a different or familiar context really helps. The good news is that I think I am picking it up with your continued responses and can share what I know likewise ... without spreading misinformation intentionally or otherwise!
patriklannebrink Posted April 23, 2021 Posted April 23, 2021 (edited) Having some issues using Dyndolod 3 for SSE (texgen works fine) where it says (Atleast this is how i interpret it) I'm missing files from some mods? Jedi Trees instructions said to use Texgen to generate billboards so I'm not sure what the issue is. https://pastebin.com/J8DCjReg Is this an issue or something I can ignore, because it seems like some trees do infact not have billboards (And I'm pretty sure its the Jedi Trees ones) Edited April 23, 2021 by patriklannebrink
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