Constructor
# new OCOLimb(limbopt, sideopt, locationopt, typeopt)
Creates a new OCO Limb.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
limb |
OCO.Limb
|
<optional> |
OCO.Limb.CUSTOM | A Predefined limb |
side |
OCO.Side
|
<optional> |
OCO.Side.NONE | The side of the limb |
location |
OCO.Location
|
<optional> |
OCO.Location.NONE | The location of the limb |
type |
OCO.LimbType
|
<optional> |
OCO.LimbType.CUSTOM | The type of the limb |
Members
Methods
# static fromObject(data) → {OCOLimb}
Creates a limb from a js object.
Parameters:
Name | Type | Description |
---|---|---|
data |
Object
|
The js object representing the limb |
The new limb
# armatureFromLayers(doc, name, layers) → {OCOBone}
Creates a new chain of bones located on the layer anchor points.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
name |
string
|
The name of the bones (will increment if needed) |
layers |
Array.<Layer>
|
LayerCollection
|
The layers |
The root bone of the new chain
# armatureFromPath(doc, name, pathProp) → {OCOBone}
Creates a new chain of bones located on the vertices of the path.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
name |
string
|
The name of the bones (will increment if needed) |
pathProp |
PropertyGroup
|
DuAEProperty
|
The path property (either an "ADBE Vector Shape - Group" or an "ADBE Mask Atom") |
The root bone of the new chain
# armatureFromPuppetPins(doc, name, pins) → {OCOBone}
Creates a new chain of bones located on the puppet pins.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
name |
string
|
The name of the bones (will increment if needed) |
pins |
Array.<Property>
|
Array.<DuAEProperty>
|
The puppet pins |
The root bone of the new chain
# bounds() → {Array.<float>}
Gets the boundaries of the limb
[left, top, right, bottom]
Array.<float>
# getBones() → {Array.<OCOBone>}
Gets all the bones sorted by z index
The list of bones
Array.<OCOBone>
# getLayers() → {Array.<Layer>}
Gets the After Effects layers representing this limb
May be an empty array if this limb has not been created in After Effects yet
Array.<Layer>
# getLimbs() → {Array.<OCOLimb>}
Recursively gets all the children limbs of this limb
The array of all limbs
Array.<OCOLimb>
# moveArmatureToLayers(doc, layers)
Moves the armature of the limb to the layers.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
layers |
Array.<Layer>
|
LayerCollection
|
The layers |
# moveArmatureToPath(doc, pathProp)
Moves the armature of the limb to the vertices of the path.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
pathProp |
PropertyGroup
|
DuAEProperty
|
The path property (either an "ADBE Vector Shape - Group" or an "ADBE Mask Atom") |
# moveArmatureToPuppetPins(doc, pins)
Moves the armature of the limb to the puppet pins.
Parameters:
Name | Type | Description |
---|---|---|
doc |
OCODoc
|
The doc containing the limb. |
pins |
Array.<Property>
|
Array.<DuAEProperty>
|
The puppet pins |
# newArmature(name, numopt, lengthopt) → {OCOBone}
Creates a new chain of bones and adds it to the limb.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
name |
string
|
The name of the bones (will increment if needed) | ||
num |
int
|
<optional> |
2 | The number of bones in the chain |
length |
float
|
<optional> |
100.0 | The length in centimeters |
The root bone.
# normalizeZIndices(offsetopt) → {int}
Normalizes the Z indices of all bones so they're positive (including 0) and continuous integers
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
offset |
int
|
<optional> |
0 | An offset/start number |
The highest index
int
# toComp(doc, compopt, parentLayeropt, limbIdopt) → {Array.<Layer>}
Creates the limb and armatures in the comp
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
doc |
OCODoc
|
The doc containing the limb. | ||
comp |
CompItem
|
<optional> |
DuAEProject.getActiveComp() | The composition to use. |
parentLayer |
Layer
|
<optional> |
null | The parent layer of the bone. |
limbId |
int
|
<optional> |
A Unique identifier for this armature. If omitted, a new one will be assigned. |
The new layers
Array.<Layer>
# toObject() → {Object}
Creates a js object containing this limb data.
This object could then be exported to JSON for example.
This object could then be exported to JSON for example.
The JS Object
Object
# zBounds() → {Array.<int>}
Finds the maximum and minimum Z index from all bones
The [min, max] Z indices
Array.<int>