Привет всем. Решил освоить 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 дней убил - результат слабый..