「Unity/3d/アニメーション/追跡」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→追跡アクション追加) |
|||
| 行1: | 行1: | ||
==追跡アクション追加== | ==追跡アクション追加== | ||
#敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加 | #敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加 | ||
| − | # | + | #床オブジェクトの(名前の横にある)staticにチェックをつける |
#Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。 | #Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。 | ||
#敵オブジェクトのAddComponentsからNavMeshAgentを追加 | #敵オブジェクトのAddComponentsからNavMeshAgentを追加 | ||
2020年10月11日 (日) 15:43時点における版
追跡アクション追加
- 敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加
- 床オブジェクトの(名前の横にある)staticにチェックをつける
- Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。
- 敵オブジェクトのAddComponentsからNavMeshAgentを追加
- 敵オブジェクトに以下csのようにNavMeshAgentを追加
- 障害物オブジェクトを設置してstaicにチェックを入れる。
- 障害物オブジェクトにもBakeを設定する。
using UnityEngine.AI;
public class EnemyController : MonoBehaviour
{
Animator animator;
NavMeshAgent agent;
void Start()
{
animator = GetComponent<Animator>();
if (GetComponent<NavMeshAgent>() != null)
{
agent = GetComponent<NavMeshAgent>();
agent.updateRotation = false;
agent.updatePosition = true;
}
}
void Update()
{
GameObject target = GameObject.Find("Main Camera");
if (target != null && agent != null)
{
agent.SetDestination(target.transform.position);
}
}
}
