欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3D数学--Unity坐标的转换

程序员文章站 2022-03-26 16:04:45
...

常用的转换坐标方法

//将一个点的世界坐标转换局部坐标
transform.InverseTransformPoint(Vector direction);
//将一个点的局部坐标转换世界坐标
transform.TransformPinot(Vector direction);


//将一个向量的局部坐标转换世界坐标
transform.TransformVector(Vector direction);
//将一个向量的世界坐标转换为局部坐标
transform.InverseTransformVector(Vector direction);


//将一个方向从局部坐标转换到世界坐标
transform.TransformDirection(Vector direction);
//将一个方向世界坐标转换到局部坐标
transform.InverseTransformDirection(Vector direction);


//注意局部坐标都是相对于当前物体的位置

世界坐标转屏幕坐标

Vector 3 wToS = Camera.main.WorldToScreenPoint(Ventou direction)

屏幕坐标转世界坐标

Vector 3 wToS = Camera.main.ScreenToWorldPoint(Ventou direction)

视口坐标转屏幕坐标

Vector 3 sToV= Camera.main.ViewportToScreenPoint(Ventou direction)

屏幕坐标转视口坐标

Vector 3 vToS= Camera.main.ScreenToViewportPoint(Ventou direction)

世界坐标转视口坐标

Vector 3 vToS= Camera.main.WorldToViewportPoint(Ventou direction)

视口坐标转世界坐标

Vector 3 vToS= Camera.main.ViewportPointToWorld(Ventou direction)