我想要一个四边形(1)围绕Y轴旋转四边形,(2)围绕四边形的X轴旋转它。问题是它一个接一个地旋转,所以它围绕Y轴旋转然后围绕世界的 X轴旋转,而不是四边形 X轴。
基本上我想做的是围绕它的X轴和Y轴旋转四边形(随机),最后我仍然希望它的两个底部顶点有Y = 0.
这是我现在正在使用的代码:
_game._device.Transform.World = Matrix.RotationYawPitchRoll(_rotationValues(i).X, _rotationValues(i).Y, 0) * Matrix.Translation(_translationValues(i))
_game._device.DrawPrimitives(PrimitiveType.TriangleList, 0, 4)
_game._device.Transform.World = Matrix.Identity
答案 0 :(得分:0)
我修好了!我使用Matrix.RotationYawPitchRoll()
和Matrix.RotationX
代替Matrix.RotationY
方法。这是代码:
_game._device.Transform.World = Matrix.RotationX(_rotationValues(i).X) * Matrix.RotationY(_rotationValues(i).Y) * Matrix.Translation(_translationValues(i) + location)
_game._device.DrawPrimitives(PrimitiveType.TriangleList, 0, 4)
_game._device.Transform.World = Matrix.Identity