随笔分类 - Unity / Unity-NavMesh
摘要:在这个的基础上:阴影实现 - 准备工作:场景中行走的角色 - yanghui01 - 博客园 (cnblogs.com),将CharacterController换成了NavMeshAgent, 不过目前功能不完善,仅作为一个参考吧,NavMeshAgent上的跳暂时还不知道怎么实现。 效果 usi
阅读全文
摘要:效果 using UnityEngine; using UnityEngine.AI; public class NavMeshMoveControl : MonoBehaviour { private NavMeshAgent m_NavMeshAgent; private Animator m_
阅读全文
摘要:# 实现效果 # 地面ground, 连接地面的bridge, 寻路数据都是在运行时生成的,而不是一开始bake生成好的 # 动态生成寻路数据的核心类NavMeshBuilder 使用NavMeshBuilder.UpdateNavMeshData来生成寻路数据。对于物体很多的情况建议使用异步版本U
阅读全文
摘要:# 下面的代码是想实现点击鼠标左键,寻路到指定的位置;但是运行后,并不会寻路,而是立即打印了end void Update() { if (Input.GetMouseButtonUp(1)) { _navMeshAgent.enabled = true; _navMeshAgent.SetDest
阅读全文
摘要:# 这2个在Navigation的Areas页签设置 # 假设有黑色的cat和白色的dog同时要从原点,走到对面ground2上去,cat只能走bridge,dog可以走bridge和water # 水流速度很慢(cost设为2)时,cat走bridge(黄色), dog走water(蓝色) # 水
阅读全文
摘要:# 这几个都是在Bake页签上的下面几个参数控制的,生成好寻路数据后,其他的都不需要我们处理 上下台阶参数:Step Height: 能走过的台阶高度 斜坡参数:Max Slope: 超过多少坡度就爬不上去 跨越参数:Jump Distance: 不超过多少米可以跨越(不然跨不过去) 跳下参数:Dr
阅读全文
摘要:# public class ExportNavMesh { [MenuItem("Tool/Export NavMesh")] public static void Export() { var navMeshTriangulation = NavMesh.CalculateTriangulati
阅读全文
摘要:# 自动创建方式,勾上Navigation Static,并把Area设为Not Walkable # 手动创建方式,加一个NavMeshObstacle组件 Shaper:障碍物的形状,有Box和Capsule两种,默认选Box即可 Center:障碍物包围盒的中心点,默认即可 Size:障碍物包
阅读全文
摘要:Unity - Scripting API: NavMesh (unity3d.com) 【Settings相关函数】 NavMesh.GetSettingsByID(agentTypeID);NavMesh.GetSettingsByIndex(0);NavMesh.GetSettingsCoun
阅读全文
摘要:# 涉及到的类 NavMesh:一个记录可行走区域的数据结构 NavAgent:要移动的物体,可以利用NavMesh提供的数据来规划最佳路线,避开障碍等 # 创建一个基本的场景,紫色,绿色为可行走地面,灰色为不可行走地面,地面均为6x6大小; 黄色的方块为要移动的物体;白色的胶囊是坐标参照物(删掉C
阅读全文