代码如下:

                Vector3 screenPos = Input.mousePosition;
                screenPos.z = 5.0f;
                Vector3 p1 = Camera.main.ScreenToWorldPoint(screenPos);
                Vector3 p0 = Camera.main.transform.position;
                float h2 = 0.0f - p0.z;
                float h1 = p1.z - p0.z;
                Vector3 dir = p1 - p0;
                dir.z = 0.0f;
                float d1 = dir.magnitude;
                float d2 = d1 * h2 / h1;
                Vector3 p2 = p0 + dir.normalized * d2;
                p2.z = 0;

示意图:

[Unity] Input.mousetion 屏幕坐标转世界坐标。

相似三角形原理。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
  • 2021-09-08
  • 2022-12-23
  • 2021-09-27
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-11
  • 2021-07-21
  • 2021-04-23
  • 2022-12-23
相关资源
相似解决方案