![]() |
Вращение matrix3d по мировым координатам
Затык с 3д-матрицей.
Пытаюсь вращать 3д матрицу через appendRotation и, как и написано в хелпе, вращение происходит относительно осей объекта. Мне же нужно вращать относительно мировых осей. Тот же хелп говорит использовать recompose() - но примеров его использования в таком контексте нет, а как с ним работать я так и не смог понять. Кто нибудь подскажет? |
Есть 2 способа:
1) В самом-самом начале, когда объект только создан, его оси совпадают с мировыми. Если хотите повернуть объект относительно мировых осей - поверните его обратно относительно его собственных (верните в начальное состояние), а потом поворачивайте на нужный угол. 2)AppendRotation = "добавить вращение" Чтобы заменить вращение нужно переписать матрицу объекта. Один из способов - задать вектора сдвига, вращения и масштаба (метод recompose) Цитата:
|
Похоже, мы говорим о разном.
Я не имею ввиду центр вращения, если я вас правильно понял. В моем случае, если я сначала повернул конус по горизонтальной оси (Х) на 45', затем начинаю поворачивать по вертикальной (Y) - так вот, сейчас вертикальная ось уже сместилась на 45' и вращение конуса будет таким же, как и до смещения - основание будет вращаться вокруг центра окружности. Нужно же, что бы после смещения по Х, при повороте по Y, центр основания конуса описывал окружность с ненулевым радиусом. Словом, сейчас при вращении по одной из осей, другие поворачиваются вместе с объектом - мне этого нужно избежать. |
| Часовой пояс GMT +4, время: 10:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.