人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » AI资讯

【Unity】AI-Navigation导航模块

2024-06-16 51

文章目录

Unity导航模块

看到一篇自动寻路车辆的Unity仿真,简单使用一下导航模块。

前面已经创建好了一个小车的场景,因此直接来到导航模块。

首先将地面及静态物体设置为navigation static(这是后面bake的前提):

在这里插入图片描述

然后打开导航组件模块,选择Bake烘培:

在这里插入图片描述
在这里插入图片描述

烘培好地图后,为Car添加NavMeshAgent组件:

在这里插入图片描述

这时,Car知道自己要Nav了,但还没有目标地点,我们先创建一个空对象TargetObject,并创建Navigation脚本,将两者关联:

在这里插入图片描述

脚本如下:

using UnityEngine; using UnityEngine.AI; using System.Collections;  public class Navigation : MonoBehaviour { public Transform TargetObject = null; void Start() { if (TargetObject != null) { GetComponent<NavMeshAgent>().destination = TargetObject.position; } } void Update() { } } 

效果如下:

在这里插入图片描述

2022.10.26
上面只是实现了固定目标地点的导航,每次都要修改目标位置然后重新运行,有点麻烦。下面再记录一种通过鼠标点击确定目的地并实现导航的方法,依然使用的Navigation脚本:

using UnityEngine; using UnityEngine.AI;  using System.Collections;  public class Navigation : MonoBehaviour {  private NavMeshAgent agent;  void Start() {      agent = GetComponent<NavMeshAgent>();  } void Update() {  if (Input.GetMouseButtonDown(1)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);  RaycastHit hit;  bool res = Physics.Raycast(ray, out hit);  if (res) { Vector3 point = hit.point;  agent.SetDestination(point);  } } } } 

以上。

原文链接:https://blog.csdn.net/qq_40344790/article/details/127513555

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部