【Unity】GameObjectをバウンドさせる

f:id:s44511173:20190718125404g:plain

ステージ開始直後、machokoさんが集めるアイテムが空から降ってきます。降ってきたアイテムは、床に落ちるとバウンドしていますね。

今回は、このバウンドについてご紹介します。

Physic Materialを利用する

Physic Materialとは、物理特性マテリアルのことを指しています。これをコライダにアタッチすることで、バウンド等の物理特性を追加することができます。

物理特性マテリアルは、メニューバーから Assets > Create > Physic Material を選択して作成します。

どうでもいいけど、Physicってスペルがなかなか覚えられない。あと、Quaternionも覚えられない。VS使っていれば入力候補が出てくるから問題ないけど、ブログ等で自力でスペルを書かなければいけないときは、調べないと書けないw

あーそうか、入力候補が出てきちゃうから覚えられないのか・・・。

パラメータを調整する

Physic Materialのパラメータには、以下があります。

  • Dynamic Friction・・・移動に対する摩擦の大きさ(0~1)
  • Static Friction・・・停止に対する摩擦の大きさ(0~1)
  • Bounciness・・・バウンドの大きさ(0~1)
  • Friction Combine・・・摩擦の計算方法
  • Bounce Combine・・・バウンドの計算方法

数値だけで動きを想定するのは難しいので、実際に動かしてみて、いろいろ調整してみるのが良さそうです。今回は、次のように設定しました。

 f:id:s44511173:20190718131439p:plain

 初期値から、Bouncinessしか変えていませんwそれでもなんとなく、うま~い具合に動いてくれちゃうのがUnityのすごいところ!

 f:id:s44511173:20190718131640p:plain

作成したコイツを、バウンドさせたいアイテムのコライダのMaterialにD&Dすれば完了です!なんてすばらしいw

 

結論

  • 物体をバウンドさせたい時は、Physic Materialを使用する
  • Physic Materialのパラメータは、実際に動かしながら調整するのが良い
  • VSの入力候補は、人間をダメにする(そんなことはない)