Unity – Physics 3D – Basics

Videogames Development – Unity – How to add Physics 3D

ADD PHYSICS

Setup the Physics 3D engine

MAIN TOP MENU> Edit> Project Settings> Physics> Inspector> Gravity (default: T=-9.81 ms2)

Create a Sphere over a Box, the Sphere will fall and will collide overe the box

1. Hierarchy> select Sphere
2. MAIN TOP MENU> Component> Physics> Rigidbody
3. Hierarchy> select Sphere> Inspector> Rigidbody> setup parameters
4. Hierarchy> select Sphere> Inspector> ‘Add Component Button’> Physics> Mesh Collider
5. Hierarchy> select Sphere> Inspector> Mesh Collider> setup parameters

6. TOP CENTER> click over ‘Play’ button, the Sphere will fall
7. TOP CENTER> click over ‘Play’ button, to stop simulation

8. Hierarchy> select Box
9. MAIN TOP MENU> Component> Physics> Box Collider
10. Hierarchy> select Box> Inspector> Box Collider> setup parameters

11. MAIN TOP MENu> Assets> Create> Physics Material
12. ‘Assets’ window> select New Physics Material> Inspector> setup Friction / Bounciness

13. Hierarchy> select Sphere> Mesh Collider> Material> New Physics Material, assign material
14. Hierarchy> select Box> Box Collider> Material> New Physics Material, assign material

15. TOP CENTER> click over ‘Play’ button, now there is collision
16. TOP CENTER> click over ‘Play’ button, to stop simulation

Colliders

Inspector> ‘Add Component’> Physics

– Box Collider
– Sphere Collider
– Capsule Collider

– Mesh Collider

– Whell Collider

– Terrain Collider

COMPLEX MESH

To simulate Physic with complex mesh you can:

– use a group of simple colliders to simulate the shape (Create a group using parent-child features inside Hierarchy)
– use a low resolution mesh + Mesh Collider

MESH COLLIDER DOES NOT WORK!

The collide engine uses the polygon face normals to simulate collisions. To revert normal try:

Hierarchy> Select mesh> Mesh Collider> check ‘Convex’, re-simulate

Rigid Bodies Properties

Inspector> Rigidbody

Mass: maggiore massa, minore reazione alla collisione

Drag: resistenza al movimento, maggiore resistenza, più velocemente arriva allo stato di quiete

Angular Drag: resistenza angolare al movimento, maggiore resistenza, più velocemente arriva allo stato di quiete

Use Gravity: you can setup gravity MAIN TOP MENU> Edit> Project Settings> Physics> Gravity
– default: Y= -9.81 ms2
– platform: low gravity it is great!
– special effects: add agravity in X or Z

Is Kinematic: se è selezionato, l’oggetto può essere manipolato con muovi-ruota-scala, influenza la fisica degli altri oggetti ma la fisica non lo influenza. Un esempio di oggetto ‘Is Kinematic’ è la racchetta del gioco PONG o di BREAKOUT. Questo oggetto NON forza il ricalcolo della fisica ad ogni frame.

Interpolate:
– None (default)
– Interpolate: smussa il movimento in base al frame precedente
– Extrapolate: smussa il movimento in base al frame previsto successivo

Collision Detection:
– Discrete (default)
– Continuos: it is for fast moving objects that are interacting with static geometry
– Continuos Dynamic: it is for fast moving objects that are interacting with other dynamic objects

Constraints:
Blocca la rotazione o la posizione di un oggetto durante una reazione alla fisica. Ad esempio per un TETRIS i tasselli possono cadere, impilarsi ma non ruotare.
– Position XYZ
– Rotation XYZ