facebook twitter hatena line email

「Unity/3d/アニメーション/追跡」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(追跡アクション追加)
(追跡アクション追加)
行1: 行1:
 
==追跡アクション追加==
 
==追跡アクション追加==
 
#敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加
 
#敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加
#床オブジェクトにNavMeshを追加するために、下の項目の手順を行う。
+
#床オブジェクトのstaticにチェックをつける
 +
#Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。
 
#敵オブジェクトのAddComponentsからNavMeshAgentを追加
 
#敵オブジェクトのAddComponentsからNavMeshAgentを追加
 
#敵オブジェクトに以下csのようにNavMeshAgentを追加
 
#敵オブジェクトに以下csのようにNavMeshAgentを追加
 
#障害物オブジェクトを設置してstaicにチェックを入れる。
 
#障害物オブジェクトを設置してstaicにチェックを入れる。
 +
#障害物オブジェクトにもBakeを設定する。
 
<pre>
 
<pre>
 
using UnityEngine.AI;
 
using UnityEngine.AI;
行31: 行33:
 
}
 
}
 
</pre>
 
</pre>
 
===床オブジェクトにNavMeshを追加===
 
#床オブジェクトのstaticにチェックをつける
 
#Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。
 
  
 
参考:https://unity.moon-bear.com/3d%E3%83%9B%E3%83%A9%E3%83%BC%E3%82%B2%E3%83%BC%E3%83%A0%E3%80%8C%E3%82%B9%E3%82%B1%E3%82%A2%E3%82%AF%E3%83%AD%E3%82%A6%EF%BC%9A%E5%BB%83%E6%9D%91%E3%81%AE%E6%81%90%E6%80%96%E3%80%8D/navmesh%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%8C%E8%BF%BD%E3%81%84%E3%81%8B%E3%81%91%E3%81%A6%E3%81%8F%E3%82%8B%E6%95%B5%E3%82%AD%E3%83%A3%E3%83%A9%E3%80%8D%E3%82%92%E4%BD%9C%E3%82%8B/
 
参考:https://unity.moon-bear.com/3d%E3%83%9B%E3%83%A9%E3%83%BC%E3%82%B2%E3%83%BC%E3%83%A0%E3%80%8C%E3%82%B9%E3%82%B1%E3%82%A2%E3%82%AF%E3%83%AD%E3%82%A6%EF%BC%9A%E5%BB%83%E6%9D%91%E3%81%AE%E6%81%90%E6%80%96%E3%80%8D/navmesh%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%8C%E8%BF%BD%E3%81%84%E3%81%8B%E3%81%91%E3%81%A6%E3%81%8F%E3%82%8B%E6%95%B5%E3%82%AD%E3%83%A3%E3%83%A9%E3%80%8D%E3%82%92%E4%BD%9C%E3%82%8B/

2020年6月9日 (火) 02:48時点における版

追跡アクション追加

  1. 敵オブジェクトにAddComponentsでRigidbodyとCapsuleColliderを追加
  2. 床オブジェクトのstaticにチェックをつける
  3. Window/Navigationから床オブジェクトを選択し、Bakeタブを選択しBakeボタンを押す。
  4. 敵オブジェクトのAddComponentsからNavMeshAgentを追加
  5. 敵オブジェクトに以下csのようにNavMeshAgentを追加
  6. 障害物オブジェクトを設置してstaicにチェックを入れる。
  7. 障害物オブジェクトにも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);
        }
    }
}

参考:https://unity.moon-bear.com/3d%E3%83%9B%E3%83%A9%E3%83%BC%E3%82%B2%E3%83%BC%E3%83%A0%E3%80%8C%E3%82%B9%E3%82%B1%E3%82%A2%E3%82%AF%E3%83%AD%E3%82%A6%EF%BC%9A%E5%BB%83%E6%9D%91%E3%81%AE%E6%81%90%E6%80%96%E3%80%8D/navmesh%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%8C%E8%BF%BD%E3%81%84%E3%81%8B%E3%81%91%E3%81%A6%E3%81%8F%E3%82%8B%E6%95%B5%E3%82%AD%E3%83%A3%E3%83%A9%E3%80%8D%E3%82%92%E4%BD%9C%E3%82%8B/