![]() |
Matrix3D как использовать в appendRotation параметр pivotPoint
Нужно кое-что крутануть, но не относительно 0, а относительно pivotPoint в Хелпе сказано
Код:
appendRotation(degrees:Number, axis:Vector3D, pivotPoint:Vector3D = null):voidКод:
package { |
А вы перспективную проекцию задействовали для объекта трансформации?
|
>>А вы перспективную проекцию задействовали для объекта трансформации?
Собственно проекция тут меня не очень интерисует http://murmadillo.tut.su/m/Car3Doc.swf четвертый кубик должен вращаться относительно своего центра, я локализовал проблему и которая находится в pivotPoint Я так понял pivotPoint к векторам на самом деле отношения не имеет, а имеет только к sprite и пр. дисплей объектам, там она работет, но метод deltaTransformVector возвращает никуда не применимый Vector3D. Прийдется опять юзать синусы, косинусы, и Пи, без Пи никуда даже в 10 плеере. |
странно, у меня все работало с Pivot Point. В моем случае.
|
Код:
package {если поствавить Код:
mat3D.appendRotation(1, new Vector3D(0,0,2),myPivotPoint);//работает когда 3 |
Насклько я понял, этот второй параметр - ось, вокруг которой мы будем вращать. И этот вектор должен быть нормализированным.
|
>>Насклько я понял, этот второй параметр - ось, вокруг которой мы будем вращать. И этот вектор должен быть нормализированным.
Спасибо, что разъяснили, попробую как-то нормализовать. |
normalize() 8]
или (0,0,1) вместо (0,0,2) |
>>normalize() 8]
Делает из вектора вида ( 12, 100, 128) наподобие такого (0,0.32,0.324234) Тоесть приравнивает один параметр к 0, и вектор 0,0,3 в нормализации не нуждается, т.к. он и так нормальный. >>или (0,0,1) вместо (0,0,2) Пришли к тому с чего начинали т.к. в первом посте Vector3D.Z_AXIS и есть то-же самое что и (0,0,1) - не работает, но раз уж не получается с pivotPoint, то можно сделать коррекцю и все будет работать. Код:
package {И точки квадратика вращаются относительно myPivotPoint как было задумано. PS. может как-то я неправильно понимаю понятие вектор и от этого получаются неправильные результаты вращения, т.к. точки которые я таким образом вращаю, возможно не есть вектора. |
Пример из хелпа:
"Одним из способов вращения экранного объекта вокруг определенной точки относительно его расположения является настройка перемещения объекта в заданную точку, вращение объекта с использованием метода appendRotation() и обратное перемещение объекта а исходное положение. В следующем примере трехмерный экранный объект myObject осуществляет вращение по оси y вокруг точки с координатами (10,10,0)." Код AS3:
|
| Часовой пояс GMT +4, время: 07:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.