问题描述
float Raycast(Ray ray,Plane plane) {
float nd = Vector3.Dot(ray.normal,plane.normal);
float pn = Vector3.Dot(ray.Position,plane.normal);
if (nd >= 0f) { !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
return -1;
}
t = (plane.distance - pn) / nd;
if (t >= 0f) {
return t;
}
return -1;
}
当我学习 3D 碰撞时。
我找到了这个代码。当射线法线和平面法线之间的点值大于零时,为什么它从不相交??
我认为光线的原点在平面的后面,光线和平面的法线是一样的,它相交!!
想想,在二维维度,光线原点(0,0),光线法线(0,1),平面法线(0,1),平面距离(1),它相交!!!。
我不知道该资源是否有误..
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)