• unity局部坐标和世界坐标角度介绍


    Unity中,局部坐标(Local Coordinates)和世界坐标(World Coordinates)是描述物体位置的两种不同方式:

    1. 局部坐标(Local Coordinates)

      • 局部坐标是相对于物体自身的坐标系来描述物体上的点的位置。
      • 对于一个物体而言,它的局部坐标原点通常位于物体的中心,坐标轴则沿着物体的局部方向。
      • 例如,一个立方体的局部坐标原点可能位于立方体的中心,坐标轴分别沿着立方体的长、宽、高方向。
    2. 世界坐标(World Coordinates)

      • 世界坐标是相对于整个场景的坐标系来描述物体的位置。
      • 在场景中,每个物体都有一个唯一的世界坐标,这个坐标是相对于场景的全局坐标系来确定的。
      • 例如,一个立方体在场景中的世界坐标描述了它在整个场景中的位置和方向。

    在Unity中,你可以通过物体的transform组件来访问和操作它们的局部坐标和世界坐标。例如,transform.localPosition表示物体的局部坐标,transform.position表示物体的世界坐标。

    当然,请看下面这些示例代码,它们展示了如何在Unity中获取和使用物体的局部坐标和世界坐标:

    1. 获取和设置物体的局部坐标:

    1. // 获取物体的局部坐标
    2. Vector3 localPosition = transform.localPosition;
    3. // 设置物体的局部坐标
    4. transform.localPosition = new Vector3(1.0f, 0.0f, 0.0f);
    1. 获取和设置物体的世界坐标:

    1. // 获取物体的世界坐标
    2. Vector3 worldPosition = transform.position;
    3. // 设置物体的世界坐标
    4. transform.position = new Vector3(10.0f, 0.0f, 5.0f);

    在Unity中,角度变化通常涉及到物体的旋转。在这里,我将为你介绍如何在Unity中操作物体的旋转角度。

    1. 获取和设置物体的局部旋转角度(Euler角度)

      • Unity中的旋转可以用欧拉角(Euler Angles)来表示,即绕物体的局部坐标轴(X轴、Y轴、Z轴)旋转的角度。
      • 获取物体的局部旋转角度:
        Vector3 localRotation = transform.localEulerAngles;
        
      • 设置物体的局部旋转角度:
        transform.localEulerAngles = new Vector3(0.0f, 90.0f, 0.0f); // 绕Y轴旋转90
    2. 获取和设置物体的世界旋转角度(Quaternion)

      • Unity中的世界旋转角度通常使用四元数(Quaternion)来表示,这是一种更复杂但更有效表示旋转的方式。
      • 获取物体的世界旋转角度:
        Quaternion worldRotation = transform.rotation;
        
      • 设置物体的世界旋转角度:
        transform.rotation = Quaternion.Euler(0.0f, 90.0f, 0.0f); // 绕世界Y轴旋转90
  • 相关阅读:
    怎么处理MySQL延迟问题和数据刷盘?
    基于SSM的人事管理系统
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java宿舍管理系统8n6jf
    数据可视化,销量第一的新能源汽车是什么?比亚迪新能源汽车销量接近60万辆
    1110 区块反转分数 25
    java计算机毕业设计论文管理系统源程序+mysql+系统+lw文档+远程调试
    [附源码]java毕业设计文档管理系统
    m基于matlab的信息传输系统包括卷积编码,QPSK调制解调以及维特比译码
    linux时间与Windows时间不一致问题
    加速attention计算的工业标准:flash attention 1和2算法的原理及实现
  • 原文地址:https://blog.csdn.net/sunyao1314/article/details/140441863