キャラクターの自動パスファインディング

この号では自動パスファインディングについて説明します。Unity にはメインキーとして強力なエンジンとコンポーネント NavMeshAgent があり、数行のコードを使用してキャラクターのブレーキパスファインディング機能を解決できます。

自動経路検索を完了するには、まずこの主キーを追加し、地形を選択して静的に設定する必要があります。

 

次に地形をベイクします

 次にベイクを選択し、そこで使用するベイクを選択します

次にコードセグメントですが、ここでは UnityEngine.AI を使用して AI の名前空間を導入する必要があることに注意してください。

  public class Animators : MonoBehaviour { 
    private Animator an;
	private NavMeshAgent agent; //动态加载这个组件
	// Use this for initialization
	void Start () {
		an=GetComponent<Animator>();//使用这个组件
		agent=GetComponent<NavMeshAgent>();
	}
	
	// Update is called once per frame
	void Update () {
		Move();    

    }
	void Move()
	{
		if(Input.GetMouseButton(0))//点击鼠标左键生成一条射线
		{
			an.SetBool("Walk", true);//播放动画
			Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
			RaycastHit hit;
			if(Physics.Raycast(ray,out hit))
			{
                agent.SetDestination(hit.point);//判断鼠标点击的位置,人物制动寻路到这个地方
            }
		}
		if(agent.remainingDistance < 0.5f)
		{
            an.SetBool("Walk", false);//播放动画
        }
	}
}

この自動経路探索は障害物を回避することもできます。このコンポーネントを障害物に追加する必要があります。

 

おすすめ

転載: blog.csdn.net/Optimistic_lx/article/details/129309212