Вращение вокруг собственной оси во время движения по прямой.

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

Вращение вокруг собственной оси во время движения по прямой.

Сообщение 2dkot 04 май 2010, 20:12

Я только недавно начал работать с UNITY.

И столкнулся с такой проблемой. Задача: объект летит строго по прямой и совершает повороты вокруг собственной оси. Написал следующий код.

Код: Выделить всё
void Update ()
{
float amtToMove = ProjectileSpeed * Time.deltaTime;
transform.Rotate(Vector3.up * Time.deltaTime * 100);
transform.Translate(Vector3.forward * amtToMove);
}           



Но объект лелит по дуге. Я так понимаю, это из-за того что у него меняются локальные координаты, что в свою очередь влияет на вектор движение. Пробывал - "transform.eulerAngles = Vector3(10, 10, 0);" - но ефект тот же.

Я знаю вопрос простой, но сам пока не могу решить :(((.
2dkot
UNец
 
Сообщения: 21
Зарегистрирован: 04 май 2010, 20:00

Re: Вращение вокруг собственной оси во время движения по прямой.

Сообщение gnoblin 05 май 2010, 00:14

Можно объект положить в геймобъект-пустышку.

Двигать пустышку, а вращать сам объект.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Вращение вокруг собственной оси во время движения по прямой.

Сообщение 2dkot 05 май 2010, 23:08

Попробую ;)
2dkot
UNец
 
Сообщения: 21
Зарегистрирован: 04 май 2010, 20:00

Re: Вращение вокруг собственной оси во время движения по прямой.

Сообщение Multirezonator 06 май 2010, 22:40

Изменяем второй параметр функции Translate на Space.World, и не нужно никаких доп объектов и иерархий :)

float amtToMove = ProjectileSpeed * Time.deltaTime;
transform.Rotate(Vector3.up * Time.deltaTime * 100);
transform.Translate(Vector3.forward * amtToMove, Space.World);
Скрытый текст:



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

Re: Вращение вокруг собственной оси во время движения по прямой.

Сообщение 2dkot 08 май 2010, 16:37

ОК спасибо.
2dkot
UNец
 
Сообщения: 21
Зарегистрирован: 04 май 2010, 20:00


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

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

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