Unity事例ノート

UNITY

抗力を取得して滑りを止める

滑り落ちるオブジェクトを、抗力をつかって静止できるように制御してみましょう。

物理マテリアルで、Cubeが斜面をすべります。

スペースキーを押せば、抗力が上昇し、ストップが効くようになります。

オブジェクトの準備

Cubeオブジェクトを作成し、名前をFloorに変更。

サイズを変更します。

もう一つCubeを作成し、座標を変更しましょう。

Cubeにリジッドボディを追加します。

CubeをFloorの中にドラッグ&ドロップして、親子関係を取ります。

Floorを選択し、Zを30度傾けます。

Cubeをドラッグ&ドロップして、親子関係を外します。

ゲームビューではこのように表示されています。

物理マテリアル

続いて、Cubeに物理マテリアルをつけ、滑り落ちるように設定します。

プロジェクトビュー内で右クリック > 作成 > 物理マテリアル

NewPhysicMaterialを、Cubeに追加します。

DynamicFriction と StaticFriction、そしてFrictionCombineの設定を変更します。

ゲームプレイしてみましょう。

物理が有効になり、Cubeが斜面を滑り落ちていきます。

抗力を取得してキー操作で制御

次は、滑っていくCubeを止める仕組みです。

DragStop.csを作成し、Cubeに追加しましょう。

DragStop.csを記述します。

ゲームプレイしてみましょう。

スペースキーを長押している間は、抗力20がはたらいてCubeが静止。

キーを離せば、再び抗力が0.2に戻り、斜面を滑り落ちます。