【发布时间】:2012-09-08 22:27:46
【问题描述】:
我想写它已经有一段时间了……作为大学的一个项目,我(和朋友)写了一个需要良好爆炸和粒子效果的游戏。我们遇到了一些问题,我们很优雅地解决了(我认为),我想分享知识。
好吧,所以我们找到了这个教程:Make a Particle Explosion Effect,它似乎很容易使用 Java 和 JOGL 来实现。在我回答我们是如何实现本教程之前,我将解释渲染是如何完成的:
Camera:只是一个orthonormal basis,这基本上意味着它包含 3 个归一化正交向量和一个表示摄像机位置的第 4 个向量。渲染使用gluLookAt:
glu.gluLookAt(cam.getPosition().getX(), cam.getPosition().getY(), cam.getPosition().getZ(),
cam.getZ_Vector().getX(), cam.getZ_Vector().getY(), cam.getZ_Vector().getZ(),
cam.getY_Vector().getX(), cam.getY_Vector().getY(), cam.getY_Vector().getZ());
这样相机的z 向量实际上是目标,y 向量是“向上”向量,而位置是,嗯……位置。
那么(如果放到疑问句式中),如何实现好的粒子效果?
P.S:所有代码示例和游戏截图(包括答案和问题)均取自游戏,游戏托管在此处:Astroid Shooter
【问题讨论】:
-
应该把它变成一个社区维基吗?
-
@DownVoters - 如果您能解释为什么投反对票,将不胜感激......
-
您很可能会被否决,因为您似乎在有用的问题和广告垃圾邮件之间走得很细,而社区通常对此表示不满。很高兴您决定为此编写一个有用的解决方案,但通常我们不希望每个帖子都以 " 结尾...您可以在我的 iOS 应用商店的新应用中看到这个快速排序实现!"
-
@Tim 谢谢,虽然我不认为这是垃圾邮件。我一直在努力研究这个问题,并且研究了很长时间。在这里找不到解决方案,也找不到其他任何地方。我的想法是,恕我直言,一个特殊的解决方案就像顿悟一样降临到我身上,我想分享它。我相信这个想法是独特的、有用的和原创的。这篇文章来自于回馈这个美好社区的愿望,我在过去遇到的问题上得到了很多有用的解决方案。而且绝对不是垃圾邮件...
标签: java opengl 3d alpha-transparency particles