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

news2025/2/25 11:08:52
我所理解的 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 的 位置、布局模式、大小、背景模式等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1220703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux C 线程

线程 概述线程和进程的异同如何选择使用进程还是线程 函数获取进程自身ID  pthread_self创建线程  pthread_create退出线程  pthread_exit线程等待  pthread_join 四种线程模型1 &#xff09;单线程2 &#xff09;单线程3 &#xff09;双线程4 &#xff09;三线程 概述…

选择Amazon EC2,走进云端新时代

目录 前言 选择云服务器 / 海外服务器需要关注的重点 Amazon EC2 云服务器的优势所在 文末总结 前言 常言道&#xff0c;工欲善其事必先利其器&#xff0c;无论你是资深开发者&#xff0c;还是普通爱好者&#xff0c;在日常开发和学习生活中都需要用到云服务器提供的丰富的…

自建es数据迁移阿里云方案

一、ElasticSearch数据迁移方法介绍 https://help.aliyun.com/document_detail/170095.html?spma2c4g.26937906.0.0.429240c9ymiXGm 可以通过Logstash、reindex和OSS等多种方式完成阿里云Elasticsearch间数据迁移、Elasticsearch数据迁移至Openstore存储中、自建Elasticsear…

GB28181学习(十六)——基于jrtplib实现tcp被动和主动收流

前言 GB/T28181-2022实时流的传输方式介绍&#xff1a;https://blog.csdn.net/www_dong/article/details/134255185 tcp passive收流 流程图 注意&#xff1a; m字段指定传输方式为TCP/RTP/AVP&#xff1b;sdp信息中增加"asetup:passive"&#xff1b;SIP服务器启…

微服务学习 | Ribbon负载均衡、Nacos注册中心、微服务技术对比

Ribbon负载均衡 负载均衡流程 负载均衡策略 通过定义IRule实现可以修改负载均衡规则&#xff0c;有两种方式&#xff1a; 1. 代码方式:在服务消费者order-service中的OrderApplication类中&#xff0c;定义一个新的IRule: 2.配置文件方式: 在order-service的application.yml…

技术分享 | 如何写好测试用例?

对于软件测试工程师来说&#xff0c;设计测试用例和提交缺陷报告是最基本的职业技能。是非常重要的部分。一个好的测试用例能够指示测试人员如何对软件进行测试。在这篇文章中&#xff0c;我们将介绍测试用例设计常用的几种方法&#xff0c;以及如何编写高效的测试用例。 ## 一…

【Rust】快速教程——模块mod与跨文件

前言 道尊&#xff1a;没有办法&#xff0c;你的法力已经消失&#xff0c;我的法力所剩无几&#xff0c;除非咱们重新修行&#xff0c;在这个世界里取得更多法力之后&#xff0c;或许有办法下降。——《拔魔》 \;\\\;\\\; 目录 前言跨文件mod多文件mod 跨文件mod //my_mod.rs…

C#语言的由来与发展历程

C#语言的由来与发展历程可以追溯到2000年&#xff0c;当时微软公司为了在.NET平台上开发应用程序&#xff0c;发布了一种新的编程语言——C#。C#语言的设计目标是成为一种简单、现代、通用和面向对象的编程语言&#xff0c;为开发者提供更强大的生产力、更强大的面向对象支持和…

Line多账号如何运营?

Line在亚洲地区非常流行&#xff0c;特别是在日本、台湾、泰国等地&#xff0c;是当地最受欢迎的即时通讯应用之一。 除了基本的聊天功能外&#xff0c;Line还提供了各种各样的贴图、表情包和游戏等娱乐功能&#xff0c;吸引了大量的用户。 一、选择利用line进行海外营销的原…

2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-A

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A 一、竞赛时间 总计&#xff1a;360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略设置 A-3 流量完整性保护 A-4 …

百度智能云正式上线Python SDK版本并全面开源

文章目录 前言一、SDK的优势二、千帆SDK&#xff1a;快速落地LLM应用三、如何快速上手千帆SDK3.1、SDK快速启动3.2. SDK进阶指引 3.3. 通过Langchain接入千帆SDK4、开源社区 前言 百度智能云千帆大模型平台再次升级&#xff01;在原有API基础上&#xff0c;百度智能云正式上线…

【漏洞复现】IP-guard WebServer 远程命令执行

漏洞描述 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。互联网上披露IP-guard WebServer远程命令执行漏洞情报。攻击者可利用该漏洞执行任意命令,获取服务器控制权限。 免责声明 技术文章仅供参考,任何个人和…

Beego之Bee工具使用

1、bee工具使用 bee 工具是一个为了协助快速开发 Beego 项目而创建的项目&#xff0c;通过 bee 你可以很容易的进行 Beego 项目的创 建、热编译、开发、测试、和部署。Bee工具可以使用的命令&#xff1a; [rootzsx ~]# bee 2023/02/18 18:17:26.196 [D] init global config…

Nacos在Windows本地安装并启动教程

Nacos在Windows本地安装并启动教程 Nacos注册中心和Eureka是两种常见的服务注册与发现组件&#xff0c;它们在以下方面存在一些区别&#xff1a; 开源项目&#xff1a;Nacos是阿里巴巴开源的项目&#xff0c;而Eureka是Netflix开源的项目。 功能特性&#xff1a;Nacos在服务注册…

SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY 详解

SELECT 关键字 SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下&#xff1a; SELECT column1, column2, ... FROM table_name;其中&#xff0c;column1, column2,等是您要从表中选择的字段名称&#xff0c;而table_name是您要选择数据的表的名称。 如果要…

某60区块链安全之51%攻击实战学习记录

区块链安全 文章目录 区块链安全51%攻击实战实验目的实验环境实验工具实验原理攻击过程 51%攻击实战 实验目的 1.理解并掌握区块链基本概念及区块链原理 2.理解区块链分又问题 3.理解掌握区块链51%算力攻击原理与利用 4.找到题目漏洞进行分析并形成利用 实验环境 1.Ubuntu1…

Linux输入设备应用编程(键盘,按键)

目录 一 输入设备编程介绍 1.1 什么是输入设备呢&#xff1f; 1.2 什么是输入设备的应用编程&#xff1f; 1.3 input子系统 1.4 数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件&#xff1a; 1.5.2 相对位移事件 1.5.3 绝对位移事件 二 读取 struct input_e…

审视现状,持续优化,数字化转型不简单

北京市首都公路发展集团有限公司&#xff08;简称“首发集团”&#xff09;为北京市国有独资公司&#xff0c;1999年9月成立&#xff0c;负责北京市高速公路、城市道路及配套设施的投融资、建设及运营管理。集团下属4家分公司、10家全资或控股二级子公司&#xff0c;参股中铁京…

C++——map和set

作者&#xff1a;几冬雪来 时间&#xff1a;2023年11月17日 内容&#xff1a;C板块map和set知识讲解 目录 前言&#xff1a; map与set与关联式容器&#xff1a; set底层&#xff1a; set的书写&#xff1a; insert&#xff1a; erase&#xff1a; lower_bound与upper_b…

一文带你了解docker技术

什么是Docker Docker是一种虚拟技术&#xff0c;诞生于2013年&#xff0c;是dotCloud公司研发的开源项目&#xff0c;因为docker这个公司后来改名docker inc&#xff0c;docker的目标是实现轻量级的操作系统虚拟化解决方案。通俗点说&#xff0c;我们想在一台机器上运行多个系…