Unity游戏基础-3(UI层)

本教程开始分享教学内容:Unity游戏基础,部分内容会包括Blender建模基础,Shader基础,动画基础等等,教程面向:建模、技术美术、游戏前端、游戏后端基础,适合美术与设计(数媒、环设、动画、产设、视传、绘画)专业、计算机(计算机科学与技术、软件工程、数媒)的同学学习。

引言

在很多游戏中,例如:原神,都会有一个2D的UI界面,或者说在一些3D应用程序中也会需要2D的UI界面,对游戏或者是应用程序进行设置

这一节教学分辨率设置,在Unity中,分辨率为Resolution类,然后分辨率有以下参数:Width、Height、FullScreenMode、FreshRate,参数名称不重要,重要是参数要什么,从左到右为宽度、高度、全屏模式、屏幕刷新率

所有的分辨率都会在Resolution类里面列出,完整代码在Unity游戏基础-2中有Unity游戏基础-2(初识场景~项目构建)-CSDN博客

设计UI

在Hierarchy窗口,点击UI,添加一个Button(Text Mesh Pro),系统自己加了一个Canvas(画布)作为UI层,点击Import导入这2个组件

将canvasScaler 的UI缩放模式改成:屏幕大小缩放

在Sence窗口切换2D,缩放到合理的大小

在Illustrator中快速画一个设置图标

描边可以粗一点,这里演示就简单搓下,导出,在Unity的Assets下新建文件夹,重命名为Texture、Materials,把图片导入Texture,在Materials里面新建材质球

把刚刚的贴图

拖到反射率左边的灰色框框,调整button的大小,删除Button的文字(你甚至可以直接加一个图片控件,因为图片可以添加Button组件)

回到Button,把button的属性改下,找到Inspector窗口的button,找到导航下拉列表,改成None(只能由鼠标激活事件或者脚本控制)这里是为了防止空格和Enter误触Button

好,接下来设置鼠标点击事件,我们要在点击设置的时候打开canvas,并且保持设置图标一直在前面,此时你的Hierarchy窗口的顺序应该是这样的

后续我们在Panel里面加自己想要的控件,重命名Panel为Setting Form

在Button的Inspector窗口中,你会发现

点击"+"添加处理事件,把上节课的ButtonEventHandler脚本拖到Button上,再把Button拖拽到None

打开No Function,最后一行就是我们的脚本,选择OnButtonPress()

因为这是自定义的函数名称,现在我们按照上面的流程添加其他控件,注意的是需要用到事件只需要在属性窗口的Button里面添加就行,不要重复挂载脚本(给Button挂一个就行了,不然会出现意想不到的BUG)!

重命名

butSetting的脚本挂载:

Button的导航要设置为None!

这里的Apply、Cancel、Close(图片,点击添加组件button模拟)按钮全部在事件里面挂那个设置图标的button,然后选对应的事件(Apply()、Cancel()、Close()),这里的事件在第二节的代码已经给出了!

成品

保存+构建并运行,完美!

相关推荐
wanhengidc1 小时前
云手机通常使用什么架构
服务器·网络·安全·游戏·智能手机·云计算
Hody915 小时前
【XR开发系列】Unity第一印象:编辑器界面功能布局介绍(六大功能区域介绍)
unity·编辑器·xr
q***7488 小时前
私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)
spring boot·后端·ui
lrh302512 小时前
Custom SRP - 14 Multiple Cameras
unity·渲染管线·srp
wanhengidc16 小时前
在云手机中云计算的作用都有哪些?
服务器·网络·游戏·智能手机·云计算
paopao_wu17 小时前
DeepSeek-OCR实战(03):本地部署+简单UI测试
ui·ocr
wanhengidc1 天前
全面了解云手机的安全性
运维·服务器·游戏·智能手机·云计算
2501_940094021 天前
iphone Delta模拟器如何从夸克网盘导入游戏ROM 附游戏资源下载
游戏·ios·iphone
lpfasd1231 天前
Valdi:Snapchat 开源的新一代跨平台 UI 框架
ui·开源
九章云极AladdinEdu1 天前
项目分享|告别枯燥命令行,构建终端用户界面的 TypeScript 库
javascript·ui·typescript