Tessellation In Unity HDRP
Tessellation is a great feature of Unity HDRP which allows the vertices of flat surfaces to be adjusted to fit the material texture applied to them.
Today’s Objective: Explore Tessellation in Unity HDRP, to make 2D objects and materials look/be 3D.
Tessellation in Unity:
Tessellation is another one of the great material options available on certain materials/shaders in Unity (using one of the Tessellation shaders).
By using a Height Map along with the other textures assigned to a material (Albedo, Normal, Mask, etc), we can turn a flat texture into a full 3D object.
Creating a Tessellated Surface:
First I create a new default Plane GameObject and a new Material asset.
I already have a few textures for a cobblestone path, which include the Albedo, Normal, and Height/Displacement maps.
Now on the material, I set it to be a Tessellation-compatible shader:
The material will now show options for setting the Tessellation properties and Height Map:
After setting the materials textures, and adjusting the metallic and smoothness a bit, we can move onto the Tessellation.
The Min and Max Heightmap values control the distance between the lowest and highest points in the mesh displacement:
Using Amplitude instead is also an option:
The Tessellation Factor value controls the subdivision used on the mesh, which basically equates to the level of detail accuracy in the tessellation.
NOTE: Higher values mean more vertices, which leads to more work for the renderer, possibly leading to performance issues. Use Tessellation on an “as-needed” basis, not in every case.
The variables under Tessellation Factor control how the tessellation fades away, when the camera is a certain distance from the object.