坐标系转换
Contents
Unity坐标转换
世界坐标系的点 转换为 本地坐标系的点
//受到缩放影响
transform.InverseTransformPoint(世界坐标);世界坐标系的方向 转换为 本地坐标系的方向
//不受缩放影响
transform.InverseTransformDirection(世界坐标);
//受缩放影响
transform.InverseTransformVector(世界坐标);本地坐标系的点 转换为 世界坐标系的点
//受缩放影响
transform.TransformPoint(本地坐标);本地坐标系的方向 转换为 世界坐标系的方向
//受缩放影响
transform.TransformVector(本地坐标);
//不受缩放影响
transform.TransformVectorDirection(本地坐标);屏幕坐标和世界坐标转换
//得到主摄像机对象 上的深度 进行设置
Camrea.main.depth = 10;
//世界坐标转屏幕坐标(物体在这个摄像机上的屏幕坐标)
//xy对应屏幕坐标 z对应的是这个3d物体距离摄像机有多远
Vector3 v = Camera.main.WorldToScreenPoint(obj.transform.position);
//屏幕坐标转世界坐标
Vector3 mp = Input.Mouseposition;
//需要对z轴赋值 因为屏幕坐标是一个2D的
//如果Z为0 相当于是视口的交点
mp.z = 10;
Vector3 v = Camera.main.ScreenToWorld(mp);