Download

Tessalation baked to object

I see that many people are now talking about tessalation and how it will change the future of graphics in games. Yeah, the effect is really cool but it’s very demanding for graphic cards to make real time in games. So what you think about this method what I’ve now started to use. I “bake” tessalation to object in 3d Max using displacement map, then export it to ZBrush where I just reduce the polycount. After that I just import it back to Max, UV Map the object and export it to FBX. Then just import it to Unreal. I’ve also found that this is not demanding at all for computers to handle.

39546b43b570e61f5b71e2ac83b77df5f006865c.jpeg

There is abuse of tessellation in the market, improper usage which results in incredibly high costs. Do not judge this technology off of developers like Crytek for instance.
Tessellation is primarily meant to replace LOD because of its dynamic transition, but it also can reduce HDD and Ram usage if the base model is low poly and the high poly data is a heightmap.
DX10 and 11 together introduce better compression formats which make the compression less lossy so it doesn’t have to be uncompressed.

With this baked data you would have to still deal with LOD. I’m not a shader programmer, but I imagine you could control where tessellation occurs via a texture or intensity of tessellation. It is already possible to do this via vertex points.

Your method is fine too, but you’ll have to LOD and you’ll still have the “popping” when the LOD switches.

For surfaces though where the geometry is more uniform though, like an ocean shader, tessellation is definitely better.

There is abuse of tessellation in the market, improper usage which results in incredibly high costs. Do not judge this technology off of developers like Crytek for instance.
Tessellation is primarily meant to replace LOD because of its dynamic transition, but it also can reduce HDD and Ram usage if the base model is low poly and the high poly data is a heightmap.
DX10 and 11 together introduce better compression formats which make the compression less lossy so it doesn’t have to be uncompressed.

With this baked data you would have to still deal with LOD. I’m not a shader programmer, but I imagine you could control where tessellation occurs via a texture or intensity of tessellation. It is already possible to do this via vertex points.

Your method is fine too, but you’ll have to LOD and you’ll still have the “popping” when the LOD switches.

For surfaces though where the geometry is more uniform though, like an ocean shader, tessellation is definitely a must.

You’re basically using modular lowpoly instead of planes, it’s quite well known technique
http://wiki.polycount.com/wiki/TilingRockWallBeyer
About high cost of displacement - it’s exactly what DIFTOW said. In good examples displacement applied only around the player at certain distance etc. It’s like abstract second layer of LOD: Tesselated object/part of object -> No tesselation -> Lower LOD

And remember that Tessellation is scalable; so long as you’re not using the tessellated results as collision data.
It doesn’t just have to be used as a LOD, you could set this up as a graphics setting as well, part of the “model quality” tab (low, medium, high).
So this is more of a question on whether the GPU is DX11, than low-end vs high-end. If they are using a high-end DX10 GPU, then they’ll just get a completely non-tessellated environment, which may be less than what even a low-end DX11 gpu can do. This is why some developers over the previous years were still using Parallax Occlusion Mapping, but that method is actually more expensive and now pretty outdated.

I can’t see how this what you linked is the same what I did. In your example, artist sculpted that wall using those rocks. I did not sculpt anything, I did let the height map sculpt the wall for me. What I only did was create a simple plane and divided it to thousands and thousands of polygons and then just applied the height map to it.

You may not have taken the exact same steps, but you ultimately ended up with the same result, a modular lowpoly object instead of using tessellation. Theres is nothing wrong with your technique, just requires more thought about what others have already spoken about ie. LOD.

In the engine tesselation can be setup so that it changes based on distance, which can lead to high quality with good performance because further away you don’t have to subdivide as much. In your situation, you would have to create a lower-poly LOD otherwise when you get further away where you don’t need the detail it would still have the same poly count and wouldn’t be efficient.

More pictures what I’ve done with using this simple method. Very easy to create high quality props to games even if you don’t know **** about modeling.

b0da4ff5ad728bbfd11d12f5b67f4d7372efac79.jpeg

Neat idea - do you think you could provide a bit more of a tutorial for those that aren’t familiar with how to do this in Max or whatnot?

I’ve had a similar idea - it would be a really nice way to quickly create good quality assets, 1. Tessalate HP plane 2. Retopo, UV & paint … Done. But my main concern was about… Where can i get displacement maps from? Because good displacement map requires taking photo from 2 different angles (as in THIS tutorial), so i guess that converting diffuse texure into greyscale + adjusting is not enough?

You can use programs like Crazybump to create awesome height maps from diffuse or normal maps. I don’t see point of doing what you said. Maybe then if you use this method to make other stuff than just “flat” surfaces. I use this only to make flat surfaces like walls, ceilings, grounds ect. to pop out. But I would NOT make things/items with this method like furnitures ect if you know what I mean.

Yeah, ofc i’m talking about e.g. rock/cliff walls, grounds, etc, not assets like furniture :slight_smile:
So, for example these rocks from your last screenshot, they were generated by displacement map converted from diffuse/normal map in Crazybump? And then you applied original diffuse texture on it, or painted it? How about polycount?

Well polycount in that rockwall is 15 k but since I did not have to worry about polycount in this test but I created the same wall only using 1000 polys and it looked the same. And I’m a noob what comes to materials so I’m sure that this rockwall would look even more better than in the picture if a proper material used.

This guy here is using the method too, showcasing an entire game and other techniques (only watched the first video, dunno about performance though) The Solus Project: Application of Unreal Engine 4 - Part 1- Level And Content https://www.youtube.com/watch?v=8SxTqlom3Fg

How many polys is that though?

The only real reason why tessellation and displacement is being talked about more frequently is because with VR, it is glaringly noticeable when you only use normal maps to give an illusion of depth. It works on monitors pretty well, but once you see it in VR, it becomes a “what is wrong with this, I need to inspect it more”, which in turn makes the player focus on the bad, rather than the good. This also goes hand in hand with using billboards as foliage. You should be able to use the same technique (tessellate and displace) to create real foliage out of billboards.

As the others have mentioned, This needs to go hand in hand with the LOD system. Or else you will destroy the framerate… which is just an inconvenience when using a monitor, but can make a person physically sick in VR.

Got halfway through your post and was about to run and gun on LODs and then was like “AHH-Nevermind they got it”. So now I’m just backing up everything you said. Yes, this. Tessellations and displacements are fantastic when used with LODs otherwise you are just needlessly taxing your system and inconveniencing your playerbase which is the opposite of what people are generally trying to accomplish with this technology.