Volume
A renderable volume containing one or more volumetric data fields, used to represent a volume effect such as smoke or fire.
Volume inherits from GPrim and inherits GPrim and Imageable schema properties, so volumes are transformable, renderable, can have a material binding, etc.
Volume also contains any number of volumetric fields, specified via relationships to FieldBase-derived primitives using a namespace prefix of “field”. The relationship names, such as “density”, are used by the renderer to associate individual fields with the named input parameters on a volume shader.
For example, the following Volume defines a field relationship to an OpenVDBField asset. The field relationship name specifies that the OpenVDB asset contains data that the renderer and volume shader should use to render the optical density (“extinction”) of the volume.
def Volume "Volume" (
)
{
custom rel field:extinction = </Volume/densityVDB>
uniform token purpose = "render"
def OpenVDBAsset "densityVDB"
{
token fieldName = "density"
asset filePath = @/vdbdata/smoke_plume.101.vdb@,
}
}
}
See Working With Volumes for best practices when working with Volumes.
Properties
Inherited Properties (Gprim)
displayColor
USD type: color3f[]
displayOpacity
USD type: float[]
doubleSided
USD type: bool
Fallback value: False
orientation
USD type: token
Fallback value: rightHanded
Inherited Properties (Boundable)
extent
USD type: float3[]
Inherited Properties (Xformable)
xformOpOrder
USD type: token[]
Inherited Properties (Imageable)
proxyPrim
USD type: rel
(relationship)
purpose
USD type: token
Fallback value: default
visibility
USD type: token
Fallback value: inherited