【Unity】GameObjectをバウンドさせる
ステージ開始直後、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・・・バウンドの計算方法
数値だけで動きを想定するのは難しいので、実際に動かしてみて、いろいろ調整してみるのが良さそうです。今回は、次のように設定しました。
初期値から、Bouncinessしか変えていませんwそれでもなんとなく、うま~い具合に動いてくれちゃうのがUnityのすごいところ!
作成したコイツを、バウンドさせたいアイテムのコライダのMaterialにD&Dすれば完了です!なんてすばらしいw
結論
- 物体をバウンドさせたい時は、Physic Materialを使用する
- Physic Materialのパラメータは、実際に動かしながら調整するのが良い
- VSの入力候補は、人間をダメにする(そんなことはない)