![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 18.09.08]
Регистрация: May 2006
Сообщений: 79
|
Затык с 3д-матрицей.
Пытаюсь вращать 3д матрицу через appendRotation и, как и написано в хелпе, вращение происходит относительно осей объекта. Мне же нужно вращать относительно мировых осей. Тот же хелп говорит использовать recompose() - но примеров его использования в таком контексте нет, а как с ним работать я так и не смог понять. Кто нибудь подскажет? |
|
|||||
|
Есть 2 способа:
1) В самом-самом начале, когда объект только создан, его оси совпадают с мировыми. Если хотите повернуть объект относительно мировых осей - поверните его обратно относительно его собственных (верните в начальное состояние), а потом поворачивайте на нужный угол. 2)AppendRotation = "добавить вращение" Чтобы заменить вращение нужно переписать матрицу объекта. Один из способов - задать вектора сдвига, вращения и масштаба (метод recompose) Цитата:
__________________
...вселенская грусть |
|
|||||
|
[+4 18.09.08]
Регистрация: May 2006
Сообщений: 79
|
Похоже, мы говорим о разном.
Я не имею ввиду центр вращения, если я вас правильно понял. В моем случае, если я сначала повернул конус по горизонтальной оси (Х) на 45', затем начинаю поворачивать по вертикальной (Y) - так вот, сейчас вертикальная ось уже сместилась на 45' и вращение конуса будет таким же, как и до смещения - основание будет вращаться вокруг центра окружности. Нужно же, что бы после смещения по Х, при повороте по Y, центр основания конуса описывал окружность с ненулевым радиусом. Словом, сейчас при вращении по одной из осей, другие поворачиваются вместе с объектом - мне этого нужно избежать. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|