unity烘焙后可以自己实现寻路吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity烘焙后可以自己实现寻路吗相关的知识,希望对你有一定的参考价值。

参考技术A 可以
但最初的Unity导航系统很不完善,只能静态烘焙场景图的可行走区域 而且必须在本地保存场景的NavMesh数据,难以运行时动态计算;这使得鲜有开发者愿意再尝试Unity内置的导航功能,转向了AStar寻路算法的研究。需要使用组件实现动态自动烘培

unity 鼠标点击AI寻路未完

先创建一个场景,立方体为障碍物,胶囊为玩家。

然后创建NavMesh,选择plane和立方体,并在导航窗口的对象选项卡上选择导航静态。

然后去转到烘焙选项卡,点击烘焙按钮:

在场景中看的样子如下图:

然后将Nav Mesh Agent组件添加到胶囊体中

创建一个简单的脚本,以便我们可以移动胶囊体

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.AI;
 5 
 6 public class GameController : MonoBehaviour {
 7 
 8         //用鼠标控制移动
 9         if(Input.GetMouseButtonDown(0))
10         {
11             var mpos = Input.mousePosition;
12             mpos.z = 1000;
13             var ray = Camera.main.ScreenPointToRay(mpos);
14             RaycastHit hit;
15             if(Physics.Raycast(ray,out hit))
16             {
17                 GetComponent<NavMeshAgent>().destination = hit.point;
18             }
19         }
20     }
21 
22 }

然后将脚本附加到胶囊体中。

进行播放,我们只是检查鼠标左键是否按下此框。 如果是这样,通过屏幕将光线投射到鼠标的位置。 如果它碰到任何东西,指导玩家移动到那一点。 所以现在我们可以点击左键移动player。 

以上是关于unity烘焙后可以自己实现寻路吗的主要内容,如果未能解决你的问题,请参考以下文章

unity 鼠标点击AI寻路未完

unity3d 如何动态寻路?

Unity之导航网格寻路相关参数

unity自动寻路相关注意事项

unity中NavMeshAgent有关知识

Unity吃豆人敌人BFS广度(宽度)优先算法实现怪物追踪玩家寻路