2010-02-25 2 views
0

Я работаю с файлами Collada, и мне нужно, чтобы они были определенного размера. При создании экземпляров в pv3d вы задаете имя файла, материалы и масштаб. Масштаб работает как процент, и нет возможности получить ширину, высоту или глубину DAE один раз во flash. Я хочу, чтобы указать размер DAE в 3D-пространстве относительно другой геометрии pv3d.Papervision 3D: как я могу форсировать размеры в файле collada?

ответ

0

Вы можете попытаться вычислить его с помощью Axis Aligned Bounding Box (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)); 

НТН, Джордж

Смежные вопросы