Documentation by TAPgiles

# Joint Connector

A connector with a specific point in space acting as a pivot, around which the child object may move at a set distance. Depending on the type of joint this movement may have further limitations.

For all input and output explanations, “clockwise” and “anti-clockwise” are as if looking from the joint in the direction of the child node—as demonstrated by the small amount of stalk sticking out on the child side of the purple node.

Memory: Costs 0.0061% of the Things limit per connector. There is a limit for how many connectors can exist at once.

# Gizmo: Shown when Limits are on.

For Bolt or Motor Bolt mode. Moving a yellow handle past the blue handle will move the blue handle along with it to stay within the limits. Moving a blue handle past a yellow handle will move the yellow handle to expand the limits. Moving yellow handles will be blocked past the other yellow handle.

A Bolt can only rotate between two specific angles. When limits are on, the gizmo shows two yellow handles—one for each end of the limit—and a blue handle representing the bolt’s current rotation relative to the limit range.

A Motor Bolt works similarly to the bolt when limited. Additionally, its cycles will bounce between the two yellow handles.

A Ball Joint has a different kind of gizmo. It shows a cone with a rounded base to visualise the limit range, its centre aligned from the purple joint to the blue end of the connector. (Tg) Adjust the range - shortcuts: drag the edge of the base with the Cross button.

Tweak Menu

# Type

The type of joint. (Jj)

  • # Ball Joint: Rotates freely around the purple node’s position.

  • # Bolt: Rotates in the z axis of the purple node.

  • # Motor Bolt: Works identically to the bolt, but automatically adds forces to turn the joint to a target rotation. (Jj)

    Has a persistent direction it is rotating in, which starts at clockwise by default. If Use Limits is on, then this direction is flipped when it gets to one end or the other of those limits.

# Tightness

How much force is required to make the joint move. (Jj)

# Springiness

Higher springiness adds forces trying to preserve the target rotation of the joint. (Tg)

Alternatively, a keyframe can be used to add springiness without using the physics system. (Tg)

For the ball joint and bolt, the target rotation is set by the initial position of the child.

# Collide with Connected

When on, collision works as normal.

When off, any collisions between the child and parent objects will be ignored. (Jj)

Having this turned on can cause physics problems with a group of collected objects constantly colliding with themselves.

# Lock Rotation

When on, prevents the ball joint from rotating around its Z axis as defined by the line from the blue parent node to the purple joint. (Tg)

# Cycles per Minute

Used to calculate the target rotational speed of a motor bolt. (Jj)

When positive, the default direction will be clockwise.

# Strength

How much force is applied to force the joint into the correct position.

# Reverse

When on, starts moving in the opposite direction.

# Use Limits

When on, the behaviour of the joint will be limited depending on what type of joint it is in some way. (Jj) A gizmo will be shown to manipulate the limits. (Jj)

# Angle Limits Range

The angle of motion allowed within the limits. This updates when the limit indicators are manipulated. Changing this will push the yellow lines away from or towards each other. (Jj)

# Connector Position

When wired, sets the target rotation.

The received value is normalised depending on whether Use Limits is on or off, and then used to set the target rotation. The Motor Bolt will then use that target rotation instead of the animated target it normally uses.

When Use Limits is off, a negative value will set the target to rotate anti-clockwise that many times (a value of -5 will target a 5 full rotations anti-clockwise).

When Use Limits is on, the received value is clamped to a range of -1 to 1 (meaning sending in a -1.2 will cause a value of -1 to be used). A value of 0 will set the target to the exact middle between the two yellow handles. A -1 will set it to the anti-clockwise yellow handle, and a 1 will set it to the clockwise yellow handle.

Note that the motor bolt will still use the normal settings to get to this rotation. This simply sets the target rotation.

# Connector Completion

Sends a signal getting the current position rotation of the joint. (Jj) (Tg)

A 0 is sent while the rotation is at the base position—the same as when the joint was made. Other values are sent depending on the type of joint used and whether limits are on or not.

Bolts and Motor Bolts will send higher values as the joint rotates clockwise as looking from the joint towards the child node. When rotated 180 degrees clockwise, it loops around to -180 and continues up from there.

When limits are on, Bolts and Motor Bolts send a 0 while the blue handle is at the anti-clockwise yellow handle to 1 while the blue handle is at the clockwise yellow handle. Effectively a percentage of how far through the limit the bolt currently is.

Ball Joints send a higher value up to 1 as it reaches 180 degrees from the base position.

# Linear

For explanations, “start” is defined as the furthest parent end of the connector, and “end” is the furthest child end of the connector.

Memory: Costs 0.0061% of the Things limit per connector. There is a limit for how many connectors can exist at once.

# Gizmo: Yellow handle at the start linked to the Minimum Length, blue handle at the end linked to the Maximum Length. Elastic only shows the yellow handle linked to the Slack Length.

Tweak Menu

# Connector Type

The type of connector will affect the constraints of movement of the child object.

  • # Piston: Similar to Slider mode, but powers movement along the same line. Has a target position that is animated along that linear path. Also has a direction it’s moving in.

    Defaults to pushing towards the end.

  • # Slider: Allows linear movement towards and away from the parent position. The child object’s orientation is locked.

  • # String: Allows free movement within a certain range of distance from the parent node.

  • # Elastic: Similar to String mode, but allows a springiness as if tied to a piece of elastic.

# Tightness

How hard it is for the child node to move.

# Minimum Length, Maximum Length

The minimum and maximum lengths the child can go to.

Maximum cannot be smaller than Minimum Length. Cannot be set to smaller than the current distance between parent and child nodes. Reset it to the Minimum Length - shortcuts: Triangle button.

When adding a new linear connector, Maximum is set to the distance between the parent and child nodes.

# Collide with Connected

When on, allows the child object to collide with the parent object. When off, collisions are ignored between those 2 objects.

# Cycles Per Minute

A “cycle” is the movement of the child between Minimum and Maximum Length (or visa versa).

This is the rate of speed the piston will move towards the target position, relative to the distance between the start and end. Speed = (maximum length - minimum length) ÷ 60 meters per second.

For example, when the start and end is 2m apart and the cycles/minute is at 15, the target position and piston will move at 1m/second.

# Motor Strength

The amount of force used to push the child to the target position.

# Reverse Direction

When off from the start of the scene, the piston will move the child away from the parent first. When on from the start of the scene, the piston will move the child toward the parent first.

When changed during the scene, the target end (pushing away or pulling in) will be inverted.

# Slack Length

The distance the child object will be pulled towards.

# Strength

The strength of the elastic to pull the child object back towards the Slack Length.

# Connector Position

While a wire is connected, the target position is set based on the received value and the internal direction setting is ignored.

Clamps the received value to between 0 and 1, then uses that as the target position.

# Connector Completion

How far through from start to end the child currently is. When further than the end, the value continues increasing at the same rate. (Tg)

Effectively, how far from the start the child is, as a multiple of the distance from the start to the end.