## Subtitles section Play video

• As a general rule, if you're going to have

• moving game objects in your game

• you should make sure that they are

• rigidbody objects.

• Rigidbodies are components that allow

• a game object to be effected by physics.

• They allow the object to fall under gravity,

• and have physics properties such as mass,

• drag and velocity.

• When we add a rigidbody component

• to a game object we often then refer to it

• as a rigidbody object.

• A rigidbody component is required for any physics

• based interaction, and the game object

• must also have a collider attached

• in order to interact with other physics objects.

• Without a rigidbody our power cube will

• simply hover in mid air.

• But let's see what happens when we add one.

• Like any other component it can be added

• using the Add Component button at

• at the bottom of the inspector, or from

• You will find it under the Physics section.

• Now our object falls under gravity

• and can be controlled by the physics engine

• and any forces that are applied to it.

• Rigidbodies have numerous options.

• Firstly there are settings to control the mass,

• drag and angular drag of the game object.

• The mass of the object effects how collisions

• are treated with the object.

• Game objects with a higher mass will react

• less when collided with a lower mass

• game object.

• The drag of a game object effects how

• quickly it will slow down without

• other interactions.

• Think of it like air resistance.

• It's used to determine the rate of a loss

• of linear velocity.

• Similarly, angular drag effects how

• quickly the game object will slow it's

• angular velocity, i.e. how

• fast it is rotating.

• So for example if you're adding torque

• to the object to rotate it,

• the angular drag will create resistance

• to this force. The next option is

• whether or not the game object is

• effected by gravity.

• By enabling this checkbox we use gravity.

• Settings for gravity can be seen in the

• Edit - Project Settings - Physics area of Unity.

• As you can see it's a 3 dimensional vector

• which by default has a real world

• value of -9.81.

• Because you can customise it globally here

• you could also create interesting effects

• Such as low gravity for a platformer

• or even setting it to a different axis

• as part of a puzzle game.

• For example, let's add gravity to the

• Z axis by a value of 5.

• And now the power cube is pulled towards

• towards the global Z axis.

• The Is Kinematic setting effects whether

• or not a rigid body will react to physics.

• Ordinarily when a scene begins, all static

• geometry, meaning any non-rigidbody objects

• are checked once by the physics engine

• and not checked again for efficiency.

• However when you move a static object

• the physics engine must re-check all other

• static objects for the sake of accuracy,

• and this can be expensive to performance.

• To avoid this, Kinematic rigidbody objects can be used

• and moved via their transform

• by using the Translate function.

• This means that you can have physics objects

• that effect others but are not effected themselves.

• An obvious example of this would be the

• paddle in a Pong or Breakout style game.

• In this example our rigidbody power cube

• has Use Gravity checked.

• When we press play, the object falls to the ground.

• We also have our round prop samoflange ball

• object, which has a similar component setup.

• If the power cube does not have gravity

• then it will not fall under it, but it will

• be effected by other objects.

• If we don't want it to be effected by other

• objects we can use Is Kinematic.

• And as stated we can also move the object

• via it's transform. So we'll make use of

• this simple script, which uses the

• translate function to move it via it's

• forward direction every frame.

• And as you can see, the object still

• interacts with the others but remains a

• rigidbody, so is constantly informing

• the physics engine of it's location

• and not forcing the physics engine

• to re-evaluate the entire scene.

• The Interpolate and Extrapolate settings

• are there to solve jittering.

• If you experience slight movement of your

• object when moving it via it's rigidbody,

• make use of the interpolate setting in order to

• smooth the transform movement based on the

• previous frame. And the extrapolate setting

• to smooth based on a predicted

• location in the next frame.

• The next setting is for the type of

• collision detection. We have Discrete,

• Continuous and Continuous Dynamic.

• The default is discrete and unless you

• have any problems you should use discrete.

• Continuous is for fast moving objects

• that are interacting with static geometry.

• And continuous dynamic is for fast moving

• objects that are interacting with other

• dynamic objects.

• Finally the constraints section of the

• rigidbody component allow you to

• constrain movement or rotation of the object

• by physics. For example, if you

• had a Tetris style game you might not

• want the cubes of your game to rotate

• as they fell in to place. You could constrain

• this using the rotation constraints here.

• In this example our power cube is

• falling on to the workbench. It's a rigid

• body that has Use Gravity checked.

• And as standard it falls like this.

• If we didn't want it to rotate as it falls

• we can freeze the rotation within the constraints.

• And now when it falls, no rotation.

As a general rule, if you're going to have

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it

# Physics Objects (Rigidbodies) - Unity Official Tutorials

• 84 5
朱瑛 posted on 2014/05/02
Video vocabulary