Jump to content


Photo

Blender created 3d trees not generated as intended.


  • Please log in to reply
3 replies to this topic

#1 BlackOncilla

BlackOncilla

    Prisoner

  • Members
  • 5 posts

Posted 19 July 2019 - 03:52 PM

Hi sheson,

 

I am in the process of building new tree meshes in Blender for SFO 2.5b and later for 2.8. This time I reduced the tree trunks to a lower poly mesh. In Blender and Nifskope everything looks fine but after generating the lod with Dyndolod I get seams and split tree trunks:

 

https://postimg.cc/gallery/zlqcgjeo/

 

Have you got an idea what is happening here?

 

Thank you in advance.


  • 0

#2 sheson

sheson

    Dragon King

  • Mod Authors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,533 posts

Posted 20 July 2019 - 01:50 AM

This might happen because the UV is tiled. LODGen re-UVs it to put it on the atlas. That process also tries to optimize vertices/triangles in the end. It's coarse (low precision) and can create such clefts.

 

See the logs/LODGen_SSE_[worldspace]_log.txt if there are lines about the used texture in the end that look like 

landscape\trees\sometrunktexture.dds: 1616 -> 2404 | 788, 0

 

If that is the case, then possible solutions are:

 

1) Leave UV and source texture as is, but add a rule to TexGen to create a 2x1 mini atlas trunk texture like treepineforestbarkcomplod.dds (the TexGen rule is defined with 2 lines in DynDOLOD_SSE_TexGen_noalpha_skyrimesm.txt). See DynDOLOD_Mod_Authors.html for more or ask me.

 

2) Make sure the source model has UV that is strictly between 0 and 1 so no re-UV is required. (Maybe also use TexGen mini atlas texture or create LOD texture manually)

 

3) Add "NoReUV" to the Name of the BS|NiTriShape in the NIF so the entire shape is left alone. If the UV of the texture is outside of 0 and 1, the texture will be used directly. It maybe be not as good for FPS, but in the grand scheme of things most likely not a big deal because trees in the area using the same shader/texture will still be combined.

 

Also check https://forum.step-p...ns/#entry229152

 

If all fails, send me the asset. Maybe I can refine the process.


Edited by sheson, 20 July 2019 - 01:54 AM.

  • 0

#3 BlackOncilla

BlackOncilla

    Prisoner

  • Members
  • 5 posts

Posted 03 August 2019 - 02:36 PM

Hi Sheson, I decided to use option 3) and added NoReUV to all affected nodes. The trees are rendered without seams and even the bto files got a bit smaller. I checked all those meshes in Blender and the UV was way larger than the image bounds. So I could not change the UV to fit the texture without loosing detail. Maybe I don't know enough about UV and textures yet but at least the NoReUV tag solved the problem. Thank you ::):


  • 0

#4 sheson

sheson

    Dragon King

  • Mod Authors
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 4,533 posts

Posted 03 August 2019 - 03:26 PM

Generally, file size is not as important as reducing draw call by combining different shapes into a larger one. 

 

As already mentioned, in the grand scheme of 3D LOD trees, variants of the same trees (e.g. the typical  *tree01 to *tree06) typically used in an area all use the same texture it's usually fine ending up with a couple single textures since those are still combined into a single shape, which can only hold 65536 vertices anyway before it needs to be split anyhow (which often happens with the atlassed textures of 3D trees).

 

Creating mini atlas textures and then untiling manually is the best option, but its labor intensive.


Edited by sheson, 03 August 2019 - 03:28 PM.

  • 0


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users