Unity坐标的转换

常用的转换坐标方法

//将一个点的世界坐标转换局部坐标
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)

猜你喜欢

转载自blog.csdn.net/qq_41056203/article/details/81286082