Да что же ты никак локально не повернёшься.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Да что же ты никак локально не повернёшься.

Сообщение NOVA 26 апр 2017, 19:23

Простите за каламбур. Надо срочно.Как надоели эти повороты.
Цель организовать поворот объекта, за которым закреплено солнце. Получается, что солнце будет вращатся по орбите.
Смысл в том, что угол поворота должен соответствовать внутренним часам. И если я поверну объект на 30 градусов в сцене, то угол поворота должен тоже измениться.
Вобщем нужен локальный поворот вокруг оси на определённые углы. На конкретные определённые углы.

Ну хотя бы на 10 градусов.
Во это выравнивает в глобальные координаты, как ни крути.
SunCenter.transform.localEulerAngles = new Vector3(0, 0, 10);
И это тоже.
SunCenter.localRotation = Quaternion.Euler(0.0, 10.0, 0.0);
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Да что же ты никак локально не повернёшься.

Сообщение NOVA 26 апр 2017, 23:21

Родил. Если кому вообще интересно. LocalRotation работает только, если объект является дочерним к какому - нибудь другому объекту, но не к сцене.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Да что же ты никак локально не повернёшься.

Сообщение Valentinus 27 апр 2017, 08:45

NOVA писал(а):Родил. Если кому вообще интересно. LocalRotation работает только, если объект является дочерним к какому - нибудь другому объекту, но не к сцене.

логично, сцена это не GO
другое мое творчество: samlib.ru/u/us_w/
Аватара пользователя
Valentinus
Старожил
 
Сообщения: 889
Зарегистрирован: 24 мар 2017, 18:33

Re: Да что же ты никак локально не повернёшься.

Сообщение alt3d 27 апр 2017, 09:43

NOVA писал(а):LocalRotation работает только, если объект является дочерним к какому - нибудь другому объекту

Очень сомневался (это было-бы очень и очень нелогично).
Проверил - все работает.

Вот код моего теста:
Синтаксис:
Используется csharp
private void Update()
{
    var angles = transform.localEulerAngles;
    angles.x += speed * Time.deltaTime;
    transform.localRotation = Quaternion.Euler(angles);
}
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Да что же ты никак локально не повернёшься.

Сообщение samana 27 апр 2017, 11:59

NOVA писал(а):Родил. Если кому вообще интересно. LocalRotation работает только, если объект является дочерним к какому - нибудь другому объекту, но не к сцене.

Мне кажется, что если у объекта нет родителя, то просто его локальные и глобальные повороты совпадают, ведь объект получается дочерним к глобальному пространству и всё.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Да что же ты никак локально не повернёшься.

Сообщение NOVA 27 апр 2017, 15:22

samana писал(а):
NOVA писал(а):Родил. Если кому вообще интересно. LocalRotation работает только, если объект является дочерним к какому - нибудь другому объекту, но не к сцене.

Мне кажется, что если у объекта нет родителя, то просто его локальные и глобальные повороты совпадают, ведь объект получается дочерним к глобальному пространству и всё.

Получается объект берёт оси координат у родителя, а не у себя. В 3ds max пакете не так. Развернул объект по-диагонали относительно Global axis и вращай его локально вокруг своих осей. И не важно куда он залинкован.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia


Вернуться в Почемучка

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

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