“Unity版本以后新开发的UI系统-UGUI教学PPT,主要讲述了Unity4.6及以上版本引入的UGUI系统,该系统由NGUI的创始人参与开发,相较于NGUI,UGUI具有无需手动维护图集、独立的坐标体系、全新的事件机制、更完善的自适应系统以及更便捷的深度处理等优势。”
UGUI(Unity Graphical User Interface)是Unity引擎从4.6版本开始引入的新一代UI系统,旨在提供更加高效和灵活的2D图形用户界面构建工具。UGUI系统是由前NGUI开发者参与设计的,因此在许多方面进行了优化和改进。
1. UGUI简介:
UGUI的核心是Canvas,它是所有UI元素的容器。Canvas有三种渲染模式:ScreenSpace-Overlay、ScreenSpace-Camera和WorldSpace,分别对应于屏幕空间覆盖、屏幕空间相机和世界空间,以满足不同类型的UI需求。同时,UGUI引入了EventSystem,负责管理用户输入事件,确保UI交互的正常运行。
2. 图集管理:
UGUI使用Sprite Packer自动管理图集,减少了手动维护的繁琐工作。用户可以在ProjectSettings中配置Sprite Packer的模式,如Disabled、EnabledForBuilds或AlwaysEnabled。导入的图像应设置TextureType为Sprite(2D and UI),并指定PackingTag来决定它们被打包到哪个图集中。SpriteEditor允许用户进一步编辑图像。图集会存储在AtlasCache文件夹下,而Resources文件夹下的资源不会被打包。
3. 基本组件介绍:
- Canvas:UI的根对象,包含所有其他UI组件,并有多种渲染模式。
- Image:显示精灵图像,支持各种填充模式和裁剪。
- RawImage:用于显示非精灵的纹理图像,如视频帧或实时生成的纹理。
- Button:响应点击事件的交互组件,可以设置各种回调函数。
- Toggle:复选框,支持开关状态,可与脚本联动。
- Slider:滑动条,用于调节数值。
- Scrollbar:滚动条,用于浏览大量内容。
- Dropdown:下拉菜单,可选择预设选项。
- InputField:文本输入框,支持文字输入和格式验证。
4. 事件机制:
UGUI采用基于事件的模型,每个UI元素都可以监听和响应各种输入事件,如PointerDown、PointerUp等。这种机制简化了用户交互的编程逻辑,使得UI组件的交互行为更加直观。
5. 自适应与优化:
UGUI的自适应系统能够根据设备屏幕大小自动调整布局,使得UI在不同分辨率的设备上都能良好显示。此外,通过合理的图集打包和深度处理,可以优化性能,减少内存占用。
6. 预制体的使用:
预制体(Prefab)是UGUI中重要的资源管理工具,可以创建UI元素的模板,便于复用和维护。通过修改预制体,所有实例化的UI元素都会同步更新。
UGUI的出现极大地提升了Unity中创建2D用户界面的效率和灵活性,无论是简单的按钮还是复杂的交互界面,都能轻松实现。其自动图集管理、事件系统、自适应布局以及丰富的组件库,使得开发者能够专注于游戏的创意和逻辑,而非底层的UI实现。