《Unity5.X游戏开发基础》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:张帆主编;范义娜副主编
  • 出 版 社:杭州:浙江工商大学出版社
  • 出版年份:2017
  • ISBN:9787517820932
  • 页数:588 页
图书介绍:本教材是根据Unit3D新版本发布的最新修订版,内容经过作者的全新设计与编写,非常符合需要从基础从头学习Unity3D这个精妙绝伦的游戏设计软件。本教材不但一步步告诉你如何从安装软件开始到成功设计出一个完整而独立的游戏。而且将所有需要的素材都一次性打包在随书光盘中。让读者既能看又能随时进行操练,是一本非常难得的Unity3D实践教程。

第1章 游戏引擎介绍 3

1.1 游戏引擎简介 3

1.2 游戏引擎的选择 4

1.3 目前流行的游戏引擎 5

1.3.1 虚幻引擎(Unreal4) 5

1.3.2 Cry Engine 6

1.3.3 寒霜引擎(Frosbite Engine) 6

1.3.4 Torque3D/2D游戏引擎 7

1.3.5 基于2D风格的Cocos2D游戏引擎 7

1.3.6 多平台发布的Unity3D游戏引擎 8

1.4 Unity3D游戏引擎的下载和安装 8

1.4.1 Unity3D下载 9

1.4.2 Unity3D的安装 11

1.4.3 Unity3D的注册 12

1.4.4 启动Unity3D 13

1.5 总结 14

1.6 练习题 14

第2章 3D游戏开发所需要的重要概念 19

2.1 3D图形学中的重要概念 19

2.1.1 坐标系 19

2.1.2 局部坐标系与世界坐标系(Local&Worldcoordinate System) 20

2.1.3 父子物体(Parent-Child) 20

2.1.4 向量(Vector) 21

2.1.5 摄像机(Camera) 22

2.1.6 多边形(Polygons)、边(Edges)、顶点(Vertices)和面片(Meshes) 22

2.1.7 材质(Materials)、贴图(Textures)和着色器(Shaders) 23

2.1.8 物理引擎 24

2.1.9 碰撞检测(Collision Detection) 24

2.1.10 凸面体与凹面体(Convex and Concave) 25

2.2 Unity3D中定义的重要概念 25

2.2.1 资源(Assets) 25

2.2.2 工程(Project) 26

2.2.3 场景(Scenes) 26

2.2.4 游戏对象(Game Object) 26

2.2.5 组件(Component) 26

2.2.6 脚本(Scripts) 27

2.2.7 预置(Prefabs) 27

2.3 总结 27

2.4 练习题 28

第3章 Unity3D界面介绍 31

3.1 Unity3D编辑器的布局 31

3.1.1 标题栏 31

3.1.2 主菜单栏 32

3.1.3 Project(项目资源)窗口 40

3.1.4 Hierarchy(层级窗口) 48

3.1.5 Scene场景窗口 49

3.1.6 Inspector组件参数编辑窗口 60

3.1.7 Game(游戏预览窗口) 66

3.1.8 Console(控制台) 67

3.2 自定义窗口布局 68

3.2.1 使用Unity3D内置的窗口布局功能 68

3.2.2 自定义窗口布局 71

3.3 总结 72

3.4 练习题 72

第4章 Unity3D脚本程序介绍 77

4.1 脚本程序初探 77

4.1.1 Mono Develop脚本编辑器 78

4.1.2 第一个C#Sc ript脚本 78

4.2 C#Script的语法 81

4.2 1 变量声明 81

4.2.2 函数声明 82

4.2.3 类与类的使用 85

4.3 Unity3D事件函数调用顺序 101

4.3.1 基本事件函数 101

4.3.2 针对游戏对象当前状态的事件函数 104

4.3.3 Unity3D事件运行顺序 105

4.4 总结 105

4.5 练习题 106

第5章 地形编辑器 109

5.1 地形编辑范例 109

5.1.1 创建地形 109

5.1.2 为地形绘制贴图纹理 113

5.1.3 为地形放置树木 117

5.1.4 为地形放置花草 121

5.1.5 为地形添加细节模型 122

5.1.6 其他设置 125

5.2 地形编辑的其他设置 126

5.2.1 设置地形的分辨率 126

5.2.2 提高海平面 127

5.2.3 使用地形高度图 133

5.3 为场景添加水体、天空盒与太阳光 137

5.3.1 添加水体 137

5.3.2 添加天空盒 139

5.3.3 添加太阳光 140

5.3.4 为场景添加第一人称角色 141

5.4 树木创建器(Tree Creator) 142

5.4.1 植物的传统建模方法 142

5.4.2 树木创建器面板 144

5.4.3 制作银杏树 149

5.5 World Machine制作地形 158

5.5.1 World Machine制作火山口 158

5.5.2 导入Unity 182

5.6 Speedtree 184

5.6.1 树的基本结构 185

5.6.2 对柳树的形态结构分析 185

5.6.3 利用Speed Tree创建柳树模型 186

5.6.3 Speed Tree模型导入Unity5 193

5.6.4 为地形使用笔刷放置Speed Tree树模型 194

5.7 总结 195

5.8 练习题 195

第6章 3D模型的导入 199

6.1 静态模型的导出 199

6.1.1 单位的设置 199

6.1.2 制作一个茶壶模型 200

6.1.3 模型导出之前需要注意的事项 207

6.2 总结 209

6.3 练习题 210

第7章 贴图、材质与Shader着色器 213

7.1 贴图(Texture) 213

7.2 PBS关键属性介绍 215

7.2.1 固有颜色(Albedo) 215

7.2.2 金属度(Metallic) 216

7.2.3 光滑度(Smoothness) 216

7.3 PBS其他属性介绍 217

7.3.1 法线贴图(Normal Map) 217

7.3.2 高度贴图(Height Map) 218

7.3.3 遮挡贴图(Occlusion Map) 218

7.3.4 发光属性(Emission) 219

7.3.5 菲涅尔效果(Fresnel Effect) 219

7.4 PBS范例 220

7.5 着色器(Shader) 226

7.5.1 着色器的作用 226

7.5.2 着色语言 230

7.5.3 Unity3D中的着色器 230

7.6 总结 235

7.7 练习题 235

第8章 光源 239

8.1 平行光(Directional Light) 239

8.1.1 太阳光 240

8.1.2 月光 242

8.2 点光源(Point Light) 244

8.2.1 使用点光源 245

8.3 聚光灯(Spot Light) 248

8.3.1 使用聚光灯 248

8.4 三种灯光的属性说明 250

8.5 使用程序控制灯光 250

8.6 总结 253

8.7 练习题 253

第9章 音频 257

9.1 音频剪辑(Audio Clip) 257

9.2 播放音频 259

9.2.1 音频监听组件(Audio Listener) 259

9.2.2 音频源组件(Audio Source) 260

9.2.3 音频混合器(Audio Mixer) 261

9.2.4 音频过滤器/效果器(Audio Filters/Audio Effects) 262

9.2.5 回响空间(Reverb Zones) 263

9.3 Audio Mixer 264

9.3.1 Audio Mixe r原理 264

9.3.2 使用AudioMixer 265

9.4 总结 284

9.5 练习题 284

第10章 碰撞盒与触发器 287

10.1 碰撞盒(Collider) 287

10.1.1 碰撞盒初探 288

10.1.2 网格碰撞盒(Mesh Collider) 289

10.1.3 碰撞盒的阻挡作用 291

10.1.4 碰撞事件的运用 301

10.2 触发器 308

10.3 总结 317

10.4 练习题 317

第11章 3D物理模拟 321

11.1 刚体(Rigid Body) 321

11.2 物理材质(Physics Material) 323

11.2.1 反弹系数 324

11.2.2 摩擦系数 326

11.3 脚本控制刚体(Control Rigidbody by Script) 328

11.4 布料(Cloth) 331

11.4.1 飘扬的旗帜 331

11.4.2 软皮球 334

11.5 物理关节(Physics Joint) 336

11.5.1 铰链关节(Hinge Joint) 336

11.5.2 固定关节(Fixed Joint) 343

11.5.3 弹簧关节(Spring Joint) 346

11.5.4 角色关节(Character Joint) 352

11.6 总结 362

11.7 练习题 362

第12章 2D物理模拟 365

12.1 2D刚体(Rigidbody 2D) 365

12.2 2D碰撞盒(Collider 2D) 366

12.3 2D物理材质(Physics Material 2D) 367

12.4 2D关节(2D Joints) 368

12.4.1 2D距离关节(Distance Joint 2D) 368

12.4.2 2D弹簧关节(Spring Joint 2D) 373

12.4.3 2D固定关节(Fixed Joint 2D) 375

12.4.4 2D摩擦关节(Friction Joint 2D) 377

12.4.5 2D铰链关节(Hinge Joint 2D) 378

12.4.6 2D相对关节(Relative Joint 2D) 381

12.4.7 2D滑块关节(Slider Joint 2D) 383

12.4.8 2D目标关节(Target Joint 2D) 386

12.4.9 2D车轮关节(Wheel Joint 2D) 387

12.5 2D恒力(Constant Force 2D) 391

12.6 2D区域效应(Area Effector 2D) 391

12.7 2D浮力效应(Buoyancy Effector 2D) 393

12.8 2D点效应(Point Effector 2D) 395

12.9 2D平台效应(Platform Effector 2D) 397

12.10 2D表面效应(Surface Effector 2D) 399

12.11 总结 400

12.12 练习题 401

第13章 动画系统 406

13.1 二足角色动画 406

13.1.1 二足角色资源的制作和导入 406

13.1.2 动画的导出与导入 408

13.1.3 使用Mecanim动画系统制作二足角色动画 408

13.1.4 状态机的融合树技术(Blend Tree) 420

13.1.5 状态机的动画层(Animation Layer)与身体蒙版(Body Mask) 427

13.1.6 动画复用(Retargeting) 431

13.1.7 反向运动学(IK) 431

13.2 不规则骨骼动画 434

13.3 无骨骼对象动画 439

13.4 2D动画 447

13.4.1 帧动画 447

13.4.2 用拆分的方法制作2D动画 459

13.5 总结 462

13.6 练习题 462

第14章 粒子系统 465

14.1 粒子系统模块 465

14.1.1 粒子初始化(Initial)与发射器(Emission)模块 466

14.1.2 粒子发射器形状(Shape)模块 467

14.1.3 速度(Velocity)控制模块 468

14.1.4 根据生命周期控制粒子受力(Force Over LifeTime)模块 469

14.1.5 颜色(Color)控制模块 470

14.1.6 大小(Size)控制模块 470

14.1.7 旋转(Rotation)控制模块 471

14.1.8 外力(Exte rnal Forces)控制模块 471

14.1.9 碰撞(Collision)设置模块 472

14.1.10 子粒子发射(Sub Emitte rs)模块 473

14.1.11 粒子贴图切片动画(Texture Sheet Animation) 473

14.1.12 粒子渲染(Renderer)控制模块 474

14.2 粒子属性编辑方式 475

14.2.1 传统参数控制方式 475

14.2.2 扩展参数控制方式 477

14.3 粒子系统范例 478

14.3.1 火焰 478

14.3.2 冰技能特效 483

14.3.3 烟花 501

14.4 使用代码控制粒子系统 519

14.5 总结 523

14.6 练习题 523

第15章 UGUI 527

15.1 UGUI组件介绍 527

15.1.1 Canvas相关组件 527

15.1.2 RectTransform组件 532

15.1.3 视觉(Visual)相关UI控件 534

15.1.4 UI效果(Effect)相关组件 536

15.1.5 交互(Interaction)相关控件 537

15.2 UGUI实例 544

15.2.1 创建开始界面 544

15.2.2 游戏菜单界面 546

15.2.3 角色面板和背包系统的背景 550

15.2.4 角色面板 551

15.2.5 创建背包系统 552

15.2.6 关卡选择界面 555

15.3 总结 562

15.4 练习题 562

第16章 人工智能 565

16.1 寻路功能 565

16.2 Nav Mesh Agent 572

16.2.1 Nav Mesh Agent参数介绍 572

16.2.2 通过脚本修改参数 575

16.3 Off Mesh Link 579

16.3.1 自动添加分离网格链接 580

16.3.2 手动添加分离网格链接 581

16.4 Nav Mesh Obstacle 582

16.5 分层寻路 584

16.6 总结 588

16.7 练习题 588