3D LookAtを使って敵をこちらに向けさせる Vector3.Lerpを使って動かす
using UnityEngine;
using System.Collections;
public class hogehoge : MonoBehaviour {
[SerializeField] GameObject enemy;
// Update is called once per frame
void Update () {
enemy.gameObject.transform.LookAt (this.gameObject.transform);
}
}
ざっくりと簡単に
Magica Voxelで作成したひよこを今回使ってます。
一番最初にスクリプトをバンッと書いておきましたが、難しい事は特に書いていません。
LookAtを使うとターゲットとなるenemyというGameObjectを掴んでenemyに対象を向けさせます。
Sphereオブジェクトを作ってその中に一番最初に書いたスクリプトを追加します。
そのあとにSphereのある方向に向いてほしいオブジェクトをenemyの中に突っ込みます。そして再生するとこんな感じに
ボールはScene画面から自分でドラッグして動かしてます。動かすとひよこはボールの方向に向きを変えます。
そしてUpdateにこちらを追加して下さい。
enemy.gameObject.transform.position = Vector3.Lerp(enemy.gameObject.transform.position,this.gameObject.transform.position, Time.deltaTime);
そうすると・・・
ボールを追いかけるようになります。
Vector3.Lerpですが、こちらはaとbを結ぶ直線状をt=0~1で考えられていて、0.5fだとちょうどaとbの真ん中にあたります。
Vector3.Lerp(aのポジション, bのポジション, tの値)
となります。久しぶりに3Dをさわりましたが、3Dもやっぱり面白いですよね。