书籍详情
《Unity3D虚拟现实游戏开发》[35M]百度网盘|亲测有效|pdf下载
  • Unity3D虚拟现实游戏开发

  • 出版社:清华大学出版社
  • 出版时间:2018-03
  • 热度:10087
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

本书以Unity 5.x版本为例,结合大量游戏开发案例,从实战角度系统地介绍Unity 3D的使用方法、经验及游戏开发基础知识。

本书分为3部分。第1部分为基础知识篇(第1~9章)。第2部分为综合实践篇(第10、11章)。第3部分为VR&AR篇(第12、13章)。基础知识篇主要介绍Unity 3D基础知识,包括Unity 3D概述、操作界面、脚本编写、图形用户界面系统、三维漫游地形系统、物理引擎、模型与动画、导航系统及游戏特效等内容,从总体上对Unity 3D进行概要性介绍。综合实践篇主要通过2D卡牌游戏开发和3D射击游戏开发使读者对Unity 3D游戏开发有较全面的认识,掌握开发一般休闲游戏的能力。VR&AR篇主要介绍时下非常流行的虚拟现实及增强现实技术,通过实践案例使读者掌握VR和AR开发流程。每章均附有习题。

本书适合作为高等院校数字媒体技术、数字媒体艺术及相关专业的教材,同时也适合广大Unity 3D初学者以及Unity 3D游戏开发和研究人员参考。


目录

目录

第1章初识Unity 3D1

1.1Unity 3D简介1

1.1.1Unity 3D的特色1

1.1.2Unity 3D的发展2

1.1.3Unity 3D的应用3

1.2Unity 3D下载与安装6

1.2.1Unity 3D下载6

1.2.2Unity 3D安装7

1.3资源管理14

1.3.1创建新项目14

1.3.2创建游戏物体15

1.3.3添加游戏物体组件16

1.3.4项目保存16

1.4Unity 3D游戏发布18

1.4.1发布到PC平台19

实践案例: PC平台游戏场景发布21

1.4.2发布到Web平台25

实践案例: Web平台游戏场景发布25

1.4.3发布到Android平台27

实践案例: Android平台游戏场景发布32

1.5本章小结36

1.6习题36

第2章Unity 3D界面37

2.1Unity 3D界面布局37

2.2Hierarchy视图38

2.2.1视图布局39

2.2.2操作介绍39

2.3Project视图39

2.3.1视图布局40

2.3.2操作介绍40[1][2][1][3]2.4Inspector视图41

2.4.1视图布局41

2.4.2操作介绍41

2.5Scene View视图42

2.5.1视图布局42

2.5.2操作介绍43

2.6Game View视图45

2.6.1视图布局45

2.6.2操作介绍45

2.7菜单栏46

2.7.1File菜单46

2.7.2Edit菜单46

2.7.3Assets菜单47

2.7.4GameObject菜单48

2.7.5Component菜单49

2.7.6Window菜单50

2.7.7Help菜单50

2.8工具栏51

2.9其他快捷键51

实践案例: 自由物体创建52

2.10资源管理56

2.10.1导入系统资源包58

2.10.2导入外部资源包59

2.10.3资源导出60

2.11Unity资源商店62

2.11.1Unity资源商店简介62

2.11.2Unity资源商店使用63

综合案例: 创建简单3D场景64

2.12本章小结69

2.13习题69

第3章Unity 3D脚本开发基础70

3.1JavaScript脚本基础70

3.1.1变量70

3.1.2表达式和运算符70

3.1.3语句72

3.1.4函数74

3.2C#脚本基础74

3.2.1变量74

3.2.2表达式和运算符77

3.2.3语句77

3.2.4函数79

3.3Unity 3D脚本编写80

3.3.1创建脚本80

3.3.2链接脚本81

3.3.3运行测试83

3.3.4C#脚本编写注意事项83

实践案例: 脚本环境测试85

实践案例: 创建游戏对象86

实践案例: 旋转的立方体90

综合案例: 第一人称漫游91

3.4本章小结96

3.5习题96

第4章Unity 3D图形用户界面97

4.1Unity 3D图形界面概述97

4.1.1GUI的概念97

4.1.2GUI的发展97

4.2OnGUI系统98

4.2.1Button控件98

4.2.2Box控件102

4.2.3Label控件103

4.2.4Background Color控件104

4.2.5Color控件105

4.2.6TextField控件106

4.2.7TextArea控件107

4.2.8ScrollView控件108

4.2.9Slider控件109

4.2.10ToolBar控件111

4.2.11ToolTip控件111

4.2.12Drag Window控件112

4.2.13Window控件113

4.2.14纹理贴图115

4.2.15Skin控件116

4.2.16Toggle控件119

4.3UGUI系统120

4.3.1Canvas121

4.3.2Event System122

4.3.3Panel 控件123

4.3.4Text控件123

4.3.5Image控件 124

4.3.6Raw Image控件124

4.3.7Button控件125

4.3.8Toggle控件126

4.3.9Slider控件127

4.3.10Scrollbar控件127

4.3.11Input Field控件128

实践案例: 游戏界面开发130

4.4本章小结136

4.5习题136

第5章三维漫游地形系统137

5.1地形概述137

5.2Unity 3D地形系统创建流程138

5.2.1创建地形138

5.2.2地形参数138

5.3使用高度图创建地形139

实践案例: 采用高度图创建地形139

5.4地形编辑工具141

5.4.1地形高度绘制141

5.4.2地形纹理绘制142

5.4.3树木绘制143

5.4.4草和其他细节144

5.4.5地形设置145

5.4.6风域146

5.5环境特效147

5.5.1水特效147

5.5.2雾特效148

5.5.3天空盒149

综合案例: 3D游戏场景设计150

5.6本章小结161

5.7习题161

第6章物理引擎162

6.1物理引擎概述162

6.2刚体162

6.2.1刚体添加方法163

6.2.2刚体选项设置163

实践案例: 刚体测试164

6.3碰撞体167

6.3.1碰撞体添加方法167

6.3.2碰撞体选项设置167

6.4触发器170

实践案例: 碰撞消失的立方体171

6.5物理材质174

实践案例: 弹跳的小球175

6.6力177

实践案例: 力的添加177

6.7角色控制器179

6.7.1添加角色控制器179

6.7.2角色控制器选项设置179

6.8关节180

6.8.1铰链关节180

6.8.2固定关节181

6.8.3弹簧关节181

6.8.4角色关节182

6.8.5可配置关节182

6.9布料184

6.9.1添加布料系统184

6.9.2布料系统属性设置184

6.10射线185

实践案例: 拾取物体185

6.11物理管理器187

综合案例: 迷宫夺宝188

6.12本章小结194

6.13习题194

第7章模型与动画195

7.1三维模型概述195

7.1.1主流三维建模软件简介195

7.1.2三维模型导入Unity 3D196

7.2Mecanim动画系统200

7.3人形角色动画200

7.3.1创建Avatar201

7.3.2配置Avatar202

7.3.3人形动画重定向202

7.4角色动画在游戏中的应用203

7.4.1Animator组件203

7.4.2Animator Controller203

7.4.3Animator动画状态机204

实践案例: 模型动画204

7.5本章小结208

7.6习题208

第8章导航系统209

8.1Unity 3D导航系统209

8.1.1设置NavMesh209

8.1.2烘焙209

8.1.3设置导航代理211

实践案例: 自动寻路212

8.2障碍物214

实践案例: 障碍物绕行214

8.3本章小结216

8.4习题216

第9章游戏特效217

9.1粒子系统217

9.1.1粒子系统概述217

9.1.2粒子系统属性217

实践案例: 尾焰制作225

实践案例: 礼花模拟227

实践案例: 火炬模拟228

实践案例: 喷泉模拟231

9.2光影特效234

9.2.1光照基础234

9.2.2阴影238

实践案例: 光照过滤239

9.3音乐特效241

9.3.1导入音效241

9.3.2播放音效241

实践案例: 背景音乐播放243

综合案例: 万圣节的尖叫246

9.4本章小结251

9.5习题251

第10章二维卡牌游戏开发253

10.1正交摄像机253

10.2精灵254

10.2.1精灵的实现254

10.2.2精灵的尺寸255

10.2.3精灵渲染器255

10.2.4图片导入设置256

10.2.5精灵编辑257

10.3二维物理系统257

10.3.1刚体257

10.3.2碰撞体258

10.3.3Joint 2D261

实践案例: 帧动画264

综合案例: 二维卡牌游戏开发265

10.4本章小结277

10.5习题277

第11章3D射击游戏开发278

11.13D射击游戏构思278

11.23D射击游戏设计278

11.33D射击游戏实施279

11.3.1项目准备279

11.3.2武器设定283

11.3.3子弹设定286

11.3.4射击动画293

11.3.5射击功能298

11.3.6游戏优化299

11.3.7游戏发布300

11.4本章小结301

11.5习题302

第12章虚拟现实应用开发303

12.1虚拟现实概述303

12.1.1虚拟现实概念303

12.1.2虚拟现实系统基本特征303

12.1.3虚拟现实系统分类303

12.1.4虚拟现实系统组成304

12.1.5虚拟现实应用305

12.2虚拟现实开发软件及平台307

12.2.1Virtools307

12.2.2Quest 3D307

12.2.3VRPlatform307

12.2.4Unity 3D308

12.2.5Unreal Engine4309

12.3虚拟现实开发设备310

12.3.1Oculus Rift310

12.3.2Microsoft HoloLens313

12.3.3Gear VR314

12.3.4HTC Vive314

实践案例: 交互式虚拟漫游326

12.4本章小结333

12.5习题333

第13章增强现实开发334

13.1增强现实概述334

13.1.1增强现实概念334

13.1.2增强现实原理334

13.1.3增强现实应用335

13.1.4增强现实开发插件335

13.2Vuforia发展历程335

13.3Vuforia核心功能336

13.3.1图片识别336

13.3.2圆柱体识别336

13.3.3多目标识别337

13.3.4文字识别337

13.3.5云识别337

实践案例: AR动物开发338

13.4本章小结347

13.5习题347

参考文献348


精彩书摘

第3章〖5〗Chapter 3Unity 3D脚本开发基础脚本是一款游戏的灵魂,Unity 3D脚本用来界定用户在游戏中的行为,是游戏制作中不可或缺的一部分,它能实现各个文本的数据交互并监控游戏运行状态。以往,Unity 3D主要支持3种语言: C#、UnityScript(也就是JavaScript for Unity)以及Boo。但是选择Boo作为开发语言的使用者非常少,而Unity公司还需要投入大量的资源来支持它,这显然非常浪费。所以在Unity 5.0后,Unity公司放弃对Boo的技术支持。目前,官方网站上的教程及示例基本上都是关于JavaScript和C#语言的,使用JavaScript语言更容易上手,建议初学者选择JavaScript作为入门阶段的脚本编辑语言。到了进阶阶段,可以改用C#语言编辑脚本,因为C#语言在编程理念上符合Unity 3D引擎原理,本章主要以JavaScript和C#语言为例讲解Unity 3D脚本设计。

3.1JavaScript脚本基础

Unity 3D中的JavaScript也称UnityScript,和基于浏览器的JavaScript有比较大的区别,JavaScript是一种由Netscape公司的LiveScript发展而来的原型化继承的面向对象类语言,并且是一种区分大小写的客户端脚本语言。

3.1.1变量

JavaScript有4种变量:

(1) 数值变量。数值是最基本的数据类型。例如:var a=1000;

var b=3.1415926;(2) 字符串变量。是由单引号或者双引号括起来的Unicode字符序列。

(3) 布尔值。只有两个值: true和false,用来表示某个事物为真还是为假。

(4) 数组。是数据的集合,数组中的每一个数据元素都有一个编号(下标),数组的下标是从0开始的。

3.1.2表达式和运算符

表达式是关键字、变量、常量和运算符的组合,可以用于执行运算、处理字符或测试数据。JavaScript的解释引擎可以计算表达式,并返回一个结果值。JavaScript的运算符分为〖1〗〖2〗〖1〗〖3〗以下6类。

(1) 算术运算符。指的是数学中最基本的加减乘除等运算。算术运算符需要两个操作数,因此也称二元运算符。假设有操作数a、b,它们的算术运算符如表3.1所示。表3.1算术运算符

算术运算符说明使用方法+两变量相加a+b-两变量相减a-b两变量相乘ab/两变量相除a/b%求余数a%b++变量做+1操作a=a+1--变量做-1操作a=a-1(2) 相等运算符。用来比较两个值,根据比较结果返回一个布尔值,广义的相等运算符包含以下4种:

 相等运算符(==)。

 等同运算符(===)。

 不等运算符(!=)。

 不等同运算符(!===)。


前言/序言

前言

由Unity Technologies公司开发的三维游戏制作引擎——Unity 3D凭借自身的跨平台性和开发性优势已逐渐成为当今世界范围内的主流游戏引擎,Unity 3D常用于手机端和网络端的交互式虚拟漫游及游戏开发。用Unity 3D引擎开发的游戏可以在浏览器、移动设备或者游戏机等几乎所有常见平台上运行。Unity 3D功能强大,简单易学,无论对初学者还是专业游戏开发团队,Unity 3D都是非常好的选择。

本书以Unity 5.x版本为例,通过案例介绍Unity 3D的使用方法及经验。本书以能力培养为主线,以案例教学为引导,以项目为载体,充分体现“做中学”和“学中做”的思想。书中结合大量Unity 3D实践应用开发案例,从实战角度系统地介绍Unity 3D游戏开发基础知识,包括Unity 3D脚本基础、引擎基础、特效制作、跨平台发布等内容。通过学习本书,读者可以在理解Unity 3D基本概念的基础上,通过实践案例熟悉并掌握基于Unity 3D的虚拟现实内容开发的实践技能。

本书内容丰富,条理清晰,从基本知识到高级特性,难度循序渐进,从简单的应用程序到完整的3D游戏案例逐步深入,将Unity 3D引擎基础知识完整地呈现在广大读者面前,非常适合作为本科院校相关专业的教材。

本书由大连东软信息学院数字媒体技术专业游戏开发课程群负责人李婷婷、余庆军、杨浩婕、刘石编写,参加编写的还有徐慧、田媛、叶世贤、王垚。由于近年来虚拟现实应用开发技术发展迅速,Unity 3D软件版本更新加快,同时受编者水平及编写时间所限,本书难免存在诸多疏漏和不足,敬请广大读者提出宝贵意见和建议,以利于我们对本书不断加以改进。

编者

2017年8月