书籍详情
中公教育数字视觉与虚拟交互自学指南:Unity3D从理论到实战
作者:中公教育优就业研究院 著
出版社:陕西科学技术出版社
出版时间:2020-06-01
ISBN:9787536977822
定价:¥68.00
购买这本书可以去
内容简介
《中公版·数字视觉与虚拟交互自学指南:Unity3D从理论到实战》一书共分为十三章,涵盖了Unity3D引擎的各个系统模块,对虚拟现实、增强现实、游戏开发三个领域做了深入、细致地讲解。本书按由浅入深、循序渐进的规律,从引擎初识到高级开发都做了一一介绍,帮助读者建立一套完整的知识体系,形成知识树。 第一章为Unity3D引擎初识,详细介绍了Unity3D的各个面板、坐标系、3D理论基础等。 第二章介绍了“面向组件”开发思想,是一种比“面向对象”更为高级的设计思想。该章对脚本组件进行了详细讲解,包含常用类与回调方法,是后续各章节的基础。 第三章到第八章涵盖物理系统、2D精灵系统、UGUI系统、动画系统、导航系统、特效系统等模块,对这些模块进行单独细致地分析与讲解,每个模块都对应到实际应用中的某个具体功能。 第九章为协程与WWW类,主要介绍了协程的使用方法与场景,并且阐述了游戏开发中的多线程的有关问题,终配合WWW类封装成下载工具类。 第十章主要介绍数据持久化,包括PlayerPrefs、XML的创建与解析、JSON的创建与解析、数据库语法及工具类的封装,并对数据表的设计做了详细讲述。 第十一章为动态资源加载,包括Resources、AssetBundle等技术,并讲解了一个资源热更的案例。 第十二章和第十三章介绍了AR、VR行业的前景,AR方面主讲高通AR SDK,内容包括图片和模型识别、相机控制、SLAM定位和工程打包发布等技术,VR方面主要介绍了基于HTC Vive的开发流程与VRTK插件的使用。
作者简介
暂缺《中公教育数字视觉与虚拟交互自学指南:Unity3D从理论到实战》作者简介
目录
第一章Unity3D引擎初识|1
1.1什么是引擎1
1.1.1游戏1
1.1.2游戏引擎4
1.2Unity3D简介6
1.2.1Unity历史6
1.2.2Unity优势7
1.3Unity3D软件安装9
1.4新建和打开工程12
1.4.1启动Unity引擎12
1.4.2创建工程13
1.4.3面板介绍15
1.4.4其他功能23
1.5Scene视图操作24
1.5.1调整视角25
1.5.2对象操作26
1.6坐标系29
1.6.1常用坐标系29
1.6.2坐标轴颜色及简称32
1.73D理论基础32
1.7.1矢量和标量32
1.7.2向量的运算33
1.7.3帧速率34
第二章脚本组件|35
2.1工程与应用程序35
2.1.1工程35
2.1.2管理38
2.2面向组件开发38
2.2.1开发框架38
2.2.2常用组件41
2.3面向组件开发思想44
2.4脚本组件44
2.4.1创建脚本44
2.4.2打开脚本47
2.4.3编辑脚本48
2.5脚本组件生命周期49
2.5.1生命周期49
2.5.2脚本执行顺序51
2.6脚本中常用类52
2.6.1脚本组件的继承关系52
2.6.2GameObject类57
2.6.3Vector359
2.6.4Quaternion62
2.6.5Time类63
2.6.6Transform类64
2.6.7Mathf类69
2.7综合案例70
第三章物理引擎|74
3.1物理引擎简介74
3.2人机交互75
3.2.1Input类简介75
3.2.2传统设备输入控制75
3.2.3移动设备输入控制78
3.2.4陀螺仪的访问79
3.2.5键盘事件81
3.2.6鼠标事件82
3.3碰撞器组件83
3.3.1碰撞器组件介绍83
3.3.2物理材质85
3.4刚体组件86
3.4.1刚体组件介绍86
3.4.2刚体组件属性及方法87
3.4.3使用刚体添加爆炸力88
3.5碰撞事件以及回调90
3.5.1碰撞事件的条件91
3.5.2碰撞事件回调方法91
3.5.3碰撞检测频率92
3.6触发事件以及回调94
3.6.1触发事件的条件94
3.6.2触发事件回调方法94
3.6.3触发与碰撞的回调参数95
3.7射线96
3.7.1场景射线96
3.7.2相机射线98
3.7.3射线发射方法重载99
3.7.4其他形状射线101
3.7.5其他射线发射方法103
第四章Sprite精灵|105
4.1什么是Sprite精灵105
4.1.12D游戏105
4.1.22D游戏中的精灵106
4.2创建Sprite精灵107
4.2.1生成Sprite单个精灵107
4.2.2精灵切割109
4.2.3精灵打包115
4.3Sprite精灵动画118
4.3.1精灵动画的创建119
4.3.2精灵动画的使用122
4.4Sprite精灵与2D物理组件129
4.4.1Sprite精灵的物理效果129
4.4.2Sprite精灵碰撞事件131
4.4.3Sprite精灵触发与触发事件133
4.4.4动态力137
第五章UGUI系统|138
5.1图形用户界面(GUI)138
5.1.1什么是GUI138
5.1.2UGUI139
5.2UGUI对象的创建和使用140
5.2.1Text对象140
5.2.2Image对象143
5.2.3RawImage对象147
5.2.4Button对象148
5.2.5Slider对象153
5.2.6Scrollbar对象156
5.2.7Toggle对象157
5.2.8InputField对象160
5.3RectTransform组件162
5.3.1RectTransform介绍162
5.3.2轴点(Pivot)163
5.3.3锚点(Anchor)164
5.4画布(Canvas)166
5.5UGUI的布局169
5.6ScrollView(拖动效果)173
5.6.1ScrollView对象173
5.6.2ScrollRect组件173
5.6.3Viewport可视窗口174
5.7事件系统(EventSystem)177
5.7.1事件的回调方法178
5.7.2给事件添加回调方法的案例180
5.8综合案例185
5.8.1背包系统186
5.8.2小地图的制作197
5.8.3关卡选择201
第六章动画系统|214
6.1动画简介214
6.2导入动画资源214
6.2.1Rig装置选项卡215
6.2.2Animation动画选项卡216
6.3Mecanim动画系统219
6.3.1Mecanim简介219
6.3.2Mecanim的工作流程219
6.3.3Avatar骨骼系统220
6.3.4Animator组件222
6.3.5AnimatorController223
6.3.6动画融合树231
6.3.7动画事件236
6.3.8动画曲线240
6.3.9动画层242
6.3.10动画遮罩244
6.3.11IK动画248
第七章导航系统|251
7.1导航简介251
7.2Unity中的导航系统及实现原理251
7.2.1导航的使用流程251
7.2.2烘焙导航网格255
7.2.3导航组件的使用259
7.2.4脚本实现导航261
7.2.5分离路面导航264
7.2.6分层路面烘焙267
7.2.7动态路障270
第八章游戏特效|273
8.1游戏特效简介273
8.2粒子系统(ParticleSystem)274
8.2.1粒子系统简介274
8.2.2粒子组件参数275
8.2.3粒子系统成员285
8.3拖尾渲染285
8.4线性渲染288
8.5贴图融合292
第九章协程与WWW|297
9.1协程297
9.1.1概述297
9.1.2协程的原理297
9.1.3协程的使用298
9.1.4协程与线程304
9.2WWW305
9.2.1WWW概述305
9.2.2WWW类的常用属性305
9.2.3WWW类的使用305
9.2.4WWW中的Get方式与Post方式308
9.3下载队列封装309
9.3.1下载任务类310
9.3.2下载队列管理类314
9.3.3测试用例315
第十章数据存储|318
10.1数据存储定义318
10.1.1游戏中的数据318
10.1.2数据的持久化320
10.2PlayerPrefs类321
10.2.1存储机制321
10.2.2存储路径321
10.2.3常用方法321
10.2.4应用案例322
10.3XML数据格式文档324
10.3.1XML简介324
10.3.2XML特点及作用325
10.3.3XML基本概念325
10.3.4XML常用类326
10.3.5XML数据存取328
10.3.6XML的序列化与反序列化329
10.4JSON数据格式文档331
10.4.1JSON简介331
10.4.2JSON语法格式332
10.4.3Unity解析JSON的方式333
10.4.4Newtonsoft.Json库333
10.5SQLite本地数据库337
10.5.1SQLite数据库简介337
10.5.2SQLite数据库特点337
10.5.3SQL语句338
10.5.4SQLite图形化工具库340
10.5.5在Unity中使用SQLite343
第十一章动态资源加载|349
11.1游戏资源概述349
11.2Resources类349
11.2.1常用方法列表349
11.2.2Load()方法加载资源350
11.2.3注意事项350
11.2.4常见的资源类型350
11.3AssetBundle351
11.3.1AssetBundle的用途351
11.3.2使用AssetBundle的原因352
11.3.3Unity5.x方式打包资源352
11.3.4AssetBundle加载资源355
11.3.5AssetBundle卸载358
11.3.6Unity4.x方式打包资源360
11.4AssetBundle在项目中的应用362
11.4.1打包和加载资源362
11.4.2生成MD5清单367
11.4.3比对MD5369
第十二章高通AR|372
12.1导论372
12.1.1AR简介372
12.1.2AR应用场景373
12.1.3ARSDK选择375
12.2Vuforia基本流程376
12.2.1注册账号及AppLicenseKey申请377
12.2.2官方文档的使用378
12.2.3TargetManager379
12.3图片和模型识别384
12.3.1插件的获取384
12.3.2单图识别交互385
12.3.3声音交互389
12.3.4动画交互391
12.3.5颜色交互393
12.3.6多图识别394
12.3.7物体识别394
12.4简单相机控制398
12.4.1设置相机聚焦模式398
12.4.2切换前后相机399
12.4.3开启闪光灯400
12.5工程打包402
12.5.1配置Unity安卓环境402
12.5.2打包404
第十三章VR-HtcVive|407
13.1VR概述407
13.1.1VR关键技术407
13.1.2VR技术的应用领域408
13.1.3VR发展的限制因素409
13.1.4VR行业兴起及主流硬件409
13.1.5VR主流应用商店412
13.2SteamVR开发环境配置414
13.2.1硬件基本配置414
13.2.2安装HTCVive415
13.2.3Unity开发环境配置416
13.3SteamVR插件简单使用416
13.3.1简介416
13.3.2SteamVRPrefab简介417
13.3.3SteamVR插件的主要作用418
13.4SteamVR简单案例开发418
13.4.1输入控制418
13.4.2高级输入控制422
13.5Teleport系统426
13.5.1Teleport的基本概念426
13.5.2Teleport的适用场景426
13.5.3Teleport的分类427
13.5.4两种瞬移实现428
13.6Vive与UI交互433
13.6.12DUI和3DUI433
13.6.23DUI的实现方式433
13.7ViveControllerHaptic(手柄震动控制)435
13.7.1基本概念435
13.7.2使用场景435
13.7.3实现方式435
1.1什么是引擎1
1.1.1游戏1
1.1.2游戏引擎4
1.2Unity3D简介6
1.2.1Unity历史6
1.2.2Unity优势7
1.3Unity3D软件安装9
1.4新建和打开工程12
1.4.1启动Unity引擎12
1.4.2创建工程13
1.4.3面板介绍15
1.4.4其他功能23
1.5Scene视图操作24
1.5.1调整视角25
1.5.2对象操作26
1.6坐标系29
1.6.1常用坐标系29
1.6.2坐标轴颜色及简称32
1.73D理论基础32
1.7.1矢量和标量32
1.7.2向量的运算33
1.7.3帧速率34
第二章脚本组件|35
2.1工程与应用程序35
2.1.1工程35
2.1.2管理38
2.2面向组件开发38
2.2.1开发框架38
2.2.2常用组件41
2.3面向组件开发思想44
2.4脚本组件44
2.4.1创建脚本44
2.4.2打开脚本47
2.4.3编辑脚本48
2.5脚本组件生命周期49
2.5.1生命周期49
2.5.2脚本执行顺序51
2.6脚本中常用类52
2.6.1脚本组件的继承关系52
2.6.2GameObject类57
2.6.3Vector359
2.6.4Quaternion62
2.6.5Time类63
2.6.6Transform类64
2.6.7Mathf类69
2.7综合案例70
第三章物理引擎|74
3.1物理引擎简介74
3.2人机交互75
3.2.1Input类简介75
3.2.2传统设备输入控制75
3.2.3移动设备输入控制78
3.2.4陀螺仪的访问79
3.2.5键盘事件81
3.2.6鼠标事件82
3.3碰撞器组件83
3.3.1碰撞器组件介绍83
3.3.2物理材质85
3.4刚体组件86
3.4.1刚体组件介绍86
3.4.2刚体组件属性及方法87
3.4.3使用刚体添加爆炸力88
3.5碰撞事件以及回调90
3.5.1碰撞事件的条件91
3.5.2碰撞事件回调方法91
3.5.3碰撞检测频率92
3.6触发事件以及回调94
3.6.1触发事件的条件94
3.6.2触发事件回调方法94
3.6.3触发与碰撞的回调参数95
3.7射线96
3.7.1场景射线96
3.7.2相机射线98
3.7.3射线发射方法重载99
3.7.4其他形状射线101
3.7.5其他射线发射方法103
第四章Sprite精灵|105
4.1什么是Sprite精灵105
4.1.12D游戏105
4.1.22D游戏中的精灵106
4.2创建Sprite精灵107
4.2.1生成Sprite单个精灵107
4.2.2精灵切割109
4.2.3精灵打包115
4.3Sprite精灵动画118
4.3.1精灵动画的创建119
4.3.2精灵动画的使用122
4.4Sprite精灵与2D物理组件129
4.4.1Sprite精灵的物理效果129
4.4.2Sprite精灵碰撞事件131
4.4.3Sprite精灵触发与触发事件133
4.4.4动态力137
第五章UGUI系统|138
5.1图形用户界面(GUI)138
5.1.1什么是GUI138
5.1.2UGUI139
5.2UGUI对象的创建和使用140
5.2.1Text对象140
5.2.2Image对象143
5.2.3RawImage对象147
5.2.4Button对象148
5.2.5Slider对象153
5.2.6Scrollbar对象156
5.2.7Toggle对象157
5.2.8InputField对象160
5.3RectTransform组件162
5.3.1RectTransform介绍162
5.3.2轴点(Pivot)163
5.3.3锚点(Anchor)164
5.4画布(Canvas)166
5.5UGUI的布局169
5.6ScrollView(拖动效果)173
5.6.1ScrollView对象173
5.6.2ScrollRect组件173
5.6.3Viewport可视窗口174
5.7事件系统(EventSystem)177
5.7.1事件的回调方法178
5.7.2给事件添加回调方法的案例180
5.8综合案例185
5.8.1背包系统186
5.8.2小地图的制作197
5.8.3关卡选择201
第六章动画系统|214
6.1动画简介214
6.2导入动画资源214
6.2.1Rig装置选项卡215
6.2.2Animation动画选项卡216
6.3Mecanim动画系统219
6.3.1Mecanim简介219
6.3.2Mecanim的工作流程219
6.3.3Avatar骨骼系统220
6.3.4Animator组件222
6.3.5AnimatorController223
6.3.6动画融合树231
6.3.7动画事件236
6.3.8动画曲线240
6.3.9动画层242
6.3.10动画遮罩244
6.3.11IK动画248
第七章导航系统|251
7.1导航简介251
7.2Unity中的导航系统及实现原理251
7.2.1导航的使用流程251
7.2.2烘焙导航网格255
7.2.3导航组件的使用259
7.2.4脚本实现导航261
7.2.5分离路面导航264
7.2.6分层路面烘焙267
7.2.7动态路障270
第八章游戏特效|273
8.1游戏特效简介273
8.2粒子系统(ParticleSystem)274
8.2.1粒子系统简介274
8.2.2粒子组件参数275
8.2.3粒子系统成员285
8.3拖尾渲染285
8.4线性渲染288
8.5贴图融合292
第九章协程与WWW|297
9.1协程297
9.1.1概述297
9.1.2协程的原理297
9.1.3协程的使用298
9.1.4协程与线程304
9.2WWW305
9.2.1WWW概述305
9.2.2WWW类的常用属性305
9.2.3WWW类的使用305
9.2.4WWW中的Get方式与Post方式308
9.3下载队列封装309
9.3.1下载任务类310
9.3.2下载队列管理类314
9.3.3测试用例315
第十章数据存储|318
10.1数据存储定义318
10.1.1游戏中的数据318
10.1.2数据的持久化320
10.2PlayerPrefs类321
10.2.1存储机制321
10.2.2存储路径321
10.2.3常用方法321
10.2.4应用案例322
10.3XML数据格式文档324
10.3.1XML简介324
10.3.2XML特点及作用325
10.3.3XML基本概念325
10.3.4XML常用类326
10.3.5XML数据存取328
10.3.6XML的序列化与反序列化329
10.4JSON数据格式文档331
10.4.1JSON简介331
10.4.2JSON语法格式332
10.4.3Unity解析JSON的方式333
10.4.4Newtonsoft.Json库333
10.5SQLite本地数据库337
10.5.1SQLite数据库简介337
10.5.2SQLite数据库特点337
10.5.3SQL语句338
10.5.4SQLite图形化工具库340
10.5.5在Unity中使用SQLite343
第十一章动态资源加载|349
11.1游戏资源概述349
11.2Resources类349
11.2.1常用方法列表349
11.2.2Load()方法加载资源350
11.2.3注意事项350
11.2.4常见的资源类型350
11.3AssetBundle351
11.3.1AssetBundle的用途351
11.3.2使用AssetBundle的原因352
11.3.3Unity5.x方式打包资源352
11.3.4AssetBundle加载资源355
11.3.5AssetBundle卸载358
11.3.6Unity4.x方式打包资源360
11.4AssetBundle在项目中的应用362
11.4.1打包和加载资源362
11.4.2生成MD5清单367
11.4.3比对MD5369
第十二章高通AR|372
12.1导论372
12.1.1AR简介372
12.1.2AR应用场景373
12.1.3ARSDK选择375
12.2Vuforia基本流程376
12.2.1注册账号及AppLicenseKey申请377
12.2.2官方文档的使用378
12.2.3TargetManager379
12.3图片和模型识别384
12.3.1插件的获取384
12.3.2单图识别交互385
12.3.3声音交互389
12.3.4动画交互391
12.3.5颜色交互393
12.3.6多图识别394
12.3.7物体识别394
12.4简单相机控制398
12.4.1设置相机聚焦模式398
12.4.2切换前后相机399
12.4.3开启闪光灯400
12.5工程打包402
12.5.1配置Unity安卓环境402
12.5.2打包404
第十三章VR-HtcVive|407
13.1VR概述407
13.1.1VR关键技术407
13.1.2VR技术的应用领域408
13.1.3VR发展的限制因素409
13.1.4VR行业兴起及主流硬件409
13.1.5VR主流应用商店412
13.2SteamVR开发环境配置414
13.2.1硬件基本配置414
13.2.2安装HTCVive415
13.2.3Unity开发环境配置416
13.3SteamVR插件简单使用416
13.3.1简介416
13.3.2SteamVRPrefab简介417
13.3.3SteamVR插件的主要作用418
13.4SteamVR简单案例开发418
13.4.1输入控制418
13.4.2高级输入控制422
13.5Teleport系统426
13.5.1Teleport的基本概念426
13.5.2Teleport的适用场景426
13.5.3Teleport的分类427
13.5.4两种瞬移实现428
13.6Vive与UI交互433
13.6.12DUI和3DUI433
13.6.23DUI的实现方式433
13.7ViveControllerHaptic(手柄震动控制)435
13.7.1基本概念435
13.7.2使用场景435
13.7.3实现方式435
猜您喜欢