マウスカーソルに追従する動きで、横方向のみ動かせるしくみを作ってみましょう。
このようにマウスを操作しても、オブジェクトが動くのは、X方向のみです。
マウスカーソルの位置をXYZの座標で表せるように、ワールド座標への変換が必要です。
関連記事:
【Unity C#】マウスカーソルについていくオブジェクト
【Unity C#】マウスをドラッグしてオブジェクトを動かす
【Unity C#】クリックした空間にオブジェクトを置く

Y座標を固定させたカーソル追従
Cubeを新規作成します。
CubeMove.csを作成して、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private Vector3 mouse; private Vector3 target; void Update () { mouse = Input.mousePosition; target = Camera.main.ScreenToWorldPoint(new Vector3(mouse.x, mouse.y, 10)); target.y = transform.position.y; this.transform.position = target; } } |
ゲームプレイしてみましょう。
カーソルの動きは、ワールド座標で設定した、mouse.x、mouse.y、10、です。
ここに、target.y = transform.position.y; を入れて、配置したオブジェクトのY座標に固定しています。
関連記事:
【Unity C#】マウスカーソルについていくオブジェクト
【Unity C#】マウスをドラッグしてオブジェクトを動かす
【Unity C#】クリックした空間にオブジェクトを置く
