Як зробити пошук об’єкта камерою та автомаштаб

AndrewSt 29, жов 2010, 17:50

Підкажіть алгоритм чи засоби для його реалізації. Допустимо повернути камеру на пивот об'єкта без проблем. А як підігнати масштаб?

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Zaicheg 29, жов 2010, 18:05

Re: Як зробити пошук об'єкта камерою та автомаштаб?

AndrewSt 29, жов 2010, 20:51

Не зовсім зрозумів, як це можна застосувати.

Може мене не зовсім правильно зрозуміли. Уявимо, що область екрану поділили на клітини 3х3 При переході камери на об'єкт. Об'єкт повинен бути встановлений у центральну клітину та займати максимальну площу центральної клітини.

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Zaicheg 29, жов 2010, 20:56

void Update ( ) < if (Input. GetKeyDown (KeyCode. B)) < transform. LookAt (target); lookComplete = true; >

if (lookComplete) while (Vector3. Distance (transform. position, target. position) & gt; 3f) transform. Translate (Vector3. forward * Time. deltaTime, Space. Self); >

Камера витріщиться на ціль, перебуваючи від неї в 3 метрах. Мета буде по центру екрана з потрібним вам масштабам (замість 3-х метрів підставте).

Re: Як зробити пошук об'єкта камерою та автомаштаб?

AndrewSt 29, жов 2010, 22:31

void Update ( ) < if (Input. GetKeyDown (KeyCode. B)) < transform. LookAt (target); lookComplete = true; >

if (lookComplete) while (Vector3. Distance (transform. position, target. position) & gt; 3f) transform. Translate (Vector3. forward * Time. deltaTime, Space. Self); >

Камера дивиться на ціль, перебуваючи від неї в 3 метрах. Мета буде по центру екрану зпотрібним вам масштабам (замість 3-х метрів підставіть).

Мабуть, ви мене не розумієте. Уявіть їсти сцена будинок на підвіконні стояти горщики з квітами. Ну ось наприклад мета ДІМ - при автомаштабі будинок повністю влазить в центральну клітинку. Якщо мета горщик з вкетами - то в клітинку поміщається весь горщик.

Тобто задати жорстко відстань до мети в 3 метри не вийде треба якось визначати розміри об'єкта на екрані і наближаться на потрібну відстань. Ось в чому проблема.

Як правильно вибрати відстань до об'єкта?

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Pyx 29, жов 2010, 22:45

Re: Як зробити пошук об'єкта камерою та автомаштаб?

AndrewSt 29, жов 2010, 23:44

Саме це мені і не зрозуміло. Як це можна зробити.

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Neodrop 29, жов 2010, 23:48

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Pyx 30 жовт 2010, 00:18

Саме це мені і не зрозуміло. Як це можна зробити.

Re: Як зробити пошук об'єкта камерою та автомаштаб?

Zaicheg 30, жов 2010, 09:38

Re: Як зробити пошук об'єкта камерою та автомаштаб?

AndrewSt 02, лис 2010, 23:27

Знову потрібна допомога. Щоб отримати екранні координати роблю так.

min = collider. bounds. min; max = collider. bounds. max;

Vector3 [ ] vertecs = new Vector3 [ ] < min, max, new Vector3 (max. x, min. y, min. z), new Vector3 (min. x, max. y, min. z), >new Vector3 (min. x, min. y, max. z),

new Vector3 (max. x, max. y, min. z), new Vector3 (min. x, max. y, max. z), new Vector3 (max. x, min. y, max z) > ;

Vector3 minimum =камери. WorldToScreenPoint (collider. bounds. center); Vector3 maximum = камера. WorldToScreenPoint (collider. bounds. center);

foreach (Vector3 vert in vertecs) < Vector3 screenPos = камера. WorldToScreenPoint (vert);

if (screenPos. x maximum. x) maximum. x = screenPos. x; if (screenPos. y & maximum. y) maximum. y = screenPos. y; >

Але як мені перетворити назад ці координати намагаюся так: Vector3 maximum = camera.ScreenToWorldPoint (maximum);

але перекладається щось не те і ще не зрозуміло яка координата Z присвоюється їй. Поясніть хто-небудь.

Re: Як зробити пошук об'єкта камерою та автомаштаб?

DbIMok 03, лис 2010, 05:07

Re: Як зробити пошук об'єкта камерою та автомаштаб?

AndrewSt 03 Лис 2010, 09:21

Там приблизно те саме, що й у мене. У скрипті не переводиться екранні координати назад у світові, а малюється бокс прямо GUI в екранних координатах.

Я ж хочу перевести всі координати у світові і зробити якусь операцію з ними. Так що питання відкрите.

Хто зараз на конференції

Зараз цей форум переглядають: немає зареєстрованих користувачів та гості: 10

  • Список форумів
  • Техпідтримка • Наша команда • Видалити cookies конференції • Часовий пояс: UTC + 3 години