求助:求世界系中的射线到屏幕的交点坐标(屏幕交点)

[复制链接]
查看11 | 回复3 | 2021-1-27 05:07:24 | 显示全部楼层 |阅读模式
如题,一般都是从屏幕到世界系的射线求命中,现在需要反过来,从世界系中的射线打到屏幕上的点(希望是屏幕坐标)。考虑了很久,没解决。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:07:24 | 显示全部楼层
//1.屏幕转世界坐标
Vector3Camera.main.ScreenToWorldPoint(newVector3(screenPos.x,screenPos.y,zInfo));
//2.世界转屏幕坐标
Vector3Camera.main.WorldToScreenPoint(newVector3(worldPos.x,worldPos.y,worldPos.z));
//3.世界转视口坐标
Vector3Camera.main.WorldToViewportPoint();
//4.视口转世界坐标
Vector3Camera.main.ViewportToWorldPoint(newVector3(viewPortPos.x,viewPortPos.y,zInfo));
//5.视口转屏幕坐标
Vector3Camera.main.ViewportToScreenPoint();
//6.屏幕转视口坐标
Vector3Camera.main.ScreenToViewportPoint();
回复

使用道具 举报

千问 | 2021-1-27 05:07:24 | 显示全部楼层
重点是求世界坐标系中的射线打到屏幕上的点的屏幕坐标。即需要知道屏幕在世界坐标中的平面,这个不知道怎么求。用摄像机矩阵的近平面求好像结果不对
回复

使用道具 举报

千问 | 2021-1-27 05:07:24 | 显示全部楼层
不应该先转坐标系吗?mvp的流程看一下,世界坐标系的射线先转为v,再投影,根据投影的算法,和你这个向量应该能算出投影后,焦点的位置吧,然后看在不在剪切面内,算近剪切面的焦点和远剪切面的焦点都可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行