我所理解的 UI Toolkit 启蒙阶段(一)

我所理解的 UI Toolkit 启蒙阶段(一)

对于自己不会的新东西的学习,我认为最合适的路径就是:

实例教学视频 ---> 实操熟悉 ---> 官方文档查漏补缺 ---> 拟定思路实现功能

但这 4 步并非每一步都需要下 100% 的功夫,他们是一个互相补足的过程,也许你在做某一步的时候无法集中,不如换一个步骤进行学习,以此往复。

这是一个 UI Toolkit 新坑 ,想做游戏 UI 至关重要,是逃不掉的课题,甚至我们可以禁靠 UI 来完成一个交互式游戏,对吧。

本系列文章是我在学习过程中的一些总结和理解,在此记录方便回顾查看,并分享出来希望对你有所帮助。

启蒙

我找了一个启蒙视频帮助我快速了解使用 Unity UI Toolkit Beginner's Guide 讲的不错,感兴趣可以看看,当然,这个视频需要一点小小的帮助(你懂的)。

本文会基于本视频进行介绍,并进行一些讲解

那对于 UI Toolkit 如果你学过 Web ,有过构建 Web 前端应用的经验,上手起来会比较容易,它的很多思路和 H5 几近一致。

类似于这样的对应关系。

CSS 对应 USS 用于控制样式

HTML 对应 UXML 用于控制布局

JS 对应的是 C# 用于编写互动逻辑 & 实现复杂的动画交互效果

如果你学过 HTML 那这些似乎听起来让人兴奋,这似乎又进入到了我熟悉的领域,嗯我就有这样的感觉

实例中的所有图片可以在 blush design 这里找到

但是如果是我其实并不在意用哪个图片,重要的是效果,快速熟悉之后,你完全可以使用自己的素材来实现你自己想要的交互特效。

首先构建设置你的 UI

在你的 Assets 文件夹下创建一个 UI Document, 一般来说我的分包习惯会给 UI 单独创建一个文件夹,这个就是 UXML 文件,他是后面用于构建组织我们整个界面排版的

然后在你的场景中创建一个空的 Object ,作为 UI 习惯上我会把他也命名为 UI,并为其添加脚本 UI Document,那据我不完全观察,2020 版本是没有这个系统自带的 UI Document 脚本的,所以如果是新的项目,建议用比较新的版本,但是不建议 2023 或之后的版本(至少本文发布的时候不建议,毕竟 Unity 收费问题搞的真是鬼屎)

这里可以看到有三个可配置项

  1. Panel Settings
  2. Source Asset
  3. Sort Order

Source Asset 需要关联对应的 UXML 也就是我们刚刚创建的文件。

还有一个必须的文件 Panel Settings

同样创建一个 Settings 文件,该文件用于定义你的 UI 如何在屏幕上渲染,其中会有很多定制化参数

比如你可能需要调整缩放模式是恒定大小还是随屏幕大小缩放

将此文件关联到刚刚创建的 UI Document 中就完成了基本的初始化

回顾一下我们做了什么

创建 UXML 即 UI Document ,在场景中创建空物体来承载 UI 脚本,挂载 UI Document ,关联 UXML 和 Panel Setting。

这个时候我们可以双击 UXML 文件进入 UI Builder 中进行可视化编辑了。

UI Builder 简单 UI 编辑

你会看到类似这样的一个界面

这里会列出 UI 的根路径,如图就是 Sample.uxml 这个类似于 <html>

Library 中列出了所有可用的组件,我们可以通过这些组件定制 UI , 这里你需要确定一个事情,设置 Theme 为默认的 Runtime Theme

当你选中根对象时,可以通过 Size 设置画布的大小,可以勾选 Match Game View 选项,这将使你的画布同游戏画面大小保持一致。

当你把 Camera 设置为你游戏中的 Camera 时,你的 UI 视图会展示在游戏视图前面

Visual Element

Visual Element 是构建 UI 界面的最基本的元素,它类似于 H5 的 <div> 如官网介绍,这些元素排序构成的具有父子关系的结构就是视觉树 (官网上来整什么名词视觉树,说这么高大上让人搞不懂其实就是个列表吗)Introduction to visual elements and the visual tree

在操作面板,你甚至可以配置 Visual Element 的 位置、布局模式、大小、背景模式等等

相关推荐
laowangpython11 天前
Photoshop 2025 下载安装全攻略
其他·ui·photoshop
风华圆舞11 天前
Flutter + 鸿蒙 Intents Kit:页面直达能力的完整接入方案
flutter·ui·华为·harmonyos
鲲穹AI超级员工11 天前
多款实用配色工具汇总,适配设计、UI 创作等多元场景
ui·色彩设计
UXbot11 天前
帮助企业低门槛开展AI应用开发的平台推荐
前端·低代码·ui·交互·产品经理·原型模式·web app
叶帆11 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
烂白菜11 天前
智码美形:华为云码道 × UI-UX-Pro-Max 高品质界面智能生成实践
ui·华为云·ux
久数君11 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
像风一样的男人@11 天前
python --实现代理服务器
git·ui
风华圆舞12 天前
鸿蒙 Flutter 页面怎么感知防窥状态并调整 UI 可见性
flutter·ui·harmonyos
UXbot12 天前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app