问题标签 [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.
physics - 物理引擎 - 确定碰撞后物体的速度
在为我的物理引擎研究信息时,我遇到了确定碰撞后物体的速度(或碰撞“脉冲”的大小)的问题。许多消息来源说使用恢复系数,但根据维基百科,这取决于碰撞中两个物体的属性。不幸的是,要确定 CoR,您需要知道物体的最终速度!
game-physics - 基于力的图:3D 边缘碰撞
想象一个带有碰撞边缘的移动 3D 力图。编写一个特定的物理引擎来计算边缘(字符串、绳索)碰撞有多容易,这样每个对象的行为都像在现实世界中一样?弦应该弯曲,节点应该相互排斥,等等。超出视觉识别的准确性“看起来很真实”并不重要,这是一个游戏。
编辑:也许我忘了提到,将边缘近似为多段字符串是我能想到的唯一选择。
是的,是否有可能将这种物理学扩展到数百或数千个边缘?
wpf - WPF 物理引擎
我正在寻找 WPF 的 2D 物理引擎,而不是 Silverlight。物理引擎应该是可混合的,以便我可以在混合中指定特定控件的行为。有吗?
.net - Visual Studio 的优化问题或我看不到的逻辑错误?
我正在开发一个小型物理玩具应用程序。它工作正常,除了粒子不会相互推开,只会拉向,我逐个命令调试了 sub 通过它的命令,并意识到值“H”不会改变,在第一次通过时设置为什么sub 是它保留的内容,更改此值的唯一方法是手动设置它,即'h = 1'。一旦对“H”值重做计算,它就会重置为之前的值,即使 x1,y1,x2,y2 都不同,因此意味着 H 应该不同。
我认为是我在某个地方犯了数学错误,但我看不出它在哪里。我需要一双崭新的眼睛来审视我的工作。如果你发现任何东西,请告诉我。
谢谢。
c# - Xna 将重力添加到 2d 精灵
我试图在我的第一个 xna 2d 游戏中模拟重力。我有以下
所以我试图在 elapsedAirTime < maxAirTime 时将精灵向上移动一定量但是,在这段时间里,我的代码似乎只向上移动精灵一次而不是多次。这是我的“player.cs”类中的代码,或者类的更新方法。
任何帮助都非常感谢,请,谢谢!
objective-c - 2d 地图中的游戏图块移动
在 2D 方形网格系统中进行移动的最佳方式是什么?我有这个有用的东西,但它看起来是错误的/丑陋的(见下文)。
例如,U 是我要移动的单位,而 O 是像另一个单位或一座山一样无法通过的物体。如果 U 可以移动 3 个图块,我希望可移动区域(M)看起来像这样。
这是我的代码:
c - TrigMath, 2 masses, rigid rod computing velocity
Like everyone else, I am doing a Thrust clone just to brush up. I have arrived at the stage where the ship picks up the pod.
Essentially I have two masses (consider centre of sphere only) connected with a rigid, massless rod. L never changes, doesn't break.
In this case, the ship(ma) has mass 1.0, and the pod(mb) has mass 2.0. What is the math required to compute new positions? When I apply thrust to the ship(ma), how do I apply that to pod(mb)? (and make it swing around as expected) Doing the ship itself was straight forward, usual velx-=sin(angle)*thrust, vely+=cos(angle)*thrust. posx+=velx. etc. I know I used to know how to do this, but school was soo many years ago.
scripting - Unity 3D 物理
我在统一 3d 中遇到物理问题。我希望我的球从墙上弹回并朝另一个方向移动。当球撞到墙上时,它会直接弹回来。我尝试将方向更改为与它撞墙的方向正交,但它不会改变方向。因此,球只会不断地撞到墙上并直接弹回。
其次,有时球会穿过墙壁。墙壁有盒子对撞机,而球有球对撞机。它们都具有连续动态作为碰撞检测模式。
data-structures - 用于二维碰撞检测的四叉树
我正在尝试使用四叉树进行 2D 碰撞检测,但我对如何实现它有点困惑。首先,我有一个四叉树,它包含四个子树(一个代表每个象限),以及一组不适合单个子树的对象。
当在树中检查对象的碰撞时,我会做这样的事情(感谢QuadTree 的 2D 碰撞检测):
- 检查对象是否与当前节点中的任何对象发生冲突。
- 对于空间与对象重叠的任何子树,递归。
要查找四叉树中的所有碰撞:
- 检查当前节点中的每个对象与当前节点中的其他对象。
- 针对每个子树检查当前节点中的每个对象。
插入四叉树:
- 如果对象适合多个子树,则将其添加到当前节点,然后返回。
- 否则,递归到包含它的任何子树。
更新四叉树:
- 递归到每个子树。
- 如果当前节点中的任何元素不再完全适合当前树,则将其移至父节点。
- 如果当前节点中的任何元素适合子树,则将其插入子树。
这可以吗?可以改进吗?
java - 二维球碰撞问题:能量不守恒
我正在尝试编写一个简单的物理模拟,其中具有不同半径和质量的球在完全弹性和无摩擦的环境中反弹。我在此资源之后编写了自己的代码:http ://www.vobarian.com/collisions/2dcollisions2.pdf ,我还从这里测试了代码:Ball to Ball Collision - Detection and Handling
问题已编辑
在 Rick Goldstein 和 Ralph 的帮助下,我的代码可以正常工作了(有一个错字……)。非常感谢你的帮助。但是,我仍然对为什么其他算法对我不起作用感到困惑。球以正确的方向反弹,但系统的总能量永远不会守恒。速度越来越快,直到球开始在屏幕上的静态位置闪烁。我实际上想在我的程序中使用这段代码,因为它比我写的要简洁得多。
这是我编写的函数算法(尽管我确实从其他来源获取了第一部分)。它在 Bubble 类中:
这是一个不起作用的
如果你发现什么,请告诉我。谢谢