Logic Gadgets: Elastic

Icon elastic
Name of gadget Elastic
Section Connectors
Number of Tweak pages 1 (of 4 linear connector types)
Author LadylexUK, QuietlyWrong
Last updated 27 June 2019 [EA v1.04]

Description

The Elastic connector behaves much like the string connector but with springiness, as you’d probably expect. Connect a “parent” object to a “child” object and the two will be held together in a dynamic way that pulls them back together when they get too far apart. It’s unusual among the connectors in that it has no maximum length – instead the connection distance is governed by the forces acting on it, including the elastic’s own strength tweak.

The connector doesn’t work exactly like real elastic – like all connectors, it has no physical presence in the Scene so you can’t wrap it around anything or knot it. Dreams just shows it to you as a straight line between the parent and child gizmos, regardless of how much “slack” there is in it.

Once the elastic is in place, you can can grab the parent to move the connected items as a whole. You can also grab the gizmos at the ends of the connector and reposition these – once they have been assigned to the parent and child objects they don’t even have to be touching those targets! They will act as the pivot points for the elastic so should be placed in accordance with how you want the objects to move together (unlike most other connectors, where the placement is less critical). When the elastic itself is selected, a draggable yellow gizmo appears at the parent end – you can drag this to change the connector’s “slack” length (the length below which it stops pulling):

Elastic connector

By default the slack length is set to zero (as shown above) which means the connector will constantly pull the child to the parent, regardless of the distance between them – though the strength which which it pulls will depend on how far apart they are.

With no maximum length and the limit of action being determined by the slack length, you might think that the initial length of the connector is irrelevant. However note that Dreams does remember the initial length and uses this to derive the “connector completion” output (see below). Curiously, while you can increase this “initial” length by repositioning connectors to make them further apart, bringing them closer together does not reduce this value.

Elastic doesn’t prevent rotation, unlike the piston and slider, so you can get some really crazy motion with weak elastic. Time to make that bungee jumping simulator!

 

Example Tutorial (adapted from Media Molecule)

  1. Stamp a shape into your scene. This will be the parent.
  2. Start new sculpture and stamp another. This will be the child.
  3. Select the elastic connector and connect the parent to the child shape.
  4. Tweak the child shape and set glow to about 10%.
  5. Tweak the elastic and connect the “connector completion” output to the glow slider input on the shape.
  6. Start time and watch the glow effect change as the child shape bounces around on the elastic.

 

Tweak Menus

Elastic tweaks
  1. Connector Type
  2. Tightness
    2a. Input
    2b. Output
  3. Slack Length
    3a. Input
    3b. Output
  4. Strength
    4a. Input
    4b. Output
  5. Collide with Connected
    5a. Input
    5b. Output
  6. Connector Completion
    6b. Output
  7. Power
  1. Connector Type
    Here you can change the type of linear connector without having to create a new one; the same connection points between parent and child will be maintained.

  2. Tightness
    The tightness setting is a measure of how “stiff” the elastic is, i.e. how much it resists movement and therefore how slowly its connected objects will move relative to each other. At 0% there is no resistance from the connector itself. At 100% the connector is all but rigid, allowing no relative movement between the two connected objects.
  3. Slack Length
    The slack length is the minimum distance beyond which the parent and child must be separated before the elastic applies any force to bring them together. By default, this is set to zero. It can be tweaked here or on the slider that appears when the elastic is selected.
  4. Strength
    The elastic’s strength affects the force with which it tries to pull the child back to the parent if it is beyond the slack length. The overall force also depends on the distance – the further apart they are, the greater the force, so a weak connection that is hugely overstretched will pull harder than a strong connection that is hardly stretched at all.
  5. Collide with Connected
    Toggle this to permit or prevent collisions between the child and parent objects when they come together. When this is switched off, the child and parent will pass through each other regardless of their respective collision settings. When switched on, the objects will behave as normal – colliding if they are configured to do so.
  6. Connector Completion
    This output provides a value from 0 to 1 or more as the child obejct moves further from the parent object, with an output of 0 when the parent and child gizmos are exactly together and 1 at the elastic’s initial length. The initial length is determined at the point that the connection is formed between parent and child but can be extended (though not shortened!) by repositioning the child/connectors. The elastic is unusual among the connectors in that its connector completion output can exceed 1; the output value is based on multiples of that initial length.
  7. Power
    The power input for the elastic retains the connection but disables the outputs. It also reduces the tightness to 0%. However the strength remains unaffected so a strong elastic will still exert a higher force, powered off, than a less strong one.
Connectors – common properties (click arrow to reveal)

All connectors are completely invisible in play mode. Even the appearance of the connector in edit mode will depend on the current “Show/Hide” settings (there is a specific option for connectors) or whether you’re working on it now. Similarly the “connector” itself has no physicality. So if you want a connection to appear in your scene, or for objects to bounce off it (for example) you will have to create a separate decorative element in addition to the gadget itself.

With most connectors it is important to connect the two sculptures in the right order – connect the (larger yellow) gizmo to the parent first, then (the smaller blue gizmo) to the child. Flip Selected ConnectorsIf you ever need a quick way to switch the parent and child relationship, select the connector and click on the “Flip Selected Connectors” icon in the context menu.

When you complete the connection you’ll find that, even in edit mode, the imp can no longer move the child in an unconstrained way – it is limited by the connector’s initial range. Instead you have to move the parent itself and the child will follow.

If you want to move the child independently, hover the imp tip over the child object and press the triangle button (“Reposition connectors”) on your controller. In this mode the ends of the connector will start glowing and you’ll be able to reposition the child object freely. Press circle to exit this mode.

Reposition connectors

Never connect two sculptures with multiple connectors. Similarly, never make connections in a loop. Such connections are considered invalid in Dreams and will behave unpredictably, if at all (and may even affect your Scene’s performance). When invalid connections are made, the whole connector will turn blue to highlight it (see in the red ovals added to the image here):

Invalid connectors

Connectors only work with sculptures. To connect paintings you have to cheat a little and include an invisible sculpture in a group with the painting. Then the connector can be attached to the group.

 

Lex Tips

Useful Tutorials

Advertisements

One thought on “Logic Gadgets: Elastic

Add yours

Comments and Feedback

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

Up ↑

%d bloggers like this: