FBX¶
Формат FBX (Filmbox) широко используется для обмена 3D-данными между приложениями, особенно для анимированных персонажей и комплексных данных сцен. Он поддерживается таким программным обеспечением, как Autodesk Maya, 3ds Max, Cinema 4D и игровыми движками, такими как Unity и Unreal Engine.
Экспортёр может запекать модификаторы меша и анимацию в FBX, чтобы конечный результат выглядел так же, как в Blender’е.
Примечание
Костям нужно будет скорректировать ориентацию (кости FBX, похоже, выровнены по -X, кости Blender выровнены по Y), это не влияет на скин или анимацию, но импортированные кости в других приложениях будут выглядеть неправильно.
Анимации (FBX AnimStacks, действия Blender’а) не связаны со своим объектом, поскольку не существует реального способа узнать, какой стек использовать в качестве „активного“ действия для данного объекта, меша или кости. В будущем это может быть улучшено, чтобы функция стала более умной, но на самом деле это не считается срочным, поэтому на данный момент вам придётся связывать действия с объектами вручную.
Экземпляры арматуры не поддерживаются.
Примечание
Импорт ориентации костей сложен, возможно, вам придётся немного поиграть с соответствующими настройками, пока не получите ожидаемые результаты.
Поддержка анимации на данный момент минимальна, мы считываем все кривые так, как будто они «запечены» (то есть набор близких ключевых кадров с линейной интерполяцией).
Импортированные действия привязываются к связанному с ними объекту, кости или ключу формы по принципу «побеждает первый». Если вы экспортируете их набор для одного объекта, вам придётся переназначить их самостоятельно.
Примечание
Сохранение только анимации
Формат файла FBX поддерживает файлы, содержащие только дубли. Вам решать, какая анимация принадлежит какой модели. Анимация, которая будет экспортирована, представляет собой текущее выбранное действие в редакторе действий. Чтобы уменьшить размер файла, отключите экспорт всех ненужных частей и отключите все действия. Для анимации арматуры обычно вы просто оставляете арматуру включённой, что необходимо для данного типа анимации. Сокращение объёма экспортируемого файла значительно ускоряет экспорт и последующий импорт. Каждое действие обычно имеет своё имя, но текущий или единственный дубль можно принудительно назвать «дубль по умолчанию». Обычно эта опция может оставаться выключенной.
Примечание
Сейчас Blender поддерживает только сложное затенение на основе нод. Поскольку FBX имеет фиксированную, подобную конвейеру, поддержку материалов, этот аддон обеспечивает преобразование между ними.
Включение аддона¶
Этот аддон включён по умолчанию, но если это не так:
Откройте Blender и перейдите в раздел „Аддоны“ в настройках Blender’а.
Найдите „FBX“ и установите флажок на опции „включения аддона“.
Импорт (прежней версии)¶
Ссылка
- Меню:
Важно
Функциональность импорта аддона устарела, вместо этого используйте официальный импортёр FBX.
Включить (include)¶
- Импорт нормалей
- Импорт подразделения поверхности
Импортировать FBX информацию о подразделении в качестве модификаторов подразделения поверхности.
- Импорт пользовательских свойств
Импортировать пользовательские свойства в качестве настраиваемых свойств.
- Импортировать перечисления в виде строк (import enums as strings)
Сохранить значения перечислений пользовательских свойств в виде строк.
- Искать изображения (image search)
Трансформировать (transform)¶
- Масштаб (scale)
Значение, на которое следует масштабировать импортируемые объекты по отношению к мировому началу координат.
- Смещение декалей (decal offset)
- Ручная ориентация (manual orientation)
- Ось «Вперёд» / «Вверх» (forward / up)..:: В процессе добавления.
Поскольку многие приложения используют разные оси для ориентации „Вверх“, эти конвертации осей именно для этих настроек: оси „Вперёд“ и „Вверх“ – сопоставляя их с разными осями, вы можете конвертировать вращения в приложениях между осями „вверх“ и „вперёд“ по умолчанию.
Blender использует «Y - вперёд», «Z - вверх» (поскольку вид спереди смотрит в направлении „+Y“). Например, приложения обычно используют „Y“ в качестве оси «вверх», в этом случае требуется «-Z - вперёд», «Y - вверх».
- Применить трансформацию (apply transform)
Запечь пространственные преобразования в объектные данные, предотвращает нежелательные вращения объектов, когда координаты назначения не совпадают с координатами Blender’а.
Предупреждение
Экспериментальная опция, используйте её на свой страх и риск, известно, что она не работает с арматурами/анимациями.
- Использовать вращение до/после (use pre/post rotation)
Материалы (materials)¶
- Конфликт названий материалов (material name collision)
Поведение, когда имя импортируемого материала конфликтует с существующим материалом.
- Сделать уникальным (make unique):
Импортировать каждый материал USD как уникальный материал Blender’а.
- Существующая ссылка (reference existing):
Если материал с таким же именем уже существует, – сослаться на него вместо импортирования.
Анимация (animation)¶
- Смещение анимации (animation offset)
Смещение, применяемое к временны́м меткам анимации, в кадрах.
Арматура (armature)¶
- Игнорировать листовые кости (ignore leaf bones)
Игнорировать последнюю кость в конце каждой цепочки (используется для отметки длины предыдущей кости).
- Принудительно присоединять потомков (force connect children)
- Автоориентация костей (automatic bone orientation)
- Основная/Дополнительная ось костей (primary/secondary bone axis)
Экспортировать (export)¶
Ссылка
- Меню:
- Режим пути (path mode)
При ссылке на «пути» в экспортированных файлах вам может потребоваться некоторый контроль над используемым методом, поскольку абсолютные пути могут быть правильными только в вашей собственной системе. Относительные пути, с другой стороны, более «переносимы», но вам придётся группировать файлы при их перемещении по локальной файловой системе. В некоторых случаях путь не так важен, поскольку целевое приложение всё равно будет искать набор предопределённых путей, поэтому у вас также есть возможность удалить путь.
- Авто (auto):
Использует относительные пути для файлов, находящихся в подпапке экспортируемого местоположения, абсолютные для любых папок за его пределами.
- Абсолютно (absolute):
Использует полные пути.
- Относительно (relative):
В каждом случае используются относительные пути (кроме случаев, когда они находятся на другом диске в Windows).
- Соответствие (match):
Использует относительные / абсолютные пути, основанные на путях, используемых в Blender’е.
- Удалить (strip):
Записать только имя файла и опустить компонент пути.
- Копировать (copy):
Скопировать файл при экспорте и указать на него относительный путь.
- Встроить текстуры
- Пакетный режим (batch mode)
Если этот параметр включён, – экспортирует каждую группу или сцену в файл.
- Группа/Сцена (group/scene)
Позволяет выбрать, следует ли выполнять пакетный экспорт групп или сцен в файлы. Обратите внимание: при включении параметра «группа/сцена» вы не можете использовать параметр анимации «текущее действие», поскольку он будет использовать данные сцены, а группы не будут прикреплены ни к одной сцене. Также обратите внимание: при включении параметра «группа/сцена», для работы анимированных действий в группу должны быть включены объекты-арматуры.
- Отдельные папки для файлов
Если эта опция включена, каждый файл будет экспортироваться в отдельную папку. Это полезно при использовании опции копирования изображений, чтобы каждая папка содержала одну модель со всеми изображениями, которые она использует. Обратите внимание, эта функция подразумевает наличие полной установки Python. Если у вас не установлена полная версия Python, эта кнопка будет скрыта.
Включить (include)¶
- Выделенные объекты (selected objects)
Экспортировать только выделенные объекты. В противном случае будут экспортироваться все объекты в сцене. Обратите внимание, что это не относится к пакетному экспорту.
- Активная коллекция (active collection)
- Типы объектов (object types)
Включение/отключение экспорта соответствующих типов объектов.
- Пользовательские свойства (custom properties)
Трансформировать (transform)¶
- Масштаб (scale)
Масштабировать экспортируемые данные на это значение. „10“ – значение по умолчанию, поскольку лучше всего соответствует масштабу, в котором большинство приложений импортируют FBX.
- Применить масштабы (apply scalings)
- Вперёд / Вверх (forward / up)
Поскольку многие приложения используют разные оси для направления «Вверх», для осей «Вперёд» и «Вверх» используются разные преобразования. Сопоставляя их с разными осями, можно преобразовывать вращения между приложениями, которые используют разные оси для указания направлений «вперёд» и «вверх».
Blender использует «Y - вперёд», «Z - вверх» (поскольку вид спереди смотрит в направлении „+Y“). Например, приложения обычно используют „Y“ в качестве оси «вверх», в этом случае требуется «-Z - вперёд», «Y - вверх».
- Применить единицы (apply unit)
- Применить трансформацию (apply transform)
Применяет к мешу параметры „положения“, „вращения“ и „масштабирования“ перед экспортом, определяя координаты вершин в глобальной системе координат. При отключении опции, – вершины экспортируются в локальном пространстве объекта без применения трансформаций. Подробнее о применении трансформаций см. в одноимённом разделе «Трансформации».
Геометрия (geometry)¶
- Сглаживание (smoothing)
Экспортировать информацию о сглаживании.
Если импортёр поддерживает пользовательские разделённые нормали, использование опции „Normals Only“, как правило, является наиболее точным вариантом.
- Только нормали (normals only):
Экспортировать только пользовательские разделённые нормали, без записи каких-либо флагов сглаживания граней или рёбер.
- Грань (face):
Экспортировать информацию о сглаживании с использованием флагов сглаживания граней (“гладкое“ затенение Blender’а для каждой грани).
- Ребро (edge):
Экспорт сглаживания с использованием остроты рёбер. Острые рёбра будут использоваться для определения границ сглаживания.
- Группы сглаживания (smoothing groups):
Записать группы сглаживания граней, которые определяют шейдинг путём группировки граней вместе – грани в одной группе затеняются гладко, в то время как грани в разных группах создают жёсткие рёбра. Полезно для сохранения шейдинга в тех приложениях, которые полагаются именно на этот метод.
- Экспортировать подразделение поверхности (export subdivision surface)
- Применить модификаторы (apply modifiers)
Экспортировать объекты, используя рассчитанный меш, то есть полученный меш после вычисления всех модификаторов.
- Свободные рёбра (loose edges)
- Пространство касательных (tangent space)
Арматуры (armatures)¶
- Основная/Дополнительная ось костей (primary/secondary bone axis)
- Тип узла FBX арматуры (armature FBXNode type)
- Только кости деформации (only deform bones)
- Добавить листовые кости (add leaf bones)
Запечь анимацию¶
- Ключи для всех костей (key all bones)
- НЛА-Дорожки (NLA strips)
- Все действия (all actions)
Экспортировать все действия, совместимые с выбранными временными рамками начала/окончания арматур, которые берутся из диапазона ключевых кадров каждого действия. Если отключено, экспортируется только текущее назначенное действие.
- Принудительный кеинг начала/конца (force start/end keying)
- Частота сэмплинга (sampling rate)
- Упрощение (simplify)
Совместимость¶
Импортировать (import)¶
Учтите, что импортёр – это новое дополнение, в котором отсутствуют многие функции, поддерживаемые экспортёром.
Только двоичные FBX-файлы.
Версия 7.1 или новее.
Отсутствует¶
Меш: ключи формы.
Экспортировать (export)¶
NURBS-Поверхности, текст3D и метасферы преобразуются в меши во время экспорта.
Отсутствует¶
Некоторые из перечисленных функций отсутствуют, поскольку не поддерживаются форматом FBX, другие могут быть добавлены позже.
Создание экземпляров объектов – экспортированные объекты не используют общие данные, объекты-экземпляры будут записаны каждый со своими собственными данными.
Текстуры материалов.
Ключи формы вершин – FBX их поддерживает, но этот экспортёр пока не записывает их.
Анимированная симуляция жидкости – FBX не поддерживает этот вид анимации. Однако вы можете использовать OBJ экспортёр для записи секвенции файлов.
Ограничители – результат использования ограничителей экспортируется в качестве анимации по ключевым кадрам, однако сами ограничители в FBX не сохраняются.
Объекты-экземпляры – на данный момент объекты-экземпляры записываются только в статических сценах (когда анимация отключена).