繁体   English   中英

在Unity中将对象水平旋转90度

[英]Rotate object horizontally by 90 degrees in Unity

我想将立方体水平旋转90度。 所以我会写

transform.Rotate(new Vector3(90, 0, 0));

但这似乎是错误的。

transform.Rotate(new Vector3(0, 90, 0));

transform.Rotate(new Vector3(90, 0, 0), Space.World);

transform.Rotate(new Vector3(90, 0, 0), Space.Self);

似乎也错了。 我只想旋转它自己的轴。

我如何归档=?

在此处输入图片说明

立方体的中心点不在其几何中心。 旋转时使其移动- 在此处输入图片说明

如果要围绕它旋转而不移动,则需要将立方体的中心置于其几何的中心。

向量=四元数.Euler(0,-90,0)*向量; 尝试这个

检查多维数据集的枢轴点是否从某个地方导入,因此它的枢轴可能不完全在多维数据集的0、0、0中,在场景中创建一个新的EmptyGameobject,并将该多维数据集作为新obj的子对象,对其进行调整位置,以便新的游戏对象位于多维数据集的0,0,0位置。

然后应用旋转它应该没问题。 (我知道该方法听起来很棘手,但是,这是更改Unity中游戏对象枢轴点的唯一合法方法)


关于旋转

有两种旋转方式:

如果即时旋转,你应该没事

否则,如果您希望它缓慢旋转。 采用:

transform.Rotate(0, speed * Time.deltaTime, 0, Space.World);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM