Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Overview

...

The Geometry tag provides can be added to any geometry object and provides control over displacement, subdivision and OpenSubdiv.

...

Section
Column
width57%

1. Right-click on the geometry object in the Objects tab.

2. Go to V-Ray tags and select the Geometry tag.

 

 

Alternatively, it can be accessed through the Tags menu in the Objects Tab.

UI Text Box
typeinfo

Starting with Cinema 4D 2023.1, V-Ray Geometry tag resides in Extensions > V-Ray tags

Column
width5%

 

Column
width38%

 

 

 

 

...

 

Section
Column
width57%

3. Enable Displacement.

4. Load a displacement map.

Column
width5%

 

Column
width38%
HTML
<iframe width="560" height="315" src="https://www.youtube.com/embed/hyWKRgjubS4" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

 

 

Change the Material Tag

...

Section
Column
width57%
UI Text Box
typenote

By default, the VRayDisplacement V-Ray Displacement uses the assigned material as a UV channel.

You can change the UV channel considered for displacement by changing the material in the Material tag field.

Column
width5%

 

Column
width38%

 

...

Section
Column
width57%

Enabled – When checked, enables displacement.

Texture – Specifies the displacement texture.

Material Tag – Specifies a custom UV mapping for the displacement, taken from the material currently attached in the this field. If the field is empty, V-Ray uses the default or the UV mapping from the currently applied material to the object.

Type – Specifies the mode in which for rendering the displacement is rendered.

2D Displacement – Bases the displacement on a texture map that is known in advance. The displaced surface is rendered as a warped height-field based on that texture map. The actual raytracing of the displaced surface is done in texture space, and the result is mapped back into 3D space. The advantage of this method is that it preserves all the details in the displacement map. However, it requires that the object has to have valid texture coordinates. You cannot use this method for 3D procedural textures or other textures that use object or world coordinates. The displacement map can take any values.
Normal – Takes the original surface geometry and subdivides its triangles into smaller sub-triangles which are then displaced. It can be applied for arbitrary displacement maps with any kind of mapping.
Vector If When using a displacement texture that is not grayscale, V-Ray converts it to into grayscale before rendering the displaced geometry. This mode allows V-Ray to use the Red, Green, and Blue channels of the displacement texture to displace the geometry in the U and V directions in addition to the direction of the face normal.
Vector (absolute) – A vector-type displacement mode in which the texture is interpreted as 0.5-based tangent space displacement map.
Vector (object) – The texture values represent 0-based displacement in object space.

Geometry Generation – Determines when the geometry is compiled during rendering.

On the Fly – The subdivision geometry dynamically goes into the dynamic memory pool during rendering from which it can later be removed, if needed. This process is at the expense of some speed but potentially saves memory.
Pre-tessellated – The subdivision geometry is pre-compiled into an acceleration structure at the beginning of the rendering and remains there until the end of the frame. This can speed up the rendering and increase memory usage.

Displacement Amount – The amount of displacement. A value of 0.0 means the object appears unchanged. Higher values produce a greater displacement effect. This can also be negative, in which case the displacement pushes geometry inside the object. 

Displacement Shift – Specifies a constant, which is added to the displacement map values, effectively shifting the displaced surface up and down along the normals. This can either be positive or negative. 

Column
width5%

 

Column
width38%

...

Section
Column
width57%

Keep Continuity – When enabled, V-Ray tries to produce a connected surface. Use it when you get splits (usually around sharp edges) in the displaced geometry.

Cache Normals – When enabled, V-Ray generates and saves information about the normal of each newly generated vertex. This requires additional memory but speeds up the shading calculations during rendering.

Enable Water Level – When enabled, this clips the surface geometry in places where the displacement map value is below the threshold specified by the Water Level field field. This can be used for clip mapping a displacement map value, below which geometry is clipped. 

Use Bounds – Enables Min/Max Bounds.

Min/Max Bound – These two options allow you to specify custom boundaries for the displaced geometry. By default is they are limited to values between 0 and 1.

Column
width5%

 

Column
width38%

Image Removed

...

Image Added

2D Displacement

...

Section
Column
width57%

Texture Resolution – Determines the resolution of the displacement texture used by V-Ray. If the texture map is a bitmap, it would be best to match this resolution to the size of the bitmap. For procedural 2d 2D maps, the resolution is determined by the desired quality and detail in the displacement. Note that V-Ray also automatically generates a normals map based on the displacement map, to compensate for details not captured by the actual displaced surface. 

Filter Texture – When enabled, the texture map is filtered before the actual displacement takes place.

Filter Blur – Specifies the amount of blur that is applied to the texture before the displacement takes place.

Precision – Related to the curvature of the displaced surface; flat surfaces can do with a lower precision (for a perfectly flat plane you can use 1), more curved surfaces require higher values. If the precision is not high enough, you can get dark spots ("surface acne") on the displacement. Lower values compute faster.

Tight Bounds – Causes V-Ray to compute more precise bounding volumes for the displaced triangles, leading to slightly better rendering times. 

Multi Tile – When enabled, 2D Displacement can work with <UVTILE>/<UDIM> textures.

Column
width5%

 

Column
width38%

Subdivision

...

 

Section
Column
width57%

Enabled – Enables the object subdivision.

Geometry Generation – Determines when the geometry is compiled during rendering.

On the Fly  – The subdivision Geometry dynamically  geometry goes into the dynamic memory pool during rendering, from which it can later be removed, if needed. This process is at the expense of some speed, but potentially saving on RAM. 
Pre-tessellated  – The subdivision geometry is pre-compiled into an acceleration structure at the beginning of the rendering and remains there until the end of the frame. This may speed up the rendering and increase the memory usage.

Preserve Map Borders – Specifies how to handle subdivisions of UV coordinates at UV seams when Subdivide UVs is enabled. The possible values are:

None – UVs are always subdivided regardless of whether they are on a UV seam or not.
Internal – Only preserve UVs if they are on an internal UV seam.
All – Does not subdivide UVs on UV seams.

Subdivide UVsEnables When enabled, the UVs of the object will be are subdivided at the borders.

Preserve Geometry Borders – Specifies whether subdivision geometry borders are preserved or not.

Classic Catmull-Clark – When this option is enabled, V-Ray uses the Classic Catmul-Clark method for subdividing the mesh instead of the hybrid one used by default. This option should be enabled only if the mesh is composed entirely of rectangular faces or it will does not work.

Column
width5%

 

Column
width38%

OpenSubdiv

...

 

Section
Column
width57%

Enable Open Subdiv – When enabled, the object will be is subdivided before rendering using the OpenSubdiv library.

Subdivision Level – The number of subdivision levels. This values is set to 0 by default.

Type – The type of subdivision used. Two types are currently supported by the OpenSubdiv library:

Catmull-Clark – The default subdivision method which can handle meshes with arbitrary polygons (triangles, quads etc);.
Loop – This subdivision method works with triangles only.

Preserve Map Borders – Specifies how to handle subdivisions of UV coordinates at UV seams when Open Subdivide UVs is enabled. The possible values are:

None – UVs are always subdivided, regardless of whether they are on a UV seam or not;
Internal – Only preserve UVs if they are on an internal UV seam;
All – Does not subdivide UVs on UV seams.

Subdivide UVsAllows you to choose whether or not the UVs of the object are subdivided at the borders.

Preserve Geometry Borders – Specifies whether geometry borders are preserved or not.

Column
width5%

 

Column
width38%

...

Section
Column
width57%

Use Global SettingsWhen enabled, the settings in the Geometry tab are overridden for the current object. This option is enabled by default.

View Dependent When enabled, Edge lengthLength determines the maximum length of a subtriangle edge, in pixels. A value of 1.0 means that the longest edge of each subtriangle is about one pixel long when projected on the screen. When ViewWhen View-dependent is dependent is off, Edge length is  Edge length is the maximum subtriangle edge length in world units. This options is disabled by default.

Edge LengthDetermines the quality of the displacement or subdivision. Each triangle of the original mesh is subdivided into a number of subtriangles. More subtriangles means more detail in the displacement, slower rendering times and more RAM usage. Less subtriangles mean less detail, faster rendering and less RAM. The meaning of Edge lengthLength depends on the View-dependent parameter above.

Max SubdivisionsControls the maximum subtriangles generated from any triangle of the original mesh. The value is in fact the square root of the maximum number of subtriangles. For example, a value of 256 means that at most 256 x 256 = 65536 subtriangles are generated for any given original triangle. It is not a good idea to keep this value very high. If you need to use higher values, it will be is better to tessellate the original mesh itself into smaller triangles instead.

Column
width5%

 

Column
width38%

...