Unity进阶之路(2)UI Toolkit

UI Toolkit是Unity内置的一个游戏UI解决方案。借鉴了web前端的设计模式。

web前端使用css,html,js。

其中css定义样式

html定义层级

js处理逻辑

UI Toolkit则是使用uss,uxml,C#

如果直接使用Unity提供的可视化UI创建工具创建UI面板,一个一个添加元素,只会生成uxml文件,样式直接通过内联样式的形式给出。

UI,User Interface的缩写。UI通常被认为是前端。所谓前端的本质,其实就是数据的映射。把数据映射成更加适合用户操作的模式,这就是前端。

我们通常需要解决几个问题:

数据输入:

数据处理:

数据输出:

在Unity中,我们可以从.csv文件中读取数据,作为数据的输入。这通常可以作为单机游戏的固定参数处理方式。比如各个等级的游戏数据。

如果涉及到联机模式,我们可能需要考虑从网络获取数据输入。

数据处理。Unity的UI Panel提供了事件和操纵器处理用户输入。

数据输出。我们需要把数据以一定的模式输出到用户界面。

在Unity的UI编辑器中,我们可以通过可视化的方式创建UI内容。这个UI是支持FlexBox模式的。

创建完成的UI Document如何使用呢

在场景的根节点下挂载一个空对象。

重命名为Screen。

在Screen上挂载一个UI Document组件。

把设置文件拖动到插槽中。

把刚才生成的uxml文件拖动到插槽中。

在Screen上挂载一个C#脚本。

可以使用UQuery语法在C#中查找到元素。

基础元素都是VisualElement类的对象。

类似于选择器语法。

然后可以直接对其上的style属性进行设置。

需要编写ScriptableObecjt来保存UI数据。

相关推荐
Larry_Yanan21 小时前
Qt多进程(五)QUdpSocket
开发语言·c++·qt·学习·ui
我命由我123451 天前
Photoshop - Photoshop 工具栏(43)标尺工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
开心-开心急了1 天前
ai + fluent_ui 实现自定义winUI风格窗口
flutter·ui
工业HMI实战笔记1 天前
HMI “卡成 PPT” 怎么办?—— 性能优化指南
ui·性能优化·自动化·交互
安当加密1 天前
SYP 密码管理器:基于 UI 自动化的 CS 代填如何做到“安全可用”?
安全·ui·自动化
IT古董1 天前
企业级官网全栈(React·Next.js·Tailwind·Axios·Headless UI·RHF·i18n)实战教程-第五篇:登录态与权限控制
javascript·react.js·ui
UI设计兰亭妙微2 天前
兰亭妙微ui设计公司分享:移动端界面用户友好型设计的核心思路
ui·移动端界面设计
青稞社区.2 天前
小米大模型 Plus 团队提出BTL-UI:基于直觉-思考-关联的GUI Agent推理
人工智能·ui
weixin_531651812 天前
@clack/prompts 命令行终端中构建交互式用户界面
ui
Larry_Yanan2 天前
Qt多进程(四)QTcpSocket
开发语言·c++·qt·ui