[Unity] Physic Material: 跳ね返り

物理エンジンを使った跳ね返りの設定です。オブジェクトのこういった挙動も簡単に設定でき、自分で自由落下の計算をしてプログラムする必要がありません。
 
bounce_2

Unity 2017.1

 




Bounciness

 
大まかな手順は;

 

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_2
 
Ball1にこのPhysic Materialを追加
 
bounce_3
 
Ball1のInspectorにPhysic Materialが反映しています
 
bounce_4
 
Physic 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

ページのトップへ戻る





シェアする

  • このエントリーをはてなブックマークに追加

フォローする