2012-09-21 98 views
0

如何在统一3d中围绕其中心点旋转3D游戏对象。在统一中围绕其中心点旋转对象3d

+0

我想我不明白这个问题。 Transform.rotation = myTargetRotationQuaternion – Kay

+0

in Update(): transform.rotation * = Quaternion.Euler(0,30,0); //度数你想旋转对象每帧。 http://docs.unity3d.com/Documentation/ScriptReference/Transform-rotation.html – Shadow

+0

或http://docs.unity3d.com/Documentation/ScriptReference/Transform.Rotate.html – Shadow

回答

1

的两种常用方法旋转对象是

  1. 的旋转属性在变换中。使用这一个,您可以设置目标对象旋转的精确坐标。但是,如果要制作动画并且通过四元数类型给出值,则必须自行管理平滑度。我建议使用静态方法Quaternion.Euler因此可以在一个X值传递,Y,Z。下面的例子设定为顺时针旋转90度的Y轴的对象:

    transform.rotation = Quaternion.Euler (0, 90, 0); 
    
  2. 第二种方法使用的在同一个转换属性中的旋转方法。此方法允许您传递对象旋转的度数,并且已经接受X,Y和Z坐标,而不是四元数。下面 的例子在Y轴对象1度按顺时针方向旋转:

    transform.Rotate (0, 1, 0); 
    

为了更好地理解这两种方法之间的区别,如果你使用的更新方法的第一个,你会看到对象在Y轴上静止旋转90度。更新中使用的第二个示例将使对象在Y轴上顺时针旋转(速度太快)。