《Unity 3D NGUI 实战教程》一2.2 认识基本的UI资源

简介:

本节书摘来异步社区《Unity 3D NGUI 实战教程》一书中的第2章,第2.2节,作者: 高雪峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 认识基本的UI资源

Unity 3D NGUI 实战教程

2.2.1 什么是UI精灵(Sprite)

我们在制作UI时,经常将一些零碎的小的UI资源(比如,一个小箭头、一个按钮等)打包成一张大图,然后在使用时,只使用这个大图中的一部分(例如,只使用其中小箭头的那一小块),那么这一块“被切出来”的图片,就可以称之为精灵。

如图2.11所示的就是一个又一个的UISprite。


11

2.2.2 什么是UI图集(Atlas)

我们在制作UI时,会将一些零碎的小的UI资源打包到一张大图中,然后再通过精灵的方式对这张大图进行使用,这张大图就是一个图集。这样不但可以减小美术资源的总体积,还可以减少载入内存的操作(图集作为一张整图会被一次性载入到内存中)并提高渲染性能,而且还可以减少维护大量零碎小资源的麻烦。

如图2.12所示的则是一个由Sprite组成的图集。

2.2.3 什么是UI贴图(Texture)

在NGUI中也有UITexture的概念,这个UITexture从功能用途上和Sprite精灵有很大的相似之处,都是为了显示一些图片资源。它和Sprite最大的区别在于,UITexture是一张独立的图,不依托于任何的图集,这张Texture有自己的材质球和Shader,每一个UITexture都将消耗一个DrawCall(不了解的读者可以理解为一个性能消耗单位)去渲染,每一个UITexture都将独立进行加载。

如图2.13中的大背景图就是UITexture。


12_13

2.2.4 什么是UI标签(Label)

标签(Label)在NGUI中并不是指一种标记物,而是指一种纯文本的UI元素。凡是由程序在UI上打出来的字,都属于标签的内容。例如,如果你需要在界面上长期地显示一行字:请打开背包进行整理,那么这行字属于一个Label。再比如,如果你需要显示角色的生命值为100/200,这个数字会随着角色的生命值而变化,这个生命值的数字也属于一个标签,然后代码会根据角色的血量去读取并改变这个标签的内容。

如图2.14所示框中所有的文字信息都属于Label。


14

2.2.5 什么是UI字体(Font)

在制作UI的过程中,不可能所有地方都由美术完成,最典型的例子就是UI上面的文字。很多时候UI上面的文字都是不停地在进行变化,并且没有什么复杂的艺术字效果,不可能全部由美术制作成图片提供给程序,这个时候就需要程序在UI上进行写字。程序在UI上写字时,就将用到UI字体。

NGUI的字体分为动态字体和静态字体。程序人员可以选择把某种特殊字体文件中的一些所需的字拿出来形成一张图,然后打字时会从这张图里去调用文字(类似于调用Sprite),这就是静态字体。也可以直接导入字体文件(例如,宋体、楷体等字体文件),打字时只要字体文件里拥有的字都能正常使用,这就是动态字体。当然,NGUI有系统自带的默认动态字体。

如图2.15所示则为静态字体图集,图2.16所示则为动态字体文件(.ttf格式)。


15_16

相关文章
|
9天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
30天前
|
前端开发 数据安全/隐私保护
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程 前端uniapp+H5 后端FastAdmin框架 可打包成APP多端运行 亲测可用
48 13
|
3月前
|
消息中间件 存储 JSON
rabbitmq基础教程(ui,java,springamqp)
本文提供了RabbitMQ的基础教程,包括如何使用UI创建队列和交换机、Java代码操作RabbitMQ、Spring AMQP进行消息发送和接收,以及如何使用不同的交换机类型(fanout、direct、topic)进行消息路由。
37 0
rabbitmq基础教程(ui,java,springamqp)
|
5月前
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
4月前
|
前端开发 图形学 开发者
【独家揭秘】那些让你的游戏瞬间鲜活起来的Unity UI动画技巧:从零开始打造动态按钮,提升玩家交互体验的绝招大公开!
【9月更文挑战第1天】在游戏开发领域,Unity 是最受欢迎的游戏引擎之一,其强大的跨平台发布能力和丰富的功能集让开发者能够迅速打造出高质量的游戏。优秀的 UI 设计对于游戏至关重要,尤其是在手游市场,出色的 UI 能给玩家留下深刻的第一印象。Unity 的 UGUI 系统提供了一整套解决方案,包括 Canvas、Image 和 Button 等组件,支持添加各种动画效果。
202 3
|
5月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
210 3
|
5月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
350 0
|
5月前
|
前端开发 图形学
Unity精华☀️UI和物体可见性的判断方法
Unity精华☀️UI和物体可见性的判断方法
|
5月前
|
开发者 图形学 前端开发
绝招放送:彻底解锁Unity UI系统奥秘,五大步骤教你如何缔造令人惊叹的沉浸式游戏体验,从Canvas到动画,一步一个脚印走向大师级UI设计
【8月更文挑战第31天】随着游戏开发技术的进步,UI成为提升游戏体验的关键。本文探讨如何利用Unity的UI系统创建美观且功能丰富的界面,包括Canvas、UI元素及Event System的使用,并通过具体示例代码展示按钮点击事件及淡入淡出动画的实现过程,助力开发者打造沉浸式的游戏体验。
133 0
|
5月前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
94 0