M
M
MYTY
MYTY Kit
Search
K

Physics 2D

This section describes how to create physics-based animations.

Applying Physics Preview

What kind of animation can be created by applying physics?

  • The built-in Physics Engine in Unity handles the physics for gameobject interactions and the various effects like gravity, acceleration, collisions, etc.
  • For the NFT avatar, you might want to use the hinge joint for the hair simulation or the spring joint for jiggling

Overview: How to apply physics in Unity

  • In order to create these types of simulations, you will need to implement 2D physics something that Unity excels at.
Hinge joint2D
Spring joint2D

Hinge joint2D - ENG Tutorial

Hinge Joint2D (ENG)

Hinge joint2D - KOR Tutorial

Hinge Joint2D (KOR)

Spring joint2D - ENG Tutorial

Spring Joint2D - part 1 (ENG)
Spring Joint2D - part 2 (ENG)

Spring joint2D - KOR Tutorial

Spring Joint2D - part 1 (KOR)
Spring Joint2D - part 2 (KOR)

Settings for specific cases

Case 1: an example of physics acting in the same direction as gravity

  1. 1.
    Bones are set up and positioned at an irregular location
  2. 2.
    No 2D Box Collider is needed for the head bone

Setup

  • Apply weight of the helmet part to static or higher hierarchy bone in this case, BoneHead.
  • Apply evenly distributed weight to the strap with the desired number of bones. 6 bones are used to execute a chain-like movement.
Helmet bone hierarchy example

Problem

  • The root bone of the strap becomes disjointed when the scene is played.
    • This is caused when the Body Type of the [Rigidbody 2D]component is set to Dynamic
Problem - the root bone of the strap is disjointed with helmet

Solution

  • Apply Static for Body Type
  • This will result root bone of the strap following its mother bone when the scene is played.
Body Type: Dynamic -> Static
Bones behave correctly along with helmet

Finessing edges of the sprite image

  • Problem
    • by Default, in [Hinge Joint 2D], there’s no limit is set in angles that will cause breaking edges when the avatar is projecting dynamic movements.
  • Solution
    • Apply angle limits by enabling the check box of Use Limits and input values in Angle Limits
  • For this particular image, It’s best to have a direct child bone, which is the 2nd bone of the strap, and leave other bones under it without any Angle Limits applied.
Problem - The edges of the strap look broken because there is no limit on the angle of movement.
By limiting the angle of movement of the strap, the strap edges are not broken.

Case 2: an example of physics acting in the opposite direction to gravity.

  1. 1.
    Bones are set up and positioned at an irregular location
  2. 2.
    Needs to bleed out of the scene
  3. 3.
    Needs to float upwards
Setup
  • Apply weight to the head part to static or higher hierarchy bone in this case, BoneHead.
  • Apply evenly distributed weight to the rainbow with the desired number of bones. 3 bones are used to execute a chain-like movement.
Finessing for the expected outcome
  • To bleed out the image outwards, reposition the last bone upwards
  • Since the Rainbow needs to float, set Gravity Scale to a negative value in [Rigidbody 2D]
  • It’s best to have direct child bone, which is the 1st bone of the rainbow, in Static for Body Type in [Rigidbody 2D]
  • Apply angle limits for the remaining bones by enabling the check box of Use Limits and input values in Angle Limits
Enter a negative value for Gravity scale
For 1st bone of chain-movement, set 'Body Type' to 'Static'
Result
  • Rainbow bleeds out
  • Limited angle set to minimize movements of the rainbow
Rainbow is acting in the opposite direction to gravity