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()),这里的事件在第二节的代码已经给出了!

成品

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

相关推荐
ellis19703 小时前
toLua[五] Examples 04_AccessingLuaVariables分析
unity
大有数据可视化10 小时前
告别传统监控:基于Unity+IoT打造沉浸式数字孪生车间
物联网·unity·游戏引擎
雪下的新火12 小时前
爆炸特效:Unity+Blender-02-火焰
unity·游戏引擎·blender·特效制作·笔记分享
雪下的新火12 小时前
Unity+Blender-03-输出制作Flipbook
游戏·unity·游戏引擎·blender·资源·笔记分享
m0_5522008214 小时前
《UE5_C++多人TPS完整教程》学习笔记60 ——《P61 开火蒙太奇(Fire Montage)》
c++·游戏·ue5
大Mod_abfun15 小时前
Unity游戏基础-1(安装~工作区构建)
游戏·unity·游戏引擎·大学课程·数媒
qq_4286396117 小时前
虚幻基础:角色攻击
游戏引擎·虚幻
EQ-雪梨蛋花汤21 小时前
【Unity笔记】Unity XR 模式下 Point Light 不生效的原因与解决方法
笔记·unity·xr
开心-开心急了21 小时前
PySide6 打印(QPrinter)文本编辑器(QPlaintextEdit)内容
python·ui·pyqt