- Unity AR/VR开发:从新手到专家
- 王寒 曾坤 张义红
- 3303字
- 2023-02-22 18:59:41
前言
为什么要写这本书
2014年3月,Facebook宣布以20亿美元收购虚拟现实设备Oculus Rift的制造商Oculus VR,从此沉寂已久的虚拟现实行业涅槃重生。
2015年1月,微软与Windows10系统一同发布了堪称黑科技神器的MR设备HoloLens。
2016年5月,Google I/O全球开发者大会正式发布了全新的移动VR平台Daydream,吹响了向VR进军的号角。
2017年6月,苹果WWDC大会重磅推出了ARKit,让iOS平台一夜之间成为最大的AR设备平台,更让虚拟现实进入更多开发者的视野。
随着越来越多的大公司和创业团队进入AR/VR领域,AR/VR开发人才的需求量也越来越大。
在面向AR/VR的开发工具中,Unity3D无疑是目前支持设备平台最广、扩展性最强的一款工具之一。
无论是Unity新手,还是具备一定Unity开发经验的开发者,想要进入AR/VR领域都迫切需要一本书带领他们跨过第一道坎,从而真正了解和掌握AR/VR开发。
本书的内容将涵盖Unity3D的基础入门知识,进行AR/VR开发所必须掌握的Unity3D技能,以及在不同的AR/VR设备平台进行实际开发所需要掌握的知识。
本书特色
目前市面上的AR/VR开发书籍相对较少,而且主要针对有经验的开发者。而本书的内容对零基础的新手开发者也会十分友好。
和以往只重视概念讲解、不重视实际操作的Unity开发书籍不同,本书从基础知识到进阶技能,到最后的AR/VR开发实战,每一篇的内容都会融入大量的实战讲解。
对于有经验的Unity开发者,可以跳过前两篇的内容,直接进入第三篇AR/VR实战项目的开发讲解。其中针对HTC Vive、Oculus Rift、Google Daydream VR、HoloLens、Vuforia、Wikitude、ARKit等几个主流的AR/VR设备平台和SDK,都分别用单独一章进行实战项目讲解。
读者对象
❑对AR/VR开发感兴趣,但是之前并没有任何Unity3D开发经验的初学者。
❑对AR/VR开发感兴趣,并且已经具备了一定Unity3D开发经验的开发者。
❑对AR/VR开发感兴趣,想了解项目开发整体流程的管理者或运营者等。
如何阅读本书
全书内容分为三篇,共计20章内容。
第一篇是入门篇,针对完全没有Unity开发经验的开发者。
学完本部分内容后,读者应该对Unity的基本知识有所了解,包括常见3D引擎的对比分析,以及Unity的基本使用,如界面、基本概念(物体、组件等)、C#编程。
第1章 对主流的3D游戏引擎进行对比分析,说明使用Unity进行AR/VR开发的优缺点,并简单介绍Unity的发展史及其安装、授权与服务,最后还介绍了Unity学习资源的获取途径。
第2章 对Unity的编辑器做了简单介绍,并着重介绍了Unity中的核心概念和子系统,以及Unity Asset Store资源商城。
第3章 对C#语言的开发环境、基本语法和使用做了简单介绍,同时也介绍了如何在Unity中使用C#进行开发。
第二篇是进阶篇,涵盖了AR/VR开发所必须掌握的Unity3D技能。
学完本部分内容后,读者应该掌握AR/VR开发所必须具备的Unity3D技能,包括如何将3D场景和人物模型导入到游戏场景中,如何利用PBS理论和着色器美化材质、贴图和画面,如何使用Unity的光照系统打造亦真亦幻的环境,如何使用Unity动画机制让场景中的物体、角色甚至UI界面产生奇妙的动画效果,如何利用寻路机制和AI让游戏中的角色具备模拟真人的行为模式,如何使用物理系统和碰撞机制让游戏中的世界像现实世界一样遵循物理法则,如何在游戏中添加背景音乐、音效并打造AR/VR的特殊真实场景音效,如何添加多人游戏网络机制,以及如何创建游戏中的UI交互系统。
第4章 介绍了如何在Unity中创建基础的游戏场景、创建外部的游戏资源,以及如何导入外部的游戏资源。在实战环节,介绍了如何创建BattleStar项目并准备所需的游戏资源。
第5章 详细介绍了Unity中的Enlighten光照系统,以及全局光照的概念和具体使用。在实战环节,介绍了如何给BattleStar项目的游戏场景添加光照。
第6章 详细介绍了Unity中的Shuriken粒子系统、Shader和Post Processing,从而了解如何让游戏画面栩栩如生。在实战环节,介绍了如何通过设置场景材质、添加粒子系统特效、添加后处理特效及使用第三方插件等方式来完善BattleStar游戏场景的视觉效果。
第7章 介绍了Unity的原生UI系统UGUI,及其各种控件的使用。在实战环节,引导大家一步步学习如何给BattleStar游戏添加UI。
第8章 介绍了Unity的动画系统,包括Legacy动画系统和最新的Mecanim动画系统。在实战环节,介绍了如何添加Animator、设置状态机、编写控制角色动画的脚本等,从而让BattleStar游戏中的角色动起来。
第9章 介绍了Unity中的寻路系统,包括其内部工作原理、NavMesh烘焙设置等。在实战环节,通过给NPC角色对象添加并设置NavMeshAgent组件,来实现BattleStar游戏中的寻路系统。
第10章 详细介绍了Unity中的物理系统,以及各种相关的组件,如Rigidbody、Collider和Raycast等。在实战环节,介绍了如何在BattleStar游戏的场景中添加和设置物理碰撞系统。
第11章 介绍了Unity中的音效系统,包括Audio Source和Audio Reverb Zone等的设置和使用。在实战环节,介绍了如何给BattleStar游戏添加背景音乐和音效。
第12章 介绍了Unity中数据存取的常用方法,以及性能优化的原则和常用方法。在实战环节,详细说明了如何给BattleStar游戏添加数据存取机制,并对游戏进行优化。
第13章 介绍了Unity中的网络系统,包括原生的UNET和第三方插件Photon。在实战环节,详细介绍了如何使用Unity和Photon创建一个简单的多人在线游戏。
第三篇是实战篇,主要通过实战案例的开发学习来掌握主流AR/VR设备平台的知识和技能。
学完本部分内容后,读者应对主流的AR/VR设备平台及其开发工具有充分的了解和认识。与此同时,读者还应通过实战项目熟练掌握几个主流AR/VR设备平台的开发知识,如HTC Vive、Google Daydream VR平台、Oculus平台、微软HoloLens平台和苹果ARkit等。读者还需要掌握主流的AR开发SDK,特别是如何使用Unity和高通Vuforia SDK开发AR应用。
第14章 从整体的角度介绍了虚拟现实的相关技术,即立体显示技术、场景建模技术和自然交互技术。此外,还介绍了当前最主流的虚拟现实设备、主流的开发工具和SDK,以及虚拟现实应用开发的基本流程和注意事项。
第15章 详细介绍了HTC Vive和Oculus的设备与平台开发常识,包括其基本技术原理、相关的第三方插件,以及如何配置开发测试环境等。最后通过一个完整的跨平台对战游戏引导读者一步步来学习HTC Vive和Oculus平台的联网游戏开发。
第16章 详细介绍了Google Daydream VR的设备与平台开发常识,并通过一个完整的示例项目来学习如何配置开发测试环境、如何设计与实现游戏、如何将游戏适配到Google Daydream VR平台,以及如何将产品发布到Google Play VR和Daydream平台。
第17章 详细介绍了一款重要的AR SDK,即Vuforia SDK,包括其基本的功能、授权类型、工具和资源,以及支持的设备与平台等。最后通过一个示例项目来引导读者一步步学习如何使用Unity和Vuforia开发AR互动应用。
第18章 详细介绍了另外一款重要的AR SDK,即Wikitude SDK,包括其主要功能特性、授权方式、支持的设备与平台,以及它与Vuforia之间的对比分析。最后通过两个示例项目来引导读者学习如何使用Unity和Wikitude来开发AR互动应用。
第19章 详细介绍了HoloLens的设备与平台开发常识,包括其重要的交互方式,如语音交互、手势动作识别、实时场景建模和社交分享功能等。最后通过一个完整的示例项目来引导读者学习如何使用Unity在HoloLens平台开发游戏,并将其发布到微软官方的Windows Store中。
第20章 详细介绍了当前最热门的AR SDK,即苹果的ARKit,包括其功能特性、支持的设备与平台。最后通过一个完整的示例项目来引导读者学习如何使用ARKit和4DViews插件来开发AR互动应用。
勘误和支持
由于AR/VR开发领域是一个全新的技术领域,且技术的发展变化日新月异。因此,书中的内容可能会出现版本兼容性的问题。同时,由于笔者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,可以在vr910论坛本书专区(http://www.vr910.com/forum.php?gid=148)来留言和讨论。如果想获取相关技术话题更为详细的知识,欢迎访问我的知乎专栏(http://zhuanlan.zhihu.com/kidscoding)或个人网站(http://icode.ai)。同时,书中的所有示例项目,除了出版社(www.hzbook.com)提供的下载途径之外,也会托管在Github上面(https://github.com/eseedo)。同时也欢迎大家关注赛隆文化(笔者公司)二维码。
致谢
感谢Unity官方文档,给我提供最全面、最深入、最准确的参考材料。
感谢Facebook、Google、HTC、Apple、百度、腾讯、阿里等众多国内外IT巨头对虚拟现实领域的关注和巨大的资源支持。
感谢4DViews、N3K EN、Edgaras Art、MatthewHallberg等提供了众多免费的优质资源和参考教程。
感谢本书的另两位共同作者曾坤和张义红,以及为本书撰写提供了相关示例项目和资源的团队成员,包括王少笛、向伟、王懂岳、周建坤、李丹、万成、董应承等。没有大家的共同思考和努力,这本书的完成是不可想象的。
感谢赛隆文化团队成员的支持,包括卿伟龙、涂晓华、廖婧进等,以及众多没有在这里提到的朋友。
感谢机械工业出版社华章公司的编辑高婧雅,在近一年的时间中始终支持我的写作,你的鼓励和帮助引导我顺利完成全部书稿。
最后要特别感谢我的家人在写作期间给予的支持,你们一直是我前进的最大动力。
王寒