作者 |
王寒 张义红 王少笛 豪尔赫·帕拉西奥斯 |
丛书名 |
游戏开发与设计技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782107091512 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8082127 - Unity AR/VR开发:实战高手训练营--------------------------- 全书内容分为三篇。 1.入门篇,针对完全没有任何Unity开发经验的开发者。 学完本部分内容后,开发者应该对Unity的基本知识有所了解,包括常见3D引擎的对比分析以及Unity的基本使用。 2.进阶篇,涵盖AR/VR开发所必须掌握的Unity3d技能以及一个综合实战案例。 3.高级篇,主要通过实战案例的开发学习来掌握各种主流AR/VR设备平台的知识和技能。 学完本部分内容后,开发者应对主流的AR/VR设备平台及其开发工具有充分的了解和认识。 与此同时,开发者还应通过实战项目熟练掌握几个主流AR/VR设备平台的开发知识,如HTC Vive,Oculus Quest,Valve Index、Google Glass、Magic Leap、Noitom动作捕捉系统和微软HoloLens平台等。 此外,开发者还需要掌握主流的AR开发SDK,特别是使用Vuforia SDK和AR Foundation(支持ARKit/ARCore)开发AR应用。 ---------------------------8077267 - Unity人工智能实战(原书第2版)--------------------------- . 本书将介绍构建强大的AI的工具,既可以创建更聪明的敌人,改进大 boss,也可以构建自定义的AI引擎。本书旨在成为使用Unity开发人工智能技术的一站式参考。首先,你将快速浏览在游戏环境中使用agent、编程移动以及导航的基本构建模块。接下来,你将通过实例学习如何使用简单的自定义技术改进agent的决策制定和协调机制。然后,你将学习如何模拟agent的视觉和听觉,用于自然和拟人的AI行为,再用图结构改进agent。本书还涵盖了新的导航网格技术,这项技术在Unity 2018中引入,改良了AI和路径查找工具。你还可以用决策制定技术加强AI,运用于简单的诸如井字棋和跳棋的棋类游戏,以及安排agent之间的协作,使它们像整体一样工作。 |
目录 |
[套装书具体书目] 8077267 - Unity人工智能实战(原书第2版) - 9787111670360 - 机械工业出版社 - 定价 79 8082127 - Unity AR/VR开发:实战高手训练营 - 9787111684992 - 机械工业出版社 - 定价 109 ---------------------------8082127 - Unity AR/VR开发:实战高手训练营--------------------------- 前言 第一部分 Unity开发基础知识 第1章 虚拟现实开发技术入门2 1.1 什么是虚拟现实2 1.2 虚拟现实的技术基础3 1.2.1 立体显示技术4 1.2.2 3D建模技术5 1.2.3 自然交互技术6 1.3 主流的虚拟现实设备7 1.3.1 Oculus 系列8 1.3.2 HTC VIVE系列9 1.3.3 Sony PlayStation VR11 1.3.4 其他VR设备12 1.3.5 Microsoft HoloLens12 1.3.6 AR眼镜设备12 1.4 主流的虚拟现实开发工具13 1.4.1 虚拟现实开发平台简介13 1.4.2 第三方工具和SDK14 1.5 虚拟现实应用开发的基本流程和注意事项16 1.5.1 基本流程16 1.5.2 注意事项18 1.6 本章小结19 第2章 你人生的第一款Unity3D游戏20 2.1 常用3D游戏引擎介绍20 2.1.1 什么是游戏引擎20 2.1.2 游戏引擎架构基础21 2.1.3 主流3D引擎对比分析28 2.2 Unity的授权、服务与安装29 2.2.1 Unity的授权类型和服务29 2.2.2 Unity的安装29 2.3 Unity编辑器入门34 2.3.1 界面布局34 2.3.2 Unity的工具栏38 2.3.3 顶部菜单栏41 2.4 Unity3D中的核心概念43 2.4.1 场景43 2.4.2 游戏对象44 2.4.3 组件44 2.4.4 预设体45 2.5 实战项目:《梦幻天堂》游戏的设计与实现45 2.5.1 《梦幻天堂》的策划与设计45 2.5.2 创建一个新项目46 2.5.3 搭建游戏场景47 2.5.4 添加游戏角色50 2.5.5 预览游戏效果52 2.5.6 在Windows平台编译运行52 2.5.7 在Android平台编译运行53 2.5.8 在iOS平台编译运行55 2.6 本章小结 56 第3章 无往不利:在Unity中使用C#进行编程57 3.1 游戏脚本语言概述57 3.1.1 游戏脚本语言的诞生57 3.1.2 Unity3D所使用的脚本语言58 3.1.3 C#的开发环境58 3.2 C#的基本语法和使用58 3.2.1 变量和数据类型58 3.2.2 表达式与运算符61 3.2.3 流程控制68 3.2.4 函数71 3.2.5 类、对象和方法74 3.3 Unity的脚本系统77 3.3.1 创建脚本77 3.3.2 事件函数79 3.4 本章小结82 第二部分 Unity开发核心技能 第4章 创建一个虚拟的新世界84 4.1 创建基础的游戏场景84 4.1.1 Unity中的地形引擎84 4.1.2 基本几何体的使用92 4.1.3 添加天空盒93 4.2 创建Unity之外的游戏资源94 4.2.1 3D模型、材质和动画的创建工具94 4.2.2 音效创建工具97 4.2.3 其他资源创建工具98 4.3 导入外部的游戏资源98 4.3.1 2D图像文件的导入和设置99 4.3.2 3D模型的导入和设置99 4.3.3 3D动画的导入和设置100 4.3.4 音频和视频的导入和设置101 4.3.5 Unity资源包的导入和导出101 4.4 Unity光照系统102 4.4.1 灯光组件简介103 4.4.2 常见的光源类型103 4.4.3 灯光组件属性简介105 4.4.4 全局光照109 4.4.5 烘焙109 4.4.6 Lightmap的使用111 4.4.7 Light Probe的使用112 4.4.8 Reection Probe的使用114 4.5 粒子系统117 4.5.1 粒子系统简介117 4.5.2 Shuriken粒子系统118 4.6 着色器120 4.6.1 着色器简介120 4.6.2 Unity中的标准着色器121 4.6.3 创建自定义的着色器129 4.6.4 Shader Graph133 4.7 后期处理135 4.7.1 Post Processing简介135 4.7.2 如何在Unity项目中添加Post Processing136 4.8 本章小结140 第5章 游戏中的UI系统141 5.1 Unity中的UI系统简介141 5.2 UGUI中的静态视觉元素142 5.2.1 Canvas142 5.2.2 Image144 5.2.3 Text147 5.2.4 TextMeshPro148 5.3 交互UI对象149 5.3.1 Button 150 5.3.2 Toggle154 5.3.3 Slider156 5.3.4 其他交互控件159 5.4 本章小结159 第6章 让角色活灵活现:Unity中的动画系统160 6.1 Unity动画系统概述160 6.2 Legacy动画系统概览160 6.3 Mecanim动画系统概览161 6.3.1 Mecanim动画系统的特性161 6.3.2 Mecanim动画系统中的核心概念161 6.3.3 Blend Tree163 6.3.4 Retarget和Avatar164 6.3.5 Mecanim动画系统的工作流程164 6.4 Mecanim动画系统的使用165 6.5 本章小结170 第7章 最简单的游戏AI:Nav Mesh寻路系统171 7.1 Unity寻路系统概述171 7.2 Nav Mesh烘焙设置175 7.3 添加障碍物:Nav Mesh Obstacle179 7.4 穿越障碍物:Off Mesh Link180 7.5 本章小结181 第8章 真实世界的法则:物理引擎182 8.1 物理引擎概述182 8.2 Unity物理引擎的核心构成183 8.2.1 Rigidbody183 8.2.2 Collider189 8.2.3 Raycast196 8.3 本章小结198 第9章 且听风吟:音乐和音效199 9.1 Unity Audio系统概述199 9.2 Audio Source200 9.2.1 Audio Clip200 9.2.2 在Unity中播放音频201 9.2.3 Audio Listener203 9.3 3D音效203 9.4 实战:通过脚本播放音效204 9.5 Audio Reverb Zone206 9.6 本章小结207 第三部分 Unity AR/VR开发实战 第10章 实战:基于Oculus Quest设备的Beat Music音乐节奏游戏210 10.1 Oculus Quest内容平台简介210 10.1.1 Oculus Store平台210 10.1.2 SIDEQUEST平台211 10.2 创建你的第一个Oculus Quest项目211 10.2.1 开始前的准备211 10.2.2 创建Oculus Quest项目并导入资源212 10.2.3 添加OVRCameraRig214 10.2.4 完成项目的其他设置216 10.2.5 在Oculus Quest设备上编译运行224 10.3 Beat Music游戏的策划和设计230 10.4 Beat Music游戏的实现230 10.4.1 创建项目并进行开发和测试环境的搭建230 10.4.2 创建游戏场景230 10.4.3 通过按压按钮实现场景切换233 10.4.4 在主场景中实现类似切西瓜的效果238 10.4.5 添加控制器的震动效果242 10.4.6 计算玩家的得分243 10.4.7 添加背景音乐和音效247 10.4.8 完善游戏并测试248 10.5 将游戏发布到Oculus Store或SIDEQUEST249 10.6 本章小结252 第11章 实战:使用动捕技术实现虚拟直播253 11.1 动捕技术发展史253 11.1.1 动捕的诞生253 11.1.2 百家争鸣的动捕时代255 11.1.3 主流的动捕技术原理257 11.1.4 混合动捕261 11.2 光惯混合动捕原理262 11.2.1 光惯混合技术的缘起262 11.2.2 动捕数据解析262 11.3 Perception Neuron Studio 光惯混合动捕设备的使用263 11.3.1 软件安装与配置264 11.3.2 纯惯模式动捕267 11.4 动捕数据后期处理269 11.4.1 使用动捕软件进行动捕数据初修270 11.4.2 重定向272 11.4.3 动捕数据的实时传输275 11.5 实战:用惯性动捕开发虚拟现实项目279 11.5.1 开始前的准备279 11.5.2 创建新项目并导入资源280 11.5.3 使用动捕文件驱动模型282 11.5.4 使用动捕数据实时驱动模型285 11.5.5 虚拟形象抠绿288 11.5.6 添加真实场景并测试292 11.6 本章小结293 第12章 实战:使用Unity和Vuforia SDK开发iWatch AR应用294 12.1 Vuforia SDK 简介294 12.1.1 什么是Vuforia294 12.1.2 Vuforia的功能模块简介295 12.1.3 Vuforia的授权类型295 12.1.4 Vuforia的工具和资源295 12.1.5 Vuforia支持的平台296 12.2 你的第一款Vuforia AR应用297 12.2.1 开始前的准备297 12.2.2 创建项目并安装Vuforia298 12.2.3 配置项目并进行测试299 12.3 iWatch手表试戴AR应用的策划308 12.4 iWatch 手表试戴AR应用的实现308 12.4.1 创建项目并导入所需资源308 12.4.2 创建并导入图像识别目标数据库309 12.4.3 设置Image Target310 12.4.4 添加手表的3D模型311 12.4.5 设置手部遮挡312 12.4.6 添加更换手表的UI312 12.4.7 添加用于切换手表的代码313 12.4.8 编译运行315 12.5 将游戏应用发布到 App Store和安卓应用市场315 12.6 本章小结315 第13章 实战:使用AR Foundation开发跨平台AR塔防游戏316 13.1 AR Foundation简介316 13.2 iOS ARKit简介318 13.2.1 什么是ARKit318 13.2.2 ARKit的功能特性318 13.2.3 ARKit所支持的设备及平台319 13.3 ARCore简介320 13.3.1 什么是ARCore320 13.3.2 ARCore的功能特性320 13.3.3 ARCore所支持的设备322 13.4 你的第一款AR Foundation应用—Hello AR322 13.4.1 开始前的准备322 13.4.2 下载并打开官方示例项目323 13.4.3 下载并导入所需的资源包323 13.5 实战:跨平台AR塔防游戏ARDefense的设计与实现329 13.5.1 ARDefense的设计329 13.5.2 开始前的准备329 13.5.3 创建新项目并导入所需资源330 13.5.4 放置基地331 13.5.5 添加游戏的核心逻辑机制333 13.5.6 外星飞船来袭336 13.5.7 向飞船发起攻击340 13.5.8 在设备上进行测试342 13.6 本章小结342 第14章 实战:开发AR汽车引擎教育应用343 14.1 VoxelSense桌面级交互平台开发概述343 14.1.1 VoxelTracker V4交互平台简介344 14.1.2 VoxelTracker V4交互平台技术原理345 14.1.3 VoxelTracker V4空间交互笔交互详解346 14.2 配置 VoxelTracker V4 的开发测试环境346 14.2.1 安装VoxelTracker V4硬件346 14.2.2 安装VoxelStation A600硬件349 14.2.3 下载并安装VoxelSense SDK350 14.3 实战:AR汽车引擎教育应用的设计与实现350 14.3.1 AR汽车引擎教育应用的设计351 14.3.2 创建项目并进行基本设置351 14.3.3 新建汽车引擎场景351 14.3.4 实现汽车引擎放大/缩小354 14.3.5 获取内容帧数366 14.3.6 查看实际运行效果367 14.4 本章小结370 ---------------------------8077267 - Unity人工智能实战(原书第2版)--------------------------- 译者序 前 言 第1章 行为——智能移动 1 1.1 简介 1 1.2 创建行为模板 2 1.3 追赶和逃跑 4 1.4 为物理引擎调整agent 6 1.5 到达和离开 8 1.6 朝向物体 10 1.7 徘徊 12 1.8 按路径移动 14 1.9 避开agent 18 1.10 避开墙体 20 1.11 通过权重混合多个行为 21 1.12 通过优先级混合多个行为 22 1.13 射击抛射体 24 1.14 预测抛射体的着地点 26 1.15 锁定抛射体 27 1.16 创建跳跃系统 28 第2章 导航 32 2.1 简介 32 2.2 用网格表示世界 33 2.3 用可视点法表示世界 41 2.4 用自制的导航网格表示世界 44 2.5 用深度优先搜索在迷宫中找到出路 47 2.6 用广度优先搜索在网格中找到最短路径 49 2.7 用迪杰斯特拉算法找到最短路径 50 2.8 用A*找到最优路径 53 2.9 改进A*算法的内存占用:IDA* 56 2.10 在多个帧中规划导航:时间片搜索 58 2.11 使路径变得平滑 60 第3章 决策制定 62 3.1 简介 62 3.2 通过决策树做选择 62 3.3 实现有限状态机 65 3.4 改进有限状态机:分层的有限状态机 67 3.5 实现行为树 69 3.6 使用模糊逻辑 71 3.7 用面向目标的行为制定决策 74 3.8 实现黑板架构 76 3.9 尝试Unity的动画状态机 78 第4章 新的NavMesh API 84 4.1 简介 84 4.2 初始化NavMesh开发组件 84 4.3 创建和管理NavMesh,用于多种类型的agent 86 4.4 在运行时创建和更新NavMesh数据 89 4.5 控制NavMesh实例的生命周期 90 4.6 连接多个NavMesh实例 92 4.7 创建动态的带有障碍物的NavMesh 93 4.8 用NavMesh API实现某些行为 94 第5章 协作和战术 97 5.1 简介 97 5.2 管理队形 98 5.3 扩展A*算法用于协作:A* mbush 102 5.4 用高度分析路径点 105 5.5 用覆盖性和可见性分析路径点 106 5.6 自动化创建路径点 107 5.7 将路径点作为示例用于决策制定 110 5.8 实现势力图 111 5.9 用淹没图改进势力图 114 5.10 用卷积滤波器改进势力图 118 5.11 构建战斗循环 120 第6章 agent感知 128 6.1 简介 128 6.2 基于碰撞系统的视觉函数 128 6.3 基于碰撞系统的听觉函数 130 6.4 基于碰撞系统的嗅觉函数 133 6.5 基于图的视觉函数 136 6.6 基于图的听觉函数 138 6.7 基于图的嗅觉函数 140 6.8 在潜行游戏中创建感知 141 第7章 棋类游戏和应用的搜索AI 148 7.1 简介 148 7.2 使用博弈树类 148 7.3 实现Minimax算法 150 7.4 实现Negamax算法 152 7.5 实现AB Negamax算法 154 7.6 实现Negascout算法 156 7.7 实现井字游戏对手 158 7.8 实现跳棋游戏对手 161 7.9 用UCB1实现石头剪刀布AI 171 7.10 实现无悔匹配算法 175 第8章 机器学习 178 8.1 简介 178 8.2 使用N元语法预测器预测行动 178 8.3 改进预测器:分层的N元语法 181 8.4 学习使用朴素贝叶斯分类器 182 8.5 实现强化学习 184 8.6 实现人工神经网络 188 第9章 程序化内容生成 192 9.1 简介 192 9.2 用深度优先搜索创建迷宫 192 9.3 为地下城和群岛实现可构造算法 195 9.4 生成风景 199 9.5 使用N元语法生成内容 201 9.6 用进化算法生成敌人 204 第10章 其他 209 10.1 简介 209 10.2 创建和管理可编写脚本的对象 209 10.3 更好地处理随机数 211 10.4 构建空气曲棍球游戏对手 213 10.5 实现竞速游戏架构 218 10.6 使用橡皮筋系统管理竞速难度 220 |