Displace Geometry By Image?

   18854   13   2
User Avatar
Member
2528 posts
Joined: June 2008
Online
Hi All,

Is there any way to displace the geometry/mesh of an object by an image? I have some displacement maps that I have used in other 3D packages and I want to try them out in Houdini.

I have an image that shows my attempt using a Material to displace the surface on render but as you can see the mesh splits because it is a render time based solution.

I have a box that is flowing into a subdivide node. Now I want to take the result of that subdivide and connect it to the displace-by-map node. But being a new user I do not know what the name of that node would be called.

Can image map geometry displacement be done in Houdini?

Attachments:
Screen Shot 2014-05-02 at 4.22.12 PM.png (344.3 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
614 posts
Joined: Aug. 2008
Offline
if you want to see your displacement in the viewport you can subdivide your geometry.
drop a vopsop add a parameter that reads that image.
drop a luminance
and use the luminosity of the image as the amount in the displace along normal node.
and add that to the original point position.
User Avatar
Member
606 posts
Joined: May 2007
Offline
Quite an old thread, but should have good info still: http://forums.odforce.net/topic/6517-unofficial-displacement-rendering-challenge/ [forums.odforce.net]
I recommend adding the re-dice displacement property:
http://www.sidefx.com/docs/houdini13.0/render/understanding [sidefx.com]
http://www.sidefx.com/docs/houdini13.0/props/mantra#vm_redice [sidefx.com]
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Tearing hard edges is solved by

•Create a new user N

•Copy that N to the geometry

•Add vertex cusp N , set to Cusp N

•In your shader create a parameter > using you new user N > transform that N from object to camera.

•So we are cusping with N and we are using a new user N for our shading.

That is an old thread …

Rob
Gone fishing
User Avatar
Member
2528 posts
Joined: June 2008
Online
Thanks for the replies. I am getting back to solving this problem and I want to try out circus monkey solution.

Sorry for being an ultra noob but I don't understand any of the steps.

•Create a new user N
I have my cube selected and I type the N-Key while mouse is over the Network area? I see the labels change…

Is a new user simply a copy of the node? or is it like an instance of the node?
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Hi,
See attached, the solution is relatively simple.but you need to learn the concept of attributes. With a user N . I am basically saying you need to create a new N = ( normal ) attribute that you can manipulate. Explore the scene file

Rob

Attachments:
rse_cuspCube_X11_001.hip (670.9 KB)

Gone fishing
User Avatar
Member
2528 posts
Joined: June 2008
Online
@circusmonkey: Thanks for the file, I am still not sure where the surface of the far left cube gets the displacement information from. It looks like noise but I can't seem to find the noise generator.

I think I really want to try to solve this via modeling, not materials. At the end of there day I want a real mesh with real faces displaced by an image map. I guess it would be like a height field. Can Houdini do that?

Here is my simple example node setup. If I could get an image map to drive the group #s and the strength for those groups it might work how I imagine.

Hmmm…this looks promising but it is only for a grid, not a box or other geometry.
http://www.sidefx.com/exchange/display.php?author=adam_glazier [sidefx.com]

Attachments:
Screen Shot 2014-05-13 at 1.07.18 PM.png (190.0 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
I think I really want to try to solve this via modeling, not materials. At the end of there day I want a real mesh with real faces displaced by an image map. I guess it would be like a height field. Can Houdini do that?


You will need to create a vopsop / pipe in an image > and via its luminance displace along normal.
Gone fishing
User Avatar
Member
2528 posts
Joined: June 2008
Online
I have added a vopsop to the end of my UV textured sphere object.

When I insert a texture inside the vosop, followed by a displace, I do get geometry displacement. However, there does not appear to be a mechanism for relaying the UV coordinates to the texture node inside the vopsop.

How is that handled?
Do I need to use more than one input on the vopsop?

NOTE: I am using two images, one a baked displace map and the other a companion version of the same map with AO baked into the texture. So I want one map to be used for the rendered diffuse surface and the other map for displacing the surface geometry.

As you can see in the image the displace version of the map has no link to the UVs so it can not synchronize with the AO version of the map.

Attachments:
ao_UV_sphere_1a.hipnc (293.6 KB)
Screen Shot 2014-05-14 at 1.39.35 PM.png (839.5 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
A couple things.

To import uv's in to the VOP SOP network, they have to be of type point and you need to use a Bind VOP to reference the attribute by name and type.

It is common to use the luminance value of the RGB texture map for displacements.

See example file for changes.

Attachments:
ao_uv_sphere_1a_208_jw.hipnc (524.9 KB)

There's at least one school like the old school!
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Jeff beat me to the off , heres another example. Not using bind

Rob

Attachments:
rse_dispNviaMap.hip (110.1 KB)

Gone fishing
User Avatar
Member
2528 posts
Joined: June 2008
Online
Thanks circus monkey,

The grid works as expected and looks nice with matching displace and AO textures.

Jeff,
Your file works well too. Although I do get some warning message that I don't understand when I try to save it locally from within Houdini Apprentice.

Attachments:
Screen Shot 2014-05-15 at 9.40.07 AM.png (25.8 KB)
Screen Shot 2014-05-15 at 9.56.11 AM.png (566.9 KB)
Screen Shot 2014-05-15 at 10.25.02 AM.png (596.1 KB)

Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
That warning is most likely caused by an asset that was wrapped up in to my scene file by accident. It can be safely ignored.

I turn on the preference that allows Houdini to save a copy of assets to the current scene file for portability reasons only. I like to share scene files and I have no idea in what environment they will be used in so I enable this option. This is a user preference and defaults to off as it can lead to scene bloat when you have a lot of custom assets in use in your Houdini scene.

If you enable this option in the main Houdini preferences, the warning should go away.
There's at least one school like the old school!
User Avatar
Member
9 posts
Joined: Nov. 2019
Offline
i found this old thread in 2021. as a beginner perhaps this video can help others (not the one who make the video)

it's much faster to displace from grey image, i use it to displace water droplet

  • Quick Links