オブジェクトを、特定の座標まで行くように、スクリプトを作成してみましょう。
Cubeが目的の位置に向かって移動し、到着すれば停止。
Vector3.MoveTowards()を使えば、目的地点とスピードを設定することができます。
MoveTowardsで目的位置を指定
Cubeと、空のオブジェクトを作成します。
GameObject(空のオブジェクト)は移動先の地点になります。
適当な場所に配置してください。
続いて、CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float speed = 5.0f; [SerializeField] Transform target; void Update() { transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime); } } |
ターゲットのフィールドに、GameObjectを入れます。
ゲームプレイしてみましょう。
MoveTowardsを使用すれば、目的地の座標や、動くスピードを設定できます。
Vector3.MoveTowards(動き始めの位置, 目的の位置, スピード);
指定したスピードで、現在の位置から、目的の位置に向かって動いていきます。