Unity UI Builder Vector3 缩放问题
Unity UI Builder Vector3 scaling issue
所以在过去的几天里,我一直在试用新的 Unity UI Builder,我遇到了以下问题:每当您只需将 Vector3 字段添加到 uxml 和 运行 游戏 Vector3 字段缩放不正确。在编辑器中,它看起来像任何 Vector3 字段,就像 Unity 编辑器本身一样。下面是一个示例图像和 uxml。
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
<ui:VisualElement style="flex-grow: 1; position: absolute; height: 100%; width: 100%; justify-content: center; align-items: flex-start;">
<ui:VisualElement>
<uie:Vector3Field label="Vec3 Field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>
我把构建器中显示给我的每个字段都弄乱了,但没有成功。我可以取消 Vector3 字段并创建我自己的字段,但这会花费更多时间,因为我需要更深入地研究源代码。我希望有人能帮助我。如果问题确实很常见,我会向 Unity 开发人员报告。
提前致谢!
如果您在 uxml 中的任何地方看到 UnityEditor.*
,请注意此面板在 unity 编辑器之外无法工作(构建时出现异常)。由于 UnityEditor.UIElements.Vector3Field
是特定于编辑器的 - 它需要用其他东西代替。
到目前为止,我对此的解决方案是:
- 只需使用
UnityEngine.UIElements.Label
代替(x1 或 x3)
- 使用
UnityEngine.UIElements.Slider
x 3(需要输入时)+ EventSystem
并将 Event Generation
字段设置为 IMGUI Events
- 或者 - 我自己的自定义 class 从 VisualElement 继承来处理这种情况
PS:UIElements 仍在开发中,所以这可能会改变。
所以在过去的几天里,我一直在试用新的 Unity UI Builder,我遇到了以下问题:每当您只需将 Vector3 字段添加到 uxml 和 运行 游戏 Vector3 字段缩放不正确。在编辑器中,它看起来像任何 Vector3 字段,就像 Unity 编辑器本身一样。下面是一个示例图像和 uxml。
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
<ui:VisualElement style="flex-grow: 1; position: absolute; height: 100%; width: 100%; justify-content: center; align-items: flex-start;">
<ui:VisualElement>
<uie:Vector3Field label="Vec3 Field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>
我把构建器中显示给我的每个字段都弄乱了,但没有成功。我可以取消 Vector3 字段并创建我自己的字段,但这会花费更多时间,因为我需要更深入地研究源代码。我希望有人能帮助我。如果问题确实很常见,我会向 Unity 开发人员报告。
提前致谢!
如果您在 uxml 中的任何地方看到 UnityEditor.*
,请注意此面板在 unity 编辑器之外无法工作(构建时出现异常)。由于 UnityEditor.UIElements.Vector3Field
是特定于编辑器的 - 它需要用其他东西代替。
到目前为止,我对此的解决方案是:
- 只需使用
UnityEngine.UIElements.Label
代替(x1 或 x3) - 使用
UnityEngine.UIElements.Slider
x 3(需要输入时)+EventSystem
并将Event Generation
字段设置为IMGUI Events
- 或者 - 我自己的自定义 class 从 VisualElement 继承来处理这种情况
PS:UIElements 仍在开发中,所以这可能会改变。