[Unity] Physic Material: 跳ね返り

物理エンジンを使ってGameObjectの跳ね返りを設定してみます

bounce_2

Unity 5.4.2f2

 

sponsored link

Bounciness

 
大まかな手順は;

  1. Rigidbodyを設定
  2. Physic Material を生成してGameObjectに追加

 

Rigidbodyを設定

 
GameObjectのCubeから
Ball1とFloorを作ります
Ball1はFloorからY軸の上に配置
 
bounce_0
 
Ball1を選択した状態から
「Component」->「Physics」->「Rigidbody」
と設定します
デフォルトでは「Use Graviry」に
チェックが入っています
 
bounce_1

 

Physic Material を生成してGameObjectに追加

 
「Project」->「Create」->「Physic Material」
を生成します
 
bounce_2Ball1にこのPhysic Materialを追加する
 
bounce_3Ball1のInspectorに
Physic Materialが反映しています
 
bounce_4Physic Material の「Bounciness」を
例えば「1」に設定
0~1の間の値をとる反発係数です
 
bounce_5
 


 
これでGameで見てみると
Ball1がFloorにぶつかって跳ねるのがわかります
 
bounce_2
 

RigidbodyをFloorに設定

 
下の例は
Floorにも同じPhysic Materialを「1」の反発係数を追加したところ、Ball1の跳ね返りが継続するようになりました。ブロック崩しなどで壁とボールの関係です。

Ball2を生成して(左のボ-ル)このボールにはPhysic Materialを追加しないと、Floorだけの反発が起き、減衰して止まります。
 
bounce_3
 
Reference:
Physic Material

ページのトップへ戻る
 
sponsored link
  • このエントリーをはてなブックマークに追加