ロバメモ - 素人のUnity覚書と奮闘記

素人のUnity覚書と奮闘記

ボールをバウンドさせたい Physic Material

やりたいこと

自然落下したボールをバウンドさせたい。

※動画でボールが4つあるのは、バウンドの設定を4種類にして比較したかったため。
左からBounciness値=1:0.8:0.5:0
床:0.5

1:ボール(Sphere)にRigidbodyコンポーネントを追加する

f:id:nico-taniku:20200613143423p:plain:w400

2:Phisic Materialアセットを追加

アセットを追加する。
Create >> Phisic Material
画像の緑色のアイコンがそれに当たる。適宜名前を変更する。
f:id:nico-taniku:20200613144005p:plain:w400

3:Phisic Materialの設定をする

f:id:nico-taniku:20200613144154p:plain:w400
三項目目の Bounciness が弾力性の設定箇所となる。
最大値:1 最小値:0

4:マテリアルをゲームオブジェクト に適用させる

ボールのゲームオブジェクト のインスペクターにSphirer Colliderがあるので、このMaterialに先ほどのPhisic Materialを設定する。
f:id:nico-taniku:20200613145151p:plain:w400

この状態で再生するとこんな感じになる。

もうちょっと跳ねさせたいので、床にも同様の設定をしてみる。

4:床の設定

ボールと同じように、Phisic Materialを作成し、床のゲームオブジェクト に紐付けする。
床のPhisic Materialはこんな感じで、Bounciness 0.5にすると、冒頭の完成動画のようになる。
f:id:nico-taniku:20200613145323p:plain:w400

Phisic Materialの項目について

f:id:nico-taniku:20200613145323p:plain:w400
Dynamic Friction:動いている状態での摩擦力
Static Friction:静止状態での摩擦力
この摩擦力は、0の時は氷のように滑りやすく、1の時は強い力で押さないと動かない。傾斜に乗ってるオブジェクトの設定などで使うと思われる。
Bounciness:弾力性
Friction Combine:衝突するオブジェクト間の摩擦力の計算方法
Bounce Combine:衝突するオブジェクト間の反発力の計算方法
この2つの項目は選択制になっている。
Average:平均値
Minimum:最小値
Maximum:最大値
Multiply:掛け合わせた値

参考:物理特性マテリアル - Unity マニュアル

以上。