UI Tool一览

  • UI Toolkit简介
  • UI Toolkit安装
    • editor
    • runtime
  • 简单使用
    • 添加editor代码
    • Runtime下使用

UI Toolkit简介

UI Toolkit是替代UGUI和IMGUI的新UI方案,但到目前为止依然没有成为主流的UI系统.UI Toolkit相对UGUI和IMGUI依然有一些不足的地方.

Editor Runtime
UI Toolkit 最早推出的时候并开始支持 2020版本之后才支持
UGUI 不支持 支持
IMGUI 支持 不支持

UI Toolkit安装

editor

unity从2019开始已经默认安装了ui toolkit的editor版本

runtime

  1. unity从2020版本以及2021.1版本中需要使用package安装runtime.
    通过Package Manager安装:

    • 打开Package Manager之后点击左上角的+
    • 从菜单中选择 Add package from git URL…
    • 输入com.unity.ui 之后点击Add即可
  2. unity从2021.1版本开始已经将runtime的package包内嵌到了unity中

简单使用

添加editor代码

在project 视图里通过Create/UI Toolkit/Editor Window菜单即可创建一个editor脚本

点击confirm之后会在project中生成三个文件,分别TestEditor.cs,TestEditor.uss和TestEditor.uxml

  • cs代码放的就是逻辑
  • uss用于描述样式
  • uxml用于描述view
public class TestEditor : EditorWindow
{[MenuItem("Window/UI Toolkit/TestEditor")]public static void ShowExample(){TestEditor wnd = GetWindow<TestEditor>();wnd.titleContent = new GUIContent("TestEditor");}public void CreateGUI(){// Each editor window contains a root VisualElement objectVisualElement root = rootVisualElement;// VisualElements objects can contain other VisualElement following a tree hierarchy.VisualElement label = new Label("Hello World! From C#");root.Add(label);// Import UXMLvar visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/Editor/TestEditor.uxml");VisualElement labelFromUXML = visualTree.Instantiate();root.Add(labelFromUXML);// A stylesheet can be added to a VisualElement.// The style will be applied to the VisualElement and all of its children.var styleSheet = AssetDatabase.LoadAssetAtPath<StyleSheet>("Assets/Editor/TestEditor.uss");VisualElement labelWithStyle = new Label("Hello World! With Style");labelWithStyle.styleSheets.Add(styleSheet);root.Add(labelWithStyle);}
}

从上述的TestEditor.cs代码中我们不难发现:

  • 可以通过代码的方式添加VisualElement
  • 可以通过uxml的方式添加VisualElement
  • uss样式可以添加到我们任意想限制的element上

Runtime下使用

在hierarchy中添加UIDocument即可,UIDocument上有两个重要元素

  1. panel settings:定义了一些全局是配置,比如字体、样式等信息
  2. Source Asset:即之前说的uxml

[以上是个人的一点记录,后续将继续更新ui toolkit的知识]

Unity UIToolkit相关推荐

  1. python networkx包,使用Python中NetworkX包绘制深度神经网络结构图

    Python批量自动裁剪图片 Python批量自动裁剪图片 1 用Pythonp批量裁剪图片 2 3 from PIL import Image 4 import matplotlib.pyplot ...

  2. 有关 Unity UIElements 和 UIToolkit

    https://docs.unity3d.com/Manual/UIElements.html 一.UIElements 简介 Unity UIElements:https://blog.unity. ...

  3. UIToolkit下一代UI系统

    1. UIToolkit运行时――下一代UI系统 UIToolkit的前身是UIElement,发布于Unity 2018.起初它用于开发Editor编辑面板中的UI,自Unity 2019.Unit ...

  4. UIToolkit编辑器练习(一)

    写一个UIToolkit的文章,记录一下UIToolkit的使用方式(一阵时间不用都快忘了),顺便写一个简单的物品编辑器 数据保存为xml,使用LinqToXml,编辑器使用UIToolkit制作 需 ...

  5. Unity 农场 1 —— 环境搭建、背包系统、时间系统

    目录 搭建初始地图环境 素材预处理 遮挡层级效果 景观的半遮挡与透明 人物移动 绘制瓦片地图 碰撞层 添加摄像机的边界 (Editor)使用 UI Toolkit 和 UI Builder 制作物品编 ...

  6. Unity 学习笔记——转自努力的小程序员 总结的很不错,学习了

    1.动画倒放 animation.speed *= -1.0; Animation.PlayQuened()方法可连续播放不同动画组 2.寻找场景中物体var door = GameObject.Fi ...

  7. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

  8. unity人物旋转移动代码_Unity3D研究院之脚本实现模型的平移与旋转(六)

    123 说: 雨松大大,有个问题想请教一下,我用UNET构建了个小场景,在电脑上可以客户端可以连接到服务器,Windows和Linux都可以,发布到安卓缺连不了,这是问什么呢 说: 求教一下,刚刚接触 ...

  9. unity课设小游戏_Unity制作20个迷你小游戏实例训练视频教程

    本教程是关于Unity制作20个迷你小游戏实例训练视频教程,时长:20小时,大小:3.8 GB,MP4高清视频格式,教程使用软件:Unity,附源文件,作者:Raja Biswas,共97个章节,语言 ...

最新文章

  1. java软件测试技能要求_软件测试需要掌握什么技能
  2. Android Broadcast广播机制分析
  3. 哪个linux桌面有电池显示,(求助!!!)进ubuntu后桌面只显示左上角!(已解决)...
  4. Java线程池 / Executor / Callable / Future
  5. 算法总结8—非负矩阵因式分解
  6. 腾讯、阿里、百度...大厂招聘火热中,测试员如何才能入大厂?
  7. 我的世界java导出皮肤_我的世界Alex1.8夕立poi皮肤
  8. Eclipse之Android开发环境搭建
  9. 三维匹配_多视图几何三维重建实战系列之COLMAP
  10. 【数据库】三级模式两级映射详解
  11. OPENWRT---SWITCH设置
  12. 谷粒商城笔记+踩坑(18)——购物车
  13. Unity实现相机漫游功能
  14. 主流电源的调光协议分析及应用说明
  15. 2021年六级翻译:海南岛
  16. 第一次约会聊天话题,资深老司机教你6个万能话题
  17. JMETER分享UBT
  18. 2017年即将过半 免费OA系统行业OA厂商大转变
  19. C语言程序设计课程设计——三国杀游戏
  20. angular5+动态设置页面标题title

热门文章

  1. 指环王游戏java_教你如何在演奏中“假唱”,演奏转换教程
  2. python 金融领域:年金现值
  3. Python海龟绘图:绘制趣味简笔画
  4. 苹果cms图片采集到网站服务器上,苹果cms采集的图片不显示解决办法
  5. Mac最好用的视频剪辑软件(Final Cut Pro)
  6. python deepcopy 丢失_python 引用、copy 与deepcopy
  7. Apollo:参考线
  8. pb级别数据mysql_什么是“PB级别的数据”?
  9. 黑客攻防技术宝典(四)
  10. JavaScript使用MQTT