расчет новой position [РЕШЕНО]

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

Re: расчет новой position [РЕШЕНО]

Сообщение alexz 09 мар 2011, 21:24

BlackMamba писал(а):... вычислить будущую позицию, как если бы объект бы перемещен в заданном направлении...

Направления задаются векторами.

... которое определяется в rotation...

В свойстве rotation хранится вращение. Вращение не задаёт направление. Одно и то же вращение, применённое к разным векторам, даст разные направления.

... и на заданную дистанцию.

Опять же возвращаемся к векторам.

---
Нарисуй, что ли.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: расчет новой position [РЕШЕНО]

Сообщение BlackMamba 09 мар 2011, 22:19

Изображение
черным - что известно в понятиях юнити - если не прав - поправьте
красным - что нужно найти
:)
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: расчет новой position [РЕШЕНО]

Сообщение alexz 09 мар 2011, 22:56

Недостаточно данных. Неясно, какой вектор нужно вращать. Например, Vector3.forward после поворота покажет одно направление, Vector3.up после того же поворота ― другое.

В остальном задача простая. Чтобы повернуть вектор/точку, нужно задающий вращение кватернион умножить на этот вектор:

Синтаксис:
Используется csharp
float дистанция = 10;
Vector3 векторКоторыйВращаем = Vector3.forward;
Vector3 новаяПозиция = дистанция * (transform.localRotation * векторКоторыйВращаем);
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: расчет новой position [РЕШЕНО]

Сообщение BlackMamba 10 мар 2011, 00:35

спасибо
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Пред.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9