【问题标题】:How to "bake" NavMesh from script at runtime?如何在运行时从脚本“烘焙”NavMesh?
【发布时间】:2018-09-05 14:07:28
【问题描述】:

如何在运行时从脚本烘焙 NavMesh。我在 Google 中搜索但没有找到。
some rendered scene and buttons including bake

【问题讨论】:

  • 您的代码is not helpful 的图像。改用markdown 创建代码块。
  • 你不能(“烘焙”字面意思是“在构建之前编译结果”)。运行时导航网格解决方案需要第三方资产。

标签: unity3d navmesh


【解决方案1】:

目前,Unity 没有办法在运行时烘焙 NavMesh,但是 Unity 有一个实验包,允许您在运行时烘焙 NavMesh。这是一个非常稳定的包。

tutorials made by Brackeys 与 Unity 合作。

演示项目在 GitHub 上可用于download。您可以在其中的脚本中使用来烘焙运行时 NavMesh。

我强烈建议您先观看教程。

这里也是 Unity 网站的链接和运行时导航网格上的 tutorials

【讨论】:

    【解决方案2】:
    using UnityEditor.AI; //"Editor" not "Engine"
    
    NavMeshBuilder.ClearAllNavMeshes();
    NavMeshBuilder.BuildNavMesh();
    

    【讨论】:

    • 您的回答似乎缺少细节和示例。请在这里查看如何写出很棒的答案:stackoverflow.com/help/how-to-answer
    • 这取决于编辑器,不是吗?它在最终导出中不起作用。即使这确实有效,也不会永久解决问题。
    【解决方案3】:

    AlienCode's answer 非常适合在运行时烘焙 NavMesh,
    因为您不能同时拥有两者 using 标签 (UnityEditor.AI & UnityEngine.AI).

    我创建了一个单独的脚本并将其用于烘焙 NavMesh。
    我不确定它是否只在编辑器或构建中有效。

    【讨论】:

    • 回答高于/低于比无用更糟糕,因为具有相同投票数的答案的顺序确实会得到不同的排序。)跨度>
    • 实际上,您可以同时使用两者;您只需要声明您要使用的导入。不过,这仍然不是一个好主意,因为它会使您的项目无法分发到终端平台。 UnityEditor 专门用于编辑器本身,仅此而已。
    猜你喜欢
    • 2022-08-03
    • 1970-01-01
    • 2011-06-03
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2015-12-28
    相关资源
    最近更新 更多