Difference between revisions of "Property"
Jump to navigation
Jump to search
(5 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
! scope="col" | Data-type | ! scope="col" | Data-type | ||
! scope="col" | Animated | ! scope="col" | Animated | ||
+ | ! scope="col" | Added | ||
|- | |- | ||
|Boolean | |Boolean | ||
Line 44: | Line 45: | ||
|Integer or Float | |Integer or Float | ||
|align="center" | ✓ | |align="center" | ✓ | ||
+ | |- | ||
+ | |Object | ||
+ | |An object reference | ||
+ | |[[Object]] | ||
+ | | | ||
|- | |- | ||
|Objects | |Objects | ||
Line 59: | Line 65: | ||
|[[Point3D]] | |[[Point3D]] | ||
|align="center" | ✓ | |align="center" | ✓ | ||
+ | |- | ||
+ | |Recti | ||
+ | |2D integer rectangle | ||
+ | |[[Recti]] | ||
+ | |align="center" | ✓ | ||
+ | |5.2 | ||
|- | |- | ||
|Source | |Source | ||
Line 82: | Line 94: | ||
! scope="col" | Name | ! scope="col" | Name | ||
! scope="col" class="unsortable" | Description | ! scope="col" class="unsortable" | Description | ||
+ | | scope="col" | Added | ||
|- | |- | ||
|constant | |constant | ||
Line 115: | Line 128: | ||
|writable | |writable | ||
|True if property is saved to project file (False for transient properties) | |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 | ||
|} | |} | ||
Line 122: | Line 159: | ||
! scope="col" | Name | ! scope="col" | Name | ||
! scope="col" class="unsortable" | Description | ! scope="col" class="unsortable" | Description | ||
+ | ! scope="col" | Added | ||
|- | |- | ||
|addObjects(objects) | |addObjects(objects) | ||
|add the List of [[Object|objects]] to the child list if the property is of type '''Objects''' | |add the List of [[Object|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) | |getValue(frame=0.0) | ||
Line 131: | Line 181: | ||
|interpolation(index) | |interpolation(index) | ||
|returns the [[#Interpolation Type Constants|Interpolation Type]] for the key with <tt>index</tt> | |returns the [[#Interpolation Type Constants|Interpolation Type]] for the key with <tt>index</tt> | ||
+ | |- | ||
+ | |isKey(frame) | ||
+ | |return True if frame is a keyframe | ||
+ | |5.2 | ||
|- | |- | ||
|removeObjects(objects) | |removeObjects(objects) | ||
Line 137: | Line 191: | ||
|setValue(value, frame=0.0) | |setValue(value, frame=0.0) | ||
|set the value at <tt>frame</tt>. If constant, sets the constant value otherwise sets a key-frame. | |set the value at <tt>frame</tt>. 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 <tt>offset</tt> frames | ||
+ | |6.0 | ||
+ | |- | ||
+ | |moveKeys(offset) | ||
+ | |moves the selected keys by <tt>offset</tt> frames | ||
+ | |6.0 | ||
|} | |} | ||
Line 146: | Line 212: | ||
! scope="col" | Name | ! scope="col" | Name | ||
! scope="col" class="unsortable" | Description | ! scope="col" class="unsortable" | Description | ||
+ | ! scope="col" | Added | ||
|- | |- | ||
|Hold | |Hold | ||
Line 161: | Line 228: | ||
|EaseInOut | |EaseInOut | ||
|ease out from this key and in to next key | |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. |
Latest revision as of 13:02, 26 July 2018
A Property is a single constant or animated parameter. Silhouette supports many types of properties.
Contents
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.