Forum Discussion
krflol
12 years agoHonored Guest
Vector Displacement maps in udk (grass/foliage example)
Hey rifters/udk users.
I am currently developing and indy (read solo) sandbox survival game that uses sixense and rift tech. Being that I now have the hydra controls about where I want them, I decided to start tackling some of the technical challenges that the rift brings to bear. An issue that has been observed time and again in the demos I've watched (still waiting, order 084X) is glaring foliage faking techniques used by most titles. This is the first issue I've decided to work on and it starts with a terrain layer tessellation material that not only makes your environment really pop, but makes your grass have real geometry.
Intro out of the way, I've experimented a lot and found imported vector displacement maps to be the best way to handle tessellated grass in a landscape terrain material. With proper vector displacement maps you can not only generate geometry for your foliage, but animate it as well (the rocks and sand and other stuff tessellate fine with a greyscale map).
Doing a lot of google yields a lot questions in this but not a lot of answers. I have gotten satisfactory results after a lot of trial and error, so ill post a tutorial here (couldn't hurt for future googlers to find their way to this site). This will be a Zbrush to Photoshop CS6 to UDK tut.
This Tutorial is rated intermediate to advanced, as I will not be covering a lot of the basic to intermediate techniques. Ill try to keep this brief. Feel free to post or pm me any questions or critiques.
ZBRUSH:
Create your geometry here. For the sake of this tut im using a fiber mesh that doesnt tile, but i suggest you sculpt some by hand and make it tileable.
http://i.imgur.com/fV4gmQJ.jpg
PHOTOSHOP:
This is where things get weird. I have tried just about every way imaginable, but the only way i could get actual results (IE the vector maps were actually telling udk to bend/offset a given blade of grass) was to copy the 32 bit canvas, select all, and FILE->NEW an 8 bit canvas of the same dimensions and paste it there. Changing the mode directly seems to create undesired results Im sure there is a better to way to do this, I just haven't found it.
http://i.imgur.com/hgmcjBZ.png
UDK:
OK heres where most of the magic happens. Make sure you import your texture sample with the HDR settings:
http://i.imgur.com/YreCq5K.jpg
Then simply plug it into your tesselation node and play with it how you like. The results of this fibermesh arent entirely great, but ill include an ss of what i with it after some tweaking (keep in mind that this is a landscape paint layer and very much a WIP;specifically the subsurface scattering and opacity masks stopped working as desired for obvious reasons when i switched to vector displacement.
http://i.imgur.com/cxvyyac.png
Anyway, hope this wasnt an oversimplification and that you can figure out where to go from here.
http://i.imgur.com/w2yFYyV.jpg
I am currently developing and indy (read solo) sandbox survival game that uses sixense and rift tech. Being that I now have the hydra controls about where I want them, I decided to start tackling some of the technical challenges that the rift brings to bear. An issue that has been observed time and again in the demos I've watched (still waiting, order 084X) is glaring foliage faking techniques used by most titles. This is the first issue I've decided to work on and it starts with a terrain layer tessellation material that not only makes your environment really pop, but makes your grass have real geometry.
Intro out of the way, I've experimented a lot and found imported vector displacement maps to be the best way to handle tessellated grass in a landscape terrain material. With proper vector displacement maps you can not only generate geometry for your foliage, but animate it as well (the rocks and sand and other stuff tessellate fine with a greyscale map).
Doing a lot of google yields a lot questions in this but not a lot of answers. I have gotten satisfactory results after a lot of trial and error, so ill post a tutorial here (couldn't hurt for future googlers to find their way to this site). This will be a Zbrush to Photoshop CS6 to UDK tut.
This Tutorial is rated intermediate to advanced, as I will not be covering a lot of the basic to intermediate techniques. Ill try to keep this brief. Feel free to post or pm me any questions or critiques.
ZBRUSH:
Create your geometry here. For the sake of this tut im using a fiber mesh that doesnt tile, but i suggest you sculpt some by hand and make it tileable.
http://i.imgur.com/fV4gmQJ.jpg
PHOTOSHOP:
This is where things get weird. I have tried just about every way imaginable, but the only way i could get actual results (IE the vector maps were actually telling udk to bend/offset a given blade of grass) was to copy the 32 bit canvas, select all, and FILE->NEW an 8 bit canvas of the same dimensions and paste it there. Changing the mode directly seems to create undesired results Im sure there is a better to way to do this, I just haven't found it.
http://i.imgur.com/hgmcjBZ.png
UDK:
OK heres where most of the magic happens. Make sure you import your texture sample with the HDR settings:
http://i.imgur.com/YreCq5K.jpg
Then simply plug it into your tesselation node and play with it how you like. The results of this fibermesh arent entirely great, but ill include an ss of what i with it after some tweaking (keep in mind that this is a landscape paint layer and very much a WIP;specifically the subsurface scattering and opacity masks stopped working as desired for obvious reasons when i switched to vector displacement.
http://i.imgur.com/cxvyyac.png
Anyway, hope this wasnt an oversimplification and that you can figure out where to go from here.
http://i.imgur.com/w2yFYyV.jpg
Replies have been turned off for this discussion
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 4 years ago
- 9 months ago