Jump to content

Recommended Posts

Posted

@sheson I am testing a custom mix of tree mods, and I have a SFO custom tree I want to use. TexGen 3 "Render" settings get the trunk from:

\DynDOLOD-3.00\Edit Scripts\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees

This trunk obviously gets its correct pre-defined textures from DynDOLOD ... but I want to either override this to use a custom 3D static hybrid NIF or to override the TexGen-created trunk billboard textures to use the custom trunk billboards. I can do this manually but am wondering if there is a recommended way to instruct TexGen to use custom assets in generation.

Here is the tree resource conflicts I want SFO to 'win':

image.png

This is the DynDOLOD diffuse created for one of these:

image.png

This is the desired custom trunk diffuse needed for this particular example:

image.png

This is how the tree LOD renders now in game:

image.png

Also, I'm getting a "power of 2" warning in Nifscope for this one, and it appears that the TexGen-generated trunk billboard does not conform?

image.png

 

EDIT: perhaps I shouldn't be Rendering the trunks in TexGen? I'm suspecting that ticking this effectively tells DynDOLOD to NOT use hybrid trees and prefer fully-rendered trunks for vanilla trees?

image.png

Posted
2 hours ago, z929669 said:

@sheson I am testing a custom mix of tree mods, and I have a SFO custom tree I want to use. TexGen 3 "Render" settings get the trunk from:

\DynDOLOD-3.00\Edit Scripts\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees

This trunk obviously gets its correct pre-defined textures from DynDOLOD ... but I want to either override this to use a custom 3D static hybrid NIF or to override the TexGen-created trunk billboard textures to use the custom trunk billboards. I can do this manually but am wondering if there is a recommended way to instruct TexGen to use custom assets in generation.

Here is the tree resource conflicts I want SFO to 'win':

image.png

This is the DynDOLOD diffuse created for one of these:

image.png

This is the desired custom trunk diffuse needed for this particular example:

image.png

This is how the tree LOD renders now in game:

image.png

Also, I'm getting a "power of 2" warning in Nifscope for this one, and it appears that the TexGen-generated trunk billboard does not conform?

image.png

 

EDIT: perhaps I shouldn't be Rendering the trunks in TexGen? I'm suspecting that ticking this effectively tells DynDOLOD to NOT use hybrid trees and prefer fully-rendered trunks for vanilla trees?

image.png

If a tree does not use a vanilla trunk, create a trunk NIF from the full model for it. Then rename it as usual with the CRC32 of the full model and _trunk as explained in DynDOLOD_CreateHybrid.html. See ..\DynDOLOD\Edit Scripts\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\sbt\ folder as example. Put the new trunk NIF into ..\data\DynDOLOD\Render\Billboards\SFO\*.nif and ship it with the mod. 

Every time TexGen is run with the Rendered option checked, the trunks billboard textures will be updated with the current textures and TexGen options.

Billboards do not need to be power of two as they are never used directly. They are made multiple of 4, so they can have BC7 compression.

Not generating trunks in TexGen simply means trunk billboard textures that are included in DynDOLOD Resources or in a mod are not being updated/overwritten for the current load order or with  non default TexGen settings. That is fine if none of the full textures are changed.

Posted

Just FYI

Your instruction above for path to include new trunk NIF ...

..\data\DynDOLOD\Render\Billboards\[TREEMOD]\*.nif

... differs from the instruction in DynDOLOD_CreateHybrid.html:

..\Data\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\[TREEMOD]\*.nif

I will use what is indicated in the instructions (second one)

Posted
1 minute ago, z929669 said:

Just FYI

Your instruction above for path to include new trunk NIF ...


..\data\DynDOLOD\Render\Billboards\[TREEMOD]\*.nif

... differs from the instruction in DynDOLOD_CreateHybrid.html:


..\Data\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\[TREEMOD]\*.nif

I will use what is indicated in the instructions (second one)

Yes, please follow what I wrote in the manual. I wrote that with more care.

Posted

Sorry, this is a lot of info. Think of it as my notes along with my Qs ... maybe it will be helpful to someone other than me.

I need some assistance interpreting the instructions. Working directory is uncertain, probably because mod author can do it anywhere. I prefer working either from MO virtual or from within the DynDOLOD install path (at least until I test successfully), which for me is C:/Modding/tools/DynDOLOD-3.00. I set things up how I interpreted and got the missing TXT file error when running hybrid.bat, presumably --at least in part-- because I am not setting up resource locations correctly and lack TXT spec files.

Instructions from DynDOLOD_CreateHybrid.html:

Quote

Trunks

Use TexGen to automatically generate trunk billboards.

If the tree uses a non vanilla trunk, create a new trunk NIF in ..\Data\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\[TREEMOD]\*.nif that only contains the shape of the tree trunk. Skinned shapes are not supported.

...

Crowns (Leaves and Branches)

Create a new crown NIF that only contains the leaves and branch shape(s) in a dedicated input folder.

...

Combining Trunks and Crowns (Leaves and Branches)

...

Use notepad to edit ..\DynDOLOD\docs\trees.ultra\tools\hybrids\hybrid.txt to change the PathInput folder for the crowns NIF location, PathOutput for the desired output location and PathData to the trunk billboards location.

The default settings expect the trunk billboards in the current DynDOLOD installation relative default TexGen_Output folder location.

Is this path within the mod in MO or am I working strictly from the DynDOLOD installation directory? hybrid.bat and hybrid.txt set relative paths from  ..\DynDOLOD\docs\trees.ultra\tools\hybrids\

Uncertain of this relative location. This path: ..\DynDOLOD\docs\trees.ultra\tools\hybrids\input

... contains examples AND actual resources used by DynDOLOD? Maybe both?

Is this somewhat correct?

  1. Prepare custom crown trunk resources (default is: PathInput=.\input\ or ..\DynDOLOD\docs\trees.ultra\tools\hybrids\input\)
  2. Run TexGen to generate billboards and TXT specs for custom crowns/trunks to be used by hybrid.bat - TexGen default output goes to ..\DynDOLOD\TexGen_Output, and hybrid.txt default relative PathData points to this: PathData=..\..\..\..\TexGen_Output\Textures\DynDOLOD\LOD\Trees\
    • UPDATE (After creating crowns/trunks according to instructions):
      1. I placed custom trunks in mod in MO under: MOD\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\ - This indeed produced the trunk billboards for my custom trunk NIFs under the program install dir at: \DynDOLOD\TexGen_Output\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees
      2. I placed custom crowns under mod in MO under (as usual for manually-created custom 3D static hybrids): MOD\Meshes\DynDOLOD\lod\trees\ ... but I did not get tree billboards for one of these under install dir at: \DynDOLOD-3.00\TexGen_Output\Textures\terrain\lodgen\skyrim.esm\ - not sure why or what triggers this generation, but I had thought it was having a 3D static hybrid tree (what I am ultimately trying to create using hybrid.bat) under this standard location in the mod: MOD\Meshes\DynDOLOD\lod\trees\ ... mind you that these are ONLY crown meshes and not 3D static hybrid trees.
  3. Run hybrid.bat generates files in output location (default is: PathOutput=.\output\ or ..\DynDOLOD\docs\trees.ultra\tools\hybrids\output\)
  4. Gather output and place inside mod under MOD\meshes\DynDOLOD\lod\trees?

If I were preparing the mod for distribution without pre-generated LOD but with all resources necessary to create trees with billboard1/2, 3D static hybrid, AND 3D static (full) resources by user running DynDOLOD 3, what would the mod folder structure look like with respect to all needed resources for users' DynDOLOD?

UPDATE #3 above: I situated the trunks and crowns under the mod in MO as described, and it looks like only the trunks were needed. once I ran TexGen to fill the TexGen_Output dir, I placed the crowns under:

image.png

This generated my combined trees (along with all of the others from that source dir). The models look odd in that the trunks do not extend all the way up, and treepineforestsnowl04 looks very thin, but otherwise appear correct:

image.png

I assume now that I only use hybrid.bat as mod author to create the 3d static hybrid models, and I package the tree billboards (for billboard1/2) and auto-created 3D static hybrid models with the mod as per usual (my own answer to #4 above). The only problem remaining is that I did not get the TexGen trunk billboards for treepineforestsnowl04 ... maybe not needed due to vanilla trunk in this case (not a vanilla tree though)?:

image.png

Final question: If I were to create the crowns for custom trees and place them and the trunk billboards under DynDOLOD Resources 3.00 mod, will I have a correctly-updated that mod for use in lieu of all of the manal labor using hybrid.bat? This then answers my own final question after #4 above. Well, according to the instructions, it's preferred to package with the mod it seems:

Quote

Hybrid Tree LOD Assets

To include the final hybrid tree LOD model in a mod, move it to ..\Data\Meshes\.. as usual. Typically it will be found anywhere because of the filename and CRC32 matching. It makes sense to keep the DynDOLOD convention, for example ..\Data\Meshes\DynDOLOD\trees\[TREEMOD]\*.nif.

The mod should also include the trunk NIF in ..\Data\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\[TREEMOD]\*.nif.

This allows users to update the trunk billboard textures, in case simple texture replacers are used or to use different TexGen settings.

As long as the trunk NIF (or crown NIF) does not change, the final hybrid tree LOD models do not need to be updated. The crown NIF from the input folder does no need to be part of the mod.

Whew! I hope this is all clear enough. I think I answered all of my own questions now O_o

Posted
4 hours ago, z929669 said:

Sorry, this is a lot of info. Think of it as my notes along with my Qs ... maybe it will be helpful to someone other than me.

The trunk NIF folder should be in the data folder as already discussed and ship with the mod.
The trunk output folder is then part of a normal TexGen run and should be installed in the data folder and ship with the mod. Users will be able to update these when running TexGen themselves.
The example uses the trunk billboards for input while they are still in  the TexGen output folder, so hybrid generation example works without installing the TexGen output.

The crown input folder can be anywhere you like (but not in the data folder) and should not ship with the mod. DynDOLOD itself is not using the crown input in its standalone folders. They are only used when running hyprid.bat to build the 3D tree LOD models with the trunks. If the cowns are in the data folder they risk being used for 3D tree LOD instead of the hybrids because they have the same file name. And as I keep preaching, by Bethesda own convention, there are never two files with the same filename in different folders to avoid mixups.

The output generated by hybrid.bat / LODGen are the 3D LOD trees to be put into the data folder and ship with the mod.

If the relative paths seem confusing, just use rooted ones. The relatives paths are just so the included examples work. Same  for using the TexGen output path instead of the data path.

Users should not need to run hyrbid.bat to merge crowns with trunks. Ship the trunk NIF and billboards and the final hybrid 3D LOD trees. The crowns NIF which are now copied 1:1 into the hybrid tree LOD model serve no further purpose. 

Posted

I was able to successfully create the hybrid trees using hybrid.bat, so I have all of the statics now. I notice that the trunk part of the statics are referencing the TexGen billboards though. TexGen creates the trunk billboards under what I assume to be the default path: ..\DynDOLOD-3.00\TexGen_Output\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\

The path referenced by the static trunks is thus: (..\Data\)Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\ Normally, DynDOLOD tree billboards are referenced under: (..\Data\)Textures\DynDOLOD\lod\trees when packaged with mods, but that may be beside the point.

The heretofore relatively unknown trunk billboard path will be a problem if the trunk billboards aren't packaged with the mod in addition to the meshes as instructed:

Quote

The mod should also include the trunk NIF in ..\Data\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\[TREEMOD]\*.nif.

I actually don't know of any mods (yet) that package LOD trunks, but I would think that both trunk meshes AND billboards should be included with the mod. Also, mods don't usually reference themselves within their asset paths, so should the instructions read(?):

Quote

The mod should also include the trunk NIF in ..\[TREEMOD]\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\*.nif and the trunk billboards in ..\[TREEMOD]\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\*.dds

I know the CRC will be found by DynDOLOD, regardless but trying to establish a standard convension for this new thing so that people are inclined to be consistent. However, the paths used in the meshes will still be an issue I would think.

Posted
24 minutes ago, z929669 said:

I was able to successfully create the hybrid trees using hybrid.bat, so I have all of the statics now. I notice that the trunk part of the statics are referencing the TexGen billboards though. TexGen creates the trunk billboards under what I assume to be the default path: ..\DynDOLOD-3.00\TexGen_Output\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\

The path referenced by the static trunks is thus: (..\Data\)Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\ Normally, DynDOLOD tree billboards are referenced under: (..\Data\)Textures\DynDOLOD\lod\trees when packaged with mods, but that may be beside the point.

The heretofore relatively unknown trunk billboard path will be a problem if the trunk billboards aren't packaged with the mod in addition to the meshes as instructed:

I actually don't know of any mods (yet) that package LOD trunks, but I would think that both trunk meshes AND billboards should be included with the mod. Also, mods don't usually reference themselves within their asset paths, so should the instructions read(?):

I know the CRC will be found by DynDOLOD, regardless but trying to establish a standard convension for this new thing so that people are inclined to be consistent. However, the paths used in the meshes will still be an issue I would think.

The output path still containing "DynDOLOD\render\billboards" is a bug that I will  fix with the next version.  The textures are supposed to end up in \Textures\ + whatever subfolders are below  data\DynDOLOD\Render\Billboards\*  just the same as whatever is below ..\DynDOLOD\Edit Scripts\DynDOLOD\Render\Billboards\*

Posted

So for generating trunk billboards with TexGen, is this the correct path inside the mod(?):

[TREEMOD]\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\*.nif   - TexGen output goes to: ..\DynDOLOD\TexGen_Output\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\

If I place the trunk meshes inside the standard folder in the mod (where 3D statics eventually go):

[TREEMOD]\DynDOLOD\lod\trees\*.nif   - TexGen output goes to: ..\DynDOLOD\TexGen_Output\Textures\dyndolod\lod\trees\

... and TexGen generates billboards for vanilla trunk rather than the custom one. Presumably, 'Render' defaults to resources found in: ..\DynDOLOD-3.00\Edit Scripts\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\ rather than the custom trunks found in the mod if there is a conflict.

The custom trunk meshes include the CRC in the name, so I was hoping they would have priority over those under \render\ folder of DynDOLOD install location, but those in the \render\sbt\ folder also include CRC. They are not matching my custom full mesh CRCs though (and neither do the trees in the file names), so it would seem that TexGen could favor trunks with matching base-model CRC so that all custom trunk meshes could be sourced from same location as 3D statics (placed here later once it is all final and packaged).

Posted
18 minutes ago, z929669 said:

So for generating trunk billboards with TexGen, is this the correct path inside the mod(?):

[TREEMOD]\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\*.nif   - TexGen output goes to: ..\DynDOLOD\TexGen_Output\Textures\DynDOLOD\render\billboards\dyndolod\lod\trees\

If I place the trunk meshes inside the standard folder in the mod (where 3D statics eventually go):

[TREEMOD]\DynDOLOD\lod\trees\*.nif   - TexGen output goes to: ..\DynDOLOD\TexGen_Output\Textures\dyndolod\lod\trees\

... and TexGen generates billboards for vanilla trunk rather than the custom one. Presumably, 'Render' defaults to resources found in: ..\DynDOLOD-3.00\Edit Scripts\DynDOLOD\Render\Billboards\DynDOLOD\lod\trees\ rather than the custom trunks found in the mod if there is a conflict.

The custom trunk meshes include the CRC in the name, so I was hoping they would have priority over those under \render\ folder of DynDOLOD install location, but those in the \render\sbt\ folder also include CRC. They are not matching my custom full mesh CRCs though, so it would seem that TexGen could favor trunks with matching base-model CRC so that all custom trunk meshes could be sourced from same location as 3D statics (placed here later once it is all final and packaged).

Trunk NIFs are not 3D LOD models. Trunk NIFs are a special NIF to be rendered by TexGen into textures.

TexGen render object LOD textures or render billboard texture feature does not care about files that are not in ..\DynDOLOD\Edit Scripts\DynDOLOD\Render\[Objects|Billboards] or ..\Data\DynDOLOD3\Edit Scripts\DynDOLOD\Render\[Objects|Billboards]

The feature simply renders all the NIF files found in these folders into textures.

As I explained, the output path for the generated textures is supposed to be textures\ + the subfolders below the ..\[objects|billboard]\* part.

Posted

Thanks for the confirmation and the TexGen path fix for trunk texture paths ... worked perfectly. I wanted to get a final confirmation that I am packaging the mod correctly. This is only the LODGen stuff with pre-generated billboards:

image.png

Posted
7 hours ago, z929669 said:

Thanks for the confirmation and the TexGen path fix for trunk texture paths ... worked perfectly. I wanted to get a final confirmation that I am packaging the mod correctly. This is only the LODGen stuff with pre-generated billboards:

image.png

Looks good.

Posted (edited)

So not sure if this a bug or not, but I am having a  strange effect with Dyndolod alpha 33, Open Cities and Cutting Room Floor.  In Riften, 2 of the 3 doors into the city open normally via OCS, but the 3rd door opening south towards the Dawnguard, has an extra transparent "door" that can be passed through on exit, but on return behaves as if OCS is not installed. 

Doing a check in More Informative Console shows the phantom door as coming from CRF, base 0008a159, ref 1e01f65c, with no conflicts in xEdit.

CRF is loaded before OCS, and it appears OCS is working fine everywhere else.  Before I run Dyndolod, all 3 doors in Riften work normally as per OCS.

Once I run Dyndolod, however, using the standard 2 pass method (disable on first run for trees, then enable when generating Dyndolod esm/esp), the phantom door appears.  Disabling the Dyndolod esm/esp and the phantom door is removed and OCS works normally.

I've tried disabling the CRF door with Dyndolod enabled, but no effect.  Just reporting here in case anyone else is seeing.  It very well could be an issue in my setup or the way I ran Dyndolod.

Edited by Wolfpack49
Posted
21 minutes ago, Wolfpack49 said:

So not sure if this a bug or not, but I am having a  strange effect with Dyndolod alpha 33, Open Cities and Cutting Room Floor.  In Riften, 2 of the 3 doors into the city open normally via OCS, but the 3rd door opening south towards the Dawnguard, has an extra transparent "door" that can be passed through on exit, but on return behaves as if OCS is not installed. 

Doing a check in More Informative Console shows the phantom door as coming from CRF, base 0008a159, ref 1e01f65c, with no conflicts in xEdit.

CRF is loaded before OCS, and it appears OCS is working fine everywhere else.  Before I run Dyndolod, all 3 doors in Riften work normally as per OCS.

Once I run Dyndolod, however, using the standard 2 pass method (disable on first run for trees, then enable when generating Dyndolod esm/esp), the phantom door appears.  Disabling the Dyndolod esm/esp and the phantom door is removed and OCS works normally.

I've tried disabling the CRF door with Dyndolod enabled, but no effect.  Just reporting here in case anyone else is seeing.  It very well could be an issue in my setup or the way I ran Dyndolod.

A reference that is not added or overwritten by a DynDOLOD plugin can not be affect by DynDOLOD, obviously.

See if you can find out if there is a second door in the exact same location. Use the mousehweel to cycle through references under the mouse pointer. Or try tcl and check if you can select a different reference from the other side.

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.