标签:
1.目标不需要附加刚体,只要有Collider即可被碰撞检测到
(之前的测试:http://www.cnblogs.com/hont/p/5202369.html)
2.发射的投射方向为Vector3.zero,为无效方向,此时不会返回结果。
var hits = Physics.BoxCastAll(Vector3.zero, Vector3.one * 10000, Vector3.zero, Quaternion.identity, 0); Debug.Log("Hits length: " + hits.Length); foreach (var item in hits) { Debug.Log(item.transform.name); }
打印:Hits length: 0
3.发射的投射大小不能用Vector3.one*float.MaxValue,或者极大的数,否则检测无效。
(int.MaxValue倒是可以,可能是浮点溢出了)
var hits = Physics.BoxCastAll(Vector3.zero, Vector3.one * float.MaxValue, Vector3.forward, Quaternion.identity, 0); Debug.Log("Hits length: " + hits.Length); foreach (var item in hits) { Debug.Log(item.transform.name); }
打印:Hits length: 0
4.是否存在被一个更大的Collider包裹而无法返回正确结果
测试为不存在这样的问题,即使发射一个很小的投射检测,依然可以返回外面更大的碰撞。
标签:
原文地址:http://www.cnblogs.com/hont/p/5719698.html