Unity Raycast如何检测对撞机的“出”点,不仅仅是“In”

问题描述:

通过在Unity中使用Physics.Raycast,我们可以轻松获得点,正常,对撞机名称的信息...但我怎么能得到射线从对撞机射出的“点”?Unity Raycast如何检测对撞机的“出”点,不仅仅是“In”

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

您可以尝试仅在已撞击的碰撞器上施加逆向射线,以便确定射线从后面进入的位置?下面的代码可能工作。

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);