Documentation by TAPgiles

# Keyframe

A keyframe holds state. This can be the state of almost any property—including multiple objects, positions, settings… but not edits such as a shape inside a sculpt. (Mm) (Pk) (Tg) Also captures the use of tools to adjust settings. (Mm) And changes to logic settings, making wireless communication very easy to set up. (Tg)

The gadget can then be powered to restore that state.

When hovering over a keyframe that has nothing recorded to it, [empty] will be shown in red beneath the keyframe’s name.

Note, some properties cannot be keyframed: names of objects, names to detect, text fields, editor mode buttons, and wire connections for inputs or outputs.
Also, no contents of an object can be directly affected, such as the edits of a sculpt, painting, or notes in an instrument.

When a keyframe is first placed within the world, it automatically goes into recording mode. (Mm)

Note that when a new keyframe is placed anywhere but a timeline, the keyframe starts powered off. When a keyframe is moved onto a timeline, it will become powered on.

As there is no visual indicator linking a keyframe directly to a recorded object or setting, it’s best practice to immediately name and/or colour the keyframe after placing it.

While a keyframe is selected, objects and settings affected by the keyframe will have hatch-marks across them. The state stored in the keyframe is also previewed. (Pk) (Tg) While actively editing a keyframe, it is also previewed.

When changing a setting while recording, the last state of that setting will be what is recorded.

So if there’s a power button that is on, and you click it with Cross button twice while recording, it will be recorded as being on. (Tg)
Keyframes can be used to transmit data across the scene with no visible wires. (Tg)
They can also be used to create a stop-motion effect instead of tweening. (Tg) Or showing and hiding sculpts to give the impression their forms are changing over time. (Tg)

Hovering over an object that a keyframe has recorded something for will cause the keyframe to throb. (Tg)

Remove the recorded state for that object or setting - shortcuts: Triangle button on the recorded object. (Mm) (Tg)

When an object that has state recorded by a keyframe is copied, the keyframe will affect the copy also.

However, if the object and the keyframe were copied at the same time, the original keyframe will affect the original object, and the keyframe copy will affect the object copy.

If the position of a connected object is recorded using Inverse Kinematics first, any manipulation of that object will use IK.

While recording the position of a child of a joint using R2 , freely disjoint the connector and move the child freely - shortcuts: hold shift.

(Tg)

If the position of a connected object is recorded using Forward Kinematics first, any manipulation of that object will use forward kinematics.

# Edit Keyframe: When 1 recording gadget is selected, use this context menu button to begin recording into it.

Or use the scope-in shortcut on a recording gadget to begin recording into it.

When placing a new recording gadget, you'll automatically begin recording into it.

# Stop Recording: While recording into a recording gadget, use this context menu button to stop recording.

Or use the scope-out shortcut while not scoped into a group.

Wired power affects: Its state and springiness will be applied to the percentage of the power. (Pk) (Tg)

For example, a keyframe stores a move of an object as +10 on the X axis. If powered with a signal of 1 or more, the object’s position will become +10. If powered with a signal of 0.6, the object’s position will become +6.

In this way, by changing the value used to power a keyframe over time, you can animate values and positions etc. of any state recorded by it.

When using for a puppet, half-powering a keyframe will also constantly blend between the keyframed state and the normal state it would be in if it weren’t keyframed. This is great for allowing a little bit of arm swing while the hand is still pointing in a particular direction. (Tg)

Powering more than one keyframe at a time will average the state between them when they affect the same setting, weighted depending on how powered a keyframe is. (Tg) Powering two keyframes to less than half-power will cause them to not interfere for stored positions. (Tg)

Many gadgets have a core and falloff, and use that to output a percentage instead of a simple ON and OFF. Such values can be wired directly into a keyframe’s power to have more effect the closer an object is, for example. (Tg)

Memory: Costs 0.0061% of the things limit per gadget. Costs 0.0054% of the wires & animation limit per setting affected.

Chaining with wires can be used to make the use of multiple keyframes to set the same settings a lot cheaper. (Tg)

# While on a Timeline: has fader handles. (Tg)

When on a timeline on the same row as another keyframe, with no other gadgets between them, becomes part of a keyframe “set.”

When part of a keyframe set, you can blend between keyframes with more precision. Cycle through the previous keyframe’s different Blending Types - shortcuts: shift +Cross button on the space between the keyframes. (Mm)(Tg)

Reset the previous keyframe’s Blending Type to None - shortcuts: Triangle button between 2 keyframes.

Increase and decrease the Easing Strength - shortcuts: Up button or Down button on the blend. (Tg)

While recording into a keyframe in a keyframe set, move to the previous or next keyframe in the set - shortcuts: shift+Left button to go to the previous, shift +Right button to go to the next. (Tg)

When a keyframe within a keyframe set is highlighted, objects whose state is affected by those keyframes will show a path of their changes. The dashed line of the path indicates the blending between each keyframed position (longer dashes for faster movement, shorter dashes for slower movement). Each keyframed position is also marked with a glowing yellow translucent sphere.

This works even if there are other gadgets between the keyframes.

Also, if you select one or hover over one of the keyframes in a blended set, a preview of the path of objects with their position recorded will be shown in the scene. (Tg)
Keyframes can be used without blending to create frame-by-frame animation. (Tg) Even to power-on and move a frame into the correct position, allowing you to easily edit the frames by themselves but allow the animations to all play in the same place. (Tg)

The progression of Slow Power Up and Slow Power Down is not affected by the playhead position on the timeline or the playback speed of the timeline. (Tg)

# Restoring Positions within Groups

When the transform (position/rotation/scale) of an object is recorded, but then changed in edit mode, the recording will be adjusted also. The keyframe will restore the position etc. relative to the object’s current scope—meaning, if it is inside a group the position will be restored relative to wherever that object is. (Tg)

If it is not inside a group, the position will be restored relative to the scene. (Tg)

# Types of Recording

Brown hatch-marks going from the bottom-left to top-right indicate the transform (position, rotation, and scale) of the object has been stored as an IK recording.

Green hatch-marks going from the bottom-right to the top-left indicate the transform has not been stored, but other things have been stored.

# IK and FK

In a system of jointed objects, a “root” object with no parent objects can only have its transform recorded.

A “child” object with one parent that is a root can only have its joint rotation recorded (FK).

A child with a parent that is not the root can be recorded with IK or FK.

If a keyframe has recorded IK or FK for an object, it will use that mode for any future adjustments.

For example, record a child with a non-root parent using L2 for an FK recording. Then record using R2 to adjust and only rotations will be allowed, adjusting the existing FK recording.

# Convert to FK, Convert to IK: While recording into a keyframe and a jointed object is recorded that the keyframe has an IK recording of, use this context menu button to convert the recording of its position into a recording of the rotation of its joints and the joints of parents the chain. (Ml) Or visa versa.

For example, when converting an IK hand to FK, the joint rotations for the corresponding lower and upper arm will be set in the keyframe. Using FK to tween jointed objects, they’ll have a more natural rotation to them as they move.
And, when converting an FK hand to IK, the position of the hand would be recorded.

# Moving a Recorded Object

When an object that has its transform keyframed is moved, the recorded transform is adjusted to be relative to the new location. (Tg)

However, if the object is emitted in play mode at a different transform the keyframe will not adjust. (Tg)

# Only Affects Powered Objects

Keyframes only actively apply themselves to an object if that object is powered. When an object becomes powered on one frame, it may not be affected by a keyframe until the next frame. (Tg)

Tweak Menu

# Blend Type

Available: when on a timeline.

Available only when part of a set of keyframes within a timeline. The power of the keyframes either side of the blend will change during the blend with a curve according to this setting. (Tg)

Note that if rotation is recorded, it will rotate the object using the shortest route. So if you want something to rotate 180 degrees or more in a particular direction, it may be safer to use several keyframes to make sure it rotated in the desired direction.
This setting doesn’t have any effect when there is no keyframe immediately to the right of this one on the same row.
  • # None: doesn’t interpolate at all. The current keyframe will simply remain active until the next keyframe is activated.

  • # Linear: will transition towards the next state at a steady speed. (eg. +3, +3, +3, +3, +3.)

  • # Ease in: will transition slowly at first, and become faster. (eg. +1, +2, +3, +4, +5.)

  • # Ease out: will transition quickly at first and become slower. (eg. +5, +4, +3, +2, +1.)

  • # Ease in and out: will transition slowly, then quickly, then slowly. This is useful for more natural movements. (eg. +1, +3, +5, +3, +1.)

# Easing Strength

How intense the easing function will be applied. The “strength” of the blend. For example, if using “ease in,” a higher strength will begin the transition slower.

This can be used to give weighting to random values. (Tg)

# Springiness

When the keyframe is trying to set an object’s transform (position, rotation, scale), a higher springiness will allow the state to be overshot—wobbling back and forth like a physical spring—until eventually coming to a stop at the correct state. (Tg) (Tg)

Note that even after becoming unpoweres, a keyframe with springiness will still affect an object’s transform until all the object settles down into its final state. (Tg)

This works on gadgets within the world, but not on any other settings including gizmos. (Tg)

# Smoothing

When smoothing is on, the keyframe is part of a keyframe set, and the keyframe is only 1 frame wide (this is the default size of a keyframe on a timeline)... will use the incoming and outgoing trajectory of a transition to plot a smoother transition through the stored state. (Tg)

Note that this does not affect timing, or recorded rotation or scale, but position only. For this reason, a linear blend works best.

For example, you have three keyframes positioning an object at points of a triangle, with some sort of blending between them. If smoothing is off, the object will move to the next keyframed position, then move to the one after that. You’ll see the “corner” of the keyframe and an abrupt change in direction. If smoothing is on, the transitions will take into account where the object is coming from and where it is moving to, and attempt to smooth out the corner. So the path of the object will still hit those positions at the corners of a triangle, but those corners will be smoothed out and less noticeable.

# Keep Changes

When off, after the keyframe is powered off the states affected by it will revert to what they were before.

When on, the state will be preserved instead. (Tg)

Note that currently when a keyframe is half-powered each frame it will apply this operation. The result is that the animation will appear exponentially sped up. (Tg)
By using a half-powered second keyframe to balance it out you can keep the “keep changes” of the final state, without the animation being sped up. (Tg)

# Slow Power Up, Slow Power Down

These sliders set how long it takes to reach the desired power level, using an ease-out function. (Tg)

When the target power increases, it takes Slow Power Up seconds to reach it. When the target power decreases, it takes Slow Power Down seconds to reach it. (Mm) (Tg) These follow an “ease out” curve while transitioning.

When keyframing the power of an object, that power is also animated by this setting. For gadgets that are not affected by the amount of power received, this allows a single keyframe to keep that object powered while the keyframe is being powered or is still animating using these settings.

For example, fading a text displayer in and out. (Tg)

# Animation Colour

The colour of the gadget. (Tg)

# Action Recorder

Action recorders are like many keyframes, with associated times—recording state changes over time and transitioning between states automatically. (Mm) They can also record gizmos. (Tg) Great for quick pseudo-randomisation of the position of an object, etc.

So while you could have 10 keyframes activated in sequence to move and rotate an object at a certain speed, you could instead use an action recorder to record you moving and rotating that object instead.

When the gadget is selected or its tweak menu is open, anything affected by the recording will display hatch marks over them. (Jj)

All recorded state of an object can be removed while selecting or recording into the gadget using the Delete controls on the recorded object. Or removed for a setting by using the controls on that setting. While showing Invisible Connections, recordings can be removed by using the controls on individual wires coming from the gadget.

When recording a change in position for an object, a line will be drawn reflecting the movement recorded. Hovering over an object for which a change in position has been recorded will display the path that the recording follows, as well as a white sphere at the beginning and end positions.

Note that any movements are relative to the object’s starting orientation; this means if you flip the object after recording it moving around, the object will move around in a different direction.

As soon as you begin changing anything in the scene, recording will begin. (Jj) Stop changing things in the scene and the recording will stop until you start changing things again, which will resume recording from the same point. A recorded bar is shown at the top of the screen, the red area representing the time recorded. The bar’s scale will change as time goes on, to fit the time recorded in the same space. (Jj)

If time is running, the recording will begin from the moment you enter recording mode. If time has been paused midway through the gadget’s playback, the changes will be added to the recording from that point onward. Time and playback will also resume when you begin changing things. (Jj) Also, when you stop changing things, the recording will continue but record no state changes until you change things again. These pauses will be shown in the recorded bar as gaps in the red.

If the gadget already has state changes recorded and you activate record mode, you can record more changes to happen in sync with the existing recording. These new changes will be added to the recording. The recorded bar’s current time will show the moment you are adding to the recording. (Jj)

While the recorder is powered and time is running, the recorded states will be applied relative to the starting position of the settings. The face of the gadget will display a vertical bar indicating how far through the recording the gadget currently is. (Jj) When paused, any changes held by the recorder will be undone until time resumes playing.

Edit, Stop Recording: These context menus work the same way as for a Keyframe gadget. (See Edit Keyframe, Stop Recording.)

Wired power affects: The amount of power received multiplies the playback Amplification.

Memory: Costs 0.0061% of the things limit per gadget. Costs 0.0059% of the wires & animation limit per setting affected.

While on a Timeline: has fader handles.

Placing an action recorder on a timeline will replay the recorded state in sync with the timeline. (Mm)

The playback speed can be adjusted while changing the recorder’s duration to maintain the gadget’s new width on the timeline. Shortcuts: hold shift while dragging the right edge of the gadget.

Scope-in to: record into the action recorder.

Tweak Menu

# Playback Mode

Playback mode affects how the recording is played back. (Jj)

When looping, the original settings will be restored at the beginning of each playback.

  • Once: When power goes from non-positive to positive, the clip will play from the beginning to the end—regardless of whether it becomes unpowered or not. (Tg)

  • Sustain: While powered, the clip will play through from wherever it got to before. When it becomes unpowered, it will pause at that point and stop any playing notes.

  • Loop: While powered, the clip will play through from wherever it got to before. When it gets to the end, it will resume playing from the start. When it becomes unpowered, it will pause at that point and stop any playing notes.

  • Ping-Pong: Similar to Loop but when it gets to the end, it will play in reverse to the beginning. Then when it gets to the beginning it will play forwards to the end.

# Animation Speed

How fast the recording will be played back. (Jj)

# Amplification

Modulates the size of the recorded changes—whether that’s size, position, rotation, or setting values. (Jj)

# Springiness

How much the changed values will overshoot their intended position at the end of playback. Higher springiness means the values will overshoot more, and will take longer to bounce around and settle on the final position. Affects position and rotation only. (Jj)

# Reverse

When on, reverses the animation when playing back. So it will effectively start playing from the end toward the beginning.

# Travel

When on, instead of reverting back to the original settings at the start of each loop, the last position of the settings will be used as the origin point for the next playback.

# Keep Changes

When on, will leave all affected settings in the current recorded position. When off, all settings will revert to their original values. (Jj)

Using this on a timeline with blends between keyframes can cause the restoration to compound over time, as it is re-applying it every frame. To fix this, the keyframes on either side of the blend should have Keep Changes set, and the suitable setting recorded into them. (Tg)

# On End Trigger

Sends a pulse when playback has ended. (Jj)

# Possession Recorder

In edit mode, records the outputs of a controller while possessing an object. (Tg)

If the object is a puppet, also records the position and orientation of that object over time from the moment a Puppet Interface within the puppet receives a signal into its “Walk” input.

When in recording mode, all electronics etc. are hidden. A “count in” toggle dictates whether there will be a “3, 2, 1” countdown after possessing an object before time will run and it will begin recording.

If there is something recorded already, a red Stop Recording button will appear. Also a Retake button can be used to delete the recording and start fresh.

All settings, how power affects playback, and timeline controls are the same as the action recorder.

“Keep Changes” is off by default.

Edit, Stop Recording: These context menus work the same way as for a Keyframe gadget. (See Edit Keyframe, Stop Recording.)

Wired power affects: the amplification amount. While receiving any positive power, the animation plays at full speed.

Memory:

Costs 0.0061% of the things limit per gadget.

Scope-in to enter recording mode.