Unity Raycast如何检测点" Out"对撞机,不仅仅是" In"

时间:2014-07-01 03:32:39

标签: unity3d point raycasting hit

通过在Unity中使用Physics.Raycast,我们可以使用点,正常,对撞机名称轻松获取命中信息......但是我怎样才能获得"点"射线离开对撞机的地方?

非常感谢您抽出时间思考这个问题。

1 个答案:

答案 0 :(得分:1)

您可以尝试仅在已击中的对撞机上投射反向光线,以便您可以确定光线从背面进入的位置?下面的代码可能有用。

RaycastHit firstHit;
Ray firstRay = new Ray (origin, direction);
Physics.Raycast (firstRay, out firstHit, distance);

Vector3 reverseOrigin = firstRay.origin + (firstRay.direction * distance);
RaycastHit reverseHit;
Ray reverseRay = new Ray (reverseOrigin, (firstRay.direction * -1));
firstHit.collider.Raycast (reverseRay, out reverseHit, distance);