【发布时间】:2013-02-25 15:24:20
【问题描述】:
这更像是一个关于我应该使用哪种模式/方法的建议。我已经对此问题进行了一些调查 - 结果不佳。
基本上我有一个游戏的想法,其中关键的游戏机制是基于飘落的雪 - 或者,在这个想法游戏的情况下 - 飘落的粒子。
雪/颗粒需要从屏幕上掉下来 - 但会堆积成堆。问题是,当它们达到一定角度时,我需要下雪以“涓涓细流”桩的两侧,并继续积累。有可能在成堆的雪下面开洞,雪必须掉出来——想想就像沙漏掉沙漏一样。
我已经尝试过这是 Box2d - 很明显 Box2d 不是用于持续很长时间的 10,000 多个微小粒子的正确选择。 Box 2D 很快就死了。
我尝试在屏幕上绘制 1px 位图,但每次更新处理 10,000 次碰撞也证明性能不佳。
任何想法都将不胜感激。
干杯
【问题讨论】:
-
你可能最终会成为 3dMark 的竞争对手......无论如何,10000 个持久粒子听起来像是 CUDA 的工作
-
你能澄清一下 - 是 2d 还是 3d,雪是否只能通过从上方落下而积聚?如果你玩的区域是多大?
-
我正在制作一个基于图块的 2d 平台游戏,当我以全高清绘制 200,000 个精灵时,它在 2008 年平庸的桌面上每秒给我 60 帧,所以我不认为应该关注 10'000 个精灵。碰撞逻辑可能存在缺陷,导致结果不佳,例如 OP 可能会在所有雪花之间运行检查,而其中一些距离太远而无法进行检查。
-
您可以发布您的项目的链接吗?听起来很有趣 =)
-
@Stuart 理想情况下,游戏区域应该是全屏的——但游戏仍然可以使用更大的“雪”来减少精灵的数量...
标签: c# xna game-physics