Unity 敵やプレイヤーの追尾機能を実装・生成[コピペOK]動画あり(所要時間3分)
スポンサーリンク
今回はenemyオブジェクトがplayerオブジェクトを追尾する機能を実装した。これを実装することによって、シューティングゲームにおける自機を追尾する弾などをプロジェクトに導入することができる。
以下が使用したスクリプト(homing)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class homing : MonoBehaviour
{
public Transform player; // プレイヤーオブジェクトのTransform
public float moveSpeed = 5.0f; // 敵の移動速度
void Update()
{
if (player != null)
{
// プレイヤーの位置を向く
transform.LookAt(player);
// プレイヤーに向かって移動
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
}
}
}
このスクリプトでは、playerに設定したオブジェクトをenemyに設定したオブジェクトが追尾するというもので、publicとして宣言しているため、unityの操作によって後から対象を変更できる。また、追尾速度はデフォルトで5にしていますが、C#スクリプト内で変更することもUnity上で変更することも可能です。
手順
↓参考動画 文字での説明は動画下にあります。
スポンサーリンク
・・・
・・・
スポンサーリンク
- 敵オブジェクト(enemy)とプレイヤーオブジェクト(player)を作成
- 新規C#スクリプト(homing)を作成(右クリック→create→C#スクリプト)
- C#スクリプトに上コードをコピー&ペースト、保存
- homingをenemyにアタッチ
- enemyを選択し、InspectorビューのhomingにあるPlayer右枠にHierarchyビューのplayerをドラッグ&ドロップ
enemyの追尾速度はMove Speedを変更することによって可能です。
今回は、オブジェクトの追尾機能の実装方法を説明しました。
他にも、サインカーブを描いた軌道で追尾させたりも可能なので、
いろいろ試してみてください。
他の記事
スポンサーリンク
Unity オブジェクトを光らせる・シーンの変更方法[コピペOK](各所要時間4分)
Unity オブジェクト移動と鏡の作り方[コピペOK](所要時間5分)
Unity シューティングゲーム プレイヤー移動と弾の実装・生成[コピペOK](所要時間5分)
unity カメラと動くオブジェクトとの距離を一定保つ方法[コピペOK](所要時間4分)
スポンサーリンク