A Property is a single constant or animated parameter. Silhouette supports many types of properties.
Property Types
Silhouette Property Types
Type
|
Description
|
Data-type
|
Animated
|
Added
|
Boolean
|
On/Off check-box
|
Bool
|
|
Color
|
RGBA color picker
|
Color
|
✓
|
Flags
|
A bit-mask with multiple check boxes
|
Integer
|
|
Join
|
An object link
|
Object
|
|
List
|
List of predefined options
|
Integer
|
|
Matrix
|
A transform matrix
|
Matrix
|
✓
|
Number
|
A slider or spin-box with with min/max range
|
Integer or Float
|
✓
|
Object
|
An object reference
|
Object
|
|
Objects
|
An object list
|
List of Object
|
|
Path
|
A shape spline path
|
ShapePath
|
✓
|
Point
|
X/Y point
|
Point3D
|
✓
|
Recti
|
2D integer rectangle
|
Recti
|
✓
|
5.2
|
Source
|
A data source
|
Source
|
|
StreamRef
|
A Stream reference
|
Integer
|
|
String
|
A UTF-8 string
|
String
|
|
Attributes
Read-only unless otherwise noted.
Name
|
Description
|
Added
|
constant
|
True if animation is turned off (read/write)
|
hidden
|
True if hidden in the UI
|
keyframable
|
True if can be animated
|
keys
|
List of keyframe times if keyframeable, None otherwise (can be empty if animation is disabled for this property)
|
name
|
property name/id
|
numKeys
|
the number if key-frames (always 0 if not keyframeable, can be non-zero even if constant)
|
numObjects
|
the number of child objects if property is an object container
|
range
|
Tuple (first, last) of key times, or None if no keys
|
selected
|
True if selected
|
type
|
property type name
|
writable
|
True if property is saved to project file (False for transient properties)
|
dynamic
|
True if this is a "dynamic property"
|
6.0
|
item
|
if the property is of type List, the current value as a string, or None
|
6.0
|
items
|
if the property is of type List, the list of item strings
|
6.0
|
obsolete
|
True if the property as marked as obsolete
|
6.0
|
userDefined
|
True if the property is user-defined
|
6.0
|
value
|
the current value if the property is constant, or has no key-frames
|
6.0
|
Methods
Name
|
Description
|
Added
|
addObjects(objects)
|
add the List of objects to the child list if the property is of type Objects
|
getKeyIndex(frame)
|
return the index of the keyframe if it is one, or None
|
5.2
|
getNextKeyTime(frame)
|
return the frame of the next keyframe, or None
|
5.2
|
getPrevKeyTime(frame)
|
return the frame of the previous keyframe, or None
|
5.2
|
getValue(frame=0.0)
|
return the value at frame. If constant, returns the constant value otherwise interpolates a value from the appropriate key-frames
|
interpolation(index)
|
returns the Interpolation Type for the key with index
|
isKey(frame)
|
return True if frame is a keyframe
|
5.2
|
removeObjects(objects)
|
remove the List of objects from the child list if the property is of type Objects
|
setValue(value, frame=0.0)
|
set the value at frame. If constant, sets the constant value otherwise sets a key-frame.
|
isKeyExtrapolated(index)
|
True if the key index is set to extrapolate
|
6.0
|
moveKeys(offset)
|
moves the selected keys by offset frames
|
6.0
|
moveKeys(offset)
|
moves the selected keys by offset frames
|
6.0
|
Constants
Interpolation Type
Name
|
Description
|
Added
|
Hold
|
holds value until next key
|
Linear
|
linear interpolation to next key
|
EaseIn
|
ease in to next key
|
EaseOut
|
ease out to next key
|
EaseInOut
|
ease out from this key and in to next key
|
CatmullRom
|
smooth spatial interpolation
|
7.0
|
Interpolation
"Catmull-Rom" interpolation was added in v7.0. Shapes can now be animated using smooth Catmull-Rom interpolation that will match up in "Nuke" using the latest Nuke exporter. Catmull-Rom can be combined with Hold on Shapes when the Shape -> Interpolation Engine preference is set to Spatial. If it s combined with non-spatial interpolation types such as EaseIn/Out, shape animation may not match up in Nuke.