美文网首页
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

    三种变换方式: transform component方法Translate():平移,可以指定按照世界坐标系平移...

网友评论

      本文标题:Unity3d--Transform

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