新書推薦:
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
102.4
《
DK月季玫瑰百科
》
售價:HK$
216.2
《
为你想要的生活
》
售價:HK$
67.9
《
关键改变:如何实现自我蜕变
》
售價:HK$
79.4
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
102.4
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
64.4
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
59.8
《
明式家具三十年经眼录
》
售價:HK$
538.2
|
編輯推薦: |
从初学者入门角度讲解Unity游戏开发
让读者快速学会如何使用Unity制作3D游戏
以两种语言去讲解游戏脚本的编写
入门阶段我们使用JavaScript语言介绍,进阶阶段使用C#语言
每章都含有丰富的游戏实例与源代码
最后一章以一个第一人称射击类3D游戏为实例充分介绍游戏实战开发过程
|
內容簡介: |
《Unity 3D游戏开发》通过实例详细介绍了如何使用Unity进行游戏开发,书中先简要介绍了Unity环境搭建、编辑器和GUI游戏界面相关的知识,接着介绍了如何使用C#和JavaScript构建游戏脚本,添加树、草、石头等模型以及键盘事件、鼠标事件和3D模型动画相关的内容,然后介绍了持久化数据、音频与视频播放等内容,最后以一款第一人称射击类游戏为原型,向读者详细介绍游戏制作的整个过程。
《Unity 3D游戏开发》适合具备一些JavaScript与C#语言基础,并且想快速入门Unity 3D游戏开发的人员阅读。
|
關於作者: |
宣雨松,网名雨松MOMO。首款入驻美国苹果店数字体育产品GolfSense Unity3D主程,CSDN博客专家,51CTO博客之星,51CTO移动开发论坛版主,Unity圣典开发论坛版主,5年以上移动游戏与软件开发经验。曾经领导与参与的游戏项目包括:GolfSense、新少林寺、天降少女、游龙戏凤西门庆等。个人独立博客地址http:www.xuanyusong.com。
|
目錄:
|
目 录
第1章 基础知识 1
1.1 Unity简介 1
1.2 下载与安装 2
1.3 游戏界面对比 8
1.4 购买许可证 10
1.5 打包与发布 13
1.6 本章小结 16
第2章 编辑器的结构 17
2.1 游戏工程 17
2.1.1 创建工程 17
2.1.2 打开工程 19
2.2 Project视图 20
2.3 Hierarchy视图 23
2.4 Inspector视图 24
2.4.1 简介 24
2.4.2 平台设定 25
2.5 Scene视图 26
2.5.1 视图介绍 27
2.5.2 移动视图 28
2.5.3 场景工具 32
2.5.4 Scene视图控制条 33
2.6 Game视图 35
2.6.1 运行游戏 35
2.6.2 Game视图控制条 35
2.6.3 导出与导入 38
2.7 第一个游戏实例拓展训练 38
2.8 本章小结 42
第3章 GUI游戏界面 43
3.1 GUI高级控件 43
3.1.1 Label控件 43
3.1.2 Button控件 46
3.1.3 TextField控件 48
3.1.4 ToolBar控件 50
3.1.5 Slider控件 52
3.1.6 ScrollView控件 53
3.1.7 群组视图 55
3.1.8 窗口 56
3.1.9 GUI Skin 58
3.1.10 自定义风格组件 62
3.2 GUILayout游戏界面布局 64
3.2.1 GUI与GUILayout的区别 64
3.2.2 GUILayoutOption界面布局设置 66
3.2.3 线性布局 67
3.2.4 控件偏移 68
3.2.5 对齐方式 69
3.2.6 实例——添加与关闭窗口 71
3.2.7 设置字体 73
3.2.8 显示中文 75
3.3 2D贴图与帧动画 77
3.3.1 绘制贴图 77
3.3.2 绘制动画 79
3.3.3 实例——人物移动 81
3.3.4 实例——用Unity开发2D游戏 83
3.4 游戏实例——游戏主菜单 88
3.5 本章小结 90
第4章 Unity游戏脚本 91
4.1 MonoDevelop脚本编辑器 91
4.1.1 编辑器简介 91
4.1.2 调试 92
4.2 Unity脚本的生命周期 95
4.3 利用脚本来操作游戏对象 95
4.3.1 创建游戏对象 96
4.3.2 获取游戏对象 97
4.3.3 添加组件与修改组件 102
4.3.4 发送广播与消息 104
4.3.5 克隆游戏对象 105
4.3.6 脚本组件 106
4.4 用脚本来控制对象的变换 108
4.4.1 改变游戏对象的位置 109
4.4.2 旋转游戏对象 110
4.4.3 平移游戏对象 112
4.4.4 缩放游戏对象 113
4.5 用C#编写脚本 115
4.5.1 继承MonoBehaviour类 115
4.5.2 声明变量 116
4.5.3 调用方法 116
4.5.4 JavaScript与C#脚本之间的通信 119
4.6 工具类 122
4.6.1 时间 122
4.6.2 等待 123
4.6.3 随机数 124
4.6.4 数学 124
4.6.5 四元数 125
4.7 游戏实例——小地图的制作 126
4.8 本章小结 130
第5章 游戏元素 131
5.1 游戏地形 131
5.1.1 创建地形 131
5.1.2 地形参数 132
5.1.3 编辑地形 133
5.1.4 地形贴图 136
5.2 地形元素 140
5.2.1 树元素 140
5.2.2 草与网格元素 142
5.2.3 其他设置 144
5.3 光源 145
5.3.1 点光源Point Light 146
5.3.2 聚光灯 147
5.3.3 平行光 148
5.4 天空盒子 149
5.4.1 Skybox组件 149
5.4.2 在场景中添加天空盒子 151
5.5 常用编辑器组件 152
5.5.1 摄像机 152
5.5.2 摄像机的类型 153
5.5.3 定制导航菜单栏 155
5.5.4 预设 157
5.5.5 抗锯齿 159
5.6 游戏实例——摄像机切换镜头 162
5.7 本章小结 164
第6章 物理引擎 165
6.1 刚体 165
6.1.1 简单使用 165
6.1.2 物理管理器 167
6.1.3 力 168
6.1.4 碰撞与休眠 169
6.2 碰撞器 170
6.2.1 添加碰撞器 171
6.2.2 物理材质 171
6.3 角色控制器 173
6.3.1 第一人称 173
6.3.2 第三人称 175
6.3.3 控制组件 176
6.3.4 移动与飞行 178
6.3.5 碰撞监测 180
6.4 射线 182
6.4.1 射线的原理 182
6.4.2 碰撞监测 183
6.5 关节 185
6.5.1 关节介绍 185
6.5.2 实例——关节组件 186
6.6 粒子特效 188
6.6.1 粒子发射器 188
6.6.2 粒子动画 189
6.6.3 粒子渲染器 190
6.6.4 粒子效果实例 191
6.6.5 布料 193
6.6.6 路径渲染 196
6.7 游戏实例——击垮围墙 198
6.8 本章小结 200
第7章 输入与控制 201
7.1 键盘事件 201
7.1.1 按下事件 201
7.1.2 抬起事件 203
7.1.3 长按事件 205
7.1.4 任意键事件 205
7.1.5 实例——组合按键 206
7.2 鼠标事件 211
7.2.1 按下事件 211
7.2.2 抬起事件 212
7.2.3 长按事件 213
7.3 自定义按键事件 214
7.3.1 输入管理器 214
7.3.2 按键事件 215
7.3.3 按键轴 216
7.3.4 实例——观察模型 217
7.4 模型与动画 219
7.4.1 模型的载入 219
7.4.2 设置3D动画 220
7.4.3 播放3D动画 221
7.4.4 动画剪辑 222
7.4.5 动画的帧 224
7.5 GL图像库 226
7.5.1 绘制线 226
7.5.2 实例——绘制曲线 228
7.5.3 绘制四边形 230
7.5.4 绘制三角形 232
7.5.5 绘制3D几何图形 233
7.5.6 线渲染器 236
7.5.7 网格渲染 239
7.6 游戏实例——控制人物移动 241
7.7 本章小结 243
第8章 持久化数据 244
8.1 PlayerPrefs类 244
8.1.1 保存与读取数据 244
8.1.2 删除数据 245
8.1.3 实例——注册界面 245
8.2 自定义文件 247
8.2.1 文件的创建与写入 247
8.2.2 文件的读取 248
8.2.3 实例——读取笑话 250
8.3 应用程序 253
8.3.1 创建关卡 253
8.3.2 切换关卡 253
8.3.3 截屏 254
8.3.4 打开网页 255
8.3.5 退出游戏 256
8.4 资源数据库 256
8.4.1 加载资源 256
8.4.2 创建资源 257
8.4.3 创建文件夹 258
8.4.4 移动与复制 260
8.4.5 删除与刷新 260
8.4.6 实例——鼠标拖动模型 261
8.4.7 实例——鼠标拣选 264
8.5 游戏实例——接受任务 265
8.6 本章小结 270
第9章 多媒体与网络 271
9.1 游戏音频 271
9.1.1 音频介绍 271
9.1.2 添加音频 271
9.1.3 播放音频 273
9.2 游戏视频 275
9.2.1 创建视频 275
9.2.2 播放视频 276
9.2.3 GUI播放视频 278
9.3 网络 279
9.3.1 下载文件 279
9.3.2 自定义资源包 281
9.3.3 下载资源包 283
9.3.4 创建本地服务器 285
9.3.5 客户端连接服务器 289
9.3.6 实例——多人聊天服务器端 290
9.3.7 实例——多人聊天客户端 292
9.4 游戏实例——简单的网络游戏 297
9.5 本章小结 304
第10章 游戏实例——突出重围 305
10.1 游戏状态机 305
10.2 游戏界面 307
10.2.1 游戏主菜单 307
10.2.2 制作角色血条 311
10.2.3 制作图片数字 312
10.3 游戏逻辑 314
10.3.1 发射子弹与击打目标 314
10.3.2 敌人的AI 318
10.3.3 增加敌人预设 321
10.4 完整的游戏 322
10.5 本章小结 334
|
內容試閱:
|
序
互联网和移动设备的火速发展,改变着整个世界的步伐,游戏行业也紧随着快速发展。对于各种各样的设备终端,传统的纯代码开发已经显得非常吃力,那么我们如何应对这个局面呢?
一款产自丹麦、由Unity
Technologies开发的游戏引擎Unity,带着强大的跨平台开发等特性来到了我们面前,组件式的开发让你告别枯燥乏味的纯代码式开发。与其他游戏引擎最显而易见的特点就是,一次开发即可轻松部署到Windows、Mac、iOS、Android、Wii、PS3等平台,告别以往高难度的、耗时的跨平台游戏开发,使快速的、高质量的游戏开发成为可能。
Unity具有高度优化的图形渲染管道,无论2D游戏还是3D游戏,均可达到美轮美奂的画面效果。它支持所有主要的文件格式引入,使得美术工作者在自己熟悉的创作工具中尽情发挥,而不必因为文件格式兼容问题影响效率和效果。它内建NVIDIA
PhysX物理引擎,让你轻松实现现实中生动的互动效果。此外,它支持JavaScript、C#和Boo三种脚本语言,新增的强大的寻路系统、焕然一新的Shuriken粒子系统、“镜之边缘”所使用的光影烘焙系统、改进的遮挡拆切和LOD系统等都是提高你游戏质量、节省时间的得力工具。
那么我们该如何学习并使用Unity开发游戏呢?目前,Unity虽然有大量的英文资料,但中文资料还非常少,令一些初学者怯步。不过本书的面世解决了这一问题,无论初学者还是已经接触过Unity的使用者,都将通过本书学到相关知识,提高使用Unity开发游戏的能力。本书详尽介绍了Unity的安装、使用及深入开发等,并包含相应的实例来巩固知识点,是快速入门及提高Unity技术的必备书。愿本书能给我们大家带来越来越多由Unity开发的优秀游戏!
Unity资深用户四角钱
|
|