标签: physics-engine

我从哪里开始编写/使用3D物理模拟引擎?

我需要用Java编写一个非常简单的3D物理模拟器,立方体和球体相互撞击,而不是更多.我从来没有这样做过,我应该从哪里开始?有关如何完成的任何文件?我可以重用的任何图书馆?

java simulation physics-engine

2
推荐指数
1
解决办法
4247
查看次数

(Sugar、Sugar等游戏的物理引擎)SpriteKit针对许多物理精灵进行性能优化

我是一名iOS游戏开发者,最近看到一款有趣的物理和绘图游戏“糖糖”。在游戏中,屏幕上会产生大量像素粒子(数千个)并自由落体到地面。玩家可以绘制任何形状的线条,这些线条可以将这些颗粒引导到某些杯子。来自谷歌的图片: 在此输入图像描述

我正在尝试使用 SpriteKit 和 Swift 来实现类似的效果。这是我得到的: 在此输入图像描述

然后我遇到了性能问题。一旦粒子数量>100。CPU和能源成本非常高。(我使用 iPhone 6s)。所以我相信《糖糖》中的物理引擎比现实的SpriteKit简单得多。但我不知道那里的物理引擎是什么以及如何在 SpriteKit 中实现这一点?

PS:我使用一张图像作为所有这些粒子的纹理,仅加载一次以节省性能。我只使用 SKSpriteNode,出于性能原因也没有使用 ShapeNode。

performance game-physics physics-engine sprite-kit swift

2
推荐指数
1
解决办法
516
查看次数

物理引擎所需的建议

我最近开始了一个项目,建立一个物理引擎.我希望你能给我一些与一些文档和/或最佳技术相关的建议.

首先,我已经看到Game-Physics-Engine-Development被强烈推荐用于手头的任务,我想知道你是否可以给我第二个意见.我应该得到它吗?此外,在浏览亚马逊时,我偶然发现了 游戏引擎架构,因为我想为游戏构建我的物理引擎,我认为这也许是一个很好的阅读.

其次,我知道模拟物理是高度计算的,所以我想使用CUDA或OpenCL.Right现在我倾向于OpenCL,因为它适用于NVIDIA和ATI芯片组.你们建议什么?

PS:我将在Linux上用C++实现它.

谢谢.

cuda opencl game-physics physics-engine

1
推荐指数
1
解决办法
1052
查看次数

愤怒的小鸟物理冲击/碰撞

如何像愤怒的小鸟一样制造运动撞击/碰撞.当物体击中盒子和木头时,它们的相互作用和动画的流动将到达正确的位置.我需要从头学习如何构建它.我需要物理和概念的基础

示例图片:

示例图片

到目前为止,我认为到目前为止.受到影响,我会申请

  1. 恢复原则

    物体1速度= e(球速度)

  2. 我将采取球的方向并使对象1旋转90%对着球.

    如果球--->方向.对象1的最终结果将是90度.所以它会成为

    | ____ | 它会变成这个.

  3. 到目前为止看来没错.但我不确定如何与物体2相互作用.我是否重复步骤2.然后我将速度和方向传递给物体2.所以它会再次旋转90度?

这是我到目前为止收集的内容.任何暗示我正朝着正确方向前进的建议都会很好.

对于碰撞部分.我打算用AABB.和旋转AABB.

physics game-physics physics-engine

1
推荐指数
1
解决办法
844
查看次数

cannon.js中重力,质量和接触材料的"真实"值是什么?

我查看了cannon.js示例,它们似乎主要用于-10和-40之间的重力和1到10之间的物体质量(或称为CANNON.RigidBody),这些演示物体对这些值的"表现良好",因为它们只是"重"足以克服重力而不是那么"沉重",以至于它们使地平面看起来是假的......我的意思是我试图增加落下的质量物品和它们拥有的质量越多,它们越多,地板看起来就像棉花糖(即海绵状)一样落地.(顺便说一句:是的,我知道质量和重量不是一回事 ;-)

数学中的引力通常为9.8 m/s/s,那么如何在CANNON.World.gravity中实现呢?

我在互联网上发现石块的质量是2515千克/立方米,所以如果我想放下一块1x1x1米的石块,那将如何转化为质量:

var block = new CANNON.RigidBody(mass, shape, material);
Run Code Online (Sandbox Code Playgroud)

然后有这个material参数..我需要有2个材料(1个用于地板,1个用于石块)然后我如何设置摩擦系数和恢复值以使材料在碰撞时作出反应?

我知道这似乎有很多问题,而且我的目标不是绝对准确,只是需要指导,因为a)我缺乏物理知识和b)对于我们这些试图使用cannon.js的人没有太多文档物理学教授;-)

我猜是真正的问题是"如何逼近现实主义".

cannon.js很棒,效果很好,我非常感谢Stefan Hedman(schteppe)迄今为止所付出的辛勤工作.

javascript physics-engine cannon.js

1
推荐指数
1
解决办法
2538
查看次数

Box2D Flash,摧毁尸体

这是我一直希望解决的问题,虽然我永远找不到解决方法.我想我可能会遗漏一些东西,但我似乎找不到什么.

我试图从b2World中摧毁身体,我在各种教程中看到,当他们在调试绘图的情况下破坏box2d中的对象时,形状也会被破坏.出于某种原因,我这样做:

world.DestroyBody(_body)它似乎没有做任何事情.形状停留在屏幕上.

以前有人有这个问题吗?这让我很担心,因为玩游戏一段时间后,我想破坏的所有物体都会留在屏幕上,并且仍会记录真正落后于游戏的碰撞.

任何帮助将非常感激,

谢谢,
威尔

编辑:[已决议]谢谢你们,这非常有道理.

flash garbage-collection actionscript-3 box2d physics-engine

0
推荐指数
1
解决办法
3936
查看次数

是什么导致物理引擎的接头撕裂?

我会保持简短,要知道我所说的事情发生在 2009 年的 Box2d for AS3 上,今天也发生在 JavaScript 中的完全独立的 p2 物理库中。

请转到以下 2d 布娃娃演示页面,并用力旋转布娃娃的头部。

https://schteppe.github.io/p2.js/demos/ragdoll.html

您将看到关节分离并变得有弹性的结果。

这个问题阻止了我用物理做任何有趣的事情。球链、弹射器、叉车、布娃娃、蜘蛛侠射击网、二维车辆......

限制似乎不稳定,甚至是多余的。我认为物理引擎适用于愤怒的小鸟或掉落的方块,但是当您添加约束时,该项目就会变成适合破坏的演示。

你能解释一下为什么会发生这种情况吗?我很天真吗?是否存在物理引擎来提供基本的主体和约束?作为开发人员,我应该应用数学来使约束正常工作?

game-physics physics-engine

0
推荐指数
1
解决办法
518
查看次数

检查数组中对象之间冲突的好方法是什么?

我一直在另一个for循环中进行for循环,以便同时从数组中获取2个对象,但必须有更好的方法.我只想检查它们是否发生碰撞然后从视图和数组中删除它们.

arrays objective-c game-physics physics-engine ios

-1
推荐指数
1
解决办法
242
查看次数