我正在构建倾斜迷宫游戏/模拟。倾斜迷宫是迷宫,其中使用者可以倾斜桌子的表面以在迷宫周围移动大理石或滚珠轴承。
我是用monogame做的,这是一个右手坐标系,Y是向上的方向。我用牛顿物理学计算X和Z,但是我无法定位球体的高度,因此它不会浮动或进入表格。
迷宫的表面限制为在X和Z维度上倾斜10度。这在2D中非常容易,因为它只是罪(rotationAngRadians)* vectorLength。我已经尝试了很多3D方法并且无法快速完成。
我有桌子的X和Z角度以及球位置作为矢量。我知道当X和Z角都是0时,Y = 1在桌面上。如果Z角度旋转是10度(想象一个水平的扑克牌向右倾斜),那么Y需要更大如果X为负,则为1,如果X为正,则小于1。
这里有几个倾斜迷宫和球体的jpgs。 https://www.dropbox.com/s/wwmfnottzmgynjc/tiltGame1.jpg https://www.dropbox.com/s/6k4unt6hukumyos/tiltGame2.jpg
我尝试为X和Z创建单独的旋转矩阵,然后将spherePosition等相乘,但这样做不正常。
任何人都有任何关于我应该阅读或看什么的指示?
谢谢,
埃里克