Xml Unity UI Builder矢量3缩放问题

Xml Unity UI Builder矢量3缩放问题,xml,unity3d,unity-ui,Xml,Unity3d,Unity Ui,因此,在过去的几天里,我一直在试用新的Unity UI Builder,我遇到了以下问题:只要在uxml中添加Vector3字段并运行游戏,Vector3字段的缩放就不正确。在编辑器中,它看起来像任何Vector3字段,就像Unity编辑器本身一样。下面是一个示例图像和uxml 我在《建筑商》中把展示给我的每一个领域都搞砸了,但没有成功。我可以去掉Vector3字段并创建自己的字段,但这需要更多的时间,因为我需要深入研究源代码。我希望有人能帮助我。如果这个问题看起来很普遍,我会向Unity

因此,在过去的几天里,我一直在试用新的Unity UI Builder,我遇到了以下问题:只要在uxml中添加Vector3字段并运行游戏,Vector3字段的缩放就不正确。在编辑器中,它看起来像任何Vector3字段,就像Unity编辑器本身一样。下面是一个示例图像和uxml


我在《建筑商》中把展示给我的每一个领域都搞砸了,但没有成功。我可以去掉Vector3字段并创建自己的字段,但这需要更多的时间,因为我需要深入研究源代码。我希望有人能帮助我。如果这个问题看起来很普遍,我会向Unity开发者报告


提前谢谢

如果您在uxml中的任何位置看到UnityEditor.*,请注意此面板在UnityEditor之外无法工作(构建时异常)。由于
UnityEditor.UIElements.Vector3Field
是特定于编辑器的,因此需要用其他内容替换它

到目前为止,我的解决方案是:

  • 只需使用
    UnityEngine.UIElements.Label
    (x1或x3)
  • 使用
    UnityEngine.UIElements.Slider
    x3(当需要输入时)+
    EventSystem
    并将
    事件生成
    字段设置为
    IMGUI事件
  • 或者-我自己的自定义类从VisualElement继承来处理这种情况

PS:UIElements仍在开发中,因此可能会发生变化。

尝试进行实际构建,因为这是
xmlns:uie=“UnityEditor.UIElements”
很可能会给你一个异常,寻找这个
UnityEdit.UIElements.Vector3Field
类。@AndrewŁukasik我按照你的建议做了一个构建,结果证明你完全正确:有没有办法解决这个问题,或者我可以不在游戏UI中使用Vector3字段?
UnityEdit.
类仅供编辑器使用,因此,我们需要使用UnityEngine.*或创建自己的容器类型以供运行时使用(显示vector3并不难,因为它只是3x
FloatField
)@AndrewŁukasik谢谢你的建议,我会尝试为我的UI创建一些自定义元素。你应该加上这个作为答案,这样我可以标记解决方案。
<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>