前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >游戏中是如何模拟跳跃或抛射的

游戏中是如何模拟跳跃或抛射的

作者头像
keyle
发布于 2024-11-01 04:30:06
发布于 2024-11-01 04:30:06
1200
举报
文章被收录于专栏:礼拜八不工作礼拜八不工作

今日来探讨一下游戏中角色的跳跃与抛射所遵循的运行原理以及其蕴含的数学意义。

由于微信公众号不支持数学符号,部分公式用截图方式呈现。点击查看原文获取更好的体验。

游戏开发领域,速度位移方程通常较多地应用于玩家角色的跳跃过程,而匀变速直线运动方程则常常被用于重现某一段轨迹,例如在已知角色 A 从原点跳至 B 点的情况下,用以还原在特定时刻 A 角色的实时坐标。

速度位移方程与玩家的跳跃

于数学领域而言,此情况能够借助速度与位移方程予以阐述。在垂直方向上的位移能够依据如下公式:

在游戏设计过程中,通常会对玩家的弹跳能力予以设定。当下跳跃的高度已知,能够较为便捷地计算出玩家所应具备的跳跃初速度 V0

匀变速直线运动方程

就物理模拟层面而言,角色的跳跃抑或炮弹的抛射通常均依据牛顿运动定律。就轨迹形状来讲,匀变速曲线运动必然为抛物线或者抛物线的一部分。

于数学领域,此能够借助基础的匀变速直线运动方程予以描述。垂直方向上的位移能够依照公式:

其中ℎ是垂直位移高度,V0 是初始垂直速度,t 是时间,g 是重力加速度。

角色在空中的上升和下降阶段,速度会不断变化。上升时速度逐渐减小,下降时速度逐渐增大。速度的变化可以用下面公式来计算。

基于公式可以推导出G值

存在这样一种普遍的需求,即在射击炮弹(跳跃)的流程中,服务器明确在 t 秒后击中点 p,此时需要客户端补充一个抛物线轨迹。

首先针对垂直方向(Y 轴)来逆向推导重力加速度 g 的数值。此情况在手机游戏中较为常见,由于多端同步的复杂程度,大多网络游戏通常将水平轴向设定为匀速(非加速运动),部分竞速类游戏会采用非线性的加速公式,相应的计算亦会更为繁杂。已知服务器在特定 t 之后发射的炮弹能够抵达目标点,依据此炮弹的初始速度 v₀y,便能计算出该炮弹的 g 。

考虑垂直方向(Y 轴)来逆向推导重力加速度 g 的数值。

垂直位移公式为

移项可得 :

现在知道了g 就可以根据位移公式去计算单位时间内Y轴的高度变化。如果结合水平方向的位移也就有了我们所需要的点对点抛物线轨迹。

基于公式可以推导出物体在做抛物线运动时,预测其某一时刻的某一点

在不考虑引入新变量(即不考虑阻力)的情况下,对于做抛物线运动的物体,我们基于速度变化公式来推导其在某一时刻的位置。

补充:基于公式可以推导出V0值
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 礼拜八不工作 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档