【Unity】ターゲットを固定する方法!誰でもできます!

Unity Unity

ターゲットを固定する方法!誰でもできます!

今回は、ターゲットを固定する方法を解説します。

Unityを使ってゲーム制作をする際に敵キャラクターをプレイヤーがロックオンできるようにしたいと思う場面があると思います。

今回は、そんな時に役立つ方法を解説します。

Transform.LookAtを使おう!

Transform.LookAtとは?

対象のTransform(向いている方向)を設定し、その方向へ向かせます。

スクリプトを作成

ターゲットを固定するためのスクリプトを書いていきます。

Assets→Create→C#Script

Add-Script

 

ターゲットを固定するためのスクリプトのなので、スクリプト名はLockOnにします。

LockOnスクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LockOn : MonoBehaviour
{
public GameObject target;//ターゲットとなるオブジェクトを取得

//ターゲットの方向を向き続けたいので、Update関数に書く
void Update()
{
transform.LookAt(target.transform);//ターゲットのほうを向く
}
}

playerとtargetの追加

動いているターゲットをみるPlayerオブジェクトとターゲットとなるtargetオブジェクトを追加します。

まずは、Playerを作成します。

Hierarchy→3D Object→Cube

Create-Cube

今回はCubeをPlayerにします。分かりやすいように名前をPlayerに変更しておきましょう!

次にtargetを作成します。

Hierarchy→3D Object→Sphere

Create-Sphere

今回は、Sphereをターゲットにします。分かりやすいように名前をtargetに変更しておきましょう!

Assetsフォルダにあるだけでは、スクリプトを使うことはできないので、先ほど作成したスクリプトをPlayerにドラックアンドドロップして追加します。

Add-LookOn

最後に、LockOnスクリプトにtargetオブジェクトをドラックアンドドロップで追加して終了です。

実行結果

実行してからtargetオブジェクトをInspectorのtransformをいじって移動させてみてください。targetオブジェクトが移動した方向にPlayerオブジェクトが向きます。

実行結果

まとめ

今回は、Transform.LookAtを使ってターゲットを固定できるようにしました。

とても簡単にできるので、ぜひやってみてください!

コメント

タイトルとURLをコピーしました