我想将水平方向水平旋转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);
似乎也是错的。我只是想在它自己的轴上旋转它。
我怎样才能实现=?
答案 0 :(得分:2)
答案 1 :(得分:0)
vector = Quaternion.Euler(0,-90,0)* vector; 试试这个
答案 2 :(得分:0)
检查多维数据集的轴心点 如果它是从某个地方导入的,那么它的枢轴可能不在多维数据集的0,0,0中,在场景中创建一个新的EmptyGameobject,并将多维数据集作为新obj的子项,调整它的位置以便新的游戏对象位于在立方体的0,0,0位置。
然后应用旋转它应该没问题。 (我知道这种方法听起来很棘手,但是,这是改变Unity中游戏对象枢轴点的唯一合法方式)
关于轮换
有两种旋转方式:
如果瞬间旋转你应该没问题
否则,如果你想让它慢慢旋转。使用:
transform.Rotate(0, speed * Time.deltaTime, 0, Space.World);