Unity坐标系列

Unity坐标系列

世界坐标系

原点:世界的中心
相关API:

  • transform.position;
  • transform.rotation; 四元数
  • transform.eulerAngles; 欧拉角
  • transform.lossyScale;

本地坐标系

原点:物体的中心点(建模时决定,一般都是物体的中心点)
相关API:

  • transform.localPosition;
  • transform.localRotation; 本地四元数
  • transform.localEulerAngles; 本地欧拉角
  • transform.localScale;

屏幕坐标系

原点:屏幕的左下角
相关API:

  • Screen.width
  • Screen.height

视口坐标系

摄像机的视口范围
原点:屏幕左下角

各个坐标系相互转换的API

世界转本地

  • transform.InverseTransformDirection();
  • transform.InverseTransformPoint();
  • transform.TransformVector();

本地转世界

  • transform.TransformDirection();
  • transform.TransformPoint();
  • transform.TransformVector();

世界转屏幕

  • Camera.main.WorldToScreenPoint();

屏幕转世界

  • Camera.main.ScreenToWorldPoint();

世界转视口

  • Camera.main.WorldToViewportPoint();

视口转世界

  • Camera.main.ViewportToWorldPoint();

视口转屏幕

  • Camera.main.ViewportToScreenPoint();

屏幕转视口

  • Camera.main.ScreenToViewportPoint();

屏幕坐标转世界坐标

鼠标实例:

using UnityEngine;
public class test : MonoBehaviour
{
    public Transform go;
    private void Update()
    {
        Vector3 pos = Input.mousePosition;
        pos.z = 200.0f;
        Vector3 mouGlobalPos = Camera.main.ScreenToWorldPoint(pos); 
        go.position = mouGlobalPos;     //go的世界坐标 z值始终等于200.0
    }
}

跟多请阅读

精美

posted @ 2021-08-04 21:35  镜子-眼泪  阅读(93)  评论(0)    收藏  举报