unity 控制旋转的方法

来源:互联网 发布:淘宝返利网官网 编辑:程序博客网 时间:2024/05/19 00:52
  1. 将角度转换成四元数,然后修改transform的rotation。
    Quaternion q = Quaternion.AngleAxis(angle, axis); // 1.角度 2.旋转的轴
    transform.rotation = Quaternion.slerp(transform.rotation, q, Time.deltaTime * speed);

  2. 最简单的旋转
    transform.Rotate(Vector.up * Time.deltaTime);

  3. 围绕某个点旋转
    transform.RotateAround(Vector.zero, Vector.up, Time.deltaTime * speed); 1. 围绕的点 2.轴向 3.速度

  4. 左右控制Y 轴的旋转
    rotaSpeed += Input.GetAxis(“Horizontal”);
    transform.eulerAngles = new Vector3(0, rotaSpeed, 0);

    1. 平滑旋转
      transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(waypoint - transform.position), 0.01f);

    2. 已知一个向量和夹角,求另一个向量
      var newDir = Quaternion.Euler(new Vector3(0, 90, 0)) * Vector3.forward;

0 0