CustomVec3Animation
Description
This component creates an animation on an entity.
Properties
Property | Type | Default | Description |
---|---|---|---|
attribute | string | '' | Selected attribute to animate (e.g. position, scale, material) |
target | eid | undefined | The target object to animate. If not specified, the animation is run on the object that the component is attached to. |
from | object | undefined | The starting state of the animation |
to | object | undefined | The ending state of the animation |
autoFrom | boolean | false | If enabled, ignore 'from' property and animate from the state of the object at the start of the animation. |
duration | number | 0 | Length of time that the animation runs in milliseconds. |
loop | boolean | false | If enabled, repeat the animation. |
reverse | boolean | false | Whether to play in reverse, if loop set. |
easeIn | boolean | false | If enabled, easing function will be applied over time instead of straight interpolation |
easeOut | boolean | false | If enabled, easing function will be applied over time instead of straight interpolation |
easingFunction | string | '' | Choose from Quadratic (default), Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, and Bounce |
Get
Returns a read-only reference.
Example
ecs.CustomVec3Animation.get(world, component.eid)
Set
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.CustomVec3Animation.set(world, component.eid, {
attribute: 'position',
from: {
x: 0,
y: 0,
z: 0
},
to: {
x: 10,
y: 10,
z: 10
},
autoFrom: false,
duration: 1000,
loop: false,
reverse: false,
easeIn: false,
easeOut: false,
easingFunction: 'Cubic'
})
Mutate
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.CustomVec3Animation.mutate(world, component.eid, (cursor) => {
cursor.duration = 1000;
cursor.loop = true;
return false;
})
Remove
Removes the component from the entity.
Example
ecs.CustomVec3Animation.remove(world, component.eid)