Reference Cinema 4D Cinema 4D Visualize, Broadcast, Studio Advanced Render CineMan
Function available in CINEMA 4D Visualize, Studio & BodyPaint 3D

RIB Attributes

Basic Tag

RIB Attributes

Settings that can be changed on a per Object basis are called Attributes in RenderMan® renderer. The RIB Attributes tag provides you with a simple way of assigning these attributes to a specific object. Attributes are distributed to Child objects, as you are accustomed to from many Cinema 4D tags, unless overridden again by a tag further down the hierarchy.

You may want to set some of these attributes for the entire scene (unless overridden). To do so, assign a RIB Attributes tag to the active camera.

All settings have already been described in the Video Post settings. Basically, all settings that can be overridden on a per object basis are contained in the RIB Attributes tag. Each setting has a Use check box with which it can be enabled or disabled. If an option is enabled, it will override the corresponding value. That setting will be passed down the hierarchy until it is overridden again by a RIB Attribute tag that affects that particular setting

You can also apply User Data attributes to objects (which can be sampled, e.g., in custom shaders). To do so, add a User Data element to the RIB Attributes tag. CineMan will interpret this element as a user attribute and try to attach it. Some guidelines you will have to follow so CineMan can convert your User Data to RenderMan® renderer:


  1. Only use ASCII alphanumerical characters and no spaces (underscores are allowed) in the variable name
  2. Only useUser Data of the following types: Float, Integer, String, Boolean (will be interpreted as Integer), Vector, Matrix, Color, Filename.
    Example:
    A User Data value that is a float, is named "myValue” and has a value of 0.5 will be written to the RIB Stream as:
    Attribute "user” "myValue” 0.5

Known Limitations

There is currently a limitation with regard to Motion Blur. If you apply a RIB Attributes tag to a Null Object it will not inherit transformational Motion Blur. The workaround is to use an empty Polygon Object instead of a Null Object.