Unity3D :从 C# 脚本实例化 UXML

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

从 C# 脚本实例化 UXML

要构建用户界面
从 UXML 文件中,您必须首先将文件加载到 VisualTreeAsset 中,然后使用 Instantiate() 在没有父级的情况下进行实例化,这将创建一个新的 ,或 CloneTree(parent)) 在父级中克隆。TemplateContainer

实例化 UXML 后,您可以从可视化树
与UQuery。

以下示例创建自定义编辑器窗口并加载 UXML 文件作为其内容:

using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
using UnityEditor.UIElements;

public class MyWindow : EditorWindow  {
    [MenuItem ("Window/My Window")]
    public static void  ShowWindow () {
        EditorWindow w = EditorWindow.GetWindow(typeof(MyWindow));

        VisualTreeAsset uiAsset = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/MyWindow.uxml");
        VisualElement ui = uiAsset.Instantiate();

        w.rootVisualElement.Add(ui);
    }
}

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :加载 UXML 和 USS C# 脚本 (mvrlink.com)

下一篇:Unity3D :使用 UQuery 查找视觉元素 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号