オブジェクトを、特定の座標まで行くように、スクリプトを作成してみましょう。
Cubeが目的の位置に向かって移動し、到着すれば停止。
Vector3.MoveTowards()を使えば、目的地点とスピードを設定することができます。
関連記事:
【Unity C#】ターゲットに向かって直線的に進む方法
【Unity C#】空間の中でクリックした位置へ行く
MoveTowardsで目的位置を指定
Cubeと、空のオブジェクトを作成します。
CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float speed; public Transform target; void Start() { speed = 0.1f; target.transform.position = new Vector3(5.5f, 3.2f, -2.8f); } void Update() { transform.position = Vector3.MoveTowards(transform.position, target.position, speed); } } |
ターゲットのフィールドに、GameObjectを入れます。
ゲームプレイしてみましょう。
MoveTowardsを使用すれば、目的地の座標や、動くスピードを設定できます。
Vector3.MoveTowards(現在の位置, 目的の位置, スピード);
指定したスピードで、現在の位置から、目的の位置に向かって動いていきます。
関連記事:
【Unity C#】ターゲットに向かって直線的に進む方法
【Unity C#】空間の中でクリックした位置へ行く