Vector displacement map

Has anyone managed to get vector displacement maps working in UE4 yet?

Got it:

More to come soon…

Nice!, We need to have a chat. Ive been working on a screen space filter for Vector Displacement mixed with frustum culling screen z depth distance tessellation. Hope the more to come soon is very soon :slight_smile:

what the problem, can you specify?

I made some that work with Unity, so I’m roughly translating them to work in Unreal. I’ve gotten the Zbrush baked maps to work pretty well. Now I have to get the Xnormal baked maps working and correct the normals.

I could use a map and object baked in mudbox if anyone has one. If there are any other programs that can bake vector maps, let me know.

Yeah, you have to tessellate the material. Here’s a screenshot of the Zbrush material:

8b6c05100e488fa71e960644a53db99dd53bbd06.jpeg

The Xnormal material is coming soon. I still need a mudbox example.

Hi folks,

Got a few questions about this not sure if anyones having any joy? That shader is pretty great Electricsauce thanks for sharing :).

Anyhow I am trying this technique on a Dinosaur and wanted to know what Z-Brush settings you are using to generate the displacement? I’ve added mine below, I turned most of the options off as I couldn’t get a 32bit file into UE4

a37bbc62fd971ec39d52d008da55544cf0b47d88.jpeg

After exporting as a 16bit tiff I converted it to an 8bit TGA, this seems odd but again I couldn’t find a way to get the file into UE4. I did not mess with Photoshop levels, effect the map contrast in anyway.

I imported the file into UE4 with the following settings…

I tried to use the material shown above, I removed a few of the functions…

Here are 2 screenshots showing the effect on and off, there is some nice smoothing from the tessellation but the displacement is a bit crude. I guess this is due to the bit depth hammering?

32d6b2d0e30bd91b5eca78528ddb56b77b075ad8.jpeg

Many thanks for any improvements or alterations in workflow ideas.

Cheers

Greg

I haven’t figured out specific setting for zbrush just yet, I got sidetracked by my wood projection project. I didn’t have any luck with the vector displacement compression settings so ended up using HDR compression to get the detail that I needed. The shader that I posted above doesn’t deal with object rotation properly and I haven’t had any luck with my Xnormal baked objects.

Hi electricsauce,

Cheers for the reply, may I see your project/ue4 files please? I cant seem to get anything to work right

I’m currently exporting a 16bit Tif from Z-Brush saving it as a PNG importing into UE4 then applying HDR compression as you suggested but no joy yet.

Cheers

Greg

I’m using the vector displacement test file located in the lightbox in Zbrush and following the same steps you are. Try multiplying your object scale parameter by 50 to see if you can get the displacement that you’re after.

I’m having issues converting the world direction based VD maps to object space using the built in transform node which isn’t compatible with the pixel shader. Time to use some math.

Brilliant got it working, my mesh was rotated so the vector displacement wasn’t working, now I have the same issue you have where it works only in the default position only.

Cheers

Greg

I’ve had some luck on the rotation issue by using an inverse transform matrix that utilizes blueprint driven parameters. It’s a far from ideal solution though, it’s hard to set up and I have little hope of it working with skeletal meshes since it relies on the objects rotation to determine deformation direction. If your dinosaur turned his head the deformed bumps would stay in their initial positions.

I’m going to try tangent based maps again but I haven’t had much luck with them so far. The (tangent to world) vector transform seems to crack the mesh pretty severely.

Gotcha, yer I’ve tried the transform node to with no joy, the result is very noisy.

Shame theres not just a material function you can drag and drop hehe