Skip to content

GeometryBundle

GeometryBundle#

(Geometry Bundle)

No corresponding User page.

Description#

Base object for all geometry bundles.

Public Attributes#

Type Name Visual Hint Description
double smoothing_approximation VISUAL_HINT_PERCENTAGE Controls how much the smoothing must be approximated during the shading. This influences the origin of secondary rays casted from the surface. A value of 0% corresponds to the position that has been found during the raytracing and a value of 100% corresponds to the theoretical position on the smoothed surface.
long smoothing_mode VISUAL_HINT_DEFAULT Define the normals that are used. If the mesh doesn't define any normal map or if a normal is not defined in the first normal map, the normal used is the one computed with the smoothing angle.
double smoothing_angle VISUAL_HINT_ANGLE Set the limit angle between two adjacent faces under which the edge is considered as smooth.
bool merge_shading_groups VISUAL_HINT_DEFAULT Shading groups from separate objects having the same name will be merged.
long shading_groups_naming VISUAL_HINT_DEFAULT Specify if shading groups names are generated according to item names or kinematic paths.
long subdivision_mode VISUAL_HINT_DEFAULT Choose wich mode to use to enable the subdivision of the polygons that compose the mesh.
long raytrace_mode VISUAL_HINT_DEFAULT Define how the subdivision is interpreted by the raytracer. A fixed tessellation generates a real mesh that is stored in memory. The tessellation on the fly generates the tessellation locally for each ray which avoids storing anything in memory. The evaluate surface mode tries to compute the exact intersection with the smooth surface (infinite tessellation). The fixed tessellation is usually faster than other modes but uses more memory.
long raytrace_tessellation_level VISUAL_HINT_DEFAULT Set the level of the tessellation. Higher it is, smaller the polygons are. This parameter has no effect when the raytrace mode is set on evaluate surface.
long geometry_interpolation VISUAL_HINT_DEFAULT Define how the interpolation of the vertices is done for the geometry. Here one can specify if the original vertices of the mesh should be smoothed or not. It is possible to disable the smoothing for all the vertices (linear), only for the vertices form the borders or only the corners.
long uv_interpolation VISUAL_HINT_DEFAULT Define how the interpolation of the vertices is done for the UV maps. Here one can specify if the original vertices of the mesh should be smoothed or not. It is possible to disable the smoothing for all the vertices (linear), only for the vertices form the borders or only the corners. It is also possible to control it along the discontinuities between the UV maps and the geometry.
long boundary_interpolation VISUAL_HINT_DEFAULT Controls how boundary edges and vertices are interpolated.
long property_interpolation VISUAL_HINT_DEFAULT Controls how the maps are interpolated.
long subdivision_level_mode VISUAL_HINT_DEFAULT Define the raytrace tessellation mode. 'Fixed' uses 'Raytrace Tessellation Level'. 'Use Property' reads the value of the property 'Subdivision Level Property' to set the tessellation level. Note this property must be set to a scalar type. If there isn't any valid property it falls back to the value set in 'Raytrace Tessellation Level'.
string subdivision_level_property VISUAL_HINT_TAG Set the level of tessellation using a scalar property.
long property_driven_subdivision_offset VISUAL_HINT_DEFAULT Increase or decrease the level of tessellation by this offset.
long property_driven_min_subdivision VISUAL_HINT_DEFAULT Set the minimum level of tessellation.
long property_driven_max_subdivision VISUAL_HINT_DEFAULT Set the max level of tessellation.
long crease_mode VISUAL_HINT_DEFAULT Define the algorithm use for the creases
bool activate_crease_driven_subdivision VISUAL_HINT_DEFAULT When activated, use the maximum crease level defined on the object to set the tessellation level. If no crease is defined, the tessellation level uses the scalar Subdivision Level Property if it exists otherwise it uses the value set in 'Raytrace Tessellation Level'.
long crease_driven_subdivision_offset VISUAL_HINT_DEFAULT Increase or decrease the level of tessellation by this offset.
long crease_driven_min_subdivision VISUAL_HINT_DEFAULT Set the minimum level of tessellation.
long crease_driven_max_subdivision VISUAL_HINT_DEFAULT Set the max level of tessellation.
long shape VISUAL_HINT_DEFAULT Specify how hair are rendered.
bool use_normal_map VISUAL_HINT_DEFAULT Set whether ribbons should be oriented according to the first available normal map. When disabled, the ribbons are facing the camera.
double flatness VISUAL_HINT_PERCENTAGE Flatness of the hair. A value of 1 creates round hair, a value of 0 creates flat hair.
long radius_values VISUAL_HINT_DEFAULT Override radius values stored in the geometry by the one set below.
double base_radius VISUAL_HINT_DISTANCE Radius of the hair at its base.
double tip_radius VISUAL_HINT_DISTANCE Radius of the hair at its tip.
double radius_multiplier VISUAL_HINT_PERCENTAGE Hair radius is multiplied by this value.
double decimate VISUAL_HINT_PERCENTAGE Set the decimation amount.
long displacement_mode VISUAL_HINT_DEFAULT Control whether the displacement must compute bump, tessellation or both.
long displacement_storage_mode VISUAL_HINT_DEFAULT Define if displacement favors render time or memory used to generate it.
long displacement_tessellation_mode VISUAL_HINT_DEFAULT Control the generation of the tessellation used for the micro displacement. Adaptive modes try to compute the tessellation level according to the size of the primitives whereas the uniform mode generates the same tessellation on all primitives. For the adaptive modes, it is possible to choose if the tessellation level has to be computed on the base geometry or on the deformed one.
long displacement_adaptive_span_count VISUAL_HINT_DEFAULT Control the number of spans for the adaptive tessellation. This value corresponds to the number of spans on the bounding box of the geometry.
long displacement_uniform_span_count VISUAL_HINT_DEFAULT Control the number of spans for the uniform tessellation. This value corresponds to the number of spans on each primitive.
long displacement_triangulation_mode VISUAL_HINT_DEFAULT Define on which geometry the micro-facets triangulation is computed.
long displacement_stitching_mode VISUAL_HINT_DEFAULT Control the stitching between primitives. The stitching only affects values of the displacement so it doesn't work if the geometry has discontinuities on normals.
long frame VISUAL_HINT_DEFAULT Defines the value of the frame that will be used to evaluate all meshes.
long frame_offset VISUAL_HINT_FRAME Offset the ABC time. If you set the value to 50 while the animation in the ABC starts at frame 10, it then starts at frame 60.
long animation_behavior VISUAL_HINT_DEFAULT Set how the animation will loop.
bool force_animation_range VISUAL_HINT_DEFAULT
long[2] animation_range VISUAL_HINT_FRAME Start and end frames for the animation.
long deformation_behavior VISUAL_HINT_DEFAULT Set how the deformation will loop.
bool force_deformation_range VISUAL_HINT_DEFAULT
long[2] deformation_range VISUAL_HINT_FRAME Start and end frames for the deformation.
long motion_blur_mode VISUAL_HINT_DEFAULT Specify which data is used to compute motion blur. Read Velocities (distance per second): read velocities from file and interpret them as distance units per second. Read Velocities (distance per frame): read velocities from file and interpret them as distance units per frame. Compute Velocities: compute velocities from actual geometric positions. Use Sub Positions: use sub-frame geometric positions, providing more accurate results at the expense of more memory usage.

Inherited Public Attributes#

Type Name Visual Hint Description
double[3] translate VISUAL_HINT_DISTANCE Set the XYZ position of the item relative to its parent item.
double[3] rotate VISUAL_HINT_ANGLE Set the XYZ rotation of the item relative to its parent item.
double[3] scale VISUAL_HINT_SCALE Set the XYZ scaling of the item relative to its parent item.
double[3] shear VISUAL_HINT_SCALE Set the XYZ shear of the item relative to its parent item.
long rotation_order VISUAL_HINT_DEFAULT Specify on which order the Euler rotations are composed. By default Clarisse's uses YXZ
reference (SceneItem) parent VISUAL_HINT_DEFAULT Set the parent item of the item.
bool inherit_transform VISUAL_HINT_DEFAULT Does the current object inherits its parent transformation ?
long reference_frame VISUAL_HINT_FRAME Set the reference frame that defines the base transform and deformation state of the item. This reference is used when computing texture projections or when generating point cloud (in Global Base) on the base geometry.
object[] (Constraint) constraints VISUAL_HINT_DEFAULT Stack of constraint operators. Constraints like Target, Point, Orient... are applied to a Scene Item in order to drive the transformation of the item.
double[3] scale_pivot VISUAL_HINT_DISTANCE Set the coordinates of the scale pivot.
double[3] rotate_pivot VISUAL_HINT_DISTANCE Set the coordinates of the rotation pivot.
double[3] translate_offset VISUAL_HINT_DISTANCE Set the XYZ position of the pivot point of the item.
double[3] rotate_offset VISUAL_HINT_ANGLE Set the XYZ rotation of the pivot point of the item.
double[3] scale_offset VISUAL_HINT_SCALE Set the XYZ scaling of the pivot point of the item.
long rotation_offset_order VISUAL_HINT_DEFAULT Set the rotation axis mode.
bool display_visible VISUAL_HINT_DEFAULT Set whether the item is shown in the 3D View or not.
bool display_pickable VISUAL_HINT_DEFAULT Set whether the item is pickable in the 3D View or in the Image View.
long display_color VISUAL_HINT_DEFAULT Set the item color for constant or simple shading display in the 3D View.
double[3] display_custom_color VISUAL_HINT_COLOR Set the item custom color used for display in the 3D View when the Display Color attribute is set to Custom.
bool enable_motion_blur VISUAL_HINT_DEFAULT Set whether the renderer will do motion blur on the item or not.
long display_mode VISUAL_HINT_DEFAULT Define how the object is displayed in the 3D View.
long highlight_mode VISUAL_HINT_DEFAULT Define how the object is highlighted in the 3D View when selected.
reference (Material) override_material VISUAL_HINT_DEFAULT Setting a material here will set the specified material to all elements of the scene object. Ex: all shading groups of a geometry will have the same material. Ex: all elements of a combiner or a scatterer will have the same material.
bool matte_object VISUAL_HINT_DEFAULT Switch the object to 2D matte mode.
double[3] matte_color VISUAL_HINT_COLOR Set the color of the object in matte mode.
double matte_alpha VISUAL_HINT_PERCENTAGE Set the opacity of the object in matte mode. When the matte alpha is less than 100%, the object creates a hole in the layer as no transparency is evaluated.
long custom_id VISUAL_HINT_DEFAULT
double raytrace_offset VISUAL_HINT_DISTANCE Set the minimum distance for raytracing visibility. If the ray hit point distance from the ray source position is smaller than this value, then the geometry is not seen. Note: this attribute is used to prevent self intersection artifacts.
bool unseen_by_renderer VISUAL_HINT_DEFAULT Set whether the object is hidden from the renderer or not.
bool unseen_by_camera VISUAL_HINT_DEFAULT Set whether the object is hidden from the camera (primary rays) or not.
bool unseen_by_rays VISUAL_HINT_DEFAULT Set whether the object is hidden from the raytraced shading effects like reflection/refraction (secondary rays) or not.
bool unseen_by_reflections VISUAL_HINT_DEFAULT Set whether the object is hidden from reflections or not.
bool unseen_by_refractions VISUAL_HINT_DEFAULT Set whether the object is hidden from refractions or not.
bool unseen_by_gi VISUAL_HINT_DEFAULT Set whether the object is hidden from global illumination or not.
bool unseen_by_sss VISUAL_HINT_DEFAULT Set whether the object is hidden from sub-surface scattering or not.
bool cast_shadows VISUAL_HINT_DEFAULT Set whether the object casts shadows or not.
bool receive_shadows VISUAL_HINT_DEFAULT Set whether the object receives cast shadows or not.
bool receive_self_shadows VISUAL_HINT_DEFAULT Set whether the object receives self shadows or not.
reference (Group) lights VISUAL_HINT_GROUP Specify the group of lights that illuminate this object. By default, scene objects are lit using the lights gathered by the 3D layer.
bool enable_emission_importance_sampling VISUAL_HINT_DEFAULT Specify whether emission importance sampling is enabled on the scene object. This attribute is ignored when emission importance sampling is disabled in the renderer.
long emission_sample_count VISUAL_HINT_SAMPLE_PER_PIXEL Override the number of emission samples allocated by the renderer when sampling the scene object.
long emission_texture_importance_sampling VISUAL_HINT_DEFAULT When None, no texture importance sampling is performed. When Color, Emission Color input textures of all materials assigned to the scene object are importance sampled. This mode should be used when only the Emission Color of the material is textured which is typically the case when using an HDR texture encoding both color and intensity. When Weight, Emission Weight input textures of all the materials assigned to the scene object are importance sampled. This mode can be useful when you explicitly want to vary the color texture according to a spatial projection based on the position of the instance such as world projections, texture switch or instance color for example. Please note that setting this mode while texturing Emission Color can lead to a degradation of the quality of the importance sampling if the intensity/weight component is encoded to the color textures. When Both, both Emission Color and Emission Weight input textures of all the materials assigned to the scene object are importance sampled. This mode should be used when using specific textures for Emission Color and Emission Weight.

CID#

class "GeometryBundle" "SceneObject" {
    abstract yes
    #version 0.9
    icon "../icons/object_icons/geometry.iconrc"
    category "/Geometry"
    doc "Base object for all geometry bundles."
    string[] "shading_groups" {
        output "shading_material"
        private yes
        value <empty>
    }
    string[] "sg_shading_variables" {
        doc "Shading variable assigned to the filters"
        output "shading_variable"
        hidden yes
        value <empty>
    }
    reference[] "materials" {
        filter "Material"
        output "shading_material"
        hidden yes
        value <empty>
    }
    reference[] "clip_maps" {
        filter "Texture"
        output "shading_group"
        hidden yes
        value <empty>
    }
    reference[] "displacements" {
        filter "Displacement"
        output "geometry"
        hidden yes
        value <empty>
    }
    bool[] "visibles" {
        output "shading_group" "geometry"
        hidden yes
        value <empty>
    }
    long "uv_map_count" {
        private yes
        dg_active no
        value 0
    }
    attribute_group "geometry>advanced" {
        doc "Regroup the parameters that control the smoothing of the normals."
        collapsed yes
        ui_weight 1000
        percentage "smoothing_approximation" {
            doc "Controls how much the smoothing must be approximated during the shading. This influences the origin of secondary rays casted from the surface. A value of 0% corresponds to the position that has been found during the raytracing and a value of 100% corresponds to the theoretical position on the smoothed surface."
            animatable yes
            numeric_range yes 0.0 1
            ui_range yes 0.0 1
            value 0.5
        }
        long "smoothing_mode" {
            doc "Define the normals that are used. If the mesh doesn\'t define any normal map or if a normal is not defined in the first normal map, the normal used is the one computed with the smoothing angle."
            preset "Use Smoothing Angle" "-1"
            preset "Use First Available Normal Map" "0"
            value 0
        }
        angle "smoothing_angle" {
            doc "Set the limit angle between two adjacent faces under which the edge is considered as smooth."
            numeric_range yes 0.0 180
            ui_range yes 0.0 180
            read_only yes
            value 89
        }
        long "raytrace_quality" {
            doc "Set the quality of the raytracing. The first mode is faster but some intersections might be missed whereas they would be detected with the accurate mode."
            output "shading"
            hidden yes
            preset "Fast" "0"
            preset "Accurate" "1"
            value 1
        }
        bool "merge_shading_groups" {
            doc "Shading groups from separate objects having the same name will be merged."
            value no
        }
        long "shading_groups_naming" {
            doc "Specify if shading groups names are generated according to item names or kinematic paths."
            read_only yes
            preset "Legacy (Deprecated)" "0"
            preset "New" "1"
            value 1
        }
    }
    attribute_group "geometry>subdivision_surfaces" {
        doc "Regroup the parameters that control the subdivision of the mesh."
        collapsed yes
        long "subdivision_mode" {
            doc "Choose wich mode to use to enable the subdivision of the polygons that compose the mesh."
            animatable yes
            preset "Use Project Preferences" "1"
            preset "Native" "2"
            preset "Open Subdiv" "3"
            value 1
        }
        long "__subdivision_mode__" {
            private yes
            saveable no
            value 0
        }
        long "raytrace_mode" {
            doc "Define how the subdivision is interpreted by the raytracer. A fixed tessellation generates a real mesh that is stored in memory. The tessellation on the fly generates the tessellation locally for each ray which avoids storing anything in memory. The evaluate surface mode tries to compute the exact intersection with the smooth surface (infinite tessellation). The fixed tessellation is usually faster than other modes but uses more memory."
            preset "Fixed tessellation" "0"
            preset "Tessellate on the fly" "1"
            preset "Evaluate surface" "2"
            value 0
        }
        long "raytrace_tessellation_level" {
            doc "Set the level of the tessellation. Higher it is, smaller the polygons are. This parameter has no effect when the raytrace mode is set on evaluate surface."
            numeric_range yes 1 12
            ui_range yes 1 6
            value 1
        }
    }
    attribute_group "geometry>subdivision_surfaces>advanced" {
        collapsed yes
        ui_weight 1000
        bool "display_bezier_cage" {
            hidden yes
            animatable yes
            value no
        }
        long "geometry_interpolation" {
            doc "Define how the interpolation of the vertices is done for the geometry. Here one can specify if the original vertices of the mesh should be smoothed or not. It is possible to disable the smoothing for all the vertices (linear), only for the vertices form the borders or only the corners."
            preset "Linear" "0"
            preset "Smooth but corners" "1"
            preset "Smooth" "2"
            preset "Smooth but borders" "3"
            value 1
        }
        long "uv_interpolation" {
            doc "Define how the interpolation of the vertices is done for the UV maps. Here one can specify if the original vertices of the mesh should be smoothed or not. It is possible to disable the smoothing for all the vertices (linear), only for the vertices form the borders or only the corners. It is also possible to control it along the discontinuities between the UV maps and the geometry."
            preset "Linear" "0"
            preset "Smooth but corners" "1"
            preset "Smooth" "2"
            preset "Smooth but borders" "3"
            preset "Smooth but discontinuities corners" "4"
            preset "Smooth but discontinuities borders" "5"
            preset "Smooth but corners and discontinuities borders" "6"
            value 1
        }
        long "boundary_interpolation" {
            doc "Controls how boundary edges and vertices are interpolated."
            read_only yes
            preset "Edge only" "0"
            preset "Edge and corner" "1"
            preset "None" "2"
            value 0
        }
        long "property_interpolation" {
            doc "Controls how the maps are interpolated."
            read_only yes
            preset "None" "0"
            preset "Corners only" "1"
            preset "Corners plus 1" "2"
            preset "Corners plus 2" "3"
            preset "Boundaries" "4"
            preset "All" "5"
            value 0
        }
        long "subdivision_level_mode" {
            doc "Define the raytrace tessellation mode. \'Fixed\' uses \'Raytrace Tessellation Level\'. \'Use Property\' reads the value of the property \'Subdivision Level Property\' to set the tessellation level. Note this property must be set to a scalar type. If there isn\'t any valid property it falls back to the value set in \'Raytrace Tessellation Level\'."
            preset "Fixed" "0"
            preset "Use property" "1"
            value 0
        }
        tag "subdivision_level_property" {
            doc "Set the level of tessellation using a scalar property."
            read_only yes
            value ""
        }
        long "property_driven_subdivision_offset" {
            doc "Increase or decrease the level of tessellation by this offset."
            numeric_range yes -12 12
            ui_range yes -6 6
            read_only yes
            value 0
        }
        long "property_driven_min_subdivision" {
            doc "Set the minimum level of tessellation."
            numeric_range yes 1 12
            ui_range yes 1 6
            read_only yes
            value 1
        }
        long "property_driven_max_subdivision" {
            doc "Set the max level of tessellation."
            numeric_range yes 1 12
            ui_range yes 1 6
            read_only yes
            value 3
        }
    }
    attribute_group "geometry>subdivision_surfaces>creases" {
        collapsed yes
        long "crease_mode" {
            doc "Define the algorithm use for the creases"
            preset "Uniform" "0"
            preset "Chaikin" "1"
            value 0
        }
        bool "activate_crease_driven_subdivision" {
            doc "When activated, use the maximum crease level defined on the object to set the tessellation level. If no crease is defined, the tessellation level uses the scalar Subdivision Level Property if it exists otherwise it uses the value set in \'Raytrace Tessellation Level\'."
            value no
        }
        long "crease_driven_subdivision_offset" {
            doc "Increase or decrease the level of tessellation by this offset."
            numeric_range yes -12 12
            ui_range yes -6 6
            read_only yes
            value 0
        }
        long "crease_driven_min_subdivision" {
            doc "Set the minimum level of tessellation."
            numeric_range yes 1 12
            ui_range yes 1 6
            read_only yes
            value 1
        }
        long "crease_driven_max_subdivision" {
            doc "Set the max level of tessellation."
            numeric_range yes 1 12
            ui_range yes 1 6
            read_only yes
            value 6
        }
    }
    attribute_group "geometry>curves" {
        collapsed yes
        long "shape" {
            doc "Specify how hair are rendered."
            output "geometry"
            preset "Ribbon" "0"
            preset "Tube" "1"
            value 0
        }
        bool "use_normal_map" {
            doc "Set whether ribbons should be oriented according to the first available normal map. When disabled, the ribbons are facing the camera."
            output "geometry"
            value no
        }
        long "segment_count" {
            doc "Number of segment of the hair."
            output "geometry"
            hidden yes
            ui_range yes 1 32
            read_only yes
            value 8
        }
        percentage "flatness" {
            doc "Flatness of the hair. A value of 1 creates round hair, a value of 0 creates flat hair."
            output "shading"
            numeric_range yes 0.0 1
            ui_range yes 0.0 1
            value 0.0
        }
        long "radius_values" {
            doc "Override radius values stored in the geometry by the one set below."
            output "geometry"
            preset "Use Geometry Values" "0"
            preset "Use Custom Values" "1"
            value 0
        }
        distance "base_radius" {
            doc "Radius of the hair at its base."
            output "geometry"
            ui_range yes 1e-05 100000000
            read_only yes
            value 0.02
        }
        distance "tip_radius" {
            doc "Radius of the hair at its tip."
            output "geometry"
            ui_range yes 1e-05 100000000
            read_only yes
            value 0.005
        }
        percentage "radius_multiplier" {
            doc "Hair radius is multiplied by this value."
            output "geometry"
            numeric_range yes 0.0 1000000
            ui_range yes 0.0 10
            value 1
        }
    }
    attribute_group "geometry>curves>advanced" {
        collapsed yes
        ui_weight 1000
        percentage "decimate" {
            doc "Set the decimation amount."
            output "geometry"
            numeric_range yes 0.0 1
            ui_range yes 0.0 1
            value 0.0
        }
        long "tessellation_mode" {
            output "geometry"
            hidden yes
            preset "Fixed" "0"
            preset "Adaptive" "1"
            preset "New" "2"
            value 2
        }
        long "adaptive_subdivision_mode" {
            doc "Control how each adaptive hair segment is splited in order to speed up rendering."
            output "geometry"
            hidden yes
            read_only yes
            preset "Favor Memory" "1"
            preset "Balanced" "3"
            preset "Favor Speed" "6"
            value 3
        }
        percentage "adaptive_subdivision_quality" {
            doc "Control the amount of precision of the intersection"
            output "geometry"
            hidden yes
            numeric_range yes 0.0 1
            ui_range yes 0.0 1
            read_only yes
            value 0.5
        }
    }
    attribute_group "geometry>displacement" {
        collapsed yes
        long "displacement_mode" {
            doc "Control whether the displacement must compute bump, tessellation or both."
            preset "Bump only" "0"
            preset "Tessellation only" "1"
            preset "Tessellation with Bump" "2"
            value 2
        }
        long "displacement_storage_mode" {
            doc "Define if displacement favors render time or memory used to generate it."
            output "geometry"
            preset "Use Project Preferences" "0"
            preset "Favor Memory" "1"
            preset "Favor Speed" "2"
            value 0
        }
        long "displacement_tessellation_mode" {
            doc "Control the generation of the tessellation used for the micro displacement. Adaptive modes try to compute the tessellation level according to the size of the primitives whereas the uniform mode generates the same tessellation on all primitives. For the adaptive modes, it is possible to choose if the tessellation level has to be computed on the base geometry or on the deformed one."
            preset "Adaptive (base)" "0"
            preset "Adaptive (deformed)" "1"
            preset "Uniform" "2"
            value 0
        }
        long "displacement_adaptive_span_count" {
            doc "Control the number of spans for the adaptive tessellation. This value corresponds to the number of spans on the bounding box of the geometry."
            numeric_range yes 1 1000000
            ui_range yes 1 1000
            value 1
        }
        long "displacement_uniform_span_count" {
            doc "Control the number of spans for the uniform tessellation. This value corresponds to the number of spans on each primitive."
            numeric_range yes 1 1000000
            ui_range yes 1 32
            read_only yes
            value 1
        }
        long "displacement_triangulation_mode" {
            doc "Define on which geometry the micro-facets triangulation is computed."
            preset "Use Base Geometry" "2"
            preset "Use Base Displacement" "0"
            preset "Use Deformed Geometry" "3"
            preset "Use Deformed Displacement" "1"
            value 1
        }
        long "displacement_stitching_mode" {
            doc "Control the stitching between primitives. The stitching only affects values of the displacement so it doesn\'t work if the geometry has discontinuities on normals."
            preset "None" "0"
            preset "Shared displacements" "1"
            preset "All" "2"
            value 2
        }
    }
    attribute_group "playback" {
        collapsed yes
        long "frame" {
            doc "Defines the value of the frame that will be used to evaluate all meshes."
            animatable yes
            value 0
        }
        frame "frame_offset" {
            doc "Offset the ABC time. If you set the value to 50 while the animation in the ABC starts at frame 10, it then starts at frame 60."
            animatable yes
            value 0
        }
        long "animation_behavior" {
            doc "Set how the animation will loop."
            preset "Hold" "0"
            preset "Repeat" "1"
            value 0
        }
        bool "force_animation_range" {
            value no
        }
        frame[2] "animation_range" {
            doc "Start and end frames for the animation."
            read_only yes
            value 0 50
        }
        long "deformation_behavior" {
            doc "Set how the deformation will loop."
            preset "Hold" "0"
            preset "Repeat" "1"
            value 0
        }
        bool "force_deformation_range" {
            value no
        }
        frame[2] "deformation_range" {
            doc "Start and end frames for the deformation."
            read_only yes
            value 0 50
        }
    }
    attribute_group "motion_blur" {
        long "motion_blur_mode" {
            doc "Specify which data is used to compute motion blur. Read Velocities (distance per second): read velocities from file and interpret them as distance units per second. Read Velocities (distance per frame): read velocities from file and interpret them as distance units per frame. Compute Velocities: compute velocities from actual geometric positions. Use Sub Positions: use sub-frame geometric positions, providing more accurate results at the expense of more memory usage."
            preset "Read Velocities (distance per second)" "0"
            preset "Read Velocities (distance per frame)" "3"
            preset "Compute Velocities" "1"
            preset "Use Sub Positions" "2"
            value 1
        }
    }
}