Vector3 CO_Direction = mFollowSelectGo.transform.position - MainCamera.transform.position;//相机到物体的位置向量
float cPlane = Vector3.Dot(CO_Direction, MainCamera.transform.forward);//得到摄像机与物体所在平面的距离
float CO_Distance = MainCamera.WorldToScreenPoint(mFollowSelectGo.transform.position).z;//相机到物体的世界坐标距离
Vector2 screenPos = RectTransformUtility.WorldToScreenPoint(UICamera, UI_Image.transform.position);
mFollowSelectGo.transform.position = MainCamera.ScreenToWorldPoint(new Vector3(screenPos.x, screenPos.y, CO_Distance)); //CO_Distance 等价与 cPlane
博客主要围绕3D场景展开,给出了计算相机到物体位置向量、摄像机与物体所在平面距离、相机到物体世界坐标距离的代码,还涉及将世界坐标转换为屏幕坐标及反向转换的操作,实现物体位置的调整。
1万+

被折叠的 条评论
为什么被折叠?



