1.场景中的地面和障碍物都设置成静态的,
2.给需要寻路的AI物体添加Nav Mesh Agent 组件,
3在window下面找到navigation,打开选all,调好参数后点击bake
4.运行时用代码实现鼠标点击屏幕一点,AI就自动避让障碍物到达(代码在下面)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class Navigation : MonoBehaviour
{
private NavMeshAgent agent;
void Start()
{
agent=GetComponent<NavMeshAgent>();
}
void Update()
{
Ray ray = new Ray();
RaycastHit hit;
if(Input.GetMouseButtonDown(1))
{
//从相机向屏幕点的方向发射射线
ray=Camera.main.ScreenPointToRay(Input.mousePosition);
//利用射线检测得到击中地面的点的世界坐标,
// 用 NavMeshAgent组件的.SetDestination方法
// 来运动达到
if(Physics.Raycast(ray, out hit,50))
{
if(hit.transform.tag =="ground")
{
agent.SetDestination(hit.point);
}
}
}
}
}
文章来源地址https://www.toymoban.com/news/detail-503122.html文章来源:https://www.toymoban.com/news/detail-503122.html
到了这里,关于unity的AI自动寻路navigation基本用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!