3.4 The Geometry Attribute Node
3.4.1 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 Shader Assignment Panel.
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.
Some of the attributes available in the `Geometry Attribute Node' clash with the Maya Render Stats attributes. The attributes defined in a `Geometry Attribute Node' attached to an object will override the related Maya Render Stat attribute. Refer to Maya Render Stats and Geometry Attribute Nodes for more details.
3.4.2 Attribute Inheritance
Attributes contained in a given geometry attributs node can be inherited in two ways: from one scene's parent transform node (group) to all its descendants, and through traversal of connections made on geometry attributes nodes' `altParent' attributes.
| 3.4.2.1 Scene Hierarchy Attribute Inheritance | ||
| 3.4.2.2 Custom Hierarchy Attribute Inheritance | ||
| 3.4.2.3 Inheritance Precedence List |
3.4.2.1 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 overridden.
3.4.2.2 Custom Hierarchy Attribute Inheritance
Sometimes the scene is structured in such a way that logical top-down attribute inheritance 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:
- Create the same geometry attribute nodes "RayTraceVisibilityAttrs", "DisplacementAttrs" as in the previous example.
- All objects under the "rocks" group still need their displacement attributes, so the "DisplacementAttrs" node is added to "rocks".
- It would be handy to have the trees and the rocks share the same ray tracing 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.
- 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' altParent plugs.
When creating connections with altParent 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 Attribs Node Manager.
It is possible to mix both the scene inheritance and the "altParent" connections inheritance. 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 "altParent" and scene structure inheritance can potentially complicate things and make scene structure less maintainable.
3.4.2.3 Inheritance Precedence List
The attribute nodes priority is as follows, starting with the higher priority attributes nodes:
- If one is defined, the collection's override attributes node.
- 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.
- If one is defined, the object's collection attributes node;
- 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.
- If one is defined, the object's attributes node.
- 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.
- 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.
3.4.3 Add / Remove Attributes
|
Geometry attribute node are created empty. When viewed in Maya's Attribute Editor, new attribute nodes will display only a `Add / Remove Attribute' button. Clicking on that button brings up a menu that lists categories of attributes. When selected, each category menu item will display a submenu containing single attributes, sub-categories, or both. Presence of a given attribute is noted by a check box or checker mark next to its menu entry. Selecting an attribute will add it to the node, or remove if it already existed in the node.
Each menu level contains a `All' entry. When this entry is not marked by its checkbox, selecting it will add all missing attributes in that submenu and in every menu level under it. When the `All' entry is marked on, selecting it will delete all attributes in its menu level and in the levels under it.
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.
3.4.4 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; it is always overridden by shaders translated from Maya Hypershade shaders. However, 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 Sided Shading'
- 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.
3.4.5 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 Quality). 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 performance 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.
3.4.6 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.
- ` Visible To Camera'
- If this attribute is turned on, the attached objects is 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. Possible values are:
- ` Invisible'
- The object is not visible to shadow rays. This is the most efficient option, but of course no ray traced shadows are possible. This is the default value.
- ` Opaque'
- The object is visible to shadow rays and is considered to be completely opaque. This option gives good performance since no shader evaluation is necessary for shadow rays. This value should be preferred when ray traced shadows are desired, the object is completely opaque and the surface shader does no displacement or opacity computation.
- ` Primitive Opacity'
- The object is visible to shadow rays and its opacity is constant and defined by the Opacity attribute in the geometry attribute node (see Opacity). This is also an efficient option and should be preferred when the surface shader does no displacement or opacity computation.
- ` Shader Opacity'
- The most expensive shadow mode: the renderer will evaluate surface's opacity using the attached shader. This option is recommended only when when the objects' opacity is not constant over their surface (an example would be an opacity modulated by a texture map), or when the surface shader displaces the surface.
- ` Specular Rays (reflections)'
- 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 Maya Render Stats and Geometry Attribute Nodes. Possible values are:
- ` Invisible'
- The object is not visible to ray traced specular rays. This is the most efficient option, but of course no ray traced reflections or refractions are possible. This is the default value.
- ` Opaque'
- The object is visible to ray traced specular rays; it is considered fully opaque and white.
- ` Primitive Color'
- The object is visible to ray traced specular rays; these rays will be affected by the object's Color and Opacity attributes in a geometry attributs node (see Color and Opacity). This is also an efficient option and should be preferred when reflection and refraction can be approximated by a constant color and opacity.
- ` Shader Color'
- The most expensive shadow mode: the renderer will evaluate surface's opacity using the attached shader to determine the color and opacity that will affect ray traced specular rays. Note that using this value will produce identical results to what the outdated "Visible to Reflections" attribute was produced when it was turned on.
- ` Diffuse Rays (occlusion)'
- This attribute specifies the visibility of the object relative to diffuse ray traced rays, which are used to compute occlusion and other effects. Possible values are:
- ` Invisible'
- The object is not visible to diffuse ray. This is the most efficient option, but of course no occlusion computation is possible. This is the default value.
- ` Opaque'
- The object is visible to ray traced diffuse rays; it is considered fully opaque and white.
- ` Primitive Color & Opacity'
- The object is visible to ray traced diffuse rays; these rays will be affected by the object's Color and Opacity attributes in a geometry attributs node (see Color and Opacity). This is also an efficient option and should be preferred when reflection and refraction can be approximated by a constant color and opacity.
- ` Shader Color & Opacity'
- The most expensive shadow mode: the renderer will evaluate surface's opacity using the attached shader to determine the color and opacity that will affect ray traced diffuse rays.
- ` Visible To Photons'
- When this attribute is on, the attached objects surfaces will interact with photons according to the selected Shading Model (see section Global Illumination). This attribute is on by default.
3.4.7 Lighting
|
- ` Illumination From'
- This 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>'.
3.4.8 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. By default, this attribute is off.
- ` 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.
- ` 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 Transmission 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'
- All objects whose Transmission and Visible To Reflections attributes 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.
3.4.9 Motion Blur
This panel controls how the attached object reacts to motion blur.
|
- ` Transformation Blur'
- This attribute controls if the attached objects are subject to transformation blur. Refer to Motion Blur for more information about motion blur. The available values are:
- ` Inherit'
- The attached objects will be transformation blurred only if the Transformation Blur attribute is turned on in the render pass node used for rendering. This is the default.
- ` On'
- The attached objects will be transformation blurred, regardless of the Transformation Blur setting in the render pass.
- ` Off'
- The attached objects will not be transformation blurred, regardless of the Transformation Blur setting in the render pass.
- ` Deformation Blur'
- This attribute controls if the attached objects are subject to deformation blur. Refer to Motion Blur for more information about motion blur. The available values are:
- ` Inherit'
- The attached objects will be deformation blurred only if the Deformation Blur attribute is turned on in the render pass node used for rendering. This is the default.
- ` On'
- The attached objects will be deformation blurred, regardless of the Deformation Blur setting in the render pass.
- ` Off'
- The attached objects will not be deformation blurred, regardless of the Deformation Blur setting in the render pass.
3.4.10 Global Illumination
|
- ` 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 and Opacity). This value should be prefered as it is faster to compute.
- ` Shader'
- The photons ge their color and opacity from the attached surface shader. This is the default.
- ` 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 Visibility). The available shading models are:
- ` Transparent'
- There will be no interactions with photons. This is the default value.
- ` 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.
- ` Glass'
- This value will partly reflect photons, partly refract them. It also generate caustics.
- ` Water'
- This value is similar to Glass but has a different refraction index.
- ` Irradiance Shading Rate'
- This attribute specifies the shading rate that should be used when computing occlusion and indirect diffuse. The default shading rate is `4.0'.
- ` Irradiance Max Error'
- This attribute specifies the maximum difference that defines if an occlusion or indirectdiffuse computation can be interpolated or if it needs to be traced. For instance, using a high value for irradiance shading rate, a reasonable value for irradiance max error and a high enough number of samples (set as a shader parameter) can allow the renderer to interpolate occlusion values for surfaces where the occlusion does not vary a lot. Carefully selecting values for these three settings can significantly improve rendering speed for occlusion and indirectdiffuse computations. The default maximum error value is `0.1'.
3.4.11 Displacement
|
- ` Displacement Bound'
- This attribute specifies the displacement bound for the attached objects, which is the amount by which the bounding box of each object should be increased to include the displaced surfaces. Failure to provide the renderer with a decent value will result in shading artifacts (when the value is too small) or inefficiency (when the value is too large). When the displacement bound is too small, 3Delight issues an error message stating by how much the value is too small; it is recommended to use this information to assign a reasonable bound. The default value is `0.0', which is fine only if the surfaces are not displaced.
- ` Bound Space'
- This attribute defines in which space the Displacement Bound parameter is defined. The default space is `shader'.
3.4.12 Culling And Dicing
For more advanced users, this panel controls some more advanced visibility culling and dicing parameters.
|
- ` Cull Hidden Surfaces'
- When this attribute is off, the attached objects that are in the viewing frustum but completely hidden (behind another object) will still be rendered and shaded. When this attribute is on, hidden objects will be dismissed. This is the default. The only reason to this feature off is when "baking" expensive shaders. More about baking in 3Delight User's Manual.
- ` Cull Backfacing Surfaces'
- When this attribute is off, the one-sided attached objects that are in the viewing frustum and backfacing will still be rendered and shaded. When this attribute is on, one-sided, backfacing objects will be dismissed. This is the default. The only reason to this feature off is when "baking" expensive shaders. More about baking in 3Delight User's Manual.
- ` Raster Oriented Dicing'
- This attributes enables enables or disables "raster oriented" tessellation. When tessellation is raster oriented, 3DELIGHT considers the object as viewed from the camera to compute the tessellation factors. This means that objects (or parts of objects) facing the camera will be tessellated more densely than tilted objects. By default, this attribute is on. A good reason to disable this feature is when displaced surfaces loose detail at object edges. For the more advanced users only.
- ` Dicing Camera'
- This attribute specifies the camera to be used to tessellate the attached objects.
- ` Micropolygons in U'
- This attribute forces 3DELIGHT to use a certain number of micro-polygons on the width of each curve. The default value is `1', which is the same as disabling Hair Dicing.
3.4.13 Geometry
|
- ` Output Geometry'
- When this attribute is off, the attributes of the Geometry Attribute Node will be output but not the geometry of the objects that are attached to it. By default, this attribute is on.
| 3.4.13.1 Polygons | ||
| 3.4.13.2 Polygons Wireframe | ||
| 3.4.13.3 NURBS | ||
| 3.4.13.4 Curves | ||
| 3.4.13.5 Particles |
3.4.13.1 Polygons
|
- ` Use Current UVset'
- When this attribute is on, the current UV set is exported as the `s, t' primitive variables; no other UV set will be exported. When it is off, the default UV set will be exported as `s, t' primitive variables; extra UV sets are exported as an array of `u' values named `uvsets_u' and `v' values named `uvsets_v'; the set names are exported in a `uvsets_name' string array. This attribute is off by default, and is ignored when Output All UVsets is turned on.
- ` Output All UVsets'
- When this attribute is turned on, the UV sets are output as follows:
- The default UV set is output as `s, t' primitive variables.
- Each other UV set is output as a float array bearing the same name as the UV set being exported.
- ` Output Vertex Color'
- When this attribute is checked and the attached object is a polygon mesh, any color sets it contains that defines per-vertex color will be exported to rendering. Each color set will be exported as a color array bearing the same name as the color set. Additionally, a float array is also exported; its name consists of the color set name with `_alpha' appended to it. It contains `0's for vertices where the color set is not defined, and `1's were it is defined. This attribute is off by default. See Exporting Per-Vertex Attributes on Polygon Meshes for an example on how to use this.
- ` Poly As Subd'
- When this attribute is checked, 3Delight for Maya will consider this polygonal geometry as being a smooth subdivision surface. If this attribute is off, the polygon mesh will be considered as just that, a polygon mesh. This attribute is ignored when the attached object is not a polygonal geometry, and it is off by default.
- ` Smooth UVs'
-
High quality rendering of textured subdivision surfaces cannot be accomplished without properly interpolated texture coordinates. This control enables precisely that. The following three values are offered:
- ` No'
- No smoothing is performed. This will not lead to high quality results but has the advantage of not stretching texture coordinates over face boundaries.
- ` Partial'
- Will ask 3Delight to perform some work to minimize UV distortion on the surface. Seams are left untouched. This is the default.
- ` Full'
- Will use more advanced algorithms to minimize distortion of UV coordinates at texture seams. This will usually yield better results but might cause some textures to look misplaced. It is best to try it to see what it does.
NOTE
This also controls the interpolation of vertex colors and other quantities that are attached to geometry's vertices.
- ` Export Hard Edges (for Poly as Subd)'
- If the attached object is made of polygonal geometry that contains hard edges, setting this attribute to on will export the hard edges. The effect of this attribute is similar to the Keep Hard Edges attribute of a Maya Subdiv Proxy node. This attribute is ignored if the Poly As Subd attribute is turned off (it is off by default).
- ` Export Creases (for Poly As Subd)'
- If the attached object is made of polygonal geometry and is connected to a subdivision proxy containing creases, turning this attribute on will export creases (creases on edges and vertices are exported). This attribute is ignored if the Poly As Subd is turned off (it is off by default).
- ` Round Edges'
- When this attribute is on, it will round the edges of the attached polygon mesh. The resulting primitive is a subdivision surface, regardless of the value of any Poly As Subd attribute. The rounding is controled by a sharpness range and an angle range. The sharpness value of a given angle is determined by a linear interpolation between the start and end sharpness values. For instance, if the Start Angle is set to 0 while the End Angle is set to 90, and the Start Sharpness is set to 0.3 while the End Sharpness is set to 0.9, an angle of 45 degrees would be rounded with a sharpness of 0.6. Note that the angle between faces sharing an edge that has been tagged as smooth will be considered as having an angle of 0.
- ` Start Angle'
- This attribute defines the range of angles that will undergo edge rounding, along with the End Angle attribute. It corresponds to the angle between the normals of two adjacent faces on the polygon mesh, in degrees.
- ` Start Sharpness'
- This attribute defines the sharpness value associated with the Start Angle. Valid values are between 0 and 1, higher values producing sharper edges.
- ` End Angle'
- This attribute defines the range of angles that will undergo edge rounding, along with the Start Angle attribute. It corresponds to the angle between the normals of two adjacent faces on the polygon mesh, in degrees.
- ` End Sharpness'
- This attribute defines the sharpness value associated with the End Angle. Valid values are between 0 and 1, higher values producing sharper edges.
3.4.13.2 Polygons Wireframe
|
Description to come
3.4.13.3 NURBS
|
- ` Normalize Nurbs Basis'
- When this attribute is on, the UV range of any attached NURBS patch will be brought back to a range between 0 and 1. This attribute is on by default.
3.4.13.4 Curves
This panel contains options to control Maya Curves rendering.
|
- ` Output Maya Curves'
- When checked, render Maya curves using 3DELIGHT. This is only meaningful when this attribute is attached to a Maya curves geometry.
- ` Start Width'
- ` End Width'
- If Output Maya Curves is checked, specifies the width of the curves at their roots and tips, respectively.
3.4.13.5 Particles
|
- ` Particle Render Type'
- This attribute can be used to override the render type set in the particle shape. Available values are:
- ` Inherit'
- The render type set in the particle shape will be used. This is the default.
- ` Points'
- The particle system will be rendered as points, overriding the render type set in the attached particle shape.
- ` Spheres'
- The particle system will be rendered as spheres, overriding the render type set in the attached particle shape.
- ` Sprites'
- The particle system will be rendered as sprites, overriding the render type set in the attached particle shape.
- ` Streak'
- The particle system will be rendered as streaks, overriding the render type set in the attached particle shape.
- ` Blobby'
- The particle system will be rendered as blobbies, overriding the render type set in the attached particle shape.
- ` Disk'
- The particle system will be rendered as disks, overriding the render type set in the attached particle shape.
- ` Particle Size Space'
- This attribute is used to specify the space in which the size of the particles is expressed. Available values are:
- ` Raster Space'
- The particle size will be taken as pixels. The particle size will remain the same, even if the distance between the camera and the particle system changes. This is the default.
- ` Object Space'
- The particle size is expressed in the object space. Scale transforms affecting the particle system will influence the particle size.
- ` World Space'
- The particle size is expressed in world space.
- ` Particle Size Override'
- When this attribute exists, it defines the size of the particles, overriding what is defined in the attached particle system shape. This can be usefull when the particle size needs to be expressed in object space or world space, since the particle shape Point Size attribute has a minimum of 1, which can be too large for size in object or world space.
- ` Render nCloth as Particles'
- When this attribute is on, any attached nCloth shape will be rendered as a particle system. The nCloth shape's Thickness and Self Collide Width Scale attributes are used to compute the particle size. This attribute is off by default.
- ` Typical Particle System Attributes / variables'
-
This panel offers the possibility of exporting particle attributes as primitive parameters, giving the opportunity to attached RenderMan shaders to use that data for their computations. The selected attributes will be exported given that they have been previously defined for the particle system. Here is an overview on how to use the content of this panel:
- The left panel lists usual particle attributes. Select the ones that are to be exported and click the Add >> button.
- The right panel lists attributes that will be exported. Selects the ones that are not required to be exported anymore and click the << Remove button.
- Additionally, the text field at the bottom of the panel can be used to enter custom particle attributes. Several attributes can be listed, as long as they are separated by spaces.
This panel is irrelevant if the attached object is not a particle shape or a nCloth shape. Refer to Exporting Particle Attributes for an example on how to use this.
3.4.14 Reference Geometry
If the Maya primitive has an attached reference geometry then 3Delight For Maya can output it along with the rendered object. Reference geometry can be accessed in the shaders using the Pref and NRef variables.
|
- ` Output Pref'
- When this attribute is on, the geometry passed to 3DELIGHT will also contain reference geometry that represents geometry before any deformation has been applied to it. This geometry is accessible to any shader that declares the
varying point Prefparameter. This attribute is off by default. - ` Output Nref'
- If checked, geometry passed to 3DELIGHT will also contain reference normals; those are normals before any deformation has been applied. These undeformed normals are accessible to shaders that declare the
varying normal Nrefparameter. This attribute is off by default.
3.4.15 Subsurface Scattering
|
The following attributes are needed for subsurface scattering simulations. Note that the reduced absorption and reduced scattering coefficients and refraction index are usually obtained from specialized literature. The 3Delight User's Manual contains a discussion about this topic and a reference to surface properties directly usable by 3Delight.
- ` Subsurface Group'
- This attribute specifies a group name. Objects that have the same group name will belong to the same subsurface group. If the object that will undergo the subsurface simulation consists of several separate models, each of these models should be attached to a Geometry Attribute Node and this attribute should be assigned the same value in all of these nodes. Even if a model is closed and thus would be alone in its group, it is still required to specify a group name here. This attribute is empty by default. Leaving this attribute empty effectively turns off subsurface scattering.
- ` Reduced Absorption'
- This attribute specifies the reduced absorption coefficients. Its default value is `0.002 0.004 0.007'.
- ` Reduced Scattering'
- This attribute specified the reduced scattering coefficients. Its default value is `2.190 2.620 3.00'.
- ` Refraction Index'
- This attribute specifies the refraction index of the simulated material. It is set to `1.5' by default.
- ` Coefficient Scale'
- The values for subsurface scattering use a millimeter scale. This attribute specifies the scale to apply these parameters when the objects are not exported in millimeters. The default value for this attribute is `0.1', since 3Delight for Maya exports the objects in centimeters.
- ` Subsurface Shading Rate'
- This attribute specifies the shading rate used for the subsurface simulation. Its default value is `1.0'.
3.4.16 MEL Scripts
The following attributes allow the user to call custom MEL scripts before and after the attached object's geometry is output. Two variables are automatically defined in the context of these scripts execution:
- ` string $shape_path'
- This variable is assigned the current object shape path.
- ` string $attribs_node'
- This variable is assigned the current geometry attribute node name.
|
- ` Pre Geo MEL Script'
- This attribute specify a MEL script that will be executed before the geometry is exported. More precisely, this script is called after all attributes of this Geometry Attribute Node are output and right before the geometry is instantiated. If this attribute is attached to several objects, it will be called once for each object. This attribute is empty by default.
- ` Post Geo MEL Script'
- This attribute specify a MEL script that will be executed after the geometry is exported. More precisely, this script is called right after the geometry is instantiated. If this attribute is attached to several objects, it will be called once for each object. This attribute is empty by default.
3.4.17 RIB Archive
The following attributes allow the user to request that specific portions of an archive should be ignored. These attributes are meant to be attached to a RIB archive node. For instance, they could be used to allow the same RIB archive to be used for a beauty pass (using the various hypershade shaders it contains) and in an occlusion pass, where the Ignore Archived Surface Shaders attribute would be turned on and an occlusion shader would be attached to the RIB archive node. Refer to The RIB Archive Node.
|
- ` Ignore Archived Light Sources'
- When this attribute is turned on, any light source in the archive will be disregarded. This attributes is off by default.
- ` Ignore Archived Light Links'
- When this attribute is on, the light linking information (illuminate statements) in the archive will not be considered. This attribute is off by default.
- ` Ignore Archived Transforms'
- Turning on this attribute will ingore any transforms stored in the archive. This attribute is off by default.
- ` Ignore Archived Surface Shaders'
- When this attribute is on, any surface shaders contained in the archive will be ignored. This attribute is off by default.
- ` Ignore Archived Dispalcement Shaders'
- Turning on this attribute will disregard all displacement shaders contained in the archive. This attribute is off by default.
- ` Ignore Archived Geometry Attributes'
- This attributes controls if the archived attributes that come from geometry attribute nodes are ignored or not. Note that attributes in the `Geometry' sections of the geometry attribute node, such as Poly As Subd will retain their effect regardless of this attribute. This attribute is off by default.
3Delight 8.5. Copyright 2000-2009 The 3Delight Team. All Rights Reserved.