Class

Shape

Synopsis
A geometry instance primitive, i.e., a shape which is a replication of another, specified, shape node.
visibility

You can selectively disable an object's visibility for the various types of rays in the renderer. By default, objects are visible to all types of rays. Camera - Camera (AA) rays (i.e., primary or view rays). Shadow - shadow rays fired in the direct lighting calculations. Specular - specular_reflection rays. Transmission - transmission rays. Diffuse - indirect_diffuse rays (i.e. global illumination or GI rays). Specular - indirect_specular rays (i.e. specular reflection rays).

To set the visibility, add up the values of the rays you want to "see" the object.

For example, if an object is visible to the camera (primary visibility), and to transmission (both diffuse and specular), then that’s visibility 13 (1 + 4 + 8).


Ray typeDecimal Value
Camera (Primary Visibility)1
Shadow (Casts Shadows)2
Diffuse transmission4
Specular transmission8
Volume16
Diffuse reflection32
Specular reflection64
SSS (subsurface)128

sidedness

Just like you can disable the visibility for specific ray types, you can also change an object's sidedness depending on the ray type. By default, objects are double-sided for all rays. By unclicking any of these checkboxes, the object will become single-sided, which means that those parts of the object whose normal vector points away from the incoming ray direction will not be rendered.

receive_shadows

Determines whether or not the object picks up shadows from other objects.

self_shadows

Determines whether or not the object casts shadows on itself.


invert_normals

Invert normals (so that normals face inwards and not outwards).

ray_bias

Raytrace bias value specified for the object.

matrix

Transformation matrix. This can be either a single matrix or an array of matrices that define the SRT motion of the object for the current frame (the matrices define the motion for the full-frame, not just between the shutter open - close time).

transform_type

Specifies what type of motion the object has. Options are linearrotate_about_center, and rotate_about_originlinear corresponds to the linear interpolation between matrices. rotate_about_origin corresponds to curved_motionblur=true. Unlike, rotate_about_origin which sets the rotation pivot at the origin, rotate_about_center will rotate about the object's center. This is the default mode and is useful for wheels, propellers, and other objects which spin.

shader

An array of nodes pointing to the shader or shaders in the case of per-face shader assignment.

opaque

As of Arnold 5.3, this flag is set automatically by changing the opacity or transmission on a material.

Determines whether the object is considered opaque (transparent). By default, Arnold built-in shaders set the opaque flag automatically, based on whether or not the shader settings would require disabling the opaque flag on the object to render correctly. For example, it's no longer necessary to manually disable the opaque flag to get transparent shadows for a glass shader.


Exceptions are curves and points when min_pixel_width is in use, and OSL shaders.  



matte

The matte option enables you to create holdout effects by rendering the alpha as zero.

use_light_group

A boolean to enable selective light linking

light_group

An array of nodes pointing to the lights that will affect the node if use_light_group is enabled.

use_shadow_group

A boolean to enable selective shadow linking.

shadow_group

An array of nodes pointing to the lights that will not cast shadows on the polymesh, if use_shadow_group is enabled.

trace_sets

An array of strings each of which names a trace set. A custom shader must be used to make effective use of these strings via the AiShaderGlobalsSetTraceSet and the AiShaderGlobalsUnsetTraceSet API calls.

It is possible to tag objects to be part of one or many trace sets. The trace_set shader tags specific rays with an inclusive or exclusive trace set. Both geometry and rays can be tagged with trace sets:

  • A piece of geometry can have none or any number of trace set tags.
  • A ray can optionally have one trace set tag, and it can be exclusive or inclusive.


The way those two tags interact makes it possible to control visibility for specific rays:

  • A ray with no trace set will hit all geometry.
  • A ray tagged with an inclusive trace set will only hit geometry which has that trace set tag.
  • A ray tagged with an exclusive trace set will only see geometry that does NOT have that trace set tag.

motion_start

The time at which the first motion key of the shape is sampled. Other motion keys must be uniformly spaced within this range. Times can be absolute or relative as long as shutter and motion times use the same convention. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that two motion keys will be sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.

motion_end

The time at which the last motion key of the shape is sampled. Other motion keys must be uniformly spaced within this range. Times can be absolute or relative as long as shutter and motion times use the same convention. By convention, the times are frame relative. For example, start and end times -0.5 to 0.5 indicate that two motion keys will be sampled midway between the previous and current frame, and the current frame and next frame. This is applied to cameras, lights, and shapes.

id

Unique ID for a node in the Arnold scene. 

node
Shape node to create an instance of.
inherit_xform
If enabled, the instance transform is combined with the original shape node transform. If disabled, the original shape node transform is ignored and replaced by the instance transform.
step_size

Sets the size for sampling inside the volume. It should be small enough to capture the smallest feature in the volume (aka the Nyquist limit). If the size is too large, aliasing, bias, or banding will appear. Smaller (and therefore more accurate) sizes will increase render times while larger sizes will render more quickly. 

Step_size basically controls the rate at which the volume shader gets called. The value indicates the average distance between adjacent volume shader samples along a given ray, in world space units. Generally, you will want this setting to be as large as possible before visibly noticeable artifacts occur, and in the case of voxelized volumes no smaller than about half the size of your voxels (in world space). A low step_size will increase render times. For example, when the step_size is 0.1 and the volume is 10 units big in world space, there are approximately 100 primary samples and therefore the volume shader is called 100 times.

The step_size has a fixed size, therefore, the larger the container the more steps will be taken and the longer it will take to render. Also, beware that if the step_size is too small your render times will increase. If you cannot see the rendered volume, you may need to reduce the step_size value.

 

  • No labels
Privacy settings / Do not sell my personal information / Privacy/Cookies