Logic Gadgets: Ball Joint

Icon balljoint
Name of gadget Ball Joint
Section Connectors
Number of Tweak pages 1 (of 3 rotational connector types)
Author LadylexUK, QuietlyWrong
Last updated 07 August 2019 [EA v1.07]

Description

The Ball Joint connector is used to connect two elements together about a fixed pivot point but with a high degree of freedom of movement. In its basic form, the child object is able to rotate about the pivot in all three rotational axes. However there is no freedom to move closer or further away – this is purely a rotational connection.

You might use it to add shoulder or hip joints, for example, and it’s possible to tweak the joint to limit rotation so as to avoid your creatures making creepy over-rotational movement, like legs bending backwards (unless that’s what you want, of course)!

As with other connectors, you use it by first connecting it to the parent object, then to the child. A third gizmo, the “pivot gizmo” will appear between the two and can then be dragged into position – all rotation will be centred at the pivot. The image here shows the gizmos from top to bottom – parent, pivot and child. There is also a highlighted volume here, extending from pivot to child gizmo, which shows that the ball joint has been tweaked to limit its range of movement – the highlighted volume indicates the movement limits.

ball jont gizmos

A great tip, if you do want to limit the range of rotation of this joint, is to line up the parent and child at the mid-point of their movement before adding the ball joint. For example if connecting an elbow joint, put the forearm at almost right angles to the upper arm before adding the connector. This will make it easier to stop the arm from bending backward.

 

Example Tutorial (adapted from Media Molecule)

  1. Let’s make a simple joystick – a squarish base with a stick from the top that can be controlled.
  2. Start with sculpt mode and make a joystick base. Just stamp a cube or make any shape you like.
  3. Start new sculpture and stamp a cylinder for the stick. Feel free to make it long and skinny, shape it as you like.
  4. Exit back to assembly mode and (if necessary) align the stick to the base in a centred position until you’re happy with your joystick model.
  5. From the gadgets menu, select the ball joint connector.
  6. Connect the parent gizmo to the joystick base.
  7. Connect the child gizmo to the joystick stick.
  8. Drag the pivot gizmo to the point where the stick meets the base.
  9. Check that you can now use the imp to pivot the stick.
  10. Tweak the ball joint to lock rotation and use limits.
  11. Now for some logic: stamp down a microchip and open its canvas.
  12. Add a controller sensor to the chip.
  13. Add a splitter gadget to the chip.
  14. Add an advanced mover to the chip.
  15. Tweak the controller sensor to make it remote controllable.
  16. Connect the Left Stick Local output of the controller sensor to the splitter’s input. This will separate the up/down from left/right signals from the left stick.
  17. Connect the left/right output of the splitter (X) to the X Speed input of the advanced mover.
  18. Connect the up/down output of the splitter (Y) to the Z Speed input of the advanced mover.
  19. Set the Y Speed of the advanced mover to zero.
  20. Change Movement Strength of the advanced mover to 100%.
  21. Close the chip’s canvas.
  22. Snap the microchip on to the side of the stick part of the joystick.
  23. Go into play mode from the options menu and try it out.
  24. You might want to return to edit mode and experiment with the tightness and springiness to get the joystick moving as you like.

 

Tweak Menus

ball jont tweaks
  1. Connector Type
  2. Tightness
    2a. Input
    2b. Output
  3. Springiness
    3a. Input
    3b. Output
  4. Collide with Connected
    4a. Input
    4b. Output
  5. Lock Rotation
    5a. Input
    5b. Output
  6. Use Limits
    6a. Input
    6b. Output
  7. Angle Limits Range
    7a. Input
    7b. Output
  8. Connector Completion
    8b. Output
  9. Power
  1. Connector Type
    Here you can change the type of rotational connector without having to create a new one; the same connection points between parent and child will be maintained.

  2. Tightness
    This setting determines the ease with which the joint can be moved by external forces (as opposed to, for example, animation keyframes). At 0%, it can be rotated freely; at 100% it will be difficult to budge.
  3. Springiness
    This setting determines the strength with which the joint attempts to return to its original position. At 0% it has no effect, at 100% it will hold the child element in place. Springiness gives the joint a natural bounce.
  4. 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.
  5. Lock Rotation
    By default, the connector can move on all three rotational axes, but you can activate this toggle to prevent any twisting movements, effectively reducing motion to two axes.
  6. Use Limits
    When this toggle is activated, you can limit the range of movement of the joint between 0º and 180º (see next tweak) – a visual indicator appears when the connector is selected (or its tweak menu is open) to show the maximum range of movement.
  7. Angle Limits Range
    Only available if Use Limits is activated, this tweak allows you to select the maximum range of movement of the ball joint about its pivot.
  8. Connector Completion
    This outputs a value from 0 to 1 as the ball joint twists (torsional rotation) through 180º and then back down to 0 as it completes a rotation. The actual value can be affected by rotation in the other two axes, which can make it an unpredictable source of information.
  9. Power
    The power input for the ball joint retains the connection but disables the outputs. It also reduces the tightness and springiness to 0% as well as turning off any rotation lock or angle limits.
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.

As 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 connection. 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

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.

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: