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
}
}
跟多请阅读


浙公网安备 33010602011771号