找回密码
 立即注册
查看: 154|回复: 0

Unity 3D UGUI 系统 (一)

[复制链接]
发表于 2024-7-15 18:19 | 显示全部楼层 |阅读模式


UGUI 是 Unity 官方的 UI 实现方式,自从 Unity 4.6 起,Unity 官方推出了新版 UGUI 系统。
新版 UGUI 系统对比于 OnGUI 系统更加人性化,而且是一个开源系统,操作游戏开发人员进行游戏界面开发。
UGUI 系统有 3 个特点:灵活、快速、可视化。
对于游戏开发者来说,UGUI 运行效率高,执行效果好,易于使用,便利扩展,与 Unity 3D 兼容性高。
在 UGUI 中创建的所有 UI 控件都有一个 UI 控件特有的 Rect Transform 组件。
在 Unity 3D 中创建的三维物体是 Transform,而 UI 控件的 Rect Transform 组件是UI控件的矩形方位,此中的 PosX、PosY、PosZ 指的是 UI 控件在相应轴上的偏移量。
UI 控件除了 Rect Transform 组件外,还有一个 Canvas Renderer(画布衬着)组件。

··· UGUI Canvas 画布


Canvas画布是摆放所有 UI 元素的区域,在场景中创建的所有控件城市自动变为 Canvas游戏对象的子对象。
若场景中没有画布,在创建控件时会自动创建画布。
非论是你主动创建还是被动创建,系统城市自动创建一个名为 EventSystem 的游戏对象,该对象挂载了若干与事件监听相关的组件,可供设置。
衬着模式
在画布属性栏中有一个 Render Mode 属性。




  • Screen Space-Overlay 衬着模式。
在 Screen Space-Overlay 衬着模式下,场景中的 UI 会被衬着到屏幕上,如果屏幕大小或分辩率发生改变,画布会自动适配。
该模式下不需要 UI 摄像机, UI 将永远呈此刻所有摄像机的最前面。
参数功能
Pixel Perfect重置元素大小和坐标,使贴图的像素完美对应到屏幕像素上。
Sort Order摆列挨次。


  • Screen Space-Camera 衬着模式。
Screen Space-Camera 衬着模式类似于 Screen Space-Overlay 衬着模式。
这种衬着模式下,画布被放置在指定摄像机前的一个给定距离上,它撑持在 UI 前方显示 3D 模型与粒子系统等内容,通过指定的摄像机 UI 被呈现出来,如果屏幕大小改变或更改了分辩率,画布将自动更改大小以适配屏幕。
参数功能
Pixel Perfect重置元素大小和坐标,使贴图的像素完美对应到屏幕像素上。
Render CameraUI 绘制所对应的摄像机。
Plane DistanceUI 距离摄像机镜头的距离。
Sorting Layer界面分层,执行 Edit → Project Setting → Tags and Layers → Sorting Layers 命令进 行界面分层,越下方的层在界面显示时越在前面。
Order Layer界面挨次,该值越高,在界面显示时越在前面。


  • World Space 衬着模式。
在 World Space 衬着模式下呈现的 UI 仿佛是 3D 场景中的一个 Plane 对象。与前两种衬着模式分歧,其屏幕的大小将取决于拍摄的角度和相机的距离。
它是一个完全三维的 UI,也就是把 UI 也当成三维对象,例如摄像机离 UI 远了,其显示就会变小,近了就会变大。

参数功能
Event Camera设置用来措置用户界面事件的摄像机。
Sorting Layer界面分层,执行 Edit → Project Setting → Tags and Layers → Sorting Layers 命令进 行界面分层,越下方的层在界面显示时越在前面。
Order Layer界面挨次,该值越高,在界面显示时越在前面。

··· UGUI Event System 事件系统


在 Unity 3D 中创建 UGUI 控件后,会同时创建 Event System 事件系统的 GameObject,用于控制各类事件。
Unity 3D 自带两个 Input Module ,一个用于响应尺度输入,另一个用于响应触摸操作。



Input Module 封装了 Input 模块的调用,按照用户操作触发各 Event Trigger。
Event System 事件措置器

Event System 事件措置组件。
将基于输入的时间发送到应用法式中的对象,使用键盘、鼠标、触摸或自定义输入均可。
Standalone Input Module 独立输入模块。
基于输入 InputManager 打点器的状态发送事件,用于鼠标、键盘和控制器。该模块被配置为查看 InputManager 。
Touch Input Module 触控输入模块。
被设计为使用在可触摸的基础设备上。

··· 往期精选:


· 常识 | 初识 游戏引擎Unity3D
· 常识 | 游戏引擎Unity3D安装技巧
· 学习 | Unity 3D 项目创建与界面操作
· 学习 | Unity 3D 菜单栏与快捷键

出品 | 校委宣传部
©云南华软学校

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-21 20:34 , Processed in 0.100934 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表