Property

From sfx
Jump to navigation Jump to search

A Property is a single constant or animated parameter. Silhouette supports many types of properties.

Property Types[edit]

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[edit]

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[edit]

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[edit]

Interpolation Type[edit]

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[edit]

"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.