You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Overview 

The ‘Geometry Attribute Node’ is used to specify various parameters for a given object, such as the lights to use to light the attached objects, visibility to ray traced rays, and various RenderMan related attributes. Geometry attribute nodes are created and assigned inside the Shader Assignment Panel; refer to The Assignement Panel.


 

Figure 3.11: An empty Geometry Attribute Node

When a geometry attribute node is first created, it contains no attributes at all. It is an empty container where one can add just the relevant attributes. This avoids cluttering the UI and allows attribute inheritance. Attributes can be added and removed by using the Add / Remove Attributes button. Left-Clickon this button brings up the Add / Remove Attributes Window, which is better suited for multiple attribute addition or removal (see The Add / Remove Attributes Window) Right-Clickon the Add / Remove Attributes button offers the same functionality through popup menus, which are more convenient when only one attribute or attribute group needs to be added or removed.

Scene Hierarchy Attribute Inheritance 

It is possible to attach an attribute node to a transform node; its attributes will be inherited by all its children nodes. Attributes closer to an object have higher precedence (an attribute node can prevent inheriting its parent’s attributes if needed). As an example:

--waterfront <-------- RayTraceVisibilityAttrs 
    |--rocks <-------- DisplacementAttrs 
    |    |--rock1 
    |    |--rock2 
    |    |--rock3
    | 
    |--trees 
    |    |--tree1
    |    |--tree2 <--- InvisibleInReflectionsAttrs

 

In this scene, there is an attribute node named "RayTraceVisibilityAttrs" that contains required attributes to make the objects visible to specular rays (like reflections) and transmission rays (shadow rays). It is attached to the "waterfront" node, so all objects under it will be visible in reflections and cast and receive raytraced shadows.

The rocks share a displacement shader, so the "DisplacementAttrs" attribute node is used to specify their displacement bound. It is connected to the "rocks" transform. Each rock object inherits the attributes from both "DisplacementAttrs" and "RayTraceVisibilityAttrs".

Finally, it appears that the "tree2" object does not need to be visible in reflections. To adjust this, it gets assigned a "InvisbleInReflectionsAttrs" attribute node, in which the specular rays visibility is set to "invisible". This overrides the specular rays visibility inherited from the "RayTraceVisibilityAttrs". The model will still be visible to transmission rays, as this attribute (also inherited from "RayTraceVisibilityAttrs") is not overridde.

 Custom Hierarchy Attribute Inheritance 

Sometimes the scene is structured in such a way that logical top-down attribute inheri- tance is not possible or complicated. For these particular cases one can create connections between attribute nodes, using the "alternate parent" plug, to define their hierarchical relationship. Attribute nodes connected this way have higher precedence than the scene parent’s attributes.

Here is a variation of the previous sample scene:

--BgdSet
    |--rocks <-------- DisplacementAttrs <-------+
    |    |--rock1                                |
    |    |--rock2                                |
    |    |--rock3                                |
    |                                            |
    |--trees <-------- RayTraceVisibilityAttrs --+
    |    |-tree1
    |    |-tree2
    |
    |-flowers
    |-grass
    |-waterSurface


The objects under the "flowers" and "grass" groups must not be visible to the ray tracer at all. One way to recreate the effects of the previous setup would be:

  1. Create the same geometry attribute nodes "RayTraceVisibilityAttrs", "DisplacementAttrs" as in the previous example. 

  2. All objects under the "rocks" group still need their displacement attributes, so the "DisplacementAttrs" node is added to "rocks".

  3. It would be handy to have the trees and the rocks share the same raytracing attributes, so that one can turn the reflections on or off for everything using a single attribute. For the trees, it’s easy: attach the "RayTraceVisibilityAttrs" directly to the "trees" group.

  4. Now, the "rocks" groups already have the"DisplacementAttrs" node attached to them so it is impossible attach the "RayTtraceVisibilityAttrs" to that node. However, it is possible to define an alternate parent from which inherit attributes simply by creating a connection between the nodes’ altParentplugs.

When creating connections withaltParent plugs, the direction of the connection is out from the parent, and in to the child. A given geometry attribute node can be the the parent of several other children geometry attribute nodes. It is generally best to use geometry attributes nodes that are not directly attached to a scene object as alternate parents. One way to create and edit them is through The 3Delight Relationship Editor .

It is possible to mix both the scene inheritance and the altParentconnections inheri- tance. For instance, if a new "Shading Rate" attribute is created at the root of the scene, all objects under it -including "rocks"- would inherit it. Note that combining both altParentand scene structure inheritance can potentially complicate things and make scene structure less maintainable.    

Inheritance Precedence List

The attribute nodes priority is as follows, starting with the higher priority attributes nodes:

  1. If one is defined, the collection’s override attributes node.

  2. If there is an override attribute node defined and it has a geometry attributes node connected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug is then checked for a connection to a geometry attributes node and if one is found, it is outputted, and so on.

  3. If one is defined, the object’s collection attributes node.

  4. If the object has a collection attributes node defined and it has a geometry attributes node connected to its ‘altParent’ plug, that later node is outputted; its ‘altParent’ plug is then checked for a connection to a geometry attributes node and if one is found, it is outputted, and so on.

  5. If one is defined, the object’s attributes node.

  6. If the object has an attributes node defined and it has a geometry attributes node connected to its  altParent plug, that later node is outputted; its  altParent plug is then checked for a connection to a geometry attributes node and if one is found, it is outputted, and so on.

  7. If the object’s highest priority attribute (override, collection and object, in that order) has its ‘Inherit DAG Parent Attributes’ toggle set to off, the geometry attributes output process ends. If the toggle is on or if no ‘Inherit DAG Parent Attributes’ is found, the above six steps are repeated on the object’s immediate DAG parent.

The following sections details every attribute in their respective categories. While it is possible to add a entire attribute category to an attribute node, there is nothing wrong with adding only the needed attributes in a category.

General


This panel controls the color, opacity and “sidedness” of attached object.

Color

This attribute specifies the surface color (Cs) of the attached objects. This color can be overridden by the attached shader; shaders translated from Maya Hypershade shaders will usually multiply their base shader color with Cs. This means that a single hypershade shader can have a white base color and be assigned to multiple objects; each object can defined their own surface color value so they all have the same shading look but a unique color. Photons will only use this color and ignore both types of shaders. The default color color is white (‘1.0, 1.0, 1.0’).

Opacity

This attribute specifies the surface opacity (Os) of the attached objects. Darker values are less opaque. This color can be overridden by the attached shader. The default opacity is completely opaque (‘1.0, 1.0, 1.0’).

 Double Sided

This attribute controls if only the object’s front side (the side pointed by the direction of the normal) is visible, or if both the front and back sides are visible. When this attribute is on, the object is visible on both sides. This attribute is on by default.

 Double Shaded 

When this attribute is on, each surface is shaded twice: once with the normals in their usual direction and once with the normals reversed. This allows thickness to be given to a surface with displacement or to avoid shading artifacts where a transparent surface changes orientation. This attribute is off by default.

Reverse Orientation 

If the surface is one sided and this attribute is turned on, its orientation will be reversed. This attribute is off by default and has no effect when the "Double Sided" attribute is turned on.

Quality 

This panel controls how finely this geometry will be tessellated and how surface derivatives will be computed


 Shading Rate Multiplier 

The shading rate used to shade objects attached to this node is determined by multiplying the value of this attribute with the shading rate specified in the ‘Quality’ panel of the render pass (see Section 3.9.3.3 [Render Pass Quality], page 61). For example, if this value is set to ‘2.0’ and the shading rate in the render pass is ‘1.5’ then the effective shading rate for this object will be ‘3.0’. The default value for this attribute is ‘1.0’.

 Motion Factor 

This attribute specifies how the shading rate of an object increases when moving rapidly. Since a fast moving object will be heavily blurred, it makes sense to use a coarser shading rate in that case. The same can be said about an object that is out of focus due to the chosen depth of field. The default setting of ‘1.0’ is is a good quality versus performance compromise.

 Focus Factor 

This attribute specifies how the shading rate increase as an object gets blurred by depth of field. The default setting of ‘1.0’ is a good quality versus perfor- mance compromise.

Smooth Derivatives
Centered Derivatives 

Enables smooth and centered derivatives, respectively. By default, these two attributes are on; more details about these two parameters can be found in 3Delight User’s Manual.

Visibility

Matte Object 

When this attribute is on, the attached objects act as a matte holdout. Matte objects are not shaded and behave as if they were completely opaque, hiding any objects behind them, but appear in the image as transparent black pixels. This attribute is off by default.

Composite Objects Behind

When this attribute is off, the attached objects, even if semi or completely transparent, will mask all objects behind them. This attribute is on by default.

Visible To Camera

If this attribute is turned on, the attached objects are visible to the camera. By default, this attribute is on. Note that turning this attribute off will simply make the attached objects invisible to the camera; they will still be exported to RIB.

Transmission Rays (shadows)

This attribute specifies the visibility of the object relative to ray traced shadow rays, or transmission rays.

 Specular Rays (reflections and refractions) 

This attribute specifies the visibility of the object relative to specular ray traced rays (both reflections and refractions). Objects shaded using Maya’s Hypershade can further refine if they are visible in reflections and refractions using the relevant "render stats"; see Section 5.4.1 [Maya Render Stats and Geometry Attribute Nodes], page 128.

 Diffuse Rays 

This attribute specifies the visibility of the object relative to diffuse ray traced rays, which are used to compute indirect illumination effects.

Visible To Photons 

When this attribute is on, the attached objects surfaces will interact with pho- tons according to the selected "Shading Model" (see Section 3.5.9 [Geometry Attribute Node Global Illumination], page 26). This attribute is on by default.


Possible values for transmission, specular and diffuse rays are summarized in the following table.

ValueDescription
Invisible

 The object is not visible to ray traced rays.

Opaque

The object is visible to ray traced rays; it is considered fully opaque and white.

Primitive Color

The object is visible to ray traced rays; these rays will be affected by the object’s "Color" and "Opacity" attributes in a geometry attribute node (see General).

Shader Color

The most expensive mode: the renderer will evaluate the surface using the attached shader to determine the color and opacity. This is the default option. 

 

Lighting

The Illumination From  attribute controls how the attached objects are illuminated. When ‘<light linker>’ is selected, the objects are illuminated by lights linked to them. When Maya object sets are defined in the scene, they will also be listed in this option menu; assigning this attribute to a set will illuminate attached objects with the light sources contained in the set. By default, this attribute is set to ‘<light linker>’.

Raytracing


 Raytrace Motion Blur 

This attribute enables or disables motion blur for traced rays. For example, a moving object as seen in a mirror will only show motion blur if this option is enabled.

Raytrace Displacements

When this attribute is checked, it enables ray tracing of true geometric displacements. The default is to ray-trace displacements as bump maps (a displaced surface appears bump mapped in a mirror reflection). Enabling this feature makes ray tracing slower and forces 3delight to use more memory so this option should be used with care.

Raytrace Bias

Specifies a bias for rays starting point to avoid potentially erroneous intersec- tions with emitting surface. The default value is ‘0.01’.

Trace subset

This attribute is used to select one or several Maya object sets that is used to narrow down what objects are visible to ray traced rays. This feature can be useful when a scene is using referenced objects that already have their "Trans- mission" attribute correctly set, but only part of these objects are needed to be visible to ray traced rays in this specific scene. The "Trace subset" option menu has the following values available:

All Objects

ll objects whose "Transmission" and "Visible To Reflections" at- tributes have been properly set will be visible to ray traced rays. This is the default.

Objects in selected sets

Only objects in the selected Maya sets and whose "Transmission" and "Visible To Reflections" attributes have been properly set will be visible to ray traced rays. The "Select Sets" button can be used to select the desired Maya sets to include.

Objects not in selected sets

Only objects that are not in the selected Maya sets and whose "Transmission" and "Visible To Reflections" attributes have been properly set will be visible to ray traced rays. The "Select Sets" button can be used to select the desired Maya sets to exclude.

Motion Blur

 Transformation Blur 

This attribute controls if the attached objects are subject to transformation blur. Refer to Section 3.9.3.4 [Render Pass Motion Blur], page 63 for more information about motion blur.

Deformation Blur 

This attribute controls if the attached objects are subject to deformation blur. Refer to Section 3.9.3.4 [Render Pass Motion Blur], page 63 for more informa- tion about motion blur.

 

 Value
Description
OnThe attached objects will be motion blurred, regardless of the corresponding setting in the render pass.
OffThe attached objects will not be motion blurred, regardless of the corresponding setting in the render pass.
InheritThe attached objects are motion blurred only if the corresponding  attribute is turned on in the render pass. This is the default.

 

Global Illumination

The following attributes are deprecated. A more user friendly method for the functions below will be available soon.

 Photon Color 

This attribute defines how the photons will receive their color and opacity. The available choices are:

 `Primitive Color & Opacity'

The photons get their color from Cs and their opacity from Os. It is possible to define these two attributes using the "Color" and "Opacity" attributes, respectively (see [Color], page 19 and [Opac- ity], page 19). This value should be preferred as it is faster to compute. 

Shader' 

The photons get their color and opacity from the attached surface shader. This is the default.

Photon Estimator

The number of photons that shading operations relying on photons will use. The default number of photons is 50.

Shading Model 

This attribute determines how the attached objects surfaces will interact with photons. Note that for photons to interact with surfaces you have to make them visible to photons (they are by default) in the visibility attribute (see Section 3.5.5 [Geometry Attribute Node Visibility], page 21). The available shading models are:

ValueDescription
TransparentThere will be no interactions with photons. This is the default.
Matte

This value generates a diffuse reflection and is fine for color bleeding effects.

Chrome

This value reflects all photons like a mirror. It also generate caustics

GlassThis value will partly reflect photons, partly refract them. It also generate caustics.
Water This value is similar to Glass but has the refraction index of water.
For the Chrome and Matte models, reflected photons are colored by the Color attribute (see General). For the Glass and Water models, only transmitted photons are colored.

Displacement

 

  • No labels