Unity事例ノート

UNITY

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

マウスでドラッグして、オブジェクトを動かせるように、スクリプトを作成してみましょう。

今回の例では、3つのオブジェクトを用意して、それぞれマウスで掴んで移動できるようにします。

関連記事:
マウスカーソルについていくオブジェクト
マウスカーソルに追従して左右に移動
クリックした空間にオブジェクトを置く
クリックした場所にオブジェクトを置く

オブジェクトをドラッグで移動する

Cube、Sphere、Capsuleを作成し、横並びに配置しました。

ObjectMove.csを作成し、3つのオブジェクトにそれぞれ追加します。

ObjectMove.csを記述します。

ドラッグは、OnMouseDrag()を使います。

マウスカーソルの位置については、奥行き(Z)が不明です

そのため、オブジェクトのワールド座標を、スクリーン座標に変換してVector3型で取得。

カーソル位置のZ座標は、オブジェクトのZ座標として設定しています。

Vector型のカーソル位置を、ワールド座標に変換して、これをオブジェクトの位置としています。

ゲームプレイして、オブジェクトをドラッグで動かしてみましょう。

それぞれのオブジェクトをつかんで動かせるようになりました。

関連記事:
マウスカーソルについていくオブジェクト
マウスカーソルに追従して左右に移動
クリックした空間にオブジェクトを置く
クリックした場所にオブジェクトを置く