【问题标题】:3D dice roll in Lwjgl and OpenGLLwjgl 和 OpenGL 中的 3D 掷骰子
【发布时间】:2015-08-28 19:22:00
【问题描述】:

我想要一个 3d 骰子,它可以放在一个表面上并面朝下落地。我还想给立方体一个随机的旋转速度,这样立方体在着陆前会在半空中旋转,所以我得到一个随机的结果。

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

【问题讨论】:

    标签: opengl 3d lwjgl


    【解决方案1】:

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

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

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

    如果您更喜欢自己实现物理,这些论文非常适合了解刚体模拟的基础知识:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2012-02-29
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      相关资源
      最近更新 更多