2015-09-11 55 views
1

修改我的主相机的投影矩阵后,使用光线投射的ScreenPointToRay方法开始失败,因此检测触摸对象使用raycast的方法也失败了。有没有办法使用ScreenPointToRay方法与自定义相机投影矩阵?通过自定义相机投影矩阵进行光线投射

+0

我会建议使用反向投影矩阵来手动找到点,但这不会修复任何内置的东西。您对手动解决方案感兴趣吗?还是只对修复内置方法的方法感兴趣? (我环顾了一些适当的方法,但我只发现其他人有同样的问题。)另外,如果你发布为什么你改变了视图矩阵,也许有人可能会建议一种替代方法来获得相同的结果。 – 31eee384

+0

我想这样做:当相机在顶部时,相机将设置完整的正交矩阵;那么如果将相机移动到前置或左侧尺寸的相机将设置完整的透视矩阵。这是我的演示使用自定义矩阵: https://youtu.be/U1km79bXiwE 你有另一种方法来做出这种效果吗? 如果可能,您可以发布演示代码来解决此问题吗?谢谢 – user3395058

+0

[这是一种使用透视相机复制它的方法](http://pastebin.com/id1VJwUc)。这是“小车变焦”效果,用少量的三角法完成。尽管这不是真正的原始问题的答案,所以我会把它留在这里。 – 31eee384

回答

0

如果您制作了一个自定义相机投影矩阵,那么您可能知道用户指向哪里,如何自己投射光线而不使用帮助器?

如果在将光标移动到世界位置时出现问题,有一个很好的近似值 - 大约在相机视点边缘(视口水平中心顶部,视口垂直中心左边等)取四个角度。)并在它们之间进行插值。