通过在 Unity 中使用 Physics.Raycast,我们可以通过点、法线、对撞机名称轻松获取命中信息……但是如何获得光线从对撞机射出的“点”?
非常感谢您花时间思考这个问题。
通过在 Unity 中使用 Physics.Raycast,我们可以通过点、法线、对撞机名称轻松获取命中信息……但是如何获得光线从对撞机射出的“点”?
非常感谢您花时间思考这个问题。
您可以尝试仅在被击中的对撞机上投射反向光线,以便确定光线从后面进入的位置?下面的代码可能有效。
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);