Vector displacement problem

Hello everyone!

I am trying to use vector displacement maps to simulate an ocean, the maps are created in Houdini, exported as 32bits openEXR, then I import in the displacement modifier and use a multires modifier to subdivide the plane.

It kind of work, but the results are far from what it looks like in Houdini.

Here’s what it looks like in Houdini…

Here is the first vector displacement map generated by Houdini…
disp_0001.exr (772.4 KB)

Here is my setup in Blender…

Any pointers would be greatly appreciated!

Gilles

The Displace modifier only works with one dimensional (greyscale) diplacement maps (FALSE INFO!). To use vector displacement maps you have to download the nightly (experimental) build of Blender 2.79 not the stable build. Google microdisplacement for more info. It’s an experimental feature.

Thanks for the reply, will look into it, but I think microdisplacement has been in Blender since 7.88, but I might be mistaking here!

The Blender manual says that the displace modifier can use vector maps by using the RGB to XYZ mode, which is what I did here, here is the page…

https://docs.blender.org/manual/en/dev/modeling/modifiers/deform/displace.html

Microdisplacement has been around for a while but only for one dimentional displacement, for vector displacement you have to use the nightly build.

Is this a world or tangent space displacement map? I tried with microdisplacement and it produces similar results to to what you have in Houdini if it’s read as a tangent space displacement map.

vec_disp.blend (699.4 KB)

You could also try the displace modifier with a world space displacement map.

Thanks again for the reply, I am using the Blender that was released today from this address, so I take it this is the nightly build, right?

https://builder.blender.org/download/

I must be missing something, but yes, it is a tangent space disp map, I can do this with my eyes closed in Houdini, in Blender, not so much! :slight_smile:

I will try the displacement modifier again!

EDIT: Got it to work in the nightly build, in 2.8 as well, thanks again Mate, much appreciated! :slight_smile:

The displacement modifier doesn’t support tangent space, try object space (or world space) instead.

Incorrect. Displacement modifier supports vector displacement maps.


Houdini axes are Y up. Blender is Z up. Swapped them.

2 Likes

I know it’s incorrect I already corrected that post:

And this is not the result he was looking for because the displace modifier doesn’t support tangent space maps.

He’s displacing a plane, not an already deformed geometry.

But for a flat plane, oriented z-up, the tangent space doesn’t really matter.

in terms of general displacement maps, it certainly does, but in this example, not so much.

@JA12, @SterlingRoth

OK, I get it now you’re right but why can’t I make it look right with the displace modifier?

I can only think of one reason: clamp is set for the colors by default, and the exr has values outside 0-1 range

Here’s also the .exr with the swapped channels
disp_0002.exr (759.0 KB)

Cant get it to work with the displace modifier, even in the nightly build, but the micro-displacement works well, thanks again guys, much obliged! :slight_smile:

@JA12, I got it to work with the displace modifier, too. You were right all along.

Okay, got both ways to work, but the micro-displacement way is much less memory intensive and renders faster, especially with larger maps, like this infinite ocean with 4K maps with a dicing scale of .1, but 4K is too low res for that level of details though, I would need 16K, maybe even 32K, which my cutrrent system just cant handle, but it is nice to have an infinite ocean without tiling! :slight_smile:

Again, thanks everyone for all the help, I learned a few things today, which is always welcome! :slight_smile:

Thanks again guys, here is a render of a 256 frames loop, not entirely pleased with the foam, but all in all not bad!

2 Likes