每次单击屏幕的一半时,我都想让立方体旋转 90 度。(按下和确定屏幕的侧面没有问题)立方体必须严格旋转 90 度,每次旋转后必须识别其位置(0,0,0),但我不知道如何实现它。
在此屏幕截图示例中,我将在 z 轴上将立方体旋转 90 度,并在顶部显示紫色。之后,我沿 X 轴旋转立方体,我应该让绿色代替紫色。但事实证明并非如此,我看到这样的画面,轴在转弯过程中发生了移动。
if (touch.position.x > Camera.main.scaledPixelWidth/2)
{
Box.transform.Rotate(new Vector3(90, 0, 0), 90f);
}
if (touch.position.x < Camera.main.scaledPixelWidth/2)
{
Box.transform.Rotate(new Vector3(0, 0, -90), 90f);
如果旋转发生在原点周围,那么在围绕任何基轴旋转 90 度后,立方体将移动到另一个八分圆空间。
为了将其保持在相同的位置(但方向不同),需要修改变换矩阵 -
-Size/2
在所有坐标、旋转、反向偏移中偏移。编辑:
看起来 - 统一有一个功能
在这种情况下,指向立方体的中间,轴对应于旋转轴 - 例如,(1,0,0) 表示围绕平行于 OX 的轴旋转。