《Unity 3D NGUI实战教程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:高雪峰编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115385468
  • 页数:221 页
图书介绍:本书不仅仅是讲基础,更是以项目实战为目的,书中涵盖了大量的项目实战中的经验之谈,这对于一个客户端程序员来说,不管他用什么引擎用什么UI工具来开发UI系统,本书都能给他提供帮助,并不会过时。本书适合新上手的Unity客户端程序员,需要做UI的Unity程序员,想自学Unity做独立游戏的人员,也可以作者大中院校和培训学校的学习用书!

第1章 初识NGUI 1

1.1游戏UI开发介绍 1

1.1.1什么是游戏UI 1

1.1.2 UI为何如此重要 1

1.1.3 UI开发的流程 2

1.1.4 UI开发的难点 2

1.2什么是NGUI 3

1.2.1 NGUI插件介绍 3

1.2.2 NGUI的强大优势 3

第2章 NGUI基础 5

2.1导入NGUI插件 5

2.1.1 NGUI版本介绍 5

2.1.2 NGUI的下载和购买 5

2.1.3导入NGUI插件应用 6

2.1.4导入常见问题 9

2.2认识基本的UI资源 10

2.2.1什么是UI精灵(Sprite) 10

2.2.2什么是UI图集(Atlas) 10

2.2.3什么是UI贴图(Texture) 10

2.2.4什么是UI标签(Label) 12

2.2.5什么是UI字体(Font) 12

2.3制作第一个UI图集 13

2.3.1学会解剖UI的资源结构 13

2.3.2如何导入切好的美术资源 15

2.3.3用Atlas Maker制作图集 16

2.4制作第一个UI字体 20

2.4.1为什么要制作UI字体 20

2.4.2静态字体和动态字体 20

2.4.3制作静态字体介绍 21

2.4.4制作动态字体介绍 22

2.5创建第一个UI 22

2.5.1创建一个2D UI 22

2.5.2创建一个3D UI 24

2.5.3 了解UIRoot、UIPanel和UICamera组件 24

2.6 2DUI和3DUI的工作原理 28

2.6.1 2DUI的工作原理 28

2.6.2 3DUI的工作原理 30

2.6.3如何判断该选择哪一种UI 31

2.7深度(Depth)概念 31

2.7.1强化对深度的理解 31

2.7.2小心相机的深度 32

第3章 核心组件 34

3.1什么是UI控件 34

3.2制作精灵(UISprite) 34

3.2.1怎样判断是否应该使用精灵 34

3.2.2创建精灵 35

3.2.3 Sprite组件的设置 37

3.3制作标签(Label) 43

3.3.1怎样判断是否应当使用标签 43

3.3.2创建标签 43

3.3.3 Label的文字设置 43

3.4制作UI纹理(UITexture) 46

3.4.1什么情况下使用UITexture 46

3.4.2创建纹理 46

3.4.3纹理的设置 46

3.5制作按钮(Button) 48

3.5.1怎样判断应该使用按钮 48

3.5.2创建按钮 49

3.5.3核心组件BoxCollider 49

3.5.4核心组件UIButton 52

3.5.5制作按钮的放缩动画 54

3.5.6制作按钮的偏移动画 55

3.5.7制作按钮的旋转动画 56

3.5.8添加按钮单击音效 56

3.5.9任何事物都可以变成按钮,不仅仅是UI 57

3.6制作进度条(UISlider) 58

3.6.1怎样判断是否应当使用进度条 58

3.6.2创建进度条 59

3.6.3核心组件UISlider设置 60

3.6.4进度条的BoxCollider说明 62

3.7制作输入框(Input) 63

3.7.1怎样判断是否应当使用输入框 63

3.7.2创建输入框 63

3.7.3核心组件Input设置 64

3.7.4输入框使用的一些注意事项 67

3.8制作滚动视图(ScrollView) 68

3.8.1怎样判断是否应当使用滚动视图 68

3.8.2创建滚动视图 69

3.8.3滚动视图核心组件UIPanel 69

3.8.4滚动视图核心组件UIScrollView 72

3.8.5创建一个拖动条 75

3.8.6拖动条说明 76

3.8.7让视图内的内容可以被拖动 77

3.8.8制作滚动视图时的注意事项 78

3.9制作复选框(Toggle) 79

3.9.1怎样判断是否应当使用复选框 79

3.9.2创建复选框 79

3.9.3复选框的核心组件UIToggle 80

3.10制作下拉菜单(PopupList) 82

3.10.1怎样判断是否应当使用下拉菜单 82

3.10.2创建下拉菜单 82

3.10.3显示当前选中的选项 84

3.10.4下拉菜单核心组件PopupList 85

3.10.5制作下拉菜单的注意事项 87

第4章 UI动画 88

4.1常见的两种UI动画介绍 88

4.1.1要区分UI动画和UI特效两个概念 88

4.1.2关于Tween动画 88

4.1.3关于Animation动画 89

4.2渐隐渐现动画(透明度动画) 89

4.2.1透明度动画的介绍和应用 89

4.2.2使用透明度动画TweenAlpha 90

4.2.3使用透明度动画的注意点 94

4.3颜色变化动画(变色动画) 95

4.3.1变色动画的介绍和应用 95

4.3.2使用颜色动画TweenColor 96

4.3.3使用颜色动画的注意点 96

4.4位置变换动画(位移动画) 97

4.4.1位移动画的介绍和应用 97

4.4.2使用位移动画TweenPosition 98

4.4.3使用位移动画的注意点 98

4.5旋转变化动画(旋转动画) 99

4.5.1旋转动画的介绍和应用 99

4.5.2使用旋转动画TweenRotation 99

4.5.3使用旋转动画的注意点 100

4.6大小变化动画(放缩动画) 100

4.6.1放缩动画的介绍和应用 100

4.6.2使用放缩动画TweenScale 101

4.6.3使用放缩动画的注意点 101

4.7 Tween动画总结 102

4.8动画控制组件UIPlayTween 102

4.8.1为什么要用UIPlayTween 102

4.8.2动画核心组件UIPlayTween讲解 103

4.8.3使用UIPlayTween的注意事项 106

4.9动画控制组件UIPlayAnimation 107

4.9.1为什么要用UIPlayAnimation 107

4.9.2为UI添加Animation组件 107

4.9.3动画核心组件UIPIayAnimation讲解 108

4.9.4使用UIPlayAnimation注意事项 110

第5章 其他组件 111

5.1使用Toggle制作页签 111

5.1.1页签的工作原理 111

5.1.2一个完整的页签界面 111

5.1.3制作两个页签按钮 111

5.1.4使用ToggleObjects来记录页签内容 114

5.1.5制作页签注意事项 115

5.2拖动摄像机来浏览超大界面 115

5.2.1拖动相机功能的介绍和应用 115

5.2.2核心原理和组件介绍 117

5.2.3拖动相机浏览超大界面的注意事项 119

5.3使用Grid自动排列UI 120

5.3.1自动排列UI的应用 120

5.3.2自动排列UI核心组件Grid介绍 120

5.4使用DragObject直接拖动物体 122

5.5让玩家通过拖动自由改变控件大小 124

5.6制作序列帧精灵动画(SpriteAnimation) 125

5.6.1什么是序列帧精灵动画 125

5.6.2 SpriteAnimation组件 125

第6章 NGUI实战进阶 127

6.1 UI开发核心问题——UI随屏幕自适应 127

6.1.1屏幕分辨率对UI适配的影响 127

6.1.2主流设备的屏幕分辨率 129

6.1.3自适应核心组件Anchor的使用 130

6.1.4使用Anchor的注意事项 133

6.1.5正式开发UI之前必须明确的几个问题 134

6.2 UI元素的相对自适应 134

6.2.1什么是UI元素的相对自适应 134

6.2.2 Anchors的介绍及使用 134

6.2.3使用Anchors的范例:背景图的全屏适配 137

6.2.4使用Anchors的注意事项 138

6.3多摄像机同时协作运行 139

6.3.1摄像的渲染层的概念 139

6.3.2多摄像机协作的应用范围 140

6.3.3如何创建多个UI摄像机 140

6.3.4多摄像机协作的注意事项 142

6.4巧用九宫格以减少UI资源量 142

6.4.1项目安装包大小对项目的影响 142

6.4.2 UI资源量对资源包大小和内存的影响 143

6.4.3什么是九宫格UI 143

6.4.4如何让美术提供合适的九宫格UI资源 144

6.4.5如何在NGUI中划分九宫格 144

6.4.6如何使用九宫格UI 147

6.4.7去掉Mipmap以进一步降低资源包大小和内存占用 148

6.5实战开发中UI资源制作标准 148

6.5.1为什么要设定UI资源制作标准 148

6.5.2资源制作标准设定建议 149

6.5.3程序如何保证UI资源的分辨率不失真 150

6.5.4针对各大平台设置单独的尺寸和格式 150

6.6 UI事件监听的击穿 151

6.6.1什么是UI事件监听的击穿 151

6.6.2如何避免和解决UI事件监听的击穿 152

6.6.3事件监听遮挡的妙用 153

6.7开发之前的思考——UI结构设计 153

6.7.1什么是UI结构设计 153

6.7.2 UI结构设计遵循的一些要点 153

6.7.3需要的时候,分场景以减轻内存负担 154

第7章 用代码深度控制UI 155

7.1代码操作NGUI的原理 155

7.1.1物体与组件的概念 155

7.1.2怎样用代码操作NGUI 155

7.1.3获取组件的几种方法 158

7.1.4迅速判断可以修改的成员 160

7.2动态加载UI元素 161

7.2.1为什么游戏中会用到动态加载UI元素 161

7.2.2擅用UI元素的Prefab 161

7.2.3将一个物体设置为另一个物体的子物体——NGUITools.AddChild()方法 162

7.2.4 NGUITools.AddChild()和Instantiate的区别 163

7.3擅用EventDelegate事件委托 164

7.3.1什么是EventDelegate事件委托 164

7.3.2事件委托的用法 164

7.3.3 哪些地方可以使用事件委托 166

7.4巧用EventTrigger组件 167

7.4.1什么是EventTrigger组件 167

7.4.2 EventTrigger用法 168

7.5常用组件的功能调用 168

7.5.1 UILabel 168

7.5.2 UISprite 169

7.5.3 UITexture 170

7.5.4 UIButton 170

7.5.5 UIGrid 171

7.5.6 UISlider 171

7.5.7 UIToggle 172

7.5.8 UIInput 172

7.5.9 UIPanel 173

7.5.10 UICamera 173

7.6动画的控制 174

7.6.1为什么要把动画单独提取出来 174

7.6.2控制Tween动画 174

7.6.3关于PlayTween和PlayAnimation 176

第8章 实用案例演示 177

8.1角色头像状态栏制作 177

8.1.1示意图和需求分析 177

8.1.2设计并制作UI 178

8.1.3设计并编写代码 181

8.2场景加载的进度条界面制作 187

8.2.1为什么要做这个界面 187

8.2.2异步加载的概念 187

8.2.3制作一个单独的加载界面场景 188

8.2.4设计并编写代码 189

8.3技能快捷栏的制作 194

8.3.1示意图和需求分析 194

8.3.2设计并制作UI 194

8.3.3设计并编写代码 197

8.4角色头顶血条的跟随 202

8.4.1角色头顶血条的跟随分析 202

8.4.2制作血条的UI 202

8.4.3设计并编写代码 203

8.5 NGUI多语言切换的实现 206

8.5.1什么是本地化 206

8.5.2 NGUI本地化的原理 206

8.5.3本地化案例演示 210

第9章 常见疑难问题解答 214

9.1关于NGUI版本问题 214

9.2导入NGUI资源包出错 214

9.3如何创建两个UIRoot 215

9.4如何让粒子在界面上正确显示 215

9.5为什么在父物体上增加透明度动画,子物体没有跟着变化 216

9.6为什么动画播放一遍之后无法再次正常播放 216

9.7为什么3DUI模式下,UI资源的尺寸Snap后和屏幕的大小比例不一致 216

9.8为什么UI不受灯光影响 217

9.9为什么3D模型放到UIRoot 下就变得看不见了 217

9.10为什么UI单击后无法播放音效 217

9.11为什么Depth更大的图片反而被Depth小的图片遮住 218

9.12怎样判断点中的东西是UI 218

9.13为什么Label的文字始终不够清晰、明亮 218

9.14为什么创建的物体有BoxCollider却无法接收事件 219

9.15为什么改变了控件的父物体,导致了显示层级错乱 220

9.16关于ScrollView滑动的问题 220