| 图书基本信息 | |
| 图书名称 | Unity游戏设计与实现 南梦宫一线程序员的开发实例(修订版) |
| 作者 | 加藤政树 |
| 定价 | 79.00元 |
| 出版社 | 人民邮电出版社 |
| ISBN | 9787115448996 |
| 出版日期 | 2017-03-01 |
| 字数 | |
| 页码 | |
| 版次 | 2 |
| 装帧 | 平装-胶订 |
| 开本 | 16开 |
| 商品重量 | 0.4Kg |
| 内容简介 | |
本书的作者是日本知名游戏公司万代南梦宫的开发人员,书中通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。本书的重点不在于讲解Unity的各种功能细节,而在于介绍核心玩法的设计和实现思路。每个实例都从一个idea开始,不断丰富,进而自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。 |
| 作者简介 | |
| 加藤政树 就职于日本的游戏制造商南梦宫。除产品开发外,还负责公司内部中间件的开发和技术研究、高端项目支持、新游戏的研发等工作。近年来也开始致力于NPR(Non Photorealistic Rendering)的研究。代表作品有FitnessParty、Muscle March。 |
| 目录 | |
| 第0章 游戏开发前的准备 1 0.1 Unity入门 Concept 2 0.1.1 概要 2 0.1.2 游戏对象 3 0.1.3 组件 5 0.1.4 资源 8 0.1.5 流程 10 0.1.6 场景 11 0.1.7 预设 13 0.1.8 小结 16 0.2 先来复习一下Unity的基础知识吧 Concept 17 0.2.1 脚本一览 17 0.2.2 本章小节 18 0.2.3 本章开发的小游戏 18 0.3 入门教程(上)——创建项目 Tips 18 0.3.1 概要 18 0.3.2 创建新项目 19 0.3.3 创建地面(创建游戏对象) 20 0.3.4 创建场景,保存项目 21 0.3.5 调整场景视图的摄像机 23 0.3.6 创建方块和小球(创建游戏对象并调整坐标) 24 0.3.7 运行游戏 27 0.3.8 摄像机的便捷功能 28 0.3.9 修改游戏对象的名字 28 0.3.10 模拟物理运动(添加Rigidbody组件) 29 0.3.11 让玩家角色跳起来(添加游戏脚本) 30 0.3.12 修改游戏对象的颜色(创建材质) 35 0.3.13 调整游戏画面的尺寸(调整播放器设置) 36 0.3.14 小结 38 0.4 入门教程(下)——让游戏更有趣 Tips 38 0.4.1 概要 38 0.4.2 让小球飞起来(物理运动和速度) 38 0.4.3 创建大量小球(预设游戏对象) 39 0.4.4 整理项目视图 41 0.4.5 发射小球(通过脚本创建游戏对象) 43 0.4.6 删除画面外的小球(通过脚本删除游戏对象) 46 0.4.7 防止玩家角色在空中起跳(发生碰撞时的处理) 48 0.4.8 禁止玩家角色旋转(抑制旋转) 50 0.4.9 让玩家角色不被弹开(设置重量) 51 0.4.10 让小球强烈反弹(设置物理材质) 52 0.4.11 消除“漂浮感”(调整重力大小) 54 0.4.12 调整摄像机的位置 56 0.4.13 修复空中起跳的bug(区分碰撞对象) 57 0.4.14 小结 63 0.5 关于预设 Tips 64 0.5.1 概要 64 0.5.2 改良“小方块”游戏对象 64 0.5.3 预设与对象实例 65 0.5.4 预设和实例的变更 67 0.5.5 小结 70 0.6 C#和的对比 Tips 71 0.6.1 概要 71 0.6.2 类的定义 72 0.6.3 变量的定义 72 0.6.4 函数的定义 73 0.6.5 作用域 74 0.6.6 静态函数和静态变量的定义 74 0.6.7 泛型方法的调用 74 0.6.8 Bool类型和字符串类型 75 0.6.9 数组 75 0.6.10 小结 75 章 点击动作游戏——怪物 77 1.1 玩法介绍 How toPlay 78 1.2 简单的操作和爽快感 Concept 80 1.2.1 脚本一览 80 1.2.2 本章小节 82 1.3 无限滚动的背景 Tips 82 1.3.1 关联文件 82 1.3.2 概要 82 1.3.3 背景组件的显示位置 83 1.3.4 小结 85 1.4 无限滚动的背景的改良 Tips 85 1.4.1 关联文件 85 1.4.2 概要 86 1.4.3 稍作尝试 86 1.4.4 背景组件显示位置的改良 87 1.4.5 小结 89 1.5 怪物出现模式的管理 Tips 89 1.5.1 关联文件 89 1.5.2 概要 89 1.5.3 怪物出现的时间点 90 1.5.4 怪物出现模式的变化 92 1.5.5 小结 96 1.6 武士和怪物的碰撞检测 Tips 96 1.6.1 关联文件 96 1.6.2 概要 96 1.6.3 分别对各个怪物进行碰撞检测时的问题 97 1.6.4 把怪物编成小组 98 1.6.5 小结 100 1.7 得分高低的判定 Tips 100 1.7.1 概要 100 1.7.2 武士的攻击判定 100 1.7.3 判断在多近的距离斩杀 101 1.7.4 小结 104 1.8 使被中的怪物向四处飞散 Tips 104 1.8.1 概要 104 1.8.2 想象一下“圆锥体” 104 1.8.3 具体的计算方法 106 1.8.4 小结 108 第2章 拼图游戏——迷你拼图 109 2.1 玩法介绍 How toPlay 110 排列拼图碎片,拼出后的图案! 110 2.2 流畅的拖曳操作 Concept 112 2.2.1 脚本一览 112 2.2.2 本章小节 112 2.3 点住碎片的任意位置拖动 Tips 114 2.3.1 关联文件 114 2.3.2 概要 114 2.3.3 透视变换和逆透视变换 114 2.3.4 被点击处即为光标的位置 114 2.3.5 测试拖曳碎片的中心 117 2.3.6 小结 118 2.4 打乱拼图碎片 Tips 118 2.4.1 关联文件 118 2.4.2 概要 118 2.4.3 设置拼图碎片的坐标为数 118 2.4.4 改进策略 119 2.4.5 小结 124 第3章 吃豆游戏——吞噬者 125 3.1 玩法介绍 How toPlay 126 3.2 适时进退和逆转的机会 Concept 128 3.2.1 脚本一览 128 3.2.2 本章小节 130 3.3 平滑的网格移动 Tips 130 3.3.1 关联文件 130 3.3.2 概要 130 3.3.3 能够改变方向的时机 131 3.3.4 穿过网格的时机 131 3.3.5 小结 133 3.4 地图数据 Tips 134 3.4.1 关联文件 134 3.4.2 概要 134 3.4.3 文本文件的格式 134 3.4.4 扩展编辑器的功能 139 3.4.5 小结 141 3.5 摄像机变焦功能的运用 Tips 141 3.5.1 关联文件 141 3.5.2 概要 141 3.5.3 调整策略 142 3.5.4 摄像机的视野 143 3.5.5 缓动动画 145 3.5.6 变焦效果的代码实现 146 3.5.7 小结 149 3.6 幽灵的AI Tips 149 3.6.1 关联文件 149 3.6.2 概要 149 3.6.3 跟踪的算法 150 3.6.4 埋伏等待型、包围攻击型和型 153 3.6.5 观察幽灵的行动 155 3.6.6 小结 157 第4章 3D声音探索游戏——In the Dark Water 159 4.1 玩法介绍 How toPlay 160 4.2 只依靠声音 Concept 162 4.2.1 脚本一览 162 4.2.2 本章小节 164 4.3 仅依靠声音定位 Tips 164 4.3.1 概要 164 4.3.2 3D 声音的特性 164 4.3.3 用于实验的项目 166 4.3.4 小结 167 4.4 3D声音的控制 Tips 167 4.4.1 关联文件 167 4.4.2 概要 167 4.4.3 3D 声音的设置 167 4.4.4 按间隔发出声音 168 4.4.5 声音的淡出 169 4.4.6 小结 170 4.5 潜水艇的操纵 Tips 171 4.5.1 关联文件 171 4.5.2 概要 171 4.5.3 操作方法 171 4.5.4 转弯速度的衰减 173 4.5.5 小结 177 4.6 声纳的制作方法 Tips 177 4.6.1 概要 177 4.6.2 Perspective和Ortho 178 4.6.3 Dark Water的声纳摄像机 179 4.6.4 摄像机和对象的层 180 4.6.5 稍作尝试 183 4.6.6 摄像机的视口 184 4.6.7 小结 185 第5章 节奏游戏——摇滚女孩 187 5.1 玩法介绍 How toPlay 188 5.2 Band-girl的世界 Concept 189 5.2.1 脚本一览 190 5.2.2 本章小节 190 5.3 显示点击时刻的节拍标记 Tips 192 5.3.1 关联文件 192 5.3.2 概要 192 5.3.3 定位单元 192 5.3.4 标记的显示 195 5.3.5 小结 198 5.4 判断是否配合了音乐点击 Tips 198 5.4.1 关联文件 198 5.4.2 概要 198 5.4.3 得分高低的判断 198 5.4.4 避免重复判断 200 5.4.5 小结 205 5.5 演出数据的管理和执行 Tips 205 5.5.1 关联文件 205 5.5.2 概要 205 5.5.3 事件数据的检索 205 5.5.4 定位单元和执行单元 207 5.5.5 小结 211 5.6 其他调整功能 Tips 211 5.6.1 关联文件 211 5.6.2 概要 211 5.6.3 什么是turnaround 212 5.6.4 显示时刻的偏移值 212 5.6.5 定位条 214 5.6.6 显示标记的行号 216 5.6.7 小结 216 第6章 全方位滚动射击游戏——噬星者 217 6.1 玩法介绍 How toPlay 218 6.2 功能强大的激光制导 Concept 219 6.2.1 脚本一览 220 6.2.2 本章小节 220 6.3 索敌激光的碰撞检测 Tips 222 6.3.1 关联文件 222 6.3.2 概要 222 6.3.3 索敌激光的碰撞检测 222 6.3.4 碰撞网格的生成方法 224 6.3.5 确认碰撞网格 229 6.3.6 小结 229 6.4 不会重复的锁定 Tips 230 6.4.1 关联文件 230 6.4.2 概要 230 6.4.3 锁定的管理 230 6.4.4 小结 233 6.5 制导激光 Tips 233 6.5.1 关联文件 233 6.5.2 概要 233 6.5.3 根据TrailRenderer生成网格 233 6.5.4 制导激光的移动 234 6.5.5 稍作尝试 238 6.5.6 小结 238 6.6 消息窗口 Tips 239 6.6.1 关联文件 239 6.6.2 概要 239 6.6.3 消息队列和显示缓冲区 239 6.6.4 小结 244 第7章 消除动作解谜游戏——吃月亮 245 7.1 玩法介绍 How toPlay 246 7.2 爽快的连锁和有趣的方块移动 Concept 248 7.2.1 脚本一览 248 7.2.2 本章小节 250 7.3 同色方块相邻与否的判断 Tips 250 7.3.1 关联文件 250 7.3.2 概要 250 7.3.3 连结与连锁 250 7.3.4 不停地检测相邻方块 251 7.3.5 递归调用 253 7.3.6 用于测试连结检测的项目 256 7.3.7 防止无限循环检测 257 7.3.8 小结 258 7.4 方块的初始设置 Tips 259 7.4.1 关联文件 259 7.4.2 概要 259 7.4.3 颜色的选择方法 259 7.4.4 选取方块的摆放位置 262 7.4.5 小结 264 7.5 动画的父子构造关系 Tips 264 7.5.1 关联文件 264 7.5.2 概要 264 7.5.3 方块的运动 264 7.5.4 动画的父子构造——用于测试的项目 267 7.5.5 《吃月亮》中面板的位置和角度的计算 272 7.5.6 小结 274 7.6 方块的平滑移动 Tips 274 7.6.1 关联文件 274 7.6.2 概要 274 7.6.3 数组的索引和画面上的位置 275 7.6.4 桶列方法 277 7.6.5 小结 280 第8章 跳跃动作游戏——猫跳纸窗 281 8.1 玩法介绍 How toPlay 282 8.2 刺激的跳跃 Concept 284 8.2.1 脚本一览 284 8.2.2 本章小节 286 8.3 角色的状态管理 Tips 286 8.3.1 关联文件 286 8.3.2 概要 286 8.3.3 角色的动作 286 8.3.4 状态的迁移 287 8.3.5 状态管理的流程 288 8.3.6 小结 292 8.4 可以控制高度的跳跃 Tips 293 8.4.1 关联文件 293 8.4.2 概要 293 8.4.3 跳跃的物理规律 293 8.4.4 自由控制跳跃高度的操作 294 8.4.5 小结 297 8.5 窗户纸的碰撞检测 Tips 297 8.5.1 关联文件 297 8.5.2 概要 297 8.5.3 “碰撞”的内部实现机制 297 8.5.4 窗户对象 299 8.5.5 矛盾的碰撞结果 299 8.5.6 平滑地穿过格子眼 309 8.5.7 小结 312 第9章 角色扮演游戏——村子里的传说 313 9.1 玩法介绍 How toPlay 314 9.2 移动简单,人人都是主人公 Concept 316 9.2.1 脚本一览 316 9.2.2 本章小节 318 9.3 事件和Actor Tips 318 9.3.1 关联文件 318 9.3.2 概要 318 9.3.3 事件 318 9.3.4 事件的数据结构 322 9.3.5 Actor 324 9.3.6 事件的执行 327 9.3.7 试着执行一个事件 330 9.3.8 小结 332 9.4 游戏内参数 Tips 332 9.4.1 关联文件 332 9.4.2 概要 332 9.4.3 游戏内参数 332 9.4.4 小结 336 9.5 事件文件的读取 Tips 336 9.5.1 关联文件 336 9.5.2 概要 336 9.5.3 文件的读取 336 9.5.4 小结 340 9.6 特殊的事件 Tips 341 9.6.1 关联文件 341 9.6.2 概要 341 9.6.3 选项指令 341 9.6.4 宝箱事件 343 9.6.5 进入屋子的事件 345 9.6.6 小结 346 0章 驾驶游戏——迷踪赛道 347 10.1 玩法介绍 How toPlay 348 10.2 自行创建,即作即用 Concept 350 10.2.1 脚本一览 350 10.2.2 本章小节 352 10.2.3 关于CarTutorial脚本 352 10.3 透视变换和逆透视变换 Tips 352 10.3.1 关联文件 352 10.3.2 概要 352 10.3.3 透视变换 353 10.3.4 逆透视变换 355 10.3.5 小结 357 10.4 多边形网格的生成方法 Tips 358 10.4.1 关联文件 358 10.4.2 概要 358 10.4.3 生成道路的中心线 359 10.4.4 多边形的生成方法 361 10.4.5 生成道路多边形 362 10.4.6 急转弯时的多边形重叠 367 10.4.7 用于测试多边形生成的项目 368 10.4.8 小结 368 10.5 模型的变形 Tips 368 10.5.1 关联文件 368 10.5.2 概要 368 10.5.3 变形后顶点的位置坐标 369 10.5.4 小结 373 10.6 点缀实例 Tips 373 10.6.1 关联文件 373 10.6.2 概要 373 10.6.3 生成基准线 374 10.6.4 把树木设置到基准线上 378 10.6.5 小结 382 后记 383 |
| 编辑推荐 | |
| 文摘 | |
| 序言 | |
我对这类实战案例集的期待点在于其“可复用性”和“启发性”。我希望读完后,我能将书中的某个架构思路或优化技巧,立刻应用到我正在进行的项目中,并且看到立竿见影的效果。如果书中的例子是那种非常特定于某个历史悠久的大作,以至于现在Unity的新功能完全可以替代,那价值就会打折扣。因此,我更看重的是那些跨越了特定游戏项目和Unity版本的基础性、普适性的开发原则。比如,如何构建一个健壮的事件系统?如何设计一个易于扩展和维护的UI框架?如果书中能针对这些常见的系统性难题提供作者团队的成熟解决方案,并分析不同方案的优劣,那就太棒了。这种“授人以渔”式的传授,远比单纯的“授人以鱼”要珍贵得多,它能帮助我提升自身的架构思维能力。
评分我一直对日本游戏工业的精细化开发流程非常好奇。他们对于细节的打磨近乎偏执,这种精神渗透到代码层面的每一个角落。我预感这本书会在这方面有独特的见解。比如,在项目管理和代码规范上,一个大型团队是如何协作而不产生混乱的?书中是否会涉及版本控制的最佳实践,尤其是在多人并行开发一个大型项目时,如何保证代码的同步和质量?我关注的不仅仅是Unity的API用法,更是其背后的工程哲学。例如,在资源加载策略上,他们如何处理数以千计的动画、贴图和音效,以确保游戏在不同设备上的加载速度和内存占用都在可控范围内?这些都是决定一个游戏能否成功上线并获得良好口碑的关键因素,而这些经验往往是教科书上找不到的“潜规则”。我期待这本书能像一个经验丰富的前辈,耐心地手把手地传授这些宝贵的、经过时间考验的“行规”。
评分说实话,市面上关于Unity的书籍浩如烟海,但真正能让人“醍醐灌顶”的却屈指可数。很多书要么过于基础,对有一定经验的读者来说就是浪费时间;要么就是堆砌技术名词,缺乏实际的项目支撑。这本书的作者既然是南梦宫的资深开发者,那么他分享的必然是经过实战检验的“内功心法”。我尤其看重它在“游戏设计”层面的阐述。很多技术人员往往只关注如何把功能实现,却忽略了“为什么”要这么设计。好的游戏设计不仅仅是技术的美学体现,更是对玩家心理的精确把控。我希望作者能分享一些关于如何将设计目标转化为具体技术实现的思考路径,比如,在某个关卡中,为了营造紧张感,他们是如何通过特定的脚本逻辑或资源管理策略来实现这种氛围的。如果书中能提供一些从0到1构建一个小型游戏模块的完整案例,并深入解析每一步背后的设计考量,那它的价值就远远超过了一本纯粹的技术手册。
评分这本书的封面设计就透着一股子硬核技术范儿,光是看到“南梦宫一线程序员的开发实例”这几个字,我就忍不住想翻开看看。作为一名业余游戏制作爱好者,我一直渴望能接触到行业内大厂的真实开发流程和经验,而不是那些停留在理论层面的东西。这本书显然就是冲着这个需求去的。我特别关注了修订版在内容上的更新,毕竟游戏开发技术迭代速度太快了,如果只是简单地翻印初版,那价值就要大打折扣了。听说这次修订加入了不少Unity新版本的特性和现代开发理念的实践,这对我这种想紧跟潮流的人来说是极大的福音。我期待看到书中能详细剖析一些在实际项目开发中才会遇到的坑点和解决方案,而不是教科书式的API介绍。比如,在性能优化方面,一个大厂程序员会如何权衡视觉效果和帧率?在多人在线架构的初级设计中,会采用哪些策略来应对网络延迟?这些都是我非常期待在书中找到答案的关键点,希望它能真正成为我工具箱里那把解决疑难杂症的瑞士军刀。
评分作为一名从其他引擎转向Unity的开发者,我深知不同平台和开发文化之间的思维转换是最大的障碍。南梦宫作为一家拥有深厚主机游戏开发背景的公司,其技术选型和实现思路很可能带有主机游戏的严谨性,这对希望开发高质量、高要求的游戏的我来说,是极其宝贵的参考。我希望能看到书中对跨平台兼容性的一些探讨。例如,在PC和移动设备性能差异巨大的情况下,如何设计一套统一但又能在不同平台上进行自适应优化的系统?此外,修订版如果能增加关于现代渲染管线(URP/HDRP)在实践中的应用案例,那将极大地提升这本书的时效性和实用价值。我不是想学一个框架的官方文档,而是想看一个顶尖团队如何利用这些工具去实现他们的创意,克服它们已知的限制,并最终交付一个令玩家满意的产品。这种从“如何做”到“如何做得更好”的飞跃,是我最期待从这本书中获取的。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有