Displace Geometry By Image?
18854 13 2- Enivob
- 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?
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?
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- pelos
- Member
- 614 posts
- Joined: Aug. 2008
- Offline
- eetu
- 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]
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]
- circusmonkey
- 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
•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
- Enivob
- 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?
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.
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
- Enivob
- 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]
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]
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- circusmonkey
- 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
- Enivob
- 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.
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.
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- old_school
- 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.
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.
There's at least one school like the old school!
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
- Enivob
- 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.
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.
Using Houdini Indie 20.0
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
Ubuntu 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
- old_school
- 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.
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!
- Yamatoto
- Member
- 9 posts
- Joined: Nov. 2019
- Offline
-
- Quick Links