当前位置: 首页 > 知识库问答 >
问题:

XNA-绕X轴和Z轴旋转3D

拓拔富
2023-03-14

我是XNA的新手。我只是陷入了某种困境——我必须在游戏中倾斜/翻转角色,这意味着围绕X轴和Z轴旋转(不是同时旋转!)我可以做旋转-这意味着绕Y轴旋转。我有旋转矩阵,角色的当前位置向量(也是可以从旋转矩阵中获得的朝向/方向向量)我通过将朝向向量围绕Y轴旋转R弧度来实现旋转,即围绕Y轴旋转。比如说,如果我现在绕X轴旋转,那么方法是什么?例如,从站立姿势改为“超人飞行”姿势需要角色倾斜。。。y旋转不涉及改变角色的位置,只是改变了面对面。但我想对于X和z,我也必须操纵位置?请给我一些指导。

共有1个答案

钱雅逸
2023-03-14

想出来了!只需围绕旋转矩阵中可用的右/正向量旋转模型。发现以下博文很有帮助:https://stevehazen.wordpress.com/2010/02/15/matrix-basics-how-to-step-away-from-storing-an-orientation-as-3-angles/#comment-376

至于代码,这里有一个示例:Vector3 rightVector=target。CurrentModelMatrix。正当变量矩阵=矩阵。CreateFromAxisAngle(右向量,(浮点)GetRadianAngle(10));//将围绕右向量目标向前倾斜角色。CurrentModelMatrix*=旋转矩阵

 类似资料:
  • 我的屏幕上有一个旋转和平移的对象,但是我有两个关于z轴旋转的问题。解释起来有点棘手,所以我上传了两个视频来描述每个问题。 1) 反向旋转:在绕x轴旋转对象后,z轴旋转将被反向,并且应该如此。 2)错误的Z轴旋转:同样,在围绕x轴旋转物体后,我试图围绕z轴旋转物体,旋转导致不同的轴旋转。 我相信视频很好地描述了这些问题。 编辑:更新#1 好的,我想我找到了解决方案,就是只绕Z轴旋转相机,然后对模型本

  • 我在下面有一个类,我将其附加到一个对象上,以使其围绕其轴旋转。我把雪碧的枢轴通过检查员送来了。 这正是我想要的效果,但是我遇到的问题是,每当我触摸并拖动它,然后再次触摸并拖动它,它就会捕捉到一个新的位置。 我想让它做的是,当它旋转,然后再次旋转时,精灵保持其相同的旋转,而不是捕捉到一个新的位置,我想精灵的角度重置为0。接下来,我想让角度持续旋转。所以如果我朝正方向旋转,角度应该在正方向上不断增加,

  • 我尝试绕全局y轴旋转对象(基本上,无论当前方向如何,都围绕0,1,0偏航)。我想给你看一张照片,但是声誉。。。我想绕全局轴而不是对象的局部轴旋转偏航。例如,如果我通过俯仰稍微倾斜一个长方体,然后尝试旋转偏航,它将以倾斜的角度而不是直线旋转长方体,就好像长方体根本没有倾斜一样。 每个对象将其位置和旋转存储在矩阵中,每个更新调用都会更新该矩阵。旋转的代码看起来是这样的: 其中,位置是每次更新都会平移和

  • 嗨,我正在尝试实现一个带有旋转的opengl程序 以下代码仅供参考:

  • Highcharts 区域图 以下实例演示了反转x轴与y轴区域图。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。在 chart 中添加 inverted 属性。 chart 配置 将 chart 的 inverted 属性设置为 true,X轴为垂直,Y轴为水平的。 var chart = { type: 'area', invert

  • 我想知道如何围绕它的Y轴旋转一个物体。 例如,我想旋转谷歌示例应用程序hello\u ar\u java的droid机器人https://github.com/google-ar/arcore-android-sdk/tree/master/samples/hello_ar_java围绕其Y轴,角度为alpha。