UNITY 的Navigation面板是做什么的什么?做什么的?

例子六:自动寻路Navmesh之高級主题

隔离层自动生成寻路网格

5.点击任意的位置可以看到角色都能自动寻路过去

之前我們都是用固定的物体作为障碍物,然后烘焙场景Unity还提供了动态的障碍物。任何一个GameObject都可以添加Navmesh Obstacle组件变成一个障碍物。具体步骤是Component->Navigation->Navmesh Obstacle.它有兩个属性:半径和高度可以设置跟你的物品差不多的体积大小。

1.在scene3.unity基础上做一下修改只保留一個角色

在你的场景中构建NavMesh只需要4个步骤:


让物体可烘焙的其他方法

请注意:有些区域可能无法被移除,尽管有Min Region Area 的设置原因是NavMesh的构建是一個个的网格并行构建。当一个区域横跨两个网格将不会被移除因为区域修剪过程中无法获取到周围的网格。

Navigation在构建寻路网格过程中第┅遍会把场景光栅化为体素,然后提取可行走区域最后可行走区域会烘焙成网格。因此体素尺寸Voxel Size的决定了寻路网格烘焙的精准性

提示:默认的体素设置最好的权衡了准确性和烘焙速度。在烘焙场景寻路的过程中体素的增加会造成4x倍的内存消耗和4x倍的时间消耗。因此通瑺你不需要自己去设置Voxel Size。

系统烘焙寻路是也会减小voxel size如果你的agent尺寸保持不变,可能不需要增加NavMesh的构建分辨率

更简单的方法如下所示:

盡管普通的NavMesh 已经可以很好的运行,但是由于NavMesh只是一个近似的可行走的空间只保持了一些均衡的特性,如果你的游戏agent需要更精准的行走位置你可以启用高度网格Height Mesh,

注意:高度网格Height Mesh将占用你“运行时”的内存和cpu,并且需要更多的烘焙时间

操作界面的重要组成部分之一其主要用于汇集分散的功能与板块,并且其友好的设计能够使游戏开发者以较快的速度查找到相应的功能内容

File 菜单主要用于打开和保存場景项目,同时也可以创建场景具体功能及快捷键如下表所示。
打开一个已经创建的场景
将当前场景另存为一个新场景
打开一个已经创建的项目
Edit 菜单用于场景对象的基本操作(如撤销、重做、复制、粘贴)以及项目的相关设置具体功能及快捷键如下表所示。
将剪贴板中嘚对象粘贴到当前位置
平移缩放窗口至选择的对象
切换到搜索框通过对象名称搜索对象
设定 Unity 3D 编辑器偏好设置功能相关参数
选择图形仿真方式以配合一些图形加速器的处理
选择相应的网络仿真方式
Assets 菜单主要用于资源的创建、导入、导出以及同步相关的功能,具体功能及快捷鍵如下表所示
创建资源(脚本、动画、材质、字体、贴图、物 理材质、GUI 皮肤等)
打开资源所在的目录位置
在场景视图中找出所选资源
GameObject 菜單主要用于创建、显示游戏对象,具体功能及快捷键如下表所示
创建其他组件(摄像机、接口文字与几何物 体等)
将父对象的中心移动箌子对象上
选中多个对象后创建父子对象的对应关系
取消父子对象的对应关系
更新对象的修改属性到对应的预制体上
取消实例对象与预制體直接的属性关联 关系
设置选定子对象为所在父对象下面的第一个子对象
设置选定子对象为所在父对象下面的最后一个子对象
改变对象的 Position 嘚坐标值,将所选对象
改变对象的 Position 的坐标值将所选对象
移动到 Scene 视图的中心点
将编辑视角移动到选中对象的中心位置
设置选中对象为激活戓不激活状态
Component 菜单主要用于在项目制作过程中为游戏物体添加组件或属性,具体功能及快捷键如下表所示
使物体带有对应的物理属性
添加音频,可以创建声音源和声音的听者
Window 菜单主要用于在项目制作过程中显示 Layout(布局)、Scene(场景)、Game(游戏)和 Inspector(检视)等窗口具体功能忣快捷键如下表所示。
显示页面布局方式可以根据需要自行调整
显示用于编辑制作游戏的窗口
显示用于测试游戏的窗口
主要用于控制各個对象的属性,也称为属性面板
显示用于整合游戏对象的窗口
显示游戏资源存放的窗口
显示用于创建时间动画的窗口
显示用于分析探查的窗口
显示用于链接资源服务器的窗口
显示控制台窗口用于调试错误
Help 菜单主要用于帮助用户快速学习和掌握 Unity 3D,提供当前安装的 Unity 3D 的版本号具体功能及快捷键如下表所示。
提供 Unity 3D 的安装版本号及相关信息
连接至 Unity 官方在线教程
连接至 Unity 官方在线脚本参考手册
连接至 Unity 官方在线服务平台
連接至 Unity 官方在线问答平台
连接至 Unity 官方在线反馈平台
连接至 Unity 官方在线发行说明
向 Unity 官方报告相关问题
除上述菜单中的快捷键以外还有以下一些常用的快捷键。
在视窗的两列中转换焦点
删除对象将弹出确认提示框
删除对象,但不弹出确认提示框
当资源显示为预览时扩展项目
当資源显示为预览时瓦解项目

首先每一个GameObject都可以标记成静态嘚或非静态(动态)的;

默认情况下是不勾选static的(static:静态)

那么标记为静态的又有什么用呢?

我们知道在游戏开发尤其是,在节省资源优化性能方面是很重要的,游戏的大小和流畅度是必须考虑的

而标记为static后,可以优化效率使游戏更加流畅。(使用界面勾选Static选项的時候激活所有子物体都选择静态属性)

Static属性展开后可以看到

网上有很多关于NavMeshAgent的自动寻路的文章建议去看一看。

上面说到static勾选可以提高游戲效率那么我们所有物体都勾选static不就更节约了吗?当然不是

所谓静态就是静止的,如果要改变了它的位置就不是静态的了,静态物體在脚本加载的时候就开始渲染不随着update 每帧更新,如果要移动物体就必然要重新刷新,就是动态的了 即使你把移动的物体勾选了static,draw calls 吔并不会减少,并且效率和原先的一样没有得到优化

所以通常一直静止的游戏物体,才会勾选static比如有些游戏场景是不动的,而游戏场景叒很占资源这个时候就可以勾选static了。

我要回帖

更多关于 面板是做什么的 的文章

 

随机推荐