Я пытаюсь сделать небольшую сцену для просмотра 3D-моделей.
Я изменил пример GLGE Collada, чтобы добавить модель .dae из кода.
http://goleztrol.nl/SO/GLGE/01/
Что у меня есть
Пока это работает.Камера вращается с использованием анимации.
С помощью кнопок «Добавить» и «Удалить» модель добавляется и удаляется со сцены, используя следующий код (не обращайте внимания на «утку». В первоначальном примере это была утка).
var duck = null;
function addDuck()
{
if (duck) return;
duck = new GLGE.Collada();
doc.getElement("mainscene").addCollada(duck);
duck.setId("duck");
duck.setDocument("amyrose.dae");
duck.setLocY(-15);
duck.setRotX(1);
duck.setScale(2);
}
function removeDuck()
{
if (!duck) return;
doc.getElement("mainscene").removeChild(duck);
duck = null;
}
Задача
Теперь модель лежит, а должна встать.Различные методы элемента, кажется, работают.Расположение установлено, и масштаб установлен, но вызов setRotX, кажется, игнорируется.Я пробовал различные другие методы из API, но setRotY, setRot, setQuatX и setDRotX все, кажется, не удается.Я не получаю никаких ошибок (ну, не об этом методе).Я пробовал значения 1,57 (что должно быть около 90 градусов), но также и другие значения, в диапазоне от 1 до 180.
Я не могу понять, что я делаю неправильно.Конечно, я мог вращать саму модель в Blender, но я бы хотел сделать это, используя GLGE API.
Обновление
Когда я загружаю демо-модель, seymourplane_triangulate.dae
вращение работает.Видимо, моя модель отличается тем, что ее нельзя вращать.Я просто не понимаю почему.Я подумал, что это может быть потому, что модель построена из различных отдельных сеток, но я не понимаю, почему работает масштабирование и перемещение.
Кто-нибудь знает, что не так с этой моделью, и что я мог бы сделать, чтобы исправитьэто (возможно, используя Blender)?
Установка начального поворота в XML-файле, который содержит сцену, работает.Настройка поворота на другом элементе (например, на всей сцене) также работает.