书籍简介:
本书面向虚拟现实应用开发相关的读者,利用通俗易懂的语言、循序渐进的项目,详细介绍了虚拟现实应用开发工作中交互功能的实现技术。全书共分6章,第1章介绍了Unity软件的用途、下载安装方法,以及项目资源的获取方法,第2至6章用5个翔实的案例,介绍了Unity项目开发流程、基本3D场景的创建、角色控制和道具拾取功能的实现、利用粒子特效和音效模拟真实效果、利用交互界面与角色互动的功能实现、角色动画的应用、角色之间的行为交互功能实现等技术内容。 本书以项目驱动方式组织教学内容,采用大量的图片对操作步骤进行详细说明,所有知识点都有机融合在项目实现过程中。全书内容丰富、系统性和应用性强,融入了作者多年教学和实践的经验及体会,能够使读者较快的上手,跟随本书介绍的实践过程循序渐进的掌握虚拟现实交互功能的实现技术。
本书既可作为高职高专、高等教育院校计算机及相关专业的教材,也可作为广大虚拟现实内容开发者自学的中级进阶教材,还可作为从事虚拟现实项目开发的工程技术人员学习和应用的参考书。
作者简介:
李永亮
中国科学技术大学博士,Unity国际认证讲师;Unity国际认证开发者;开发作品《胆机组装实训虚拟仿真系统》参加2018年广东省职业院校信息化教学大赛获一等奖;指导学生参加2018-2019年度广东省职业院校学生专业技能大赛“虚拟现实(VR)设计与制作”赛项获一等奖;指导学生参加2018一带一路暨金砖国家技能发展与技术创新大赛虚拟现实(VR)产品设计与开发竞赛全国选拔赛获二等奖。
出版日期:
2020年10月
章节目录:
第 1章 走进Unity的世界
1.1 Unity可以做什么
1.2 Unity的下载、安装和激活
1.2.1 Unity的下载
1.2.2 Unity的安装
1.2.3 Unity的激活
1.3 获取资源的途径
1.3.1 什么是资源
1.3.2 从Unity的Assets Store获取资源
1.3.3 直接从Unity资源包文件导入资源
1.3.4 将自己创作的3D模型导出为适合在Unity中使用的“fbx”文件
1.4 本章小结
第 2章 通过一个小游戏认识Unity——星际冒险
2.1 项目和场景的创建
2.1.1 “项目”和“场景”的概念
2.1.2 项目和场景的创建
2.2 项目资源的导入和使用
2.2.1 资源的导入和管理
2.2.2 制作玩家控制的飞船
2.2.3 制作游戏场景的“背景画面”
2.2.4 调整游戏画面的大小比例
2.2.5 设置整玩家的视角
2.2.6 制作障碍物对象
2.3 交互功能的实现
2.3.1 查看已经导入的脚本文件
2.3.2 背景画面的滚动效果
2.3.3 飞船的控制
2.3.4 陨石的随机旋转和平移
2.3.5 陨石的随机生成
2.3.6 陨石的碰撞和回收
2.3.7 爆炸效果
2.3.8 删除场景中的陨石对象并保存项目
2.4 本章小结
第3章 基本3D场景的创建——湖光山色
3.1 创建工程和场景
3.2 创建地形
3.2.1 创建地形对象及其对应的文件
3.2.2 查看“Terrain”组件
3.2.3 设置地形大小规模
3.2.4 设置地形的基准高度
3.2.5 绘制地形
3.2.6 地形平滑
3.2.7 “修整”平地
3.2.8 美化地形
3.3 添加光源和阴影
3.4 添加静态物体
3.4.1 创建基本几何体
3.4.2 添加外部模型
3.5 添加漫游功能
3.5.1 添加第 一人称控制器
3.5.2 添加碰撞检测功能
3.6 添加环境和效果
3.6.1 添加水效果
3.6.2 更改天空盒
3.6.3 添加雾效果
3.6.4 添加音效
3.7 本章小结
第4章 角色控制和道具拾取——坦克大战
4.1 创建玩家控制的坦克
4.1.1 创建工程和场景并载入坦克模型
4.1.2 坦克移动和旋转控制功能的实现
4.2 坦克炮塔的转动控制
4.2.1 调整坦克模型
4.2.2 炮塔旋转功能的实现原理
4.2.3 载入炮击位置和瞄准器对象
4.2.4 炮塔旋转功能的代码实现
4.2.5 设置“可炮击对象层”
4.2.6 运行并测试炮塔转动功能
4.3 坦克的开炮控制
4.3.1 开炮功能的实现原理
4.3.2 载入爆炸粒子特效
4.3.3 开火效果的代码实现
4.4 道具的创建和拾取
4.4.1 Unity中对象之间相互接触的两种处理方式
4.4.2 道具游戏物体的创建
4.4.3 道具的拾取
4.5 本章小结
第5章 粒子系统和音效——消防演练
5.1 本章内容概述
5.2 创建新工程和场景
5.3 游戏场景的设计
5.3.1 游戏场景模型的载入
5.3.2 音频资源的导入和全局报警声的制作
5.4 制作火焰和烟雾效果
5.4.1 导入火焰和烟雾粒子特效并使用
5.4.2 添加火焰音效
5.4.3 设计火势控制脚本
5.4.4 火焰音效控制和火势大小界面显示
5.5 灭火功能的实现
5.5.1 导入灭火器相关资源
5.5.2 实现灭火器喷射功能
5.5.3 设计以灭火器为武器的第 一人称游戏控制器
5.5.4 利用粒子碰撞实现灭火交互功能
5.6 游戏管理功能的设计
5.6.1 游戏管理相关界面的设计
5.6.2 界面控制器类的设计和实现
5.6.3 游戏控制器的设计和实现
5.6.4 游戏运行与验证
5.7 本章小结
第6章 交互界面、角色动画及战斗交互——异星猎手
6.1 创建工程和场景
6.2 游戏换装交互界面的设计和功能实现
6.2.1 交互界面的设计
6.2.2 探索游戏主角模型从而确定换装思路
6.2.3 设计换装功能所需的类及其游戏对象
6.2.4 将交互界面与换装功能关联
6.3 角色动作及角色控制的实现
6.3.1 带骨骼动画的人物角色模型
6.3.2 导入第三人称角色控制资源并应用到游戏主角对象上
6.3.3 更新换装交互界面的设置
6.3.4 控制角色动作变化的原理
6.4 游戏角色战斗功能的实现
6.4.1 添加摄像机跟随脚本并更新UI设置
6.4.2 添加瞄准与开枪的人形动画
6.4.3 添加瞄准与开枪动作的脚本
6.4.4 激光束及其击中效果的添加和功能实现
6.4.5 更新UI设置、运行测试并调整激光束参数
6.5 敌人角色的加入及其交互功能的实现
6.5.1 导入敌人角色
6.5.2 自动寻路功能的实现
6.5.3 敌人被摧毁功能的实现
6.5.4 敌人自爆并对主角造成伤害的实现
6.5.5 试运行并验证本节功能
6.6 游戏管理功能的设计
6.6.1 游戏规则
6.6.2 敌人出生点的设计
6.6.3 游戏管理器的设计
6.6.4 运行游戏验证功能
6.7 本章小结
封面图: