告诉你,让游戏逼真、流畅的秘密
42个编程实例,打通游戏开发的任督二脉
134张图解,清晰讲解游戏编程五大基本实现
物体的运动 卷动 碰撞检测 光线的制作 画面切换
如何做出火山喷发似的酷炫效果?
各种形状的物体的碰撞测试是如何实现的?
怎样精准模拟重力作用下的运动轨迹?
怎样实现追踪目标物体并可弯曲的激光?
《游戏开发的数学和物理》严格选取了游戏开发中最常用的数学和物理学知识,通过游戏开发实例,配上丰富的插图,以从易到难的顺序进行讲解。第1章到第5章分别讲解了物体的运动、卷动、碰撞检测、光线的制作、画面切换的细分处理。这五章将2D游戏必需的知识一网打尽,同时还严格挑选了少量3D游戏编程的基础内容以供参考。第6章系统梳理了游戏开发的数学和物理学理论,帮助读者更好地理解前五章的内容。
《游戏开发的数学和物理》适合网络和手机游戏开发者阅读。
加藤洁,毕业于东京理科大学物理专业,后转攻信息科学。现任教于AmusementMedia综合学院,主讲游戏数学和3D程序开发。近年来随着游戏开发所需的技术水平越来越高,主张让高中毕业的游戏开发者也能习得这些高深的技巧。日常致力于教育方法的研究工作,希望以简单有效的方式讲解门槛较高的理科知识。著有《PC-9801PROGRAMMERSBible》(合著,技术评论社,1994)。
徐谦(本书译者),7年技术开发及项目经验,曾以技术工程师身份赴日本工作两年,后归国联合创办互联网公司,现居上海继续创业中。侧重Web开发,有若干高并发、实时Web系统的分布式解决案例。热爱开源,曾向多个知名开源项目贡献代码,在Github开源的个人项目获得广泛认可。乐于分享技术心得。
第1章 物体的运动
1.1 让物体沿水平方向运动 【匀速直线运动、x+=v;、 v = -v】
1.2 通过键盘控制物体的运动 【键盘输入、斜方向移动、勾股定理】
1.3 让物体沿任意方向运动 【三角函数、正弦、余弦、弧度】
1.4 在物体运动中加入重力 【抛物运动、重力加速度、计算误差、积分】
1.5 物体随机飞溅运动 【随机数、均匀随机数、正态分布】
1.6 让物体进行圆周运动 【角速度、向心力】
1.7 [ 进阶] 微分方程式及其数值解法 【微分方程、数值解法、欧拉法】
第2章 卷动
2.1 将背景从一端卷动到另一端 【镜头位置、卷动幅度、比例关系】
2.2 让背景卷动与角色的运动产生联动 【区域坐标、画面坐标】
2.3 卷动由地图块组合的地图 【地图、地图块、整数的减法、移位运算、逻辑运算】
2.4 波纹式的摇摆卷动 【波纹扭曲、正弦波、波长、振幅、周期】
2.5 制作有纵深感的卷动 【透视、比例计算、梯形】
2.6 [ 进阶] 透视理论 【视景体、近似】
第3章 碰撞检测
3.1 长方形物体间的碰撞检测 【矩形、德摩根定律】
3.2 圆形与圆形、圆形与长方形物体间的碰撞检测 【距离、勾股定理、平方比较】
3.3 细长形物体与圆形物体间的碰撞检测 【点与线段的距离、内积、微分】
3.4 扇形物体的碰撞检测 【条件划分、向量的运算、向量的内分点、圆的方程式】
3.5 [ 进阶] 3D的碰撞检测 【2D、3D、维度扩展】
第4章 光线的制作
4.1 让物体向任意方向旋转(含缩放效果) 【旋转、基向量、向量加法、向量减法】
4.2 任意两点间的光线投射 【向量长度、单位向量】
4.3 光线弯曲处理 【圆形、圆周长、伪影】
4.4 实现带追踪效果的激光 【左右判定、外积、旋转速度】
4.5 [ 进阶] 绘制大幅度弯曲的曲线时的难点 【曲率、曲线的粗细、插值曲线、反射】
第5章 画面切换效果
5.1 水平扫描式画面切换 【三角多边形、纹理素材、uv坐标】
5.2 斜向扫描式画面切换 【向量形式的直线、剪裁】
5.3 使用带模糊效果的分界线进行画面切换 【渐变、Alpha 合成】
5.4 使用圆形进行画面切换 【避免重复渲染、环形、a值】
5.5 雨刷式画面切换 【避免条件分支】
5.6 [ 进阶] 多种多样的画面切换方法 【遮罩图案、可编程着色器、高斯滤波器】
第6章 游戏开发的数学和物理学基础理论
6.1 比例、一次函数及直线方程 【比例系数、斜率、截距、参数方程】
6.2 算式展开与因式分解 【计算优先级、分配律】
6.3 二次函数、二次方程与抛物线 ? 圆 【完全平方、求根公式、圆锥曲线】
6.4 三角函数 【直角三角形、单位园、弧度、相位】
6.5 向量与矩阵 【长度、方向、一次变换、逆变换】
6.6 微分 【变化率、微分系数、极限、合成函数】
6.7 级数与积分 【数列、西格玛、原函数、不定积分、积分常数】
附 录 示例程序的编译及运行方法
--基于Visual Studio 2013、Visual Studio 2012、Visual Studio
这是一本通过游戏开发实例,讲解数学与物理知识的书。数学与物理,两者都是游戏开发中不可或缺的。然而在实际的游戏制作中,并不能像在学校的物理数学课上那样,不管三七二十一先背下一堆可能用得着的公式或解题技巧。真正的游戏开发,总是先遇到一个需要实现的需求,然后再在寻求实现方法的过程中,去学习必要的数学和物理知识,即“先有需求,再掌握实现需求的工具”。对于普通人来说,想必这样的学习模式才是更加自然并有效的吧。
自古以来,数学都是伴随着一些颇具实用性的目的产生并发展起来的。例如在古代,建筑中必须要测算距离或长度,赋税或商业活动中必须计算款项、面积、体积等,数学正是在这些现实需求中一步步发展起来的。而物理学的初衷也是用算式这种客观的语言来描述身边发生的现象,同样起源于非常实际的需求。因此,从某种意义上来说,“先有需求,再去掌握实现需求的工具”这种学习模式,正是顺应整个数学和物理发展过程的最自然的方式。
时至今日,数学和物理已经经历过无数才华横溢的先人的反复锤炼,称它们为集合了人类智慧的瑰宝也不为过,它们共同支撑起了现代的科学技术,当然也是游戏以及计算机行业的基石。但是我们在学习这样的智慧瑰宝时,却往往不明白数学和物理究竟有什么作用,只是像背诵咒语一样强行记下公式,甚至也有不少人对其感到厌恶。其实人的本性确实如此,假如不是对某样事物抱有兴趣,或者迫于外部压力,是很难认真地自觉学习的。即便数学和物理是人类智慧的瑰宝,但如果在连它们能做什么都不了解的情况下去勉强学习,那也是违背人类本性的,学习起来自然也就倍感艰难了。
本书以编程为题材,每一章节都会先提出一个需要解决的实际问题,然后针对问题通过公式和必要的理论知识讲解解决方法。为了让这样的学习模式更加有效,书中所提出的问题应当是真正实用的,才容易让读者产生兴趣,因此本书所涉及的问题严格选取了实际2D游戏编程中不可缺少的技术。而本着尽量生动有趣的原则,在编撰人员的努力下,解决问题的示例程序都采用了与实际游戏同样的图片素材。希望广大读者朋友可以籍由本书更加自然地走进门槛不低的数学和物理世界。
本书大致可以有两种阅读方法。方法一,通过解决问题的实际案例入门(第1章~第5章),掌握必要的数学、物理知识。这种阅读方法适合所有想编写游戏程序的读者。针对这部分读者,本书涵盖了2D游戏开发中所涉及的几乎所有的必要知识。而对于想要开发3D游戏的读者,也建议不要一下跳跃到3D,先以本书所涉及的2D知识为基础开始学习会更加容易入门。另一种阅读方法是,从本书的理论部分(第6章)开始,先了解本书所涉及的数学、物理公式在实际生活中究竟有什么作用。推荐那些在中学、大学里不得不学习理科,却又不知道学习理科有什么用的同学们采用这种阅读方法。我本人作为一名游戏学校的讲师,一直在帮助学生将中学、大学里的教育成果转变为游戏公司的实际生产力,充当着桥梁的作用,因此如果本书能对中学生、大学生的理科教育有一点帮助的话,对我来说将是意外的惊喜。
在阅读本书时请注意,为了简化理论知识以外的部分,本书中的示例代码可能会违背一些代码编写的基本规范。特别是类似将vx这样的短变量名作为全局变量的做法,在真正编程时千万不要去模仿。
最后,对给予我执笔机会,并对内容等方面提供巨大帮助的小川史晃编辑及翔泳社的诸位,对邀请我写作并协助策划的AmusementMedia综合学院的猪狩贤一郎先生,以及对本书文字提出很多建议的学院剧本专业的老师们,一并表示深深的感谢。
2013年11月
加藤洁
我必须说,这本书的叙事方式给我留下了深刻的印象。它不像市面上很多技术书籍那样,枯燥乏味,充斥着冷冰冰的公式和代码。相反,作者运用了一种非常讲故事的口吻,仿佛在和我分享他多年来在游戏开发领域的经验和心得。他会讲述自己曾经遇到的难题,以及他是如何通过深入理解数学和物理原理来解决这些问题的。这种“亲历者”的视角,让整个阅读过程充满了代入感。我感觉自己不再是独自一人在摸索,而是有了一位经验丰富的导师,在一步步地引导我。例如,在讲解碰撞检测时,作者并没有直接给出复杂的算法,而是先描述了一个游戏中常见的场景——两个物体相撞。然后,他循循善诱地引导我思考,当两个物体的边界重叠时,我们应该如何判断它们发生了碰撞。接着,他才引出数学上用来描述形状和位置的各种概念,以及如何利用这些概念来编写程序。这种“问题导向”的学习方法,极大地激发了我的求知欲。我不再是被动地记忆,而是主动地去思考,去寻找答案。这本书让我深刻体会到,数学和物理并非是独立的学科,而是游戏开发中不可或缺的工具。它让我看到了理论知识在实践中的强大力量,也让我对未来更具信心。
评分说实话,这本书的排版和插图设计也给我留下了深刻的印象。很多技术书籍往往为了追求内容的全面,而牺牲了阅读的舒适度。但是,《游戏开发的数学和物理》这本书在这方面做得非常出色。它的字体大小适中,行距也恰到好处,读起来非常舒服。更重要的是,书中的插图和图表设计得非常精美,而且与文字内容紧密结合。无论是解释复杂的几何关系,还是展示物理概念的演变过程,那些生动的插图都能帮助我更直观地理解。我尤其喜欢书中那些用流程图来梳理算法逻辑的图表,它们能够清晰地展示出每一个步骤是如何相互关联的,让我不容易在复杂的计算中迷失方向。此外,作者在书中还穿插了一些“小贴士”和“思考题”,这些看似不起眼的细节,却极大地提升了我的阅读体验。它们鼓励我主动思考,并且巩固所学的知识。总的来说,这本书不仅仅是内容上的优秀,其整体的呈现方式也彰显了作者的专业和用心,这让我在学习过程中感受到了极大的愉悦。
评分坦白讲,我最初对这本书的期望值并不高,我以为它会是一本偏向理论的学术著作,充斥着晦涩难懂的专业术语。然而,当我真正深入阅读之后,我才发现我的想法完全错了。这本书的实用性简直超乎我想象!作者非常善于将复杂的数学和物理概念,转化为可以直接应用于游戏开发的具体代码和算法。他会在讲解完一个原理之后,紧接着给出相关的伪代码或者简化的C++代码示例。这些示例清晰明了,即使是对编程不太熟悉的读者,也能通过它们来理解如何将理论付诸实践。我印象特别深刻的是关于“向量”的章节。我曾经对向量的概念感到非常困惑,总觉得它只是一个抽象的数学符号。但是,这本书通过展示如何用向量来表示物体的位移、速度和加速度,以及如何用向量运算来实现角色的移动和旋转,让我茅塞顿开。我开始明白,原来游戏中的每一个动态的画面,都离不开向量的精确计算。这本书不仅提升了我对游戏开发技术层面的理解,更重要的是,它培养了我独立解决问题的能力。当我遇到一个关于物体运动的问题时,我不再感到束手无策,而是知道可以从哪些数学和物理原理入手去分析和解决。
评分阅读《游戏开发的数学和物理》这本书,对我来说就像是打开了一扇通往新世界的大门。我一直觉得游戏开发是一项充满了魔法般创造力的活动,但同时我也隐隐觉得,在那些炫酷的特效和流畅的操作背后,一定隐藏着一些严谨的科学原理。这本书恰恰就揭示了这些“魔法”背后的“科学”。它并没有将数学和物理描绘成冰冷的计算,而是将其与游戏中的实际应用紧密地联系起来。例如,当作者讲解“万有引力定律”时,他会将其应用到模拟行星绕恒星旋转的场景中,让我们看到如何用简单的公式来创造出逼真的天体运动。又比如,在解释“刚体动力学”时,他会通过模拟一个布娃娃在物理引擎中晃动的效果,来展示如何让游戏中的物体表现得更真实。这种将抽象概念与具象表现结合的方式,让我对数学和物理产生了前所未有的亲近感。我开始觉得,这些曾经让我望而生畏的学科,原来是如此的迷人。这本书不仅仅是一本技术书籍,更是一本激发我对科学探索热情的启蒙读物。
评分这本书简直是为我量身定做的!作为一个从小就热爱各种电子游戏,并且对游戏背后的原理充满好奇的人,我一直梦想着能亲手创造属于自己的游戏世界。然而,当我开始探索游戏开发领域时,我很快就意识到,数学和物理是绕不开的基石。在学校里,这些科目对我来说总是那么抽象和难以理解,我从来没有想过它们能与我热爱的游戏联系得如此紧密。当我在书店里看到《游戏开发的数学和物理》这本书时,我的眼睛一下子就亮了。我迫不及待地翻开它,希望能找到一条通往游戏开发梦想的捷径。从第一页开始,我就被它循序渐进的讲解方式所吸引。作者并没有上来就抛出复杂的公式和理论,而是从游戏中最直观的元素入手,比如一个简单的跳跃动作,一个弹道的轨迹。然后,他巧妙地将相关的数学概念,如向量、三角函数,以及物理定律,如重力、动量,融入其中,用通俗易懂的语言和生动的例子进行解释。读这本书的过程,对我来说与其说是学习,不如说是一种“顿悟”。我不再是被动地接受知识,而是主动地去理解和应用。我甚至开始在玩游戏时,不自觉地去分析角色的移动方式,去想象子弹飞行轨迹背后的数学模型。这本书不仅解答了我曾经的疑惑,更点燃了我对游戏开发的激情。我发现,那些曾经让我头疼的数学和物理,原来是可以如此有趣和富有创造性的。
评分本来是买来随便看看的,结果太有意思了,一口气读完。哈哈哈。封面也很有特色啊!
评分可读性强,内容由浅入深,游戏开发必备
评分没啥好说的 正常用没啥好说的 正常用
评分好评! 服务很好,京东快递很快,书包装很好没有破损。推荐!
评分学习用品看着增长知识
评分没啥好说的 正常用没啥好说的 正常用
评分宝贝收到了,妥妥的正版,非常满意,愉快的购物,喜欢就下手!
评分好很好。。。。。
评分我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,京东的送货,配送员太给力了,必须表扬,工作认真,热心帮忙解决问题。配送神速,服务周到,超赞!绝对5分。 希望京东可以继续这样服务大众,一定会很无敌的!!!正货,放心,超赞!!!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有