2017-02-01 15 views
10

Я экспортирую модели из Blender в Collada с анимацией. Как известно, Blender - это правая система, поэтому ее ось вверх равна z, а OpenGL ES2 - Y-Up.Solve z-Up экспортировал файл collada из блендера в OpenGL

Для статических сеток я могу вращать объект вокруг оси x на 90 ° градусов, но когда я применяю поворот к матрице кадра, он имеет неожиданные результаты.

Так как я могу это сделать?

+0

Что именно вы имеете в виду с «матрицей кадра»? Я просто повернул сетку со всеми костями в объектном режиме на -90 ° по оси x и получил результат, который я ожидал бы (с анимацией) – Lichtbringer

+0

Можете ли вы дать нам более подробную информацию о том, что такое «неожиданные результаты»? Скриншоты могут быть или хотя бы ... что было неожиданным? –

+1

Обратите внимание, что порядок операций действительно имеет значение. Вы должны применять поворот ** до того, как ** произойдут какие-либо другие преобразования (т. Е. Он должен произойти перед любым переводом в мировое пространство и т. Д.), –

ответ

2

Для поворота объекта:

Чтобы повернуть объект вручную, убедитесь, что Вы выбираете объект (обычно правой кнопкой мыши на объекте). Затем просто нажмите «R» на клавиатуре и переместите мышь и, соответственно, поверните объект. Вы можете понять, что у вас есть ограничение на то, как он вращается; снова нажмите «R», и теперь вы увидите, что объект вращается свободно в зависимости от того, как вы перемещаете мышь.

Если вы хотите повернуть объект вокруг оси х на 90 градусов, затем еще раз выберите объект, нажмите «R» на клавиатуре (R для поворота), затем нажмите «X» на клавиатуре (X для оси X), затем введите 90 на вашем цифровом телефоне и, наконец, нажмите «Enter». Вы увидите, что ваш объект вращается на 90 градусов по оси X.

повернуть всю сцену:

  1. Выбрать все родительские объекты
  2. Move 3D курсор 0,0,0
  3. Поворот вокруг курсора: глобальной оси X, -90 град
  4. Применить ротацию
  5. Продолжить с обычным экспортом

Правильный способ справиться с этой проблемой состоит в том, чтобы сделать поворот как часть экспорта, так как точкой экспорта было бы взять правильно ориентированный объект Blender и создать правильно ориентированный объект Unity. Вы должны выполнять ротацию перед чем-либо еще. Применение вращения должно выполняться перед любым переводом в фактическом кадре.

Более подробно об этом можно найти в следующей теме: https://blenderartists.org/forum/archive/index.php/t-255246.html