AS3: имитация RotationX с матрицей - PullRequest
2 голосов
/ 31 мая 2011

Мне нужно использовать Flash CS3, поэтому я не могу использовать свойства вращение X, вращение Y и вращение Z.

У меня есть видеоклип, который выглядит следующим образом.Теперь он плоский, без трехмерного вращения или сдвига

enter image description here

Но я хочу, чтобы этот мувиклип имел вращение X или что он немного в перспективе, как это:

enter image description here

Как я уже сказал, я не могу использовать вращениеX, поэтому я играл с Matrix.Но я не могу понять это правильно.

Вот как я пытаюсь это сделать

myMC.transform.matrix = new Matrix (1,0.15,0.35, 1, 0,0);

И вот результат

enter image description here

Можете ли вы помочь мне получить правильную матрицу, или есть другой способ?

Спасибо, Винсент

Ответы [ 3 ]

0 голосов
/ 31 мая 2011

Я верю, что вы пытаетесь получить правильную матрицу аффинного преобразования.

enter image description here

БЮР (Матрица преобразования) http://en.wikipedia.org/wiki/Transformation_matrix

Изменения

Подробнееинформация о трехмерных преобразованиях и их матрицах. Здесь можно посмотреть, применимо ли это.

http://www.cosc.brocku.ca/Offerings/3P98/course/lectures/2d_3d_xforms/

Правки 2

Сообщение в блоге о трехмерном преобразовании в CS3 и CS4.

3d ротация простой способ: купить Flash CS4 тьфу!Я все еще использую CS3 и только для своего программного обеспечения Flash.Мой иллюстратор, фотошоп, премьера и последующие эффекты все еще находятся на низком уровне CS2, и по экономическим причинам я на некоторое время застрял с моей устаревшей конфигурацией программного обеспечения.Но если вы находитесь не в моей лодке или не в том же море, что и моя лодка, подумайте о покупке новейшей, самой лучшей CS4 Flash, чтобы 3D-манипуляции присущи объектам, отображающим вспышку.Да, присущий, встроенный, легкий.

В Flash CS3 и ниже, экранный объект (т. Е. Спрайт или мувиклип) распознает только одно свойство поворота (вращение: указывает поворот экземпляра DisplayObject в градусах отего первоначальная ориентация, обычно это верхний левый угол или угол 0,0).Это свойство вращает объекты только в плоском 2D-пространстве сцены Flash.Чтобы заставить 3D работать в этой вспышке, нужно «подделать» ее с помощью математики.Много математики, точек, линий, заливок, триггеров, массивов, а иногда и матриц.Yippee kayae!

В Flash CS4 и выше (на момент написания выше нет) экранный объект (т. Е. Sprite или movieclip) распознает четыре (4) свойства поворота.Святая корова!Да, четыре свойства вращения:

вращение: То же, что и в CS3.2D вращение.вращение X: вращение, которое дерьмо вокруг оси X сцены, то есть вертикальное отражение.вращение Y: вращение вокруг оси Y сцены, т.е. горизонтальное переворачивание.вращение Z: вращение, детское вращение вокруг оси Z сцены.Насколько мне известно, вращение вокруг оси Z - это то же самое, что и вращение (если, по какой-то причине, ось Z не пересекает точку ориентации объекта).[http://actionscription.wordpress.com/2009/03/12/3d-rotation/]

0 голосов
/ 31 мая 2011

Сделайте свою жизнь проще и просто загрузите 3D-движок для флэш-памяти 9:

http://away3d.com/downloads

Либо так, либо вы можете изменить установку CS3 для создания SWF-файлов, предназначенных для флэш-памяти 10+

0 голосов
/ 31 мая 2011

К сожалению, вращение X и вращение Y не являются аффинными преобразованиями (они, очевидно, не сохраняют параллелизм между линиями), поэтому они не могут быть представлены умножением матрицы в двумерном пространстве. Это, однако, аффинно в трехмерном пространстве (где несохранение параллельных линий является очевидным эффектом двумерной проекции, а не вращения)

...