Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как получить реальное искажение объекта? (http://www.flasher.ru/forum/showthread.php?t=148004)

DRAGOnoid 19.12.2010 15:40

как получить реальное искажение объекта?
 
Вложений: 1
Привет всем. Решил освоить drawTriangles. У меня есть контейнер "пространства" (название переменной - this.field) в котором находится множество объектов. Все объекты - обычные Sprite внутри которых есть 2 спрайта.
Один спрайт это "реальный поворот объекта" (название переменной - this.circle), а второй это спрайт который всегда к точке обзора развёрнут (название переменной - this.sprite).

Второй спрайт поворачивал так (работает на УРА!):
Код AS3:

var        matrix3D_field:Matrix3D        = this.field.matrix3D.clone();
        matrix3D_field.invert();
 
var        matrix3D:Matrix3D        = new Matrix3D();
        matrix3D.appendTranslation(0, 0, -100000);
        matrix3D.append(matrix3D_field);
 
this.sprite.transform.matrix3D.pointAt(matrix3D.position, new Vector3D(0, 0, -100000), new Vector3D(0, -100000, 0));

Во втором спрайте использую drawTriangles.

Но вот проблема - как только я задаю матрицу вращения для drawTriangles - объект (в моём случае куб) отрисовывается так, словно он в середине сцены.

На картинке видны зелёные круги - это и есть this.circle спрайты. Визуализация куба - результат drawTriangles в this.sprite, получив матрицу искажения
Код AS3:

var        matr:Matrix3D = this.circle.transform.getRelativeMatrix3D(this.sprite).clone();

Видно как грани не совпадают.

Вопрос. Как получить правильную матрицу искажения?

Уже 100500 способов перепробовал, 5 дней убил - результат слабый..


Часовой пояс GMT +4, время: 11:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.