作者 |
伊庭齐志 乔纳森·林诺维斯 |
丛书名 |
轻松上手IT技术日文译丛 |
出版社 |
机械工业出版社 |
ISBN |
9782108191114 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8083255 - AI游戏开发和深度学习进阶--------------------------- 本书以各种各样的实例剖析游戏AI手法,并以此为目标,帮助读者学习构筑游戏AI的技术。另外,也阐述了游戏AI中的深层学习、机械学习、强化学习技术。 ---------------------------8068667 - Unity虚拟现实开发实战(原书第2版)--------------------------- 本书将带你进行一系列实战,并深入讨论如何使用Unity游戏引擎开发VR应用程序。本书通过基于项目的实践方法,帮助你快速了解使用Unity进行VR开发的具体细节。通过Oculus、Daydream和Vive等设备的体验,你将学习如何使用Unity开发VR应用程序。在众多主题和项目中,你将探索基于凝视与手柄控制器输入、世界坐标系UI画布、移动与远程传送、软件设计模式、360°多媒体、时间轴动画与多人网络。通过交互式Unity编辑器,你将了解Unity 3D游戏引擎,并且学习C#编程。 |
目录 |
[套装书具体书目] 8068667 - Unity虚拟现实开发实战(原书第2版) - 9787111650836 - 机械工业出版社 - 定价 99 8083255 - AI游戏开发和深度学习进阶 - 9787111688464 - 机械工业出版社 - 定价 79 ---------------------------8083255 - AI游戏开发和深度学习进阶--------------------------- 译者序 前言 第1章 谜题与游戏AI的过去和现在 1 1.1 关于AI的预言成真了吗 1 1.2 游戏AI的历史和背景 2 1.3 游戏AI是否会剥夺人类的乐趣 7 1.4 游戏AI的意义 9 1.5 游戏的深奥程度与“先下手为强”定理 10 第2章 解谜的AI 14 2.1 搜索树 14 2.1.1 树的构造和图形表达 14 2.1.2 深度优先搜索 21 2.1.3 宽度优先搜索 28 2.1.4 A*搜索 32 2.2 推箱子 40 2.3 数字连线 43 2.4 日式华容道 46 2.5 孔明棋 48 2.6 尝试用数学知识解决数独问题 51 第3章 依赖约束的谜题和非单调推理 58 3.1 纵向搜索与回溯 58 3.2 数学家弄错的国际象棋谜题 58 3.3 线条图的解释与错觉画 63 3.4 ATMS与四色问题 71 3.5 解开国际象棋谜题 83 3.5.1 尽可能放置多个棋子 84 3.5.2 尽可能攻击多个区域 86 3.6 Knuth的谜题与位棋盘 88 第4章 会玩游戏的AI 90 4.1 井字棋与树 90 4.2 游戏的树搜索 91 4.3 黑白棋与Fool’s mate 104 4.4 A*马里奥 110 4.5 蒙特卡罗树搜索 114 4.6 立体四子棋 118 4.7 黑白棋的蒙特卡罗算法和NegaScout算法 123 4.8 如何赢得博弈 124 4.9 消灭幽灵:AI吃豆人 132 第5章 学习、进化和游戏AI 140 5.1 来自AlphaGo的震撼 140 5.2 DQN和街机游戏 151 5.3 进化的马里奥 155 5.4 神经进化 158 5.5 吃豆人的神经进化 161 5.6 充满好奇心的马里奥 166 第6章 游戏AI与类人化 174 6.1 为什么需要类人化的AI 174 6.2 通用游戏是什么 175 6.3 图灵测试和最类人化的AI 178 6.4 不使用“类人化”函数的类人化游戏AI 182 6.5 使用“类人化”函数的类人化游戏AI 190 参考文献 199 ---------------------------8068667 - Unity虚拟现实开发实战(原书第2版)--------------------------- 译者序 前言 审阅者简介 第1章 万物皆可虚拟 1 1.1 虚拟现实对你来说意味着什么 2 1.2 头戴式显示器的类型 3 1.2.1 桌面VR 3 1.2.2 移动VR 3 1.3 虚拟现实与增强现实的区别 4 1.4 应用与游戏 5 1.5 虚拟现实是如何运作的 7 1.5.1 立体3 D视图 7 1.5.2 头姿追踪 9 1.6 VR体验类型 10 1.7 VR必备技能 11 1.8 本书涵盖的内容 12 1.9 本章小结 12 第2章 内容、物体和缩放比例 14 2.1 Unity入门 14 2.1.1 新建Unity项目 15 2.1.2 Unity编辑器 15 2.1.3 默认世界坐标系 16 2.2 创建简单的透视图 17 2.2.1 添加立方体 18 2.2.2 添加平面 18 2.2.3 添加球体和材质 19 2.2.4 改变场景视图 21 2.2.5 添加照片 22 2.2.6 给地平面着色 23 2.3 测量工具 24 2.3.1 随手保留一个单位立方体 24 2.3.2 使用网格投影器 24 2.3.3 测量Ethan角色 25 2.4 使用第三方内容 27 2.5 使用Blender创建3D内容 29 2.5.1 Blender简介 29 2.5.2 单位立方体 31 2.5.3 UV纹理图片 32 2.5.4 导入Unity 34 2.5.5 一些观察 35 2.6 在VR中创建3D内容 35 2.6.1 导入和导出Tilt Brush模型 37 2.6.2 使用Google Poly进行发布和导入 38 2.7 在VR中使用EditorXR编辑Unity 39 2.7.1 设置EditorXR 40 2.7.2 使用EditorXR 41 2.8 本章小结 43 第3章 VR的构建和运行 44 3.1 Unity VR支持和工具包 44 3.1.1 Unity的内置VR支持 45 3.1.2 特定于设备的工具包 46 3.1.3 应用程序工具包 47 3.1.4 基于Web和JavaScript的VR 47 3.1.5 3D世界 48 3.2 为你的平台启用虚拟现实 48 3.2.1 设置目标平台 49 3.2.2 设置XR SDK 50 3.2.3 安装设备工具包 50 3.2.4 创建MeMyselfEye播放器预制件 50 3.3 构建SteamVR 52 3.4 构建Oculus Rift 53 3.5 构建Windows沉浸式MR 55 3.5.1 设置Windows 10开发人员模式 56 3.5.2 在Visual Studio中安装UWP支持 56 3.5.3 UWP构建 57 3.6 为Android设备设置 58 3.6.1 安装Java开发工具包 59 3.6.2 安装Android SDK 59 3.6.3 使用命令行工具 60 3.6.4 关于Android SDK根路径位置 61 3.6.5 安装USB设备调试和连接 61 3.6.6 配置Unity外部工具 62 3.6.7 为Android配置Unity Player Settings 63 3.7 为GearVR和Oculus Go构建 63 3.8 为Google VR构建 64 3.8.1 Google Daydream 64 3.8.2 Google Cardboard 65 3.8.3 Google VR运行模式 66 3.9 为iOS设备设置 67 3.9.1 拥有Apple ID 67 3.9.2 安装Xcode 67 3.9.3 配置iOS的Unity Player Settings 68 3.9.4 构建和运行 68 3.10 本章小结 69 第4章 基于凝视的操控 70 4.1 游走者Ethan 70 4.1.1 人工智能Ethan 71 4.1.2 NavMesh烘焙 72 4.1.3 镇上的随机游走者 74 4.1.4 RandomPosition脚本 74 4.1.5 “僵尸”Ethan 76 4.2 向我看的方向行走 77 4.2.1 LookMoveTo脚本 77 4.2.2 添加反馈光标 79 4.2.3 穿透对象观察 80 4.3 如果眼神可以杀人 81 4.3.1 KillTarget脚本 81 4.3.2 添加粒子效果 83 4.3.3 清理工作 84 4.4 Unity C#编程简介 84 4.5 本章小结 86 第5章 便捷的交互工具 87 5.1 设置场景 88 5.1.1 创建气球 88 5.1.2 使之成为预制件 88 5.2 基本按钮输入 90 5.2.1 使用Fire1按钮 90 5.2.2 OpenVR的扳机键 92 5.2.3 用Daydream控制器单击 93 5.3 轮询单击 93 5.3.1 按钮界面功能 94 5.3.2 创建并释放气球 95 5.3.3 按住按钮给气球充气 96 5.4 使用脚本化对象进行输入 98 5.4.1 创建脚本化对象 99 5.4.2 填充输入操作对象 100 5.4.3 访问输入操作对象 101 5.4.4 使用脚本化对象进行模拟测试 101 5.5 使用Unity事件处理输入 102 5.5.1 调用输入操作事件 103 5.5.2 订阅输入事件 103 5.6 使用双手 105 5.6.1 将气球设为手柄的子对象 105 5.6.2 让气球爆炸 107 5.7 交互项目 108 5.7.1 使用SteamVR交互系统进行交互 109 5.7.2 使用Daydream VR Elements进行交互 110 5.8 本章小结 112 第6章 世界坐标系UI 113 6.1 学习VR设计原则 114 6.2 可重用的默认画布 116 6.3 护目镜HUD 118 6.4 十字光标 120 6.5 挡风玻璃HUD 122 6.6 游戏元素UI 124 6.7 使用文字特效插件TextMeshPro 125 6.8 信息框 126 6.9 响应输入事件的游戏内仪表板 129 6.9.1 创建带有按钮的仪表板 129 6.9.2 连接水管与按钮 131 6.9.3 用脚本激活按钮 132 6.9.4 用注视高亮显示按钮 133 6.9.5 注视并单击选择 135 6.9.6 注视并聚焦选择 136 6.10 使用VR组件指向并单击 136 6.10.1 使用Unity UI和SteamVR 137 6.10.2 使用Unity UI和Daydream 139 6.11 构建基于手腕的菜单栏 139 6.12 本章小结 140 第7章 移动与舒适 141 7.1 理解Unity角色 141 7.1.1 Unity组件 142 7.1.2 Unity的Standard Assets 143 7.2 使用滑行移动 145 7.2.1 沿视线方向移动 145 7.2.2 保持脚着地 146 7.2.3 不要穿透固体对象 147 7.2.4 不要在边缘坠落 149 7.2.5 跨越小物体并处理崎岖路面 149 7.2.6 开始与停止移动 150 7.3 添加舒适模式移动 150 7.4 传送技术 153 7.4.1 凝视传送 153 7.4.2 在表面之间传送 155 7.4.3 传送生成点 157 7.4.4 其他传送考虑因素 160 7.5 传送工具包 161 7.5.1 使用SteamVR交互系统传送 161 7.5.2 使用Daydream Elements传送 162 7.6 重置中心和位置 163 7.7 对付VR晕动症 164 7.8 本章小结 166 第8章 使用物理引擎 167 8.1 Unity的物理组件 167 8.2 弹力球 169 8.3 管理游戏对象 171 8.3.1 销毁坠落的对象 172 8.3.2 设置持续时间 172 8.3.3 实现一个对象池 172 8.4 用头部射击游戏 176 8.5 球拍游戏 180 8.6 射手游戏 182 8.7 完善场景 185 8.7.1 创建大火球 186 8.7.2 Skull环境 188 8.7.3 音频同步 190 8.8 本章小结 191 第9章 漫游和渲染 192 9.1 用Blender构建 192 9.1.1 构建墙体 193 9.1.2 添加天花板 194 9.2 用Unity组装场景 197 9.2.1 画廊 197 9.2.2 艺术品部件 198 9.2.3 展览计划 200 9.3 将图片添加到画廊中 202 9.4 管理艺术信息数据 204 9.4.1 使用列表 204 9.4.2 使用数据结构 205 9.4.3 使用脚本化对象 206 9.5 显示艺术信息 208 9.5.1 创建标题牌匾 209 9.5.2 详细的交互信息 210 9.5.3 调整图像宽高比 212 9.6 漫游画廊 213 9.6.1 在画像之间传送 213 9.6.2 考虑房间规模 215 9.6.3 动画穿越 216 9.7 本章小结 218 第10章 利用360 219 10.1 360岸嗝教 219 10.1.1 等距圆柱投影 220 10.1.2 VR正在侵入你的视野 220 10.1.3 180岸嗝教 221 10.1.4 立体360岸嗝教 221 10.2 有趣的光球 222 10.2.1 水晶球 222 10.2.2 地球仪 224 10.3 渲染光球 225 10.3.1 编写自定义内部着色器 226 10.3.2 魔法球 228 10.3.3 光球 229 10.3.4 播放360笆悠 230 10.4 使用Unity天空盒 232 10.4.1 六边形或立方体天空盒 233 10.4.2 球面全景天空盒 234 10.4.3 360笆悠堤炜蘸 235 10.4.4 3D立体天空盒 236 10.5 在Unity中捕捉360岸嗝教 236 10.5.1 捕捉立方体贴图和反射探头 236 10.5.2 使用第三方库360安痘 图像 238 10.5.3 Unity内置立体360巴枷窈 视频捕获 239 10.6 本章小结 240 第11章 动画与VR讲故事 241 11.1 撰写我们的故事 241 11.1.1 收集资源 242 11.1.2 创建初始场景 243 11.2 Timeline和音频轨道 245 11.3 使用Timeline激活对象 247 11.4 录制Animation Track 248 11.4.1 正在生长的树 248 11.4.2 正在生长的鸟 249 11.5 使用动画编辑器 249 11.6 动画的其他属性 252 11.6.1 动画的灯光 252 11.6.2 动画脚本组件属性 253 11.6.3 控制粒子系统 255 11.7 使用动画剪辑 257 11.8 使用动画控制器 258 11.8.1 动画和动画器的定义 259 11.8.2 ThirdPersonController动画 259 11.8.3 Living Bird动画器 260 11.8.4 学习飞行 262 11.8.5 对鸟进行攻击 264 11.8.6 飞走 264 11.9 让故事更具互动性 265 11.9.1 期待播放效果 265 11.9.2 重置初始场景设置 267 11.9.3 更多互动的想法 268 11.10 本章小结 268 第12章 社交化的VR虚拟空间 269 12.1 多玩家网络 270 12.1.1 网络服务 270 12.1.2 网络架构 271 12.1.3 本地与服务器 271 12.1.4 Unity的网络系统 272 12.2 建立简单的场景 273 12.2.1 创建场景环境 273 12.2.2 创建虚拟角色的头部 274 12.3 添加多玩家网络 275 12.3.1 Network Manager和HUD 275 12.3.2 Network Identity和Sync Transform 275 12.3.3 作为一个主机运行 276 12.3.4 添加出生点位 276 12.3.5 运行游戏的两个实例 277 12.3.6 关联虚拟角色与第一人称角色 278 12.4 添加配对大厅 280 12.5 同步对象和属性 281 12.5.1 设置头球游戏 282 12.5.2 通过联网射击球 284 12.5.3 同步球变换 285 12.5.4 状态变量同步 286 12.6 高级网络主题 287 12.7 语音聊天选项 288 12.8 使用Oculus平台和虚拟角色 288 12.8.1 Oculus平台权限检查 289 12.8.2 添加本地虚拟角色 290 12.8.3 添加远程虚拟角色 291 12.9 构建和共享自定义VRChat会议室 292 12.10 本章小结 294 第13章 优化性能和舒适度 295 13.1 使用Unity的Profiler和Stats 296 13.1.1 Stats窗口 296 13.1.2 Profiler窗口 297 13.2 优化艺术品 298 13.2.1 设置场景 299 13.2.2 抽取模型 302 13.2.3 透明材质 303 13.2.4 细节层次 304 13.3 使用静态对象优化场景 307 13.3.1 设置场景 307 13.3.2 灯光和烘焙 307 13.3.3 遮挡删除 309 13.4 优化代码 310 13.4.1 了解Unity的生命周期 311 13.4.2 编写高效的代码 312 13.4.3 避免费时的API调用 313 13.5 优化渲染 313 13.5.1 批次处理 314 13.5.2 多通道像素填充 315 13.5.3 VR优化着色器 316 13.6 运行时性能和调试 316 13.6.1 Daydream 317 13.6.2 Oculus 318 13.7 本章小结 318 |