Unity事例ノート

UNITY

オブジェクトを掴んで動かす

MainCameraを斜めアングルから撮影した状態で、オブジェクトを掴んで動かせるように、スクリプトを作成してみましょう。

マウスでドラッグでSphereを持ち運び、床の上を移動させることができます。

関連記事:
オブジェクトを掴んで動かす(Zを固定)
マウスカーソルについていくオブジェクト
マウスカーソルに追従して左右に移動
クリックした空間にオブジェクトを置く
クリックした場所にオブジェクトを置く

マウスで掴んで床の上を動かす

PlaneとSphereを作成します。

PlaneのY座標は-0.5にして、Sphereを地上に出します。

MainCameraの位置と回転を変えて、斜めからのアングルで映るようにします。

ゲームビューではこのように見えています。

GrabObject.csを作成し、Sphereに追加します。

GrabObject.csを記述します。

ゲームプレイして、動きを確認しましょう。

ドラッグすれば、オブジェクトを持ち運ぶことができます。

OnMouseDrag()は、ドラッグしている間ずっと呼び出されます。

このままではドラッグ中、SphereにRayが照射され、微妙に位置ズレしてしまいます。

Planeに対して照射させるために、クリックボタン押下時にコライダーをFalseに、離した時にTrueにしています。

コンソールを見ると、照射オブジェクトにPlaneの名前が確認できます。

関連記事:
オブジェクトを掴んで動かす(Zを固定)
マウスカーソルについていくオブジェクト
マウスカーソルに追従して左右に移動
クリックした空間にオブジェクトを置く
クリックした場所にオブジェクトを置く

SCHOOL教室案内