Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity 3d导航网格烘焙_Unity3d_Navigation_Artificial Intelligence_Mesh_Navmesh - Fatal编程技术网

Unity3d Unity 3d导航网格烘焙

Unity3d Unity 3d导航网格烘焙,unity3d,navigation,artificial-intelligence,mesh,navmesh,Unity3d,Navigation,Artificial Intelligence,Mesh,Navmesh,我的问题涉及NavigationMesh,我已经准备了一个基于网格的地图生成器。我可以生成一个由立方体组成的地图,立方体被划分为墙和地板 生成后,我可以将其保留为预设,稍后在导航菜单中,我可以烘焙网格,但接下来要做的是,我希望将其保存为具有已烘焙NavMesh的预设。当我这样做并从场景中移除贴图时,它会消失,但烘焙的网格仍然存在。要在另一个地方再次将地图放在场景中,我必须再次烘焙。其主要思想是使用烘焙网格生成“x”级别,然后根据我想要的级别实例化它们。可能吗?谢谢你抽出时间 编辑: 烘焙一些ex

我的问题涉及NavigationMesh,我已经准备了一个基于网格的地图生成器。我可以生成一个由立方体组成的地图,立方体被划分为墙和地板

生成后,我可以将其保留为预设,稍后在导航菜单中,我可以烘焙网格,但接下来要做的是,我希望将其保存为具有已烘焙NavMesh的预设。当我这样做并从场景中移除贴图时,它会消失,但烘焙的网格仍然存在。要在另一个地方再次将地图放在场景中,我必须再次烘焙。其主要思想是使用烘焙网格生成“x”级别,然后根据我想要的级别实例化它们。可能吗?谢谢你抽出时间

编辑: 烘焙一些exmaple navmesh后,出现了一个名为“与我正在处理的场景相同”的文件夹,其中包含navmesh文件。现在是我编辑的问题。我是否可以为每个不同的地图烘焙几个不同的navmesh,然后在加载此类地图后在代码中使用适当的navmesh,以便它们能够很好地协作

生成后,我可以将其作为预制件保存,稍后在 导航菜单我可以烘焙网格,但接下来我要做的是 是否将其保存为具有已烘焙NavMesh的预制件

不幸的是,这是不可能的<代码>NavMesh按场景保存,当前无法显式引用/实例化它们

另一方面,应该可以利用附加场景加载来使用存储到不同场景中的多个光照贴图。看一看


您可以使用专用(最终为空)场景,而不是将navmesh保存到预制件中,并根据需要对其进行加载。

我以前在某个地方见过这种解决方案,但我也注意到在尝试使用LoadLevelAddition时出现了一些问题,即之前保存的场景的navmesh没有加载。Application.LoadLevel可以替代吗?您使用的是哪个版本的unity?它应该会起作用。LoadLevel not Additional将用加载级别上的navmesh替换当前加载的navmesh,因此我猜这不是您要查找的。如果load Addition无法与navmesh一起正常工作(我不记得它是否是5.x的新功能),请发布相关代码,以便我可以查看,或最终提交错误报告。我想这正是我所寻找的。我有一个游戏,我可以选择我想玩哪个级别。显示水平的边框。要开始下一个级别,我必须通过上一个级别,但是!但是我可以回到老一点的(例如,我想得到更好的分数)。游戏模式与《愤怒的小鸟》非常相似。顺便说一句,我使用的是unity 5.0.4f pro。这带来了下一个问题。事实上,LoadLevel可以工作,但在加载下一个场景之前,我必须先删除当前场景吗?Load level以同步方式销毁当前场景(使用当前navmesh)并加载新场景(使用相对navmesh,如果有)。如果每个关卡都有自己的navmesh,您可以使用loadlevel或LoadLevelAsync为每个关卡创建专用场景,这在我的情况下是最好的方法。谢谢你的宝贵意见。