Почему я не могу переместить модель Collada после добавления ее в вид в Away3d?

У меня есть файл Collada (.dae), который я нашел в Google 3D Warehouse. Используя Away3d, я могу загрузить файл и отобразить его в своем представлении, используя следующий код:

var object3d = Collada.parse(FooXML, { material:"white", x:0, y:0, z:0 });
view.scene.addChild(object3d);

Проблема в том, что он просто парит в пространстве, и как бы я ни регулировал положение с помощью .x, .y или .z, он никогда не сдвинется со своего места.

Я использую Flash cs4 и последнюю стабильную версию от Away3d.


person Jimtronic    schedule 25.03.2010    source источник


Ответы (1)


Вы перерисовываете сцену после перевода объекта collada?

как вы пытаетесь перевести объект? если вам нужно переместить его, вы должны установить его в объекте инициализации, например: (FooXML, { material:"white", x:100, y:100, z:-70 }).

person longstaff    schedule 25.03.2010
comment
Да, я вызываю render(), и объект Collada появляется вместе со всеми другими моими объектами. Проблема в том, что импортированный объект Collada не появляется в (0,0,0), как я указал в Init, а вместо этого находится в пространстве. Кроме того, хотя я могу изменить положение всех других своих объектов, я не могу изменить положение импортированного объекта Collada. - person Jimtronic; 25.03.2010
comment
хорошо, это странно. создайте объект collada и добавьте прослушиватель «parseSuccess», затем возьмите информацию из него и посмотрите, каков «результат», и совпадает ли он с object3D, который вы ему назначили. away3d.com/livedocs/away3d/events/ParserEvent.html , away3d.com/livedocs/away3d/loaders/Collada.html - person longstaff; 26.03.2010
comment
Спасибо, это привело меня к проблеме. Я думаю, масштабирование смешивало меня. Граничный радиус проанализированного объекта составлял 32 тыс. пикселей, а видимый объект не был центрирован на 0, поэтому на моей сцене он казался далеким, и мои попытки переместить его не были заметны в этом масштабе. - person Jimtronic; 26.03.2010