Home Technical Talk

Creating a Realtime Res Tree - High Poly to Low Poly RETOPO Confusion

Ricemachine88
polycounter lvl 3
Offline / Send Message
Pinned
Ricemachine88 polycounter lvl 3
Hey Polycounters, 

I'm currently sculpting a tree asset to be used in a larger UE4 I plan to create. I'm having trouble figuring out the best workflow to make my low poly retopologized asset from my high poly sculpt.

So far I have sculpted the tree trunk in Zbrush and now I'm trying to figure out the most practical way to retopo Static organic assets for games.

As you can see my tree has a lot of detail and intense curves. I know the basic workflow for making high to low and baking down, but I'm confused about the best way to approach this type of asset.

From what I understand. Tris aren't a major concern (this object won't be animated), I'm not even sure if edge flow and even topology is that crucial because it's a tree (correct me if I'm wrong). Regardless, to mitigate artifacts and normal bake errors I've taken the liberty of making the low poly follow the curvature of the tree and have tried my best to match/overlap the low mesh on top of the high. 

I've tried the following techniques to achieve retopo:
  • Export decimated zbrush obj. into 3ds max, and began to use Topologik's tools to layer a low poly mesh over my high poly.
  • And, use Zremesher to make low from high. Using the Topology guide brush and Polypaint to influence the edgeflow and poly count density in areas where deformation happened after Zremeshing.
I've spent waaay to many hours over the past day during research about different retopo workflows, but I couldn't find anything specific to my needs for this asset.

As you can see, the Zremeshed version might pick up all those sculpted details better, but at the expense of clean topology.
My goal is:
  • To have a high res version of this tree in a realtime UE4 scene. 
  • Since this won't be animated, I don't want to spend a lot of time making a low poly version if it's not necessary. 
  • I want to optimize my assets for practice, but ultimately I want the scene to look high res more than anything.
  • My finished scene won't be that big (more like a diorama).


Ultimately my questions are:

  1. What is the best way to get a complex shaped realistic tree normal map/bake into a game engine, with a High to Low poly workflow? (THE TREE IS MY HERO ASSET/CENTER PIECE, so I don't mind if I need to use more polys in order to pick up the normal map better)
  2. What are the guidelines for retopo when it comes to this kind of an object? (Static, organic, inanimate)
Thanks in advance.
  

Replies

  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    You do NOT need clean topology on static objects. The auto retopo'd lowpoly should be fine. Maybe fix up the major errors but it should be mostly ok. Just make sure it gives the silhouette you want. Clean topology is important on animated / deforming objects but its not important when the object is static. If you have synced tangent basis, the clean and the not clean topology (on a this kind of object) should give identical shading results once the normal map is baked and applied.
  • Ricemachine88
    Offline / Send Message
    Ricemachine88 polycounter lvl 3
    Obscura said:
    You do NOT need clean topology on static objects. The auto retopo'd lowpoly should be fine. Maybe fix up the major errors but it should be mostly ok. Just make sure it gives the silhouette you want. Clean topology is important on animated / deforming objects but its not important when the object is static. If you have synced tangent basis, the clean and the not clean topology (on a this kind of object) should give identical shading results once the normal map is baked and applied.

    Thanks for the clarification Obscura. So the synced tangent basis option will be available when I go to bake to the normals?
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    No it isn't like that. It means that the baker and the target renderer uses the same tangent basis. Modern game engines uses Mikk tangent space. Xnormal and Substance tools bakes for Mikk so if you bake in either of those, it should be all good.
  • Ricemachine88
    Offline / Send Message
    Ricemachine88 polycounter lvl 3
    Oh ok cool. Yeah I planned to use Xnormal. Thanks. 
  • Ricemachine88
    Offline / Send Message
    Ricemachine88 polycounter lvl 3
    Obscura said:
    "Maybe fix up the major errors but it should be mostly ok."
    What are some of the major errors that I could improve upon?
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    If you were concerned about the quality of the auto retopo, you should see them :D But horizontal divisions are more import than vertical ones in the case of this asset because those define the silhouette. I'd try to set it up so it gives a bit more horizontal divisions here and there, and less vertical ones that doesn't really change the silhouette.
  • Ricemachine88
    Offline / Send Message
    Ricemachine88 polycounter lvl 3
    Oh ok I see what you mean. Thanks for the advice. 🙏🏻
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    Just an anecdote of what @Obscura is saying about the vertical loops : I made some trees in speedtree and used some optimization tools to trim them down a bit. I've been playing my game with these trees for dozens of hours and just now I realized one of the tree trunks is prism shaped. It doesn't even have four sides :).  Because of the normal map it's hard to notice unless you are looking carefully.
  • Ricemachine88
    Offline / Send Message
    Ricemachine88 polycounter lvl 3
    @Alex Javor Lol nice. Yeah I’ve noticed even in games with incredible graphics like RDR2, the trees are practically smooth cylinders with good normals and texture mapping  :). I’m definitely going for more of the look that Willi Hammes pulls off in his UE4 environments https://80.lv/articles/how-does-mawi-united-create-natural-assets/ 
    Except with a tree I sculpted , not photogrammetry like his. 

    Check out his article above, he barely optimizes his trees, instead using a more heavily LOD’d approach to cut back on draw calls and latency issues. 
Sign In or Register to comment.