Papervision 3D: как я могу наложить размеры на файл collada
Я работаю с файлами Collada, и мне нужно, чтобы они были определенного размера. При создании их экземпляра в pv3d вы устанавливаете имя файла, материалы и масштаб. Масштаб работает как процент, и нет способа получить ширину, высоту или глубину DAE за один раз во флэш-памяти. Я хочу иметь возможность указать размер DAE в трехмерном пространстве относительно другой нативной геометрии pv3d.
1 ответ
Вы можете попытаться рассчитать это, используя выравнивающую рамку оси (AABB).
В полном обработчике получите доступ к aabb объекта, содержащего геометрию. В зависимости от того, насколько вложенными являются ваши DAE-объекты, вам может потребоваться немного перейти вниз по иерархии, чтобы добраться до объектов, которые на самом деле содержат геометрию, поскольку свойство .geometry, которое содержит aabb, равно нулю для пустого контейнера.
например
//in the complete handler, assuming object is a reference to a DisplayObject3D of the collada
//containing geometry
trace('width: ' + (object.geometry.aabb.maxX - object.geometry.aabb.minX));
trace('height: ' + (object.geometry.aabb.maxY - object.geometry.aabb.minY));
trace('depth: ' + (object.geometry.aabb.maxZ - object.geometry.aabb.minZ));
HTH, Джордж