3D骰子在Lwjgl和OpenGL中滚动

时间:2015-08-28 19:22:01

标签: opengl 3d lwjgl

我想要一个可以掉到地面上并且面朝下的三维骰子。我也想给立方体一个随机的旋转速度,这样立方体在降落前在半空中旋转,所以我得到一个随机的结果。

我环顾四周但是我找不到任何关于这个主题的内容。 我知道如何渲染和生成骰子以及受到重力的影响以及如何给它一个随机的旋转速度以及如何在它撞击表面时停止它但是我怎样才能确保它面朝下然后我该怎么知道哪张脸朝上,这样我才能得到骰子降落的价值?

1 个答案:

答案 0 :(得分:1)

你想要的是刚体物理模拟。我建议使用物理模拟库,例如bullet。

物理库通常提供函数来了解对象是否“正在”(不移动)。这可用于触发骰子值读数。

要知道哪个面朝上,您可以获得立方体的变换矩阵M,将其应用于单位矢量并查看此结果矢量指向的位置。

如果您更喜欢自己实施物理,那么这些论文非常适合了解刚体仿真的基础知识:

https://www.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf https://www.cs.cmu.edu/~baraff/sigcourse/notesd2.pdf