Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
saviornt's avatar
saviornt
Protege
11 years ago

Dynamic Tessellation (ala LOD) in Unity (dx11)

I'll be trying to work on this here in a few hours, but figured I'd ask before I start - has anyone figured out how to increase / decrease tessellation of objects based on distance from the camera/playercontroller?

Also, it would be interesting to see a 2d/billboard/camera facing planes -> 3d / tessellated object based on the same train of thought. An example of this would be grass. From a distance, the grass is a modified plane. When that same grass is within a certain distance of the player, it gets dymanically transformed into a 3d / non-facing object.

I'm thinking, for the blade of grass, the original model is a simple plane with a double-sided texture. As the player gets closer, the model is tessellated to a medium/high poly model, and is mapped using the typical diffuse/normal/bump-height maps. As the player leaves the area, the model goes back to being a simple plane.

Thoughts? Ideas? Solutions? Working examples? :)

1 Reply

Replies have been turned off for this discussion
  • owenwp's avatar
    owenwp
    Expert Protege
    You should probably get a book on the subject if you want to get into it. Its a pretty complex topic that involves not only shader code but asset creation practices as well. You won't get that much out of a prepackaged solution, or at least not much more than what Unity already gives you, which does increase tessellation as you get closer.

    The switching between models and flat images idea has been tried, they are typically called "Imposters". There are a number of whitepapers on them.