Работа с камерой.

Программирование на Юнити.

Работа с камерой.

Сообщение fluid 19 ноя 2010, 09:25

Доброго времени суток!
Может где-то есть такая тема, но не знаю как найти.
Есть камера от третьего лица. Сама камера находится по координатам (Cx,Cy,Cz) таргет камеры - (Px,Py,Pz). Как просчитать есть ли между камерой и объектом, на который она сфокусирована, посторонний предмет (например стена, дерево и т.д.)?
Аватара пользователя
fluid
UNец
 
Сообщения: 36
Зарегистрирован: 18 ноя 2010, 17:17
  • ICQ

Re: Работа с камерой.

Сообщение Maxim Mazurenko 19 ноя 2010, 10:23

Выпускай Ray с камеры и ищи пересичение
Смотри в справке Physics.Raycast
Код: Выделить всё
var ray = твой Ray;
if (Physics.Raycast (ray, 100)) {
    print ("Hit something");
}
Maxim Mazurenko
UNец
 
Сообщения: 27
Зарегистрирован: 20 май 2010, 21:59

Re: Работа с камерой.

Сообщение Multirezonator 19 ноя 2010, 10:29

На всех объектах-препятствиях должны быть коллайдеры(Collider) отражающие их физический размер, пускаете луч от позиции камеры в таргет точку с помощью Physics.Linecast или Physics.Raycast. И да - все расчеты физики делаются в глобальных координатах.
Скрытый текст:



Аватара пользователя
Multirezonator
UNITрон
 
Сообщения: 248
Зарегистрирован: 15 фев 2010, 16:12
Откуда: Украина, Луганск
  • Сайт

Re: Работа с камерой.

Сообщение fluid 19 ноя 2010, 10:32

Огромное спасибо.
Аватара пользователя
fluid
UNец
 
Сообщения: 36
Зарегистрирован: 18 ноя 2010, 17:17
  • ICQ


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 4