【问题标题】:Unity editor conflicts with prefabsUnity 编辑器与预制件冲突
【发布时间】:2020-01-24 10:52:52
【问题描述】:

所以我正在为 Unity 中的建筑物使用这个六边形网格系统。我做了一个二维布尔数组来设置网格的哪个区域,建筑物将占据。我制作了一个自定义编辑器,因此我可以对其进行编辑。 在我将它设置为预制之前,这一切都完美无缺。然后设置区域的网格会重置。有什么办法可以解决这个问题吗?

P。 S. 奇怪的是,我在同一个脚本中设置了一个滑块。 Unity 可以毫无问题地记住滑块的数据。但是在预制件中更改它会导致它重置

我使用的是 Unity 版本 2018.3.0f2

【问题讨论】:

    标签: c# unity3d unity-editor


    【解决方案1】:

    自定义编辑器脚本习惯于在播放、实例化或构建时丢失所有数据。您可以在编辑时保存数据并在查看时将其反序列化回界面。 在声明中使用带有 [serializeField] 的自定义 [system.serializable] 类要容易得多。一个 buildingRows 类的列表,由一个建筑物类的列表组成,在你的情况下会很好。它只是看起来不像你想的那么漂亮。

    一个巧妙的解决方法是在检查器中使用 [mitiline] 字符串文本输入字段。 例如,建筑物可以是字符“o”或“x”。在换行符上拆分时,这本质上是一个二维字符数组。 像这样:

    o o o o x o o o o o 
    o x o o x x o o o x 
    o o o o o x o x x x 
    o o o x o o o o o o 
    o o o x o o o x o o 
    o o o x o o o x o o 
    o o o x o o o x o o 
    x x x x o o o x o o 
    x x x o o o o x o o 
    o o o o o o o o o o 
    

    【讨论】:

    • 想到了这个解决方案,buuut。我正在使用六边形网格。我用Unity Editor把建筑编辑器做成六边形...
    • 从头开始。我刚刚发现编辑器在许多其他地方造成了错误。我可能不得不重建一切 xD。搞砸 Unity 编辑器,它太复杂和错误了
    • 如果你开始使用统一编辑器来处理它不是为它设计的东西,它真的开始变得有问题。只要你牢记统一的构建方式,它就会表现得很好。远离编辑器脚本,你很好。
    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多