问题标签 [game-physics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
608 浏览

simulation - 用于游戏编程的材料科学

有人知道用于编程各种材料相互作用的行为的好资源吗?

游戏编程物理资源通常涵盖碰撞检测、动量、惯性等,但它们似乎处理的是一种理想化的“材料”。我有兴趣模拟弹丸撞击金属的行为,它会更塑性地变形,而撞击的木头会容易碎裂,或者玻璃会碎裂。

是否有从游戏/模拟的角度处理此问题的书籍或在线资源?

0 投票
5 回答
108908 浏览

c++ - 如何将欧拉角转换为方向向量?

我有俯仰角、滚动角和偏航角。我如何将这些转换为方向向量?

如果你能向我展示这个的四元数和/或矩阵表示,那就太酷了!

0 投票
3 回答
3295 浏览

game-physics - 正交基的四元数

我有一个沿速度矢量移动的射弹物体。我需要确保对象始终面向速度矢量的方向。此外,我使用四元数而不是矩阵来表示对象旋转。

我知道第一步是找到一个正交基:

我如何将基础转换为旋转四元数?

解决方案

请注意,我想感谢 Noel Hughes 提供了答案,但我想用我自己的经验来澄清一下。伪代码如下:

四元数的最后一个元素是标量部分,前三个元素是虚部。此外,上面的伪代码假设您在“模型空间”中的对象指向正 x 轴。在我的例子中,对象实际上指向正 y 轴,在这种情况下,我进行了以下更改:

0 投票
2 回答
927 浏览

xna - Farseer Physics XNA Geom“绊倒”

我有一个类似于http://farseerphysics.codeplex.com/Thread/View.aspx?ThreadId=72364的问题

我有一个矩形播放器几何图形,许多矩形瓷砖几何图形彼此相邻排列。

有时,当玩家 geom 在它们之间穿过时,他似乎会夹到瓷砖 geom 的角落并因此旋转过来。

即使将惯性矩切换为防止旋转的无穷大,当它夹住边缘时,玩家 geom 也会“跳跃”。

这是 geoms绊倒图像的屏幕截图 http://notspike.com/PrototypeG/trip.png

有什么解决办法吗?我已经尝试过 Farseer 论坛,但它似乎很不活跃

这是一个使用圆形几何图形播放器的视频链接

http://www.notspike.com/PrototypeG/trip.avi

0 投票
1 回答
334 浏览

video - 如何同步物理模型、音频、游戏渲染、帧显示和输入

假设应用程序没有准备“预测”帧或声音,使用什么好的处理序列和/或线程模型来给用户留下良好同步的物理模型、音频、视频、声音和输入的印象?

编辑

我的问题假设没有“网络游戏”的概念,只是一台独立的机器。

0 投票
2 回答
1841 浏览

artificial-intelligence - 需要帮助破译射弹运动的公式

我需要实现一点人工智能来弄清楚如何用弹丸运动击中目标。

我在维基百科上找到了这个:

击中坐标所需的角度

这看起来正是我需要的东西,特别是因为我在从零高度以上发射弹丸时遇到了额外的问题。然而,我的数学技能不是很好,所以这对我来说完全是一派胡言,我不知道如何将其中的任何一个翻译成代码。

如果有人能用基本运算符(+ - * %)和函数(sin、cos、sqrt 等)将其分解成我能理解的东西,我将不胜感激。

0 投票
4 回答
4900 浏览

graphics - 在 2D 中模拟 3D 空间

我开始编写我的第一个游戏,我想做简单的 2D 精灵游戏。但是,我想模拟 3D 空间和物理,并且正在寻找一些可以教我基础知识的教程/指南/算法……但到目前为止还没有运气。

你有什么建议?图书?我不关心编程语言,任何语言都可以,因为我可以阅读大多数语言的算法,首先我只想了解 3D -> 2D 问题的现有解决方案。

谢谢!

编辑:我现在不太关注物理学,而是将 3D 空间投影到 2D

这是我在主题上找到的最好的文章:http ://www.create-games.com/article.asp?id=2138

另一篇很棒的文章: http: //pixwiki.bafsoft.com/mags/5/articles/circle/sincos.htm

0 投票
2 回答
2335 浏览

game-physics - 子弹物理:凹形移动形状

我正在尝试使用子弹物理 SDK 创建一个凹形移动形状,但找不到如何做到这一点。

您对如何实现这一目标有任何想法吗?

0 投票
2 回答
463 浏览

java - 磁力模拟

假设我在一个 m 像素的 2D 表面上有 p 个节点,我希望这些节点相互吸引,这样它们之间的距离越远,吸引力就越强。但是如果两个节点之间的距离,比如 d(A,B) 小于某个阈值,比如 k,那么它们就会开始排斥。谁能让我开始编写一些关于如何随时间更新节点坐标的代码。

我有一些类似于下面的代码的东西,它开始吸引人,但正在寻找一些建议。(PS 我不能使用现有的库来做到这一点)。

0 投票
3 回答
4402 浏览

xna - Farseer 还是 Box2D?自上而下的射击物理实现

其中哪一个更适合自上而下的射手?

我听说 Box2D 的性能更快,但我也注意到它缺乏对 XNA 的更广泛的社区支持(它似乎被用于闪存 - 原因我不知道)。

然而,Farseer 是为 XNA 构建的,似乎很适合它并且性能很好。在我看来,Farseer 的优势还在于它干净、易于使用的 API(也非常适合我的游戏引擎的结构)。但是我担心如果我使用它会有一些缺点(子弹和高速物体?奇怪不是数字崩溃吗?)

总的来说,如果您能指出哪一个更适合 XNA/PC 开发,我将不胜感激。

我需要这个的原因:

  • 它不会仅用于一个自上而下的射击游戏,它旨在与游戏框架集成。
  • 即使是自上而下的射击游戏也会在具有更好碰撞、逼真物理的环境中更具吸引力——例如,您可以移动一个盒子来进入掩体?
  • 以像素完美的方式手动控制碰撞将太昂贵(我没有时间优化它 ​​- 如果存在具有高级碰撞检测算法的高性能物理引擎,我也不需要它),而边界框碰撞是一种方式到不现实。

我现在应该用你的意见来回答吗?请保持直截了当,并告诉我使用 Farseer 而不是 Box2D 是否犯了错误的一步?(我不得不在等待答案的同时开始工作。)

提前致谢