2015-09-11 56 views
1

修改我的主相機的投影矩陣後,使用光線投射的ScreenPointToRay方法開始失敗,因此檢測觸摸對象使用raycast的方法也失敗了。有沒有辦法使用ScreenPointToRay方法與自定義相機投影矩陣?通過自定義相機投影矩陣進行光線投射

+0

我會建議使用反向投影矩陣來手動找到點,但這不會修復任何內置的東西。您對手動解決方案感興趣嗎?還是隻對修復內置方法的方法感興趣? (我環顧了一些適當的方法,但我只發現其他人有同樣的問題。)另外,如果你發佈爲什麼你改變了視圖矩陣,也許有人可能會建議一種替代方法來獲得相同的結果。 – 31eee384

+0

我想這樣做:當相機在頂部時,相機將設置完整的正交矩陣;那麼如果將相機移動到前置或左側尺寸的相機將設置完整的透視矩陣。這是我的演示使用自定義矩陣: https://youtu.be/U1km79bXiwE 你有另一種方法來做出這種效果嗎? 如果可能,您可以發佈演示代碼來解決此問題嗎?謝謝 – user3395058

+0

[這是一種使用透視相機複製它的方法](http://pastebin.com/id1VJwUc)。這是「小車變焦」效果,用少量的三角法完成。儘管這不是真正的原始問題的答案,所以我會把它留在這裏。 – 31eee384

回答

0

如果您製作了一個自定義相機投影矩陣,那麼您可能知道用戶指向哪裏,如何自己投射光線而不使用幫助器?

如果在將光標移動到世界位置時出現問題,有一個很好的近似值 - 大約在相機視點邊緣(視口水平中心頂部,視口垂直中心左邊等)取四個角度。)並在它們之間進行插值。