Господа, прошу помощи - наблюдаю странное поведение при одновременном присутствии на сцене 2д и 3д объектов при использовании функции local3DToGlobal.
Например есть 2 спрайта. На одном рисуем треугольник без использования local3DToGlobal (то есть 2д):
Код AS3:
var verts:Vector.<Number> = Vector.<Number>([0, 0, 50, 0, 0, 50]);
this.graphics.clear();
this.graphics.beginFill(0xff0000, 0.5);
this.graphics.drawTriangles(verts);
this.graphics.endFill();
На другом треугольник с использованием local3DToGlobal (то есть 3д):
Код AS3:
var verts:Vector.<Number> = Vector.<Number>([0, 0, 0, 50, 0, 0, 0, 50, 0]);
var verts2d:Vector.<Number> = new Vector.<Number>();
for (var i:int = 0; i < verts.length / 3; i++)
{
var point:Point = this.local3DToGlobal(new Vector3D(verts[i * 3], verts[i * 3 + 1], verts[i * 3 + 2]));
verts2d.push(point.x);
verts2d.push(point.y);
}
this.graphics.clear();
this.graphics.beginFill(0x00ff00, 0.5);
this.graphics.drawTriangles(verts2d);
this.graphics.endFill();
оба спрайта с треугольниками добавляем на спрайт-сцену и сдвигаем координаты сцены на 50 по Х и У.
При этом треугольник, нарисованный в 3д оказывается в 2 раза дальше от точки 0,0 чем 2д-треугольник,
хотя в точке 0,0 их положения совпадают и оба треугольника равны по размерам.
Возможно я туплю, но я не могу понять почему так происходит