Latest

Tuesday, May 21, 2013

Displacement in Rhino 5




Learn how to create displaced mesh objects using procedural textures in Rhino 5. Displacements can be used for rendering purposes or extracted and edited for fabrication.

25 comments:

Anonymous said...

Yeah, but why does Rhino still lack a simple way to create accurate image maps from reliefs? The Zbuffer technique isn't reliable and doesn't automatically crop to the relief outline. Given that Artcam is eight thousand dollars, the lack of this command in Rhino means the cost of the program is really 10X the sticker price.

Brian James said...

Hi,

Can you send in a sample model and description of what you're trying to do to tech@mcneel.com please? I may be able to help more after I'm sure I understand what you're looking to do.

mcramblet said...

Brian-
On a couple of the videos on this site, you mention that the render meshes can be used to create NURBS surfaces. There are some cool features available with render meshes, but everything I use Rhino for must be NURBS objects that can then be passed on to SolidWorks. I'd love to see you do another of your great videos exploring the process of how some of these render mesh functions could be used and then a NURBS surface or object created from it.

mcramblet said...
This comment has been removed by a blog administrator.
Brian James said...

Hi Michael,

The process of reverse engineering meshes into NURBS surfaces can be pretty tedious depending on the form. There are many specialized Rhino plugins to help this process listed here http://www.rhino3d.com/resources/#tabs-17
Aside from that, a manual approach can be used by drawing curves with vertex Osnaps and creating surfaces from those. I'll take a look at this for a tutorial as well... thanks for the suggestion.

One last link on reverse engineering from our wiki...
http://wiki.mcneel.com/rhino/reverseengineering

Anonymous said...

Hi,

My problem is that: I would like to make texturing on a polysurface elements with some of different textures and then make watertight model for 3D printing, but the outlines of textured surfaces are open.

Is there any solution to make two (or more) different displacements on adjacent surfaces and join them together without any hole?

Thank you for your answer!

Tamas Szilagyi

Brian James said...

Hi Tamas,

If the surfaces are joined, the displaced mesh will attempt to stay together. If it doesn't, I'd like to see the model. You can send it to tech@mcneel.com

The texture used, geometry transitions at seams and the displacement settings are all factors in what the polygonal structure of the displacement will be. You can also use MeshRepair to fix small gaps after extracting the displacement mesh or edit it externally in programs specific to mesh/scan processing.

Hieu said...

Hi Brian
I'm rendering a damaged vessel in the middle of the sea. Therefore,I've used the technique to make a sea-like surface with the wave texture. However, it seems to me that it does not allow us to control over the height of the texture, which is quite important to make the waves look real. Do you have any suggestions for me?

Brian James said...

Hi Hieu,

The object with the displacement applied will have a black and white height value in object properties>displacement icon. This will control the height of the two tonal extremes based on the source image. You can also edit your image to adjust the height in areas by dodging and burning the image externally. Save over the image in another program and Rhino will auto update the change in the displacement.

Hulki said...

Hi , I hope Rhino will add a new command for converting to mesh body from render details object with Discplacement applied in rhino in the future.

Brian James said...

Hi Hulki,

Are you looking to extract the displaced mesh? You can do this with ExtractRenderMesh. Post any images of what you're working on please to the Rhino user forum here if I've misunderstood. http://discourse.mcneel.com/

Hulki said...

So good I see it with your help I don't know. At next step I must find out Rhino displacement editor. Thank you very much, Brian!

Bizzy B said...

For a Displacement Map, I'm trying to make a watertight model for printing in 3d. I only applied the displacement to 1 surface and I'm now trying to Boolean it back the other parts. Is there a way to add a displacement map to one surface of a cube shape (cube for example)? The way I approached it was to explode the cube, add the displacement to one face, and I am now trying to Boolean them all back together. Please help.

Brian James said...

The only way to currently displace one face of a cube would be to use a custom texture map and arrange the unrolled UVs to position all non-displaced areas over black in the texture map used. This is however an open feature request and something the developers are looking into. Post an example file to the Rhino forum too if you need more help.
http://discourse.mcneel.com/

Unknown said...

I am a rhino 5 user but I render with vray.
I find that using vray material displacement for rendering is much more time consuming than actually applying displacement to rhino objects, and then rendering. Not only that, but i can actually visualize the displacement preview in my viewport which really helps in many situations. I often extract the displaced render mesh from rhino objects to use in other softwares or to have it always baked in my model so i don’t have to wait for rhino to recalulate the displacement when changing views etc. So here is my question: is there a way to generate a render mesh in rhino that is view dependent (like i’ve seen done in Blender) and then render the displaced object in vray? The goal is being able to attain a high level of detail of the displacement for the objects in the foreground, while saving polygons for the objects further away from the camera.
Thx for the help!

Unknown said...

I am a rhino 5 user but I render with vray.
I find that using vray material displacement for rendering is much more time consuming than actually applying displacement to rhino objects, and then rendering. Not only that, but i can actually visualize the displacement preview in my viewport which really helps in many situations. I often extract the displaced render mesh from rhino objects to use in other softwares or to have it always baked in my model so i don’t have to wait for rhino to recalulate the displacement when changing views etc. So here is my question: is there a way to generate a render mesh in rhino that is view dependent (like i’ve seen done in Blender) and then render the displaced object in vray? The goal is being able to attain a high level of detail of the displacement for the objects in the foreground, while saving polygons for the objects further away from the camera.
Thx for the help!

Brian James said...

Hi Lorenzo,

Rhino 5 doesn't have a feature like the adaptive subdivision I believe you're referring to. The only option I can think of would be to have different mesh resolutions made with ReduceMesh and hide and show them as needed for the different views. I know it's not ideal but it could work to reduce the poly count rendered.

trueherzm said...

Does this work on mac? Dont have a textures panel available.

Brian James said...

Yes, it works on Mac but only Rhino 6 for Mac. The Properties panel will have Displacement.

Ana Mendes said...

I'm having immense dificulty using this tool...
What I'm getting is this: https://we.tl/t-upvFtFETA0

I'm trying to edit using the texture mapping tool, but it's a mess

Ana Mendes said...

I'm having immense dificulty using this tool...
What I'm getting is this: https://we.tl/t-upvFtFETA0

I'm trying to edit using the texture mapping tool, but it's a mess

Brian James said...

From your screenshot it looks like your model might be an Extrusion which will have a very simple render mesh. Displacement uses the objects render mesh as the starting point and then applies the quality setting over that to divide the polygons. Try Explode on the object and then Join. This will make it a polysurface not an extrusion. Then adjust it's custom render mesh in the Properties panel. Please post to the user forum if you need more help https://discourse.mcneel.com/

Ana Mendes said...

It looked like a bug, so I shut down the pc and relaunched, tried again.

The help post says Displacement can be used on extrusions, and I it worked.
But when I want to extract the render into a mesh, I do need to convert it.

Now I'm having dificulty placing the image where I wanted.
I used edit UV mapping to make it good enough, but it isn't.
I need to be able to move it.
Tried your sugestion, it doesn't allow me to select the surface/mesh/extrusion. I allows me to select the bottom one, at some point.

It's very frustrating, it looks like bugs. Because online no one seems to have dificulties using this tool. All I found where two insuficient help posts and a few youtube videos where it worked smoothly. Could be my grafic board now showing what it's supposed to...

Brian James said...
This comment has been removed by the author.
Brian James said...

Can you post the 3dm file and the image to the Rhino user forum https://discourse.mcneel.com/? Also indicate the version of Rhino you are running.