【发布时间】:2018-12-24 19:35:21
【问题描述】:
我想知道 Camera:ScreenPointToRay 背后的代码是 Unity 还是 ROBLOX。
我的情况是我在WorldSpace中有一个位置和相机的ViewportSize, 我想要一个可以执行 ScreenPointToRay 的函数, 我假设你只需要这两个参数来创建这个函数,但我不知道如何。
有人可以用勺子喂我吗?
【问题讨论】:
我想知道 Camera:ScreenPointToRay 背后的代码是 Unity 还是 ROBLOX。
我的情况是我在WorldSpace中有一个位置和相机的ViewportSize, 我想要一个可以执行 ScreenPointToRay 的函数, 我假设你只需要这两个参数来创建这个函数,但我不知道如何。
有人可以用勺子喂我吗?
【问题讨论】:
您可以通过多种方式进行此计算。此版本仅适用于透视相机,但也可以修改为适用于正交相机。不幸的是,我无法共享代码,但我会尽力解释。
如果您尝试在 Unity API 之外执行此操作,则还需要创建 Matrix4x4.MultiplyPoint 函数。
【讨论】:
您可以查看this article,它使用 Unity 相机上可用的矩阵为计算着色器内的所有像素创建光线
【讨论】:
Roblox API 有一个关于您要查找的函数的部分:ScreenPointToRay。
Unity Scripting Reference 也有一个部分自己的ScreenPointToRay 功能。
【讨论】: