我正在为我的游戏开发一个块旋转组件,但我遇到了一个我无法解决的问题。基本上,我希望能够沿所有三个轴旋转网格组件。玩家一次只能旋转一个轴,旋转90度或-90度。我还希望玩家总是根据世界的X,Y和Z轴旋转网格,而不是块的相对轴,它会随着旋转而改变。我该如何实现这一点?
无旋转的网格:

网格沿X轴旋转90度:

这里的问题是,如果我想沿着Y轴旋转块,那么它将沿着Z轴旋转块,因为块现在是旋转的。如何保持新的旋转朝向世界轴,而不是网格?
发布于 2020-10-10 16:26:01
找到了解决这个问题的方法。我需要一个名为AddWorldRotation的蓝图节点。在C++中,您也可以从参与者或组件调用AddWorldRotation。然后,您只需输入希望添加到组件现有旋转中的旋转器即可。
在我的例子中,沿特定轴旋转90度可以是FRotator(90,0,0)、FRotator(0,90,0)或FRotator(0,0,90)。
https://stackoverflow.com/questions/64280491
复制相似问题