unity 控制旋转的方法

  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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值