纳金网

标题: 新书推荐 - 《Unity3D游戏开发基础》 [打印本页]

作者: 艾西格亚    时间: 2013-9-12 12:00
标题: 新书推荐 - 《Unity3D游戏开发基础》
本帖最后由 艾西格亚 于 2013-9-12 12:04 编辑

《unity3d游戏开发基础》,张帆 编著,浙江工商大学出版社,书号是ISBN:978-7-81140-946-8,适合高校课本,也是开发人员的参考书籍。亚马逊上有售:

http://www.amazon.cn/Unity3D%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91%E5%9F%BA%E7%A1%80-%E5%BC%A0%E5%B8%86/dp/product-description/B00ESWAKIS/ref=dp_proddesc_0?ie=UTF8&s=books

http://product.dangdang.com/23328612.html#ddclick?act=click&pos=23328612_1_1_q&cat=&key=unity3d&qinfo=26_1_48&pinfo=&minfo=&ninfo=&custid=&permid=20130909214106611654860178820179282&ref=http%3A%2F%2Fwww.dangdang.com%2F%3F_ddclickunion%3D460-5-biaoti%257Cad_type%3D0%257Csys_id%3D1&rcount=&type=&t=1378734078000


7_7487_501757d8f0b7182.jpg


我第一次接触Unity3D游戏引擎是在2008年,当时是我的导师扈文峰教授推荐给我,并引导我往这个方向去研究其应用的。在那时Unity3D没有太多的参考资料,外文的参考资料及教程也甚少。为了研究其应用,我只能通过官方的文档以及其入门视频。Unity3D是以组件的方式来组织游戏逻辑,它的可随意装配、对修改封闭而又对扩展开放的优越性,使得我开始意识到该软件将前途无量。本着更深入研究的目的,我在中国传媒大学继续完成了全日制研究生学习,在学习期间,对Unity3D的研究一直在持续。

回想起我开始接触Unity3D,到我毕业后来浙江传媒学院任教,整整5个年头。在这5年当中,Unity3D不断升级,由最初的2.5版本,2.6版本、3.0版本、,3.5版本、4.0版本,到本书截稿时的4.1版本,每一次的版本升级都给用户带来令人惊讶的新功能。它的一站式多平台开发,方便的编辑工具和编辑思路,对各种图形的渲染优化、物理引擎、动画状态机、灵活开放的实现方式以及丰富的脚本API等等,是我持续不断地对它进行研究和学习的动力源泉,现在我所承担的课程(游戏关卡设计、游戏脚本编程、游戏引擎原理和游戏实战开发等)基本上都使用Unity3D作为教学工具。除了教导学生运用Unity3D,我也希望将自己对Unity3D的研究和实践探索,通过出书的方式,使得更多人得以了解及运用Unity3D,为现有的Unity3D用户及其潜在用户,提供一个较为实用的教程。

在一次偶然的机会中,我认识了浙江工商大学出版社的罗丁瑞老师,罗老师对我打算出版Unity3D使用教程的事情,表示鼓励和支持。于是,201212月份开始,我除了处理学校的事务外,都把大部分的精力用于这本书的编著上,从大纲的设计以及每章的内容编写上,我都尽力以用户的实用体验及使用为原则。刚开始着笔的时候我是信心满满的,毕竟研究并使用Unity3D已经有5年时间,写起来还是比较顺利,但是越往下写,越发现自己仍需要学习及深入的东西还有很多。加上Unity3D的灵活性和开放性,使得它所涵盖的内容已经远远超出了本书的篇幅,因此,此书主要内容最后定位为Unity3D的入门教程。借助这本书,希望能够帮助读者了解和熟悉Unity3D。由于作者水平和学识,再加上时间仓促,书中错误疏漏之处再所难免,敬请广大读者批评指正。如果有什么疑问,可以与我联系,邮箱是zf223669@126.com

最后,我仍需要感谢我的导师,中国传媒大学计算机学院的扈文峰教授对我在学期间的指导。还要感谢浙江工商大学出版社的罗丁瑞老师,在他的大力支持下,终于能够让这本书面世。由衷地感谢浙江传媒学院新媒体学院的潘瑞芳教授、周忠成教授、俞承杭老师、顾晶晶老师、钱归平老师和林生佑老师,是他们为我这本书的编著提供了良好的工作环境和各种支持。感谢我的同事们,是他们的鼓励和支持,让我更有信心地完成这本书。同时感谢我的学生们和李舜曼老师,有一些材料的收集和整理、校对都是在他们的帮助下完成的。还要谢谢Unity3D的中国总代理爱迪斯通(北京)科技有限公司和杭州弥谷网络科技有限公司对这本书的大力支持。


书本内容:
第1章 游戏引擎介绍 131.1 游戏引擎简介 13
1.2 游戏引擎的选择 141.3 目前流行的游戏引擎 15
1.3.1 虚幻引擎(Unreal3) 151.3.2 CryEngine 16
1.3.3 寒霜引擎(Frosbite Engine) 161.3.4 Torque3D/2D游戏引擎 17
1.3.5 基于2D风格的Cocos2D游戏引擎 171.3.6 多平台发布的Unity3D游戏引擎 18
1.4 Unity3D游戏引擎的下载和安装 181.4.1 Unity3D下载 19
1.4.2 Unity3D的安装 201.4.3 Unity3D的注册 21
1.4.4 启动Unity3D 24总结 25
练习题 25第2章 3D游戏开发所需要的重要概念 26

2.1 3D图形学中的重要概念 262.1.1 坐标系 26
2.1.2 局部坐标系与世界坐标系(Local & World coordinate system) 272.1.3 父子物体(Parent - Child) 27
2.1.4 向量(Vector) 282.1.5 摄像机(Camera) 28
2.1.6 多边形(Polygons)、边(Edges)、顶点(Vertices)和面片(Meshes) 292.1.7 材质(Materials)、贴图(Textures)和着色器(Shaders) 29
2.1.8 物理引擎 302.1.9 碰撞检测(Collision Detection) 31
2.1.10 凸面体与凹面体(Convex and Concave) 312.2 Unity3D中定义的重要概念 32
2.2.1 资源(Assets) 322.2.2 工程(Project) 32
2.2.3 场景(Scenes) 322.2.4 游戏对象(GameObject) 32
2.2.5 组件(Component) 322.2.6 脚本(Scripts) 33
2.2.7 预置(Prefabs) 33总结 34
练习题 34第3章 Unity3D界面介绍 35

3.1 Unity3D编辑器的布局 353.1.1 标题栏 35
3.1.2 主菜单栏 363.1.3 Project(项目资源)窗口 42
3.1.4 Hierarchy(层级窗口) 483.1.5 Scene场景窗口 49
3.1.6 Inspector组件参数编辑窗口 573.1.7 Game(游戏预览窗口) 62
3.1.8 Console(控制台) 633.2 自定义窗口布局 63
3.2.1. 使用Unity3D内置的窗口布局功能 633.2.2. 自定义窗口布局 64
总结 65练习题 65

第4章 Unity3D脚本程序介绍 664.1 脚本程序初探 66
4.1.1 MonoDevelop脚本编辑器 664.1.2 第一个Javascript脚本 67
4.2 JavaScript的语法 694.2.1 变量声明 70
4.2.2 函数声明 704.2.3 类与类的使用 73
总结 82练习题 83

第5章 地形编辑器 845.1. 地形编辑范例 84
5.1.1. 创建地形 845.1.2. 为地形绘制贴图纹理 87
5.1.3. 为地形放置树木 915.1.4. 为地形放置花草 94
5.1.5. 为地形添加细节模型 965.1.6. 其他设置 98
5.2. 地形编辑的其他设置 995.2.1. 设置地形的分辨率 99
5.2.2. 设置最大树木的放置量 1005.2.3. 提高海平面 100
5.2.4. 使用地形高度图 1055.3. 为场景添加水体、天空盒与太阳光 108
5.3.1. 添加水体 1085.3.2. 添加天空盒 109
5.3.3. 添加太阳光 1105.3.4. 为场景添加第一人称角色 111
5.4. 树木创建器(Tree Creator) 1125.4.1. 植物的传统建模方法 112
5.4.2. 树木创建器面板 1145.4.3. 制作银杏树 119
总结 124练习题 124

第6章 光源 1266.1. 平行光(Directional Light) 126
6.1. 创作太阳光 1266.2. 创作月光场景 131
6.2. 点光源(Point Light) 1336.2.1. 创建夜景中的灯光 133
6.3. 聚光灯(Spot Light) 1406.5.1. 使用聚光灯 140
6.4. 使用程序控制灯光 1436.5. 镜头耀斑(Len Flare) 145
6.5.1. 使用Flare资源 1466.5.2. Flare资源的构成 147
总结 149练习题 149

第7章 音频 1507.1 音频剪辑(Audio Clip) 150
7.2 播放音频 1517.1.1 音频监听组件(Audio Listener) 151
7.1.2 音频源组件(Audio Source) 1527.1.3 音频混响区组件(Audio Reverb Zones) 153
7.1.4 音频滤波器组件(Audio Filter) 1547.3 程序控制音频播放 158
7.4 音频管理器 165总结 165
练习题 166第8章 3D模型的导入 167

8.1 静态模型的导出 1678.1.1 单位的设置 167
8.1.2 制作一个茶壶模型 1688.1.3 模型导出之前需要注意的事项 173
总结 175练习题 175

第9章 贴图、材质与Shader着色器 1769.1 材质的构成要素 176
9.1.1 固有颜色 1769.1.2 质感 177
9.1.3 光学属性 1779.1.4 外部环境光线 178
9.2 贴图(Texture) 1789.2.1 二维贴图(2D Texture) 178
9.2.2 立方体贴图(Cube Map) 1869.2.3 视频贴图(Movie Texture) 189
9.2.4 渲染贴图(Render Texture) 1929.2.5 程序贴图(Procedural Materials) 196
9.3 材质(Material) 1999.3.1 创建材质 200
9.3.2 内置材质类型 2009.4 着色器(Shader) 207
9.4.1 着色器的作用 2079.4.2 着色语言 210
9.4.3 Unity3D中的着色器 210总结 213
练习题 213第10章 碰撞盒与触发器 215

10.1. 碰撞盒(Collider) 21510.1.1. 碰撞盒初探 215
10.1.2. 网格碰撞盒(MeshCollider) 21710.1.3. 碰撞盒的阻挡作用 220
10.1.4. 碰撞事件的运用 22910.2. 触发器 233
总结 240练习题 240

第11章 物理模拟 24211.1. 刚体(Rigid Body) 242
11.2. 物理材质(Physics Material) 24411.2.1. 反弹系数 244
11.2.2. 摩擦系数 24611.3. 脚本控制刚体 248
11.4. 物理关节(Joint) 25311.4.1. 铰链关节(Hinge Joint) 253
11.4.2. 弹簧关节(Spring Joint) 25911.4.3. 固定铰链(Fixed Joint) 261
11.4.4. 角色关节(Character Joint) 26311.5. 布料模拟(Cloth) 270
11.5.1. 交互式布料(Interactive Cloth)组件 27011.5.2. 布料渲染器(Cloth Renderer)组件 271
11.5.3. 交互式布料组件范例1-随风飘扬的国旗 27211.5.4. 交互式布料组件范例2-可撕裂布料 274
11.5.5. 交互式布料组件范例3 – 皮球 27611.5.6. 蒙皮布料(Skinned Cloth)组件 278
11.5.7. 蒙皮面片渲染器(Skinned Mesh Renderer)组件 279总结 282
练习题 282第12章 粒子系统 283

12.1. 粒子系统模块 28312.1.1. 粒子初始化(Initial)与发射器(Emission)模块 283
12.1.2. 粒子发射器形状(Shape)模块 28412.1.3. 速度(Velocity)控制模块 285
12.1.4. 根据生命周期控制粒子受力(Force Over LifeTime)模块 28512.1.5. 颜色(Color)控制模块 285
12.1.6. 大小(Size)控制面板 28612.1.7. 旋转(Rotation)控制模块 286
12.1.8. 外力(External Forces)控制模块 28612.1.9. 碰撞(Collision)设置模块 286
12.1.10. 子粒子发射(Sub Emitters)模块 28712.1.11. 粒子贴图切片动画(Texture Sheet Animation) 287
12.1.12. 粒子渲染控制(Renderer)模块 28812.2. 粒子属性编辑方式 288
12.2.1. 传统参数控制方式 28812.2.2. 扩展参数控制方式 290
12.3. 粒子系统范例 29012.3.1. 火焰 290
12.3.2. 烟花 293总结 305
练习题 305第13章 动画系统 306

13.1. 二足角色动画 30713.1.1. 二足角色资源的制作和导入 307
13.1.2. 动画的导出与导入 30913.1.3. 使用Mecanim动画系统制作二足角色动画 309
13.1.4. 状态机的融合树技术(BlendTree) 32013.1.5. 动画层(Animation Layer)与身体蒙版(Body Mask) 326
13.1.6. 动画复用(Retargeting) 33013.1.7. 反向运动学(IK) 331
13.2. 不规则骨骼动画 33313.3. 无骨骼对象动画 339
总结 346练习题 346

第14章 游戏界面 34714.1. 使用GUI对象创建GUI 347
14.1.1. GUIText对象 34714.1.2. GUITexture对象 350
14.2. 使用UnityGUI脚本制作GUI 35314.2.1. UnityGUI原理 353
14.2.2. GUI控件 35714.3. 自定义GUI外观 363
14.3.1. 使用GUI Style 36314.3.2. 使用GUI Skin 366
14.4. 布局(Layout) 36614.4.1. 固定布局与自动布局 366
14.4.2. 排列控制 367总结 371
练习题 371第15章 Unity3D的其他功能(一) 372

15.1 摄像机(Camera) 37215.1.1. 视见体(视锥体,Frustum) 374
15.1.2. 从摄像机发射射线以及摄像机沿着射线移动 37715.1.3. 脚本控制摄像机围绕物体旋转 378
15.2 ImageEffect特效 38315.2.1 光照贴图烘焙 384
15.3.1 静态光照贴图 38515.3.2 灯光探测器(Light Probes) 389
15.3.3 光照贴图面板参数说明 39315.3 遮挡剔除(Occlusion Culling) 395
15.4.1 自动生成遮挡剔除包围体和单元格。 39515.4.2 手动添加遮挡剔除区域(Occlusion Area)。 397
15.4.3 入口遮挡(Occlusion Portal) 39815.4.4 遮挡剔除参数说明 401
15.4 层级细节(LOD) 40215.5 寻路系统 405
15.6 持久化数据 40815.7.1. 使用PlayerPrefs类实现玩家位置的存取 408
15.7.2. 关卡解锁 41015.7 多平台开发 415
15.8 对脚本程序进行调试(Debug) 42715.9.1 控制台窗口 427
15.9.2 调试器(Debug) 429总结: 432
练习题 432第16章 Unity3D的其他功能(二) 434

16.1. 统计数据分析器(Profiler) 43416.1.1. 渲染数据统计窗口(Rendering Statistics Window) 434
16.1.2. 分析器(Profiler) 43516.2. 渲染途径(Rendering Path) 440
16.2.1 延时光照(Deferred Lighting) 44016.2.2 前向渲染(Forward Rendering) 441
16.2.3 顶点光照(Vertex Lit) 44316.2.4 三种渲染途径的对比 443
16.3. 高动态范围效果(HDR) 44316.4. 线性光照(Linear Lighting) 445
16.5. 向量的使用 44816.5.1 向量的概念 448
16.5.2 向量的运算 44916.6. Unity3D事件函数调用顺序 456
16.6.1 基本事件函数 45616.6.2 针对游戏对象当前状态的事件函数 459
16.6.3 Unity3D 事件运行顺序 45916.6.4 Invoke系列方法 460
16.6.5 协同程序(Coroutine) 461总结 465
练习题 466







作者: 王者再临    时间: 2013-9-12 16:20
这个有点像是参考的书籍,应该是面向新手的市场
作者: 22353255    时间: 2013-9-12 17:25
希望看了书可以很好的上手,据说鱼松MOMO那本事翻译国外的一本教程
作者: 王者再临    时间: 2013-9-12 17:29
MOMO那本事翻译国外的一本教程?
不是他自己写的吗。。?
作者: xxj123    时间: 2013-9-13 09:55
不错的资源,谢谢分享
作者: ZackD    时间: 2013-9-17 18:24
价格不贵,可以参考看看
作者: carefreeq    时间: 2013-9-21 00:42
看目录好像太基础了点,,,,没有什么实战心得之类的文章
作者: 猪八设计    时间: 2013-9-23 09:51
好书自然不能错过。




欢迎光临 纳金网 (http://old.narkii.com/club/) Powered by Discuz! X2.5