何度か思い出したくなるので、
メモ帳代わりに記事として残しておきます。
こんな感じに↑↑動くぞ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
public GameObject player; //①動かしたいオブジェクトをインスペクターから入れる。
public int speed = 5; //オブジェクトが自動で動くスピード調整
Vector3 movePosition; //②オブジェクトの目的地を保存
void Start()
{
movePosition = moveRandomPosition(); //②実行時、オブジェクトの目的地を設定
}
void Update()
{
if(movePosition == player.transform.position) //②playerオブジェクトが目的地に到達すると、
{
movePosition = moveRandomPosition(); //②目的地を再設定
}
this.player.transform.position = Vector3.MoveTowards(player.transform.position, movePosition, speed * Time.deltaTime); //①②playerオブジェクトが, 目的地に移動, 移動速度
}
private Vector3 moveRandomPosition() // 目的地を生成、xとyのポジションをランダムに値を取得
{
Vector3 randomPosi = new Vector3(Random.Range(-7, 7), Random.Range(-4, 4), 5);
return randomPosi;
}
}
①『プロジェクト』内で ⇒ 右クリック ⇒ 作成 ⇒ C#スクリプト ⇒ 名前を Playerに設定してから、Playerスクリプトをダブルクリック、上記のコードをコピペで張り付ける。
②『ヒエラルキー』内で ⇒ 右クリック ⇒ 3Dオブジェクト ⇒ キューブを作成(移動させたいオブジェクトを作成)
③『プロジェクト』内から、①で作成したPlayerスクリプトをドラッグして、②で作成したキューブにアタッチ(ヒエラルキー内にあるキューブに乗せる)してください。
④後は、『ヒエラルキー』にある②で作成したキューブをクリック(指定)してから、『ヒエラルキー』のキューブをドラッグして、『インスペクター』内にあるPlayer(スクリプト)の中のプレイヤーの場所に置く。
⑤後は、真ん中上の再生ボタンを押すと、オブジェクトが自動的に動くぞっ!
※ちなみに『インスペクター』内にあるPlayer(スクリプト)の中の速度を変えると、速くなったり遅くなったりできるぞ。
めちゃめちゃ汚いコードかもしれません、すいません、本当すいません。
あくまで自分のために残しておきたいコードという事をご了承ください、すいません。
メモ帳代わりに記入しているだけなのでお手柔らかに。
「こういう書き方すると良いんだけどな~」と言う方はコメントによろしくお願いします!