游戏开发中最常用的基础数学知识

简介: 我们也经常听到有人这样说:想学做游戏或者想学编程呀,你的数学得要好。数学学得好,逻辑思维才能好,才能把编程或者做游戏学好。这句话看上去好像是有道理,但是细琢磨一下,其中有不少的问题。想学好编程,严谨缜密的逻辑思维确实很重要,但是逻辑思维这个东西并不是天生的,是后天通过锻炼习得的,锻炼它的方式有很多,学数学或者学习编程都能够有效的锻炼一个人的逻辑思维能力。

嗨!大家好,我是小蚂蚁。

“一遇到与数学有关的东西头就大了”,经常听到有做游戏的人这样说,数学似乎成了不少人的绊脚石,或者可以说是一堵墙,每当遇到它时,要么摔一跤,要么只能想办法绕路走,总之能不碰就不碰,因为一碰到就头大。

我们也经常听到有人这样说:想学做游戏或者想学编程呀,你的数学得要好。数学学得好,逻辑思维才能好,才能把编程或者做游戏学好。这句话看上去好像是有道理,但是细琢磨一下,其中有不少的问题。想学好编程,严谨缜密的逻辑思维确实很重要,但是逻辑思维这个东西并不是天生的,是后天通过锻炼习得的,锻炼它的方式有很多,学数学或者学习编程都能够有效的锻炼一个人的逻辑思维能力。

晓得上面那句话的逻辑谬误了吗?不论是学习数学,还是学习编程,都是锻炼一个人逻辑思维的方式,因为这两者对于思维的要求非常的严谨,稍有差池就会带来一个错误的结果。所以学习它们适合锻炼一个人严谨缜密的思维,你的逻辑思维是因为学习这两者而锻炼出来的,而不是要先要具备一定的逻辑思维,才能够进行学习。

好了,说回到我们今天要讲的数学。可以说大部分人之所以遇到它就头疼,都是因为在学校留下的后遗症。对于应试的学习已经怕了,而且这个怕已经深深的植根在潜意识里了。所以,现在即使你不需要再去应试了,看到它还是会怕。

破除潜意识中对于数学的恐惧,这是我们首先要解决的问题。其实方法很简单,你就想反正现在也不用考试,即使搞不懂也不会有什么坏结果,不用看着卷子上的分数心生愧疚,不会挨批,也不用请家长。搞不懂现在对我来说没有任何的影响。

好了,现在就可以放下心里的芥蒂,来正面直视一下它了,看看是不是数学就是那么的难。

心里这关过了之后,接下来我们就可以来看一下游戏开发中最常用的基础数学知识了。

不用担心,很少的,比你想要的还要少。在日常的游戏开发过程中,基本上 90% 以上的与数学有关的知识只有一个:三角函数

是的,就这么多。这应该是初中的数学知识,如果你不涉及游戏引擎底层的原理和实现,不涉及游戏开发中的光照以及着色器的编写,那么只要把三角函数搞明白了,就能解决日常开发中的 90% 的数学问题了。

三角函数都是些什么呢?请自行去任何一个搜索引擎中搜索关键字“三角函数”,然后仔细的阅读。

三角函数在游戏中都有哪些应用呢?我们简单的举几个例子吧!

例如,在射击游戏中,敌人会向角色发射子弹,如何让敌人发射的子弹能够朝向角色移动,并且子弹头要指向角色呢?

如图,我们可以以角色为中心构建一个坐标系,这样子弹和角色就可以在坐标系中构建出一个直角三角形,这个直角三角形的斜边就是子弹的飞行轨迹,子弹要沿着这条线飞向角色,并且要朝向角色。此时,我们可以利用角色和子弹的坐标,计算出两条直角边的长度,然后利用反正切函数,计算出角度 a,有了角度 a ,就能够设置子弹的旋转,让子弹朝向角色飞行了。

其中涉及到数学计算的积木其实就只有一块,但是我们可以借助它实现出这样的效果。

再举个应用的例子:有两段机械臂,绿色的机械臂可以通过摇杆控制旋转,现在需要蓝色的机械臂上红点的位置,始终位于绿色机械臂蓝点的位置上,让蓝色机械臂始终跟随着绿色的机械臂进行旋转。

实现这个功能仍旧需要借助三角函数的知识,已知斜边的长度,以及斜边和直角边的夹角,可以借助三角函数中的正弦函数余弦函数,计算出两个直角边的长度。

具体的积木逻辑也非常的简单。

涉及到数学计算的积木有两块,但是我们可以实现出下面这样的效果。

这是有人花 99 元付费咨询的一个问题(愿意耐心阅读的你赚到了),你看多学点儿数学知识就能帮你赚钱了,这是不是就是“知识就是金钱”的真实写照?

最后,再看一个例子。

如何让游戏中的一个精灵围绕着另一个指定的精灵或者位置进行旋转呢?

如图,蓝色方块围绕着红色方块转动,可以看作是蓝色方块以红色方块的中心为圆点,以固定的距离为半径,在这个圆上移动。

在旋转的过程中,角度 a 是在不断的变化的,可以利用三角函数中的正弦函数和余弦函数来计算出蓝色方块的位置坐标,这样在循环中通过不停的设置蓝色方块的坐标就能够实现绕圈的圆周运动。

实现的积木逻辑如下图。

涉及到数学计算的积木有两块,但是我们可以借助它们实现出下面这样的效果。

例子还有很多,就不再一一列举了。

总之,三角函数这一点儿数学知识值得你好好的去搞透了,做这件事是非常值得的,因为搞明白了这点儿东西,你就解决了日常游戏开发中所遇到的 90% 的与数学有关的问题了。

当你学习一个知识不再是为了考试的时候,学习本身的乐趣就会体现出来了。我从小学开始就恐惧英语,一直恐惧到大学,后来工作后,因为需要阅读很多的英文文档,读的多了慢慢的就发现好像英语也没那么难嘛!尤其是当你学到的东西能够得到应用的时候,带来的反馈是很强烈的。你能深切的感受到,自己所学的知识帮助自己解决了一些问题,带来了一些改变,甚至是赚到了一些钱。此时,学习便成为了一件有趣的事情。

面对游戏开发中的基础数学知识,是选择依旧头疼,还是选择静下心来把这点儿东西搞明白呢?

尝试一下后者吧!躲来躲去的总不是办法,有的时候进一步就是海阔天空。

我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的公众号就对啦!

这里是我的游戏开发课程服务,不只是一门课,而是围绕着新手学习做游戏有关的一整套服务。致力于帮助更多的人学会做游戏并做出自己的游戏,欢迎来跟 111 位同学一起学习做游戏。【点击这里】了解课程服务详情。

这里是小蚂蚁的小游戏系列,闲暇之余希望能给你带来片刻的放松和愉悦。无需下载安装,点击下方的游戏卡片就可以直接玩啦!









也欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识和内容,可以来围观。备注“学习做游戏”可免费领取学习做游戏的原创教程资料。接受付费咨询,不闲聊,望见谅。

相关文章
|
C语言
学生成绩管理系统(C语言实现)
学生成绩管理系统(C语言实现)
421 0
|
存储 前端开发 机器人
通过4个任务比较LangChain和LlamaIndex
我们在本地使用大模型的时候,尤其是构建RAG应用的时候,一般会有2个成熟的框架可以使用
3225 2
|
机器学习/深度学习 前端开发 数据可视化
神奇的streamlit (哇 原来深度学习还可以这样玩)
神奇的streamlit (哇 原来深度学习还可以这样玩)
神奇的streamlit (哇 原来深度学习还可以这样玩)
|
JSON 前端开发 安全
iframe和form提交
iframe和form提交
|
11月前
|
Java 数据库连接
【YashanDB知识库】使用DBeaver 插入数据 nvarchar字段插入为空
【YashanDB知识库】使用DBeaver 插入数据 nvarchar字段插入为空
【YashanDB知识库】使用DBeaver 插入数据 nvarchar字段插入为空
|
3月前
|
人工智能 IDE Java
我们从零开始实现了一个cursor的codebase功能(踩了很多RAG的坑)
VoidMuse 是一个以学习为目标的开源AI IDE插件,支持IntelliJ IDEA与VS Code,集成20+优秀开源组件,助力开发者在实践中掌握AI工程化技术。本文深入解析其基于混合检索的Codebase实现,涵盖向量化、索引构建与检索优化,助你真正理解并应用Function Call等核心技术。
669 5
我们从零开始实现了一个cursor的codebase功能(踩了很多RAG的坑)
|
4月前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
989 24
|
3月前
|
人工智能 数据可视化 测试技术
AI为你编写用例!通过Dify+RAG工作流,一键生成高达90%覆盖率的测试方案
本文介绍如何利用Dify和RAG技术构建智能测试用例生成工作流。通过将需求文档作为知识库,系统可自动生成覆盖功能、边界、异常等多维度的测试方案,显著提升用例质量和覆盖率,有效释放测试人力。
|
JSON 数据挖掘 开发者
1688 商品评论接口系列(1688API)
1688商品评论接口助力电商数据分析与优化。通过该接口,开发者可获取指定商品的评论数据(如昵称、内容、评分等),支持情感分析和质量反馈收集。接口采用HTTP GET/POST请求,返回JSON格式数据。Python示例代码展示如何调用接口并处理响应。应用场景包括商家产品优化、客户服务提升、市场调研及电商平台数据分析。
438 7
|
关系型数据库 分布式数据库 数据安全/隐私保护
PolarDB 开源基础教程系列 5 高级特性体验
PolarDB 特性解读与体验涵盖多项关键技术,包括预读/预扩展、Shared Server(建议使用连接池)、闪回表和闪回日志、弹性跨机并行查询(ePQ)及TDE透明数据加密。预读/预扩展通过批量I/O操作显著提升Vacuum、SeqScan等场景性能;Shared Server优化高并发短连接处理;闪回功能可恢复表至指定时间点;ePQ支持跨机并行查询以提高复杂查询效率;TDE确保数据存储层的安全加密。
372 3