美文网首页
Unity3d--Transform

Unity3d--Transform

作者: 光华_5206 | 来源:发表于2018-06-29 08:26 被阅读0次

    三种变换方式:

    • transform component
      方法
      • Translate():平移,可以指定按照世界坐标系平移,或局部坐标系平移
      • Rotate():旋转,绕指定的轴旋转给定角度,旋转轴可以在世界坐标系中指定也可以在局部坐标系中指定
      • RotateAround() :绕世界坐标系中的坐标轴和旋转中心旋转
        属性
      • position:物体在世界坐标系中的坐标
      • localPosition:物体在局部坐标系中的坐标
      • rotation:以四元数表示的物体的旋转
      • localScale:局部坐标系下的缩放
    • Quaternion
      四元数由$(x,y,z,w)$指定。给定点$p$,旋转变换为$Q$,变换后的点为
      p' =Qp
      Unity3D中已经对运算符
      进行了重载
          Quaternion q = new Quaternion(x, y, z, w)
          Quaternion q = Quaternion.Euler(x, y, z);      //Euler angle
          Quaternion q = Quaternion.FromToRotation(from, to);
          Vector3 p;
          Vector3 p0 = q * p;
    
    • Matrix4x4
      矩阵表示,点或向量的表示为列向量。因此对点$p$进行旋转变换时,
      p'=Mp

         Matrix4x4.LookAt(from, to, up);
         Matrix4x4.Rotate(Quaternion q);
         Matrix4x4.Scale(Vector3 scale);
         Matrix4x4.Translate(Vector3 offset);
         Matrix4x4.Ortho();
         Matrix4x4.Perspective();
      

    相关文章

      网友评论

          本文标题:Unity3d--Transform

          本文链接:https://www.haomeiwen.com/subject/iryoyftx.html