Unity(2022.3.38LTS) - 旋转和方向

目录

一. 旋转

二. 方向

三. 总结

四. 扩展-万向锁


一. 旋转

在 Unity 中,物体的旋转可以通过欧拉角和四元数来表示和操作。

欧拉角

  • 由三个角度值(通常表示为 xyz )来定义旋转。
  • 直观易懂,但可能会出现万向锁问题。

四元数

  • 由四个值 xyzw 组成。
  • 数学上更复杂,但能避免万向锁,并且在插值等操作上更稳定。

Unity 中的相关 API

  1. 通过欧拉角设置旋转:
transform.eulerAngles = new Vector3(30f, 60f, 90f);
  1. 获取欧拉角:
Vector3 eulerAngles = transform.eulerAngles;
  1. 通过四元数设置旋转:
transform.rotation = Quaternion.Euler(30f, 60f, 90f);
  1. 获取四元数:
Quaternion rotation = transform.rotation;

在实际应用中,例如制作角色的转向动画时,可以使用 Quaternion.Slerp 来实现平滑的转向效果;在物理模拟中,可能会用到 Quaternion.RotateTowards 来逐渐调整物体的朝向。

  1. Quaternion.LookRotation
    • 用途:根据给定的方向向量创建一个旋转四元数,使得对象朝向该方向。
    • 示例:Quaternion lookRotation = Quaternion.LookRotation(Vector3.forward);
  2. Quaternion.AngleAxis
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    一然明月

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值