Rigging - Swing Bones
Make wings, tails, lapels, hair, and other mesh objects move with physics at runtime
Swing Bone Setup
Swing bones are added to the armature in edit mode. In Blender, bones are added using the add menu. Align the created bones to the elements of the model that need to move using the move, rotate, and scale tools. Please change the names of these added bones to something descriptive to their intended role. An example of a nice, descriptive name could be “LeftAntennaBase.”
Related swing bones should be linked together in a parented chain. Using the extrusion tool can be useful for quickly creating these chains. Otherwise, manual parenting can be required. The structure of these parented bones show up in the hierarchy like so:
To enable swing bone physics to a bone, the bone needs to have its name altered to include “_physics_[A]_[B]_[C],” where A, B, and C represent integer numbers for drag, angleDrag, and restoreDrag respectively. Physics will also be applied to any child bone of the renamed bone, and its respective children. To change the physics properties of other bones in the chain, add the “_physics_[A]_[B]_[C]” naming convention to the bones with edited parameters.
Items must have weights bound to the swing bone chain for the physics to behave properly. If the item is already bound to the armature, you can manually add weight vertex groups to the mesh with names that correspond to the bones. Paint weights to fit the bone structure like in the Rigging Guide.
- The drag parameter affects the amount of sway imparted on the bone.
- Lower drag values will impart a greater amount of swing
- Higher drag values will impart a more stiff movement
- Typical drag value parameters range from 7-17
- The angle drag parameter adjusts the maximum rotation range for the bone.
- Lower angle drag values impart a higher range of motion
- Higher values impart a smaller range of motion
- Typical angle drag parameters range from 10-25
- The restore drag parameter adjusts the rate of the bone’s return to 0
- Lower values impart a slower return to 0
- Higher values impart a quicker return to 0
- Typical restore drag parameter values range from 15-30
10 is the drag value, 15 is the angle drag, and 20 is the restore drag value.
Precautions for swing bones
- If the bones are too close to each other or there are too many bones in the chain, the movement of the swing bone object may look unnatural.
- It is recommended to use between 2-5 added bones per bone chain at one time.
- Align the bone orientation of the swing bones. Otherwise, there may be problems when the rotation value is calculated in app
- Bone axis alignment can be adjusted in edit mode using the automated tool in Armature > Bone Roll > Recalculate Roll, or by manual adjustment with the bone roll tool
- When tuning physics values, start with a drag value of 10, an angle drag value of 15, and a restore drag value of 20, and make adjustments from there.
- Please test the swing bone weight painting to ensure that the model does not behave improperly when the bones are moved
Precautions for Making Swing Bones For Hair
- It’s important to check on the swing bone’s behavior on the hair item. Check that when the swing bone hair moves, the inside of the hair geometry or the interior of the mask does not show.
- Particularly when making fringes and bangs, make sure the hair does not go through the face when it moves.
It is recommended to not set swing bones for bangs.
- For long hair, make sure that weights haven’t been mistakenly added to other parts of the hair mesh. It's possible to paint bone weights on mesh elements in the background unintentionally, so double check your weights before exporting.
Swing bone reactivity must be tested in Unity or ZEPETO Studio. To test the item’s swing bone reactivity, export the item from Blender, and import and convert the item in Unity.
- Parameters for swing bones can be accessed and edited in the item’s Unity prefab! Check under the item’s bones and change the numbers in the bone name.
Unity may not show the swing bones working at the proper speed. Swing bone speed will be most accurate in ZEPETO Studio.
Updated 3 months ago