seaman, ну в камере у меня тоже так коллизия работает.
Но чтобы определить перекрывает ли собой один объект, другой объект, лучше проверять 2д bounds.
Только не пойму как найти 2д описывающий квадрат.
Точнее не пойму как спроэцировать точку на экран в систему координа т GUI.
Vector3 min = bounds.min;
Vector3 max = bounds.max;
Vector3[] pts = new Vector3[] {
new Vector3(min.x, max.y, min.z),
new Vector3(min.x, max.y, max.z),
new Vector3(max.x, max.y, min.z),
new Vector3(max.x, max.y, max.z),
new Vector3(min.x, min.y, min.z),
new Vector3(min.x, min.y, max.z),
new Vector3(max.x, min.y, min.z),
new Vector3(max.x, min.y, max.z),
};
foreach(Vector3 v in pts) {
Vector2 v2d = Camera.main.WorldToScreenPoint(v);
v2d = GUIUtility.ScreenToGUIPoint(v2d);
GUI.Box( new Rect(v2d.x, v2d.y, 10, 10), GUIContent.none );
}
В результате боксы рисуются не на своих местах, а буд-то ScreenToGUIPoint не работает.