标签: game-engine game-physics raytracing
我有这个平面光线交叉代码:http://pastebin.com/2VuPeZ5r 我认为我正确计算,但如果没有交集,我需要返回null。 我该如何检查?
由于
答案 0 :(得分:1)
“没有交集”是什么意思?任何光线都会在某处与某个平面相交,除了光线与平面法线完全垂直的退化情况。要检测该情况,请测试Vector3.Dot(Norm, ray.Dir) == 0。
Vector3.Dot(Norm, ray.Dir) == 0
如果您想知道交叉点是否位于射线原点的前面或后面,请测试t > 0。
t > 0