Unity 3D脚本编程+Unity 5.X 3D游戏开发技术详解与典型
bm036321 9787121297182 9787115412737
Unity 3D脚本编程——使用C#语言开发跨平台游戏
作(译)者:
陈嘉栋
页数:
404页
状态:
已出版,销售中
等级:
中级
出版时间:
2016-09
定价79.00
ISBN:
978-7-121-29718-2
适合阅读:
无论是初次接触Unity 3D脚本编程的新人,还是有一定经验的老手,都可以借由本书来提高自己的水平。
本书以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。第1章主要介绍了Unity 3D引擎的历史以及编辑器的基本知识;第2章主要介绍了Mono,以及Unity 3D利用Mono实现跨平台的原理,并且分析了C#语言为何更加适合Unity 3D游戏开发;第3章到第10章主要介绍了Unity 3D游戏脚本语言C#在使用Unity 3D开发过程中的知识点,包括Unity 3D脚本的类型基础、数据结构、在Unity 3D脚本中使用泛型、使用委托和事件打造自己的消息系统、利用定制特性来拓展Unity 3D的编辑器、Unity 3D协程背后的秘密——迭代器以及可空类型和序列化在Unity 3D中使用的相关知识;第11章到第14章,则主要介绍了Unity 3D的资源管理以及优化和编译的内容。第1 章 Hello Unity 3D .............................................................................................................. 1
1.1 Unity 3D 游戏引擎进化史 ................................................................................................ 1
1.2 Unity 3D 编辑器初印象 .................................................................................................... 5
1.2.1 Project 视图 ............................................................................................................................ 5
1.2.2 Inspector 视图......................................................................................................................... 8
1.2.3 Hierarchy 视图 ....................................................................................................................... 9
1.2.4 Game 视图 ............................................................................................................................ 10
1.2.5 Scene 视图 ............................................................................................................................ 12
1.2.6 绘图模式 .............................................................................................................................. 14
1.2.7 渲染模式 .............................................................................................................................. 16
1.2.8 场景视图控制 ...................................................................................................................... 17
1.2.9 Effects 菜单和Gizmos 菜单 ................................................................................................ 18
1.3 Unity 3D 的组成 .............................................................................................................. 18
1.4 为何需要游戏脚本 ......................................................................................................... 20
1.5 本章总结 ......................................................................................................................... 21
第2 章 Mono 所搭建的脚本核心基础 ..................................................................................... 22
2.1 Mono 是什么 ................................................................................................................... 22
2.1.1 Mono 的组成 ........................................................................................................................ 22
2.1.2 Mono 运行时 ........................................................................................................................ 23
2.2 Mono 如何扮演脚本的角色 ........................................................................................... 24
2.2.1 Mono 和脚本 ........................................................................................................................ 24
2.2.2 Mono 运行时的嵌入 ............................................................................................................ 26
2.3 Unity 3D 为何能跨平台?聊聊CIL .............................................................................. 38
2.3.1 Unity 3D 为何能跨平台 ....................................................................................................... 38
2.3.2 CIL 是什么 ........................................................................................................................... 40
2.3.3 Unity 3D 如何使用CIL 跨平台........................................................................................... 44
2.4 脚本的选择,C# 或 ...................................................................................... 48
2.4.1 ·熟悉的陌生人——UnityScript ........................................................................................ 48
2.4.2 UnityScript 与 ..................................................................................................... 51
2.4.3 C#与UnityScript .................................................................................................................. 55
2.5 本章总结 ......................................................................................................................... 57
第3 章 Unity 3D 脚本语言的类型系统 .................................................................................... 58
3.1 C#的类型系统 ................................................................................................................. 58
3.2 值类型和引用类型 ......................................................................................................... 65
3.3 Unity 3D 脚本语言中的引用类型 .................................................................................. 73
3.4 Unity 3D 游戏脚本中的值类型 ...................................................................................... 90
3.4.1 Vector2、Vector3 以及Vector4 .......................................................................................... 90
3.4.2 其他常见的值类型 .............................................................................................................. 94
3.5 装箱和拆箱 ..................................................................................................................... 95
3.6 本章总结 ......................................................................................................................... 98
第4 章 Unity 3D 中常用的数据结构 ....................................................................................... 99
4.1 Array 数组 ..................................................................................................................... 100
4.2 ArrayList 数组 ............................................................................................................... 101
4.3 List数组 .................................................................................................................. 102
4.4 C#中的链表——LinkedList .................................................................................. 103
4.5 队列(Queue)和栈(Stack) ...................................................................... 107
4.6 Hash Table(哈希表)和Dictionary(字典) ................................................. 112
4.7 本章总结 ....................................................................................................................... 120
第5 章 在Unity 3D 中使用泛型 ............................................................................................ 121
5.1 为什么需要泛型机制 ................................................................................................... 121
5.2 Unity 3D 中常见的泛型 ................................................................................................ 124
5.3 泛型机制的基础 ........................................................................................................... 127
5.3.1 泛型类型和类型参数 ........................................................................................................ 128
5.3.2 泛型类型和继承 ................................................................................................................ 131
5.3.3 泛型接口和泛型委托 ........................................................................................................ 131
5.3.4 泛型方法 ............................................................................................................................ 136
5.4 泛型中的类型约束和类型推断 .................................................................................... 139
5.4.1 泛型中的类型约束 ............................................................................................................ 139
5.4.2 类型推断 ............................................................................................................................ 144
5.5 本章总结 ....................................................................................................................... 146
第6 章 在Unity 3D 中使用委托 ............................................................................................ 149
6.1 向Unity 3D 中的SendMessage 和BroadcastMessage 说拜拜 .................................... 150
6.2 认识回调函数机制——委托 ........................................................................................ 151
6.3 委托是如何实现的 ....................................................................................................... 154
6.4 委托是如何调用多个方法的 ........................................................................................ 160
6.5 用事件(Event)实现消息系统 .................................................................................. 164
6.6 事件是如何工作的 ....................................................................................................... 169
6.7 定义事件的观察者,实现观察者模式 ........................................................................ 172
6.8 委托的简化语法 ........................................................................................................... 177
6.8.1 不必构造委托对象 ............................................................................................................ 177
6.8.2 匿名方法 ............................................................................................................................ 178
6.8.3 Lambda 表达式 .................................................................................................................. 196
6.9 本章总结 ....................................................................................................................... 201
第7 章 Unity 3D 中的定制特性 ............................................................................................. 202
7.1 初识特性——Attribute ................................................................................................. 202
7.1.1 DllImport 特性 ................................................................................................................... 203
7.1.2 Serializable 特性 ................................................................................................................. 205
7.1.3 定制特性到底是谁 ............................................................................................................ 207
7.2 Unity 3D 中提供的常用定制特性 ................................................................................ 208
7.3 定义自己的定制特性类................................................................................................ 213
7.4 检测定制特性 ............................................................................................................... 216
7.5 亲手拓展Unity 3D 的编辑器 ....................................................................................... 217
7.6 本章总结 ....................................................................................................................... 227
第8 章 Unity 3D 协程背后的迭代器 ..................................................................................... 228
8.1 初识Unity 3D 中的协程 ............................................................................................... 228
8.1.1 使用StartCoroutine 方法开启协程 ................................................................................... 229
8.1.2 使用StopCoroutine 方法停止一个协程 ............................................................................ 233
8.2 使用协程实现延时效果................................................................................................ 234
8.3 Unity 3D 协程背后的秘密——迭代器 ........................................................................ 238
8.3.1 你好,迭代器 .................................................................................................................... 238
8.3.2 原来是状态机 .................................................................................................................... 242
8.3.3. 状态管理 ........................................................................................................................... 248
8.4 WWW和协程 ............................................................................................................... 253
8.5 Unity 3D 协程代码实例 ................................................................................................ 257
8.6 本章总结 ....................................................................................................................... 259
第9 章 在Unity 3D 中使用可空型 ........................................................................................ 260
9.1 如果没有值 ................................................................................................................... 260
9.2 表示空值的一些方案 ................................................................................................... 261
9.2.1 使用魔值 ............................................................................................................................ 261
9.2.2 使用标志位 ........................................................................................................................ 261
9.2.3 借助引用类型来表示值类型的空值 ................................................................................. 265
9.3 使用可空值类型 ........................................................................................................... 267
9.4 可空值类型的简化语法................................................................................................ 272
9.5 可空值类型的装箱和拆箱 ............................................................................................ 278
9.6 本章总结 ....................................................................................................................... 280
第1章 Unity基础以及开发环境的搭建 1
1.1 Unity基础知识概览 1
1.1.1 初识Unity 1
1.1.2 Unity的诞生及发展 1
1.1.3 Unity广阔的市场前景 2
1.1.4 独具特色的Unity 3
1.2 Unity开发环境的搭建 7
1.2.1 Windows平台下Unity的下载
及安装 7
1.2.2 Mac OS平台下Unity的下载
及安装 11
1.2.3 目标平台的SDK与Unity
集成 14
1.3 ,个Unity程序 17
1.4 本书案例的导入及运行 21
1.5 本章小结 25
第2章 Unity集成开发环境详解 27
2.1 Unity集成开发环境的整体布局 27
2.1.1 Unity集成开发环境的整体
布局 27
2.1.2 菜单栏 28
2.1.3 工具栏 28
2.1.4 场景设计面板 29
2.1.5 游戏预览面板 32
2.1.6 游戏组成对象列表 33
2.1.7 项目资源列表 34
2.1.8 属性查看器 35
2.1.9 状态栏与控制台 35
2.1.10 动画视图 36
2.1.11 动画控制器编辑视图 36
2.2 菜单栏 37
2.2.1 文件(File) 37
2.2.2 编辑(Edit) 40
2.2.3 资源(Assets) 46
2.2.4 游戏对象(GameObject) 52
2.2.5 组件(Component) 55
2.2.6 窗口(Window) 60
2.2.7 帮助(Help) 65
2.3 本章小结 70
第3章 Unity脚本程序开发 71
3.1 Unity脚本概述 71
3.2 Unity中C#脚本的注意事项 71
3.2.1 继承自MonoBehaviour类 72
3.2.2 类名字必须匹配文件名 72
3.2.3 使用Awake或Start方法初
始化 72
3.2.4 Unity脚本中协同程序有不同的语法规则 72
3.2.5 只有满足特定情况变量才能显示在属性查看器中 72
3.2.6 尽量避免使用构造函数 72
3.2.7 调试 72
3.3 Unity脚本的基础语法 73
3.3.1 常用操作 73
3.3.2 记录时间 74
3.3.3 访问游戏对象组件 75
3.3.4 访问其他游戏对象 76
3.3.5 向量 78
3.3.6 成员变量和静态成员变量 79
3.3.7 实例化游戏对象 80
3.3.8 协同程序和中断 80
3.3.9 一些重要的类 81
3.3.10 性能优化 85
3.3.11 脚本编译 86
3.4 综合案例 86
3.4.1 案例策划及准备工作 87
3.4.2 创建项目及场景搭建 87
3.4.3 飞机控制脚本实现 89
3.4.4 摄像机跟随脚本实现 92
3.5 本章小结 93
第4章 Unity 3D图形用户界面基础 95
4.1 GUI图形用户界面系统 95
4.1.1 图形用户界面组件的变量 95
4.1.2 图形用户界面中的常用控件 102
4.1.3 图形用户界面控件综合案例 125
4.2 UGUI图形用户界面系统 127
4.2.1 创建UGUI控件 127
4.2.2 Canvas画布 128
4.2.3 EventSystem 129
4.2.4 RectTransform组件 130
4.2.5 Panel控件 130
4.2.6 Button控件 131
4.2.7 Text控件 134
4.2.8 Image控件 135
4.2.9 Raw Image控件 135
4.2.10 Slider控件 136
4.2.11 Scrollbar控件 137
4.2.12 Toggle控件 138
4.2.13 Input Field控件 139
4.2.14 UGUI布局管理的使用及相
关组件介绍 140
4.2.15 UGUI中不规则形状的按钮
的碰撞检测 142
4.2.16 Scroll View的制作 143
4.2.17 UGUI综合案例—音乐播
放器的UI搭建 145
4.3 预制件(prefab)资源的应用 153
4.3.1 预制件(prefab)资源的
创建 153
4.3.2 通过prefab资源进而实例化
对象 154
4.4 常用的输入对象 155
4.4.1 Touch输入对象 155
4.4.2 Input输入对象 157
4.5 与销毁相关的方法 161
4.5.1 Object.Destroy方法 162
4.5.2 NetWork.Destroy方法 162
4.5.3 MonoBehaviour.OnDestroy
方法 163
4.6 本章小结 163
第5章 Unity 3D 第三方2D
组件库—NGUI 165
5.1 初识NGUI 165
5.1.1 NGUI背景概述 165
5.1.2 NGUI的导入 165
5.1.3 UI层简介 166
5.2 NGUI菜单介绍 167
5.2.1 “Selection”菜单 168
5.2.2 “Create”菜单 168
5.2.3 “Attach”菜单 168
5.2.4 “Tween”菜单 173
5.2.5 “Open”菜单 173
5.2.6 其他菜单 175
5.3 控件工具的使用 176
5.3.1 图片精灵—Sprite 176
5.3.2 文本标签—Label 177
5.3.3 图片精灵—Texture 179
5.3.4 组件容器—Widget 180
5.3.5 锚点—Anchor 182
5.3.6 面板—Panel 183
5.3.7 滚动视图—Scroll View 184
5.3.8 网格—Grid 186
5.3.9 表格—Table 187
5.4 UI库中默认组件的制作 187
5.4.1 按钮—Colored Button 187
5.4.2 复选框—Colored Checkbox 189
5.4.3 水平滚动条—Colored Horizontal Scroll Bar 192
5.4.4 滑块—Colored Slider 194
5.4.5 弹出列表—Colored Popup List 197
5.4.6 输入框—Control - Simple Input Field 199
5.5 杂项 200
5.5.1 Atlas图集制作 200
5.5.2 中文字体制作 202
5.5.3 动画曲线编辑 203
5.6 一个NGUI的综合案例 204
5.6.1 界面一制作 204
5.6.2 界面二制作 207
5.6.3 界面三制作 210
5.7 本章小结 212
第6章 物理引擎 213
6.1 刚体 213
6.1.1 刚体特性 213
6.1.2 物理管理器 219
6.2 碰撞器 221
6.2.1 碰撞器的添加 222
6.2.2 碰撞过滤 225
6.2.3 物理材质 228
6.3 粒子系统 229
6.3.1 粒子系统的简介 229
6.3.2 粒子系统的特性 230
6.3.3 粒子系统的综合使用 238
6.4 关节 243
6.4.1 铰链关节的特性 243
6.4.2 铰链关节的创建 244
6.4.3 固定关节的特性 245
6.4.4 固定关节的创建 245
6.4.5 弹簧关节的特性 246
6.4.6 弹簧关节的创建 247
6.4.7 角色关节的特性 247
6.4.8 角色关节的创建 248
6.4.9 可配置关节的特性 249
6.4.10 可配置关节的创建 250
6.4.11 关节综合案例—机械手 251
6.5 交通工具 256
6.5.1 车轮碰撞器添加 256
6.5.2 车轮碰撞器的特性 257
6.5.3 车轮碰撞器的应用 258
6.6 布料 262
6.6.1 蒙皮网格 263
6.6.2 布料特性 263
6.6.3 布料的简单案例 264
6.7 力场 265
6.7.1 力场组件特性 265
6.7.2 力场综合案例 266
6.8 物理引擎在动画系统中的使用 267
6.8.1 场景的搭建 267
6.8.2 脚本的开发 270
6.8.3 运行效果 271
6.9 物理引擎综合案例 271
6.9.1 场景的搭建 271
6.9.2 界面的搭建 277
6.9.3 脚本的开发 277
6.9.4 案例开发总结 280
6.10 本章小结 280
第7章 着色器—Shader 281
7.1 初识着色器 281
7.1.1 着色器概述 281
7.1.2 ShaderLab语法基础 282
7.1.3 着色器中涉及的各种空间
概念 287
7.2 着色器的3种形态 289
7.2.1 固定管线着色器 289
7.2.2 顶点片元着色器 290
7.2.3 表面着色器 294
7.3 表面着色器 295
7.3.1 表面着色器基础知识 296
7.3.2 通过表面着色器实现体
积雾 300
7.4 渲染通道的通用指令 305
7.4.1 设置LOD数值 305
7.4.2 渲染队列 307
7.4.3 混合模式介绍 309
7.4.4 Alpha测试 310
7.4.5 深度测试 312
7.4.6 通道遮罩 314
7.4.7 面的剔除操作 315
7.4.8 抓屏操作 317
7.5 着色器的组织和优化 318
7.5.1 着色器的组织和复用 319
7.5.2 移动平台上的优化 322
7.6 综合案例 324
7.6.1 案例策划及准备工作 325
7.6.2 创建项目及场景搭建 326
7.6.3 着色器及相关脚本的开发 327
7.6.4 结点对象的创建及相关脚本
的开发 332
7.7 本章小结 335
第8章 3D游戏开发的常用技术 337
8.1 天空盒的应用 337
8.1.1 Unity天空盒资源 337
8.1.2 开发实际需要的天空盒 339
8.2 3D拾取技术 340
8.3 视频贴图 343
8.3.1 基础知识 343
8.3.2 视频贴图案例 343
8.4 动态字体 346
8.5 重力加速度传感器 347
8.6 PlayerPrefs类 349
8.7 虚拟按钮与摇杆的使用 350
8.7.1 下载并导入标准资源包 351
8.7.2 虚拟按钮和摇杆使用的
案例 351
8.8 声音 353
8.8.1 声音类型 353
8.8.2 音频管理器—AudioManager 354
8.8.3 音频监听器—Audio Listener 354
8.8.4 音频源—Audio Source 355
8.8.5 音频效果—Audio Effects 357
8.8.6 音频混响区—Audio Reverb Zones 360
8.8.7 简单的声音控制案例 361
8.8.8 混音器—AudioMixer 362
8.9 水特效 367
8.9.1 基础知识 367
8.9.2 案例 368
8.10 雾特效 370
8.10.1 案例效果与基本原理 370
8.10.2 场景搭建及开发步骤 370
8.11 本章小结 373
第9章 光影效果的使用 375
9.1 光源 375
9.1.1 点光源(Point Light) 375
9.1.2 定向光源
(Directional Light) 377
9.1.3 聚光灯光源(Spot Light) 377
9.1.4 区域光光源(Area Light) 378
9.1.5 发光材质 378
9.2 光照贴图的烘焙与使用 379
9.2.1 对场景进行光照烘焙 379
9.2.2 光照烘焙参数详解 380
9.3 法线贴图 383
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有