屏幕坐标转世界坐标:网上有很多坐标转换的方法, 都是直接用Camera.main.ScreenToWorldPoint(Input.mouseposition)直接转换,但这样得到的结果是不正确的,转换的结果为(0,0,0),因为Input.mouseposition是一个屏幕坐标,没有Z轴深度,而世界坐标是需要Z轴的,即我们需要知道参考对象到我们摄像机的垂直距离作为Z值,即需要知道幕布到投影仪的距离才可以将幕布上的一个点转换到世界上来。

    /// <summary>/// 鼠标屏幕坐标转世界坐标/// </summary>/// <param name="mousePos"> 鼠标位置 </param>/// <param name="targetTransform"> 参考对象 </param>/// <returns></returns>public Vector3 MousPostionToWorld(Vector3 mousePos, Transform targetTransform){// 相机到目标的向量Vector3 dir = targetTransform.position - Camera.main.transform.position;// 计算在摄像机Z方向上的投影向量Vector3 normardir = Vector3.Project(dir, Camera.main.transform.forward);// 坐标转换,需要知道投影距离,normardir.magnitude是求出向量的长度return Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, normardir.magnitude));}

参考:https://blog.csdn.net/qq_40786931/article/details/79084344

屏幕坐标转换世界坐标相关推荐

  1. unity 坐标系转换_Unity3D之笛卡尔坐标系转换——屏幕坐标转换世界坐标,世界坐标转换相机坐标工具...

    因为要做AR的标记功能,所以就要用到坐标的转换,就总结了一下屏幕坐标.世界坐标.相机坐标之间的转换. 首先说明的是Unity3D遵从Direct3D标准的左手笛卡尔坐标系变换规则. 也就是说: 世界坐 ...

  2. 笔记——三维世界坐标和二维画布/屏幕坐标转换

    1.世界坐标转屏幕坐标 /// <summary>/// 世界坐标转屏幕坐标/// </summary>/// <param name="parentRect& ...

  3. 76.(cesium之家)cesium笛卡尔坐标(世界坐标)与屏幕坐标转换

    听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可"私信"博主. 效果如下所示: 下面献上完整代码,代码重 ...

  4. threejs 将屏幕坐标转换成3d中的坐标。

    将当前屏幕上的坐标转换成3d中的坐标pos 是当前canvas屏幕上的坐标,targetZ 是物体距离原点的距离 private get3DPosByCanvasPos (pos: THREE.Vec ...

  5. [OpenS-CAD]屏幕坐标转换分析

    蓝色为地理坐标系XOY,记为坐标系A:黄色为屏幕坐标系xoy,记为坐标系B.地图的左下角点为(X0,Y0)可很容易的平移到坐标原点.因此这里只考虑地图位于坐标原点的情况,如图二也记为坐标系A. 设地理 ...

  6. DELPHI 控件的相对坐标与屏幕坐标转换

    一.直接上代码 varpt: TPoint;r: TRect; beginpt := Point(Edit1.Top, Edit1.Left);pt := ClientToScreen(pt);Edi ...

  7. Unity两种获取屏幕点击位置的世界坐标方法

    工作需要,需要根据用户点击的位置向四周发射射线,但是如何获取这个点成了问题. 首先我们需要知道一个方法,一个变量. 这个变量是 Input.mousePosition这个变量是用户点击的屏幕坐标(像素 ...

  8. 屏幕坐标系和视口坐标系

    一.屏幕坐标系 1.屏幕坐标系: 手机屏幕或者电脑屏幕的一个坐标系. 2.屏幕坐标是以像素来定义的, 屏幕左下角为原点(0,0), 右上角为(Screen.width,Screen.height), ...

  9. 关于相机坐标到投影空间坐标转换的理解

    在记录此文前看过许多3D介绍的书籍,却总未能理解相机坐标至空间坐标转换的情况,网上搜索亦五花八门,多是文章转载,时而见文式有误亦未有异议,尚未知其人是否曾读此文章.因而自己推导与想像,总算能观其义.故 ...

  10. Unity Shader - Custom SSSM(Screen Space Shadow Map) 自定义屏幕空间阴影图

    文章目录 思路 实践 获取光源空间ShadowMap[A] 获取屏幕空间的深度图[B] 获取SSSM(Screen Space Shadow Map) 绘制一个全屏的Quad[C] 输出SSSM RT ...

最新文章

  1. jquery实现点击页面其他地方隐藏指定元素
  2. python基础教程第3章——字符串
  3. r perl python电脑要求_Shell Perl Python 介绍
  4. linux mail命令查看邮件/mail控制台
  5. 查找算法(C实现)(待补充)
  6. 覆盖索引最左前缀原则索引下推
  7. linux运维决心书!
  8. java中ssm付款代码,ssm实现支付宝支付功能(图文详解)
  9. 描写火车站场景_关于描写火车站的句子
  10. Python 多进程 multiprocessing 使用示例
  11. Centos 搭建 NFS
  12. 动态规划 —— 背包问题
  13. 【英语学习】【科学】【Glencoe Science】【A】Life's Structure and Function目录及术语表
  14. 世界上速度最慢的10种动物,做什么都慢半拍
  15. 《JSP实用教程(第2版)/耿祥义》错误之tomcat虚拟服务目录
  16. CDA数据分析师 - 备考指南
  17. javaGUI自制五子棋-实践周大作业
  18. 7-6 字符串逆序 (10 分)
  19. 弗曼学习方法-终极快速学习方法
  20. 订单超过 7 天不允许退货

热门文章

  1. Revit二次开发——叠合板自动配筋(2)
  2. 蓝天准系统P750的介绍与开箱
  3. Python开发制作酷狗和QQ音乐下载器
  4. python 调用海康linux下psdatacall_demo,实现获视频取码流并返回到python,以及上传信息到人脸库的方法
  5. PyQt5-Label背景颜色和文本颜色的设置
  6. tomcat系列之项目下载中文文件乱码问题
  7. redies集群方案
  8. 非极大值抑制(Non-Maximum Suppression,NMS)
  9. [随笔所想] 沉痛悼念开发技术专家毛星云老师
  10. 借鸡生蛋术–砍价小程序的推广变现教学