Показать сообщение отдельно
Старый 02.09.2013, 02:21   #1813
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

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 не работает.
(Offline)
 
Ответить с цитированием