unity 射线检测单面模型背面问题

之前遇到一个问题要从MeshCollider背面方向发出射线,直至检测到该射线与MeshCollider的相交点为止。

后来我用双面MeshCollider的方法解决了http://www.cnblogs.com/hont/p/6628841.html

 

但是这样又会导致许多其他问题,因为构建出来的双面MeshCollider是非临时性的。

后来我发现unity提供了一个接口Physics.queriesHitBackfaces(Unity5.5之后增加),可以解决这个问题。






void Update() { Physics.queriesHitBackfaces = true; var raycast = default(RaycastHit); var isHit = Physics.Raycast(new Ray(transform.position, transform.forward), out raycast, 20); if (isHit) mCacheTipsGO.transform.position = raycast.point; Physics.queriesHitBackfaces = false; }





posted @ 2020-10-07 15:41  GP19  阅读(675)  评论(0)    收藏  举报