2015-04-17 85 views
3

我的问题涉及到NavigationMeshes,我准备了一个基于网格的地图生成器。我可以生成一个地图,由分为墙壁和地板的立方体组成。统一3D导航网格烘烤

生成后,我可以保留它作为预制,稍后在导航菜单中,我可以烤网格,但接下来是我想保存它作为与已经烘焙navmeshes预制。当我做到这一点,并从场景中删除地图,它不雅,但烤网仍然存在。为了在另一个地方再次放映地图,我必须再次烘烤。主要想法是用烘烤网格生成“x”级别,然后根据我想要的级别实例化它们。那可能吗?谢谢你的时间。

编辑: 烘烤一些exmaple navmesh后,出现一个与我正在处理的场景相同的文件夹,并且里面有navmesh文件。现在这里是我编辑的问题。我可以为每个不同的地图烘焙几个不同的导航,稍后在加载这些地图后在代码中使用正确的导航网格,以便它们配合良好?

回答

3

生成此之后,我可以把它作为一个预制,后来在 导航菜单我可以烤的网格,但随之而来的是,我 想将其保存为已经出炉navmeshes

一个预制

不幸的是,这是不可能的。 NavMesh是由场景保存的,目前您不能明确地参考/实例化它们。

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

您可以使用专用(最终为空)的场景,并按需添加,而不是将navmesh保存到预制件中。

+0

我已经在某个地方遇到过这个解决方案,但我也注意到在尝试使用LoadLevelAdditive时存在一些问题,即先前保存的场景的NavMesh未加载。 Application.LoadLevel可以代替吗? – Power

+0

你正在使用哪个版本的团结?它应该工作。 LoadLevel not additive会将当前加载的navmesh替换为加载的级别上的navmesh,所以这不是我想要的。如果负载添加剂在导航网格中无法正常工作(我不记得它是否是5.x的新功能),请发布相关代码,以便我可以查看或最终提交错误报告。 – Heisenbug

+0

我想这正是我期待的。我有一个游戏,我可以选择我想玩哪个关卡。显示水平的边框。要开始下一个级别,我必须通过前一个级别,但!但我可以回到老年人的身上(例如我想得到更好的分数)。播放模式与愤怒的小鸟非常相似。顺便说一句,我正在使用团结5.0.4f亲。它带来了下一个问题。事实是LoadLevel可以工作,但是在加载下一个之前我必须摆脱当前的场景吗? – Power