3d 倾斜迷宫的建立模拟——倾斜工作台表面高度的计算

3d 倾斜迷宫的建立模拟——倾斜工作台表面高度的计算,3d,geometry,xna-4.0,game-physics,monogame,3d,Geometry,Xna 4.0,Game Physics,Monogame,我正在制作一个倾斜迷宫游戏/模拟。倾斜迷宫是一种迷宫,用户可以倾斜桌子表面,在迷宫周围移动大理石或滚珠轴承 我在单局游戏中这样做,它是一个右手坐标系,Y是向上的方向。我用牛顿物理学计算X和Z,但是我很难定位球体的高度,这样它就不会浮在上面或进入桌子 迷宫的表面在X和Z维度上都被限制为倾斜10度。这在2D中很容易做到,因为它只是sin(旋转弧度)*矢量长度。我已经尝试了很多3D的方法,但都不快 我有桌子的X和Z角,还有球的位置作为向量。我知道当X和Z角都为0时,Y=1在表的顶部。如果Z角旋转为10

我正在制作一个倾斜迷宫游戏/模拟。倾斜迷宫是一种迷宫,用户可以倾斜桌子表面,在迷宫周围移动大理石或滚珠轴承

我在单局游戏中这样做,它是一个右手坐标系,Y是向上的方向。我用牛顿物理学计算X和Z,但是我很难定位球体的高度,这样它就不会浮在上面或进入桌子

迷宫的表面在X和Z维度上都被限制为倾斜10度。这在2D中很容易做到,因为它只是sin(旋转弧度)*矢量长度。我已经尝试了很多3D的方法,但都不快

我有桌子的X和Z角,还有球的位置作为向量。我知道当X和Z角都为0时,Y=1在表的顶部。如果Z角旋转为10度(想象一张水平扑克牌向右倾斜),则如果X为负,则Y需要大于1,如果X为正,则Y需要小于1

这里有一对倾斜迷宫和球体的JPG。

我曾尝试为X和Z创建单独的旋转矩阵,然后乘以spherePosition,等等,但这并不正确

有人对我应该读什么或看什么有什么建议吗

谢谢


Erik

你能举个例子说明你想做什么吗?听起来你是在自己设置球体的位置,而不是让物理引擎控制它?是吗?是的,我正在设置球体的位置。没有涉及物理引擎。所有的物理都是我自己做的。这是游戏课上UMN运动规划的作业,所以我不能使用物理引擎。我最终在高度和方向上创建了一个平面作为倾斜迷宫。可以使用“平面.变换”倾斜平面。然后我用一条射线投射到它击中倾斜迷宫的地方。光线的交点+平面在迷宫下方的量+球体的半径使球体保持在倾斜迷宫上。