Collada

Модуль COLLADA™ було імплементовано як гнучкий засіб для експортування та імпортування файлів .dae. Мета дизайну - забезпечити набір параметрів, які повинні зробити можливим експорт/імпорт файлів Collada з/у різноманіття засобів. Але, будь ласка, майте на увазі, що модуль Collada все ще у розробці. Тому можливо, що ваш певний сценарій використання ще не підтримується.

Експортер Collada – Collada Exporter

../../_images/files_import-export_collada_export.png

Передустави Оператора – Operator Presets

Існують дві передустави оператора (дивіться верх панелі Operator) для користувачів Другого Життя – Second Life (SL):

  • Second Life Static – «Друге Життя Статичне» – добре для експортування статичних сітей.
  • Second Life Rigged – «Друге Життя Оснащене» – добре для експортування стандартного персонажа Другого Життя.

Спеціальні Примітки для користувачів Друге Життя:

  • Будь ласка, використовуйте передустави Оператора. Всі інші устави експорту не будуть працювати для Друге Життя.
  • Орієнтація персонажа повинна бути такою ж, як персонаж виглядає у напрямку додатного X.
  • Масштабування та Обертання повинні бути застосовані перед експортом!

Опції Експорту Даних – Export Data Options

Застосувати Модифікатори – Apply Modifiers

Всі активні модифікатори будуть застосовані не-руйнівним чином. Тобто, модифікатори будуть застосовані до копій сітей. Звідси, ви більше не потребуватимете застосовувати ваші модифікатори перед експортуванням. Це тепер робиться автоматично у фоні.

Підказка

Деякі модифікатори забезпечують режим передогляду та режим рендера з різними уставами сіті. Цей модуль тепер підтримує обидва режими при застосовуванні модифікаторів.

Лише Вибрання – Selection Only
Коли Selection Only увімкнено, то лише вибрані об’єкти будуть експортуватися. Інакше, вся сцена експортується з усіма видимими та всіма невидимими об’єктами.
Включити Нащадки – Include Children

Коли ця опція увімкнена, то всі нащадки вибраних об’єктів також будуть експортуватися, незалежно від їх стану вибрання.

Підказка

Ви тепер можете вибирати лише арматуру, далі в експортері увімкнути «Включити Нащадки» – Include Children, потім всі оснащені сіті, прикріплені до цієї арматури, також будуть експортовані.

Включити Арматури – Include Armatures

Коли ця опція увімкнена, то всі арматури, що відносяться до вибраних об’єктів, також будуть експортовані незалежно від стану їх вибрання.

Підказка

Ви тепер можете просто вибрати ваші об’єкти, далі в експортері увімкнути «Включити Арматури» – Include Armatures, потім дані арматури також експортуються.

Включити Ключі Форм – Include Shape keys
Ця опція також включає застосування ключів форм! Тому, тепер ви можете експортувати ваші сіті з поточно запеченою конфігурацією ключів форм.

Опції Текстур – Texture Options

Лише Вибрана Розкладка UV – Only Selected UV Map
Коли ваша сіть містить кілька одночасно шарів UV, то Blender стандартно експортує всі шари. Ця опція дозволяє вам експортувати лише активний (вибраний) шар UV.
Включити Текстури – Include Textures
Blender підтримує два способи додання текстур до ваших об’єктів.
Копіювання – Copy

Коли ви експортуєте зображення матеріал на основі текстур зображень, то експортер створює абсолютні файлове посилання у файлі експорту.

Але якщо увімкнена опція Copy, то експортер створюватимете копії зображень натомість та поміщатиме ці копії поряд з файлом експорту. У такому випадку посилання на файли робляться відносними.

Опції Арматури – Armature Options

Лише Деформувальні Кістки – Deform Bones Only
Коли ця опція увімкнена, то експортер відкидає всі не-деформувальні кістки з експортованих арматур. Ця опція корисна, коли ваші арматури містять керувальні кістки, які не є фактичною частиною скелета персонажа. Наприклад, ви можете тепер експортувати оснастку Avastar з увімкненою цією опцією. Результатна експортована оснастка сумісна з Другим Життям – Second Life. Але, будь ласка, зверніть увагу на обмеження далі нижче.
Експорт у SL/OpenSim – Export to SL/OpenSim

Ця опція є дуже особливою. Фактично, деякі проблеми з орієнтацією кісток розраховуються по-різному, коли ця опція увімкнена. Це доречно лише для оснащених сітей. Ця опція може бути замінена чимось більш значущим у майбутньому (і буде все ще сумісною з Другим Життям – Second Life).

Ця опція є важливою лише, коли ви хочете експортувати оснащені сіті. Для статичних сітей вона просто взагалі нічого не робить.

Опції Collada – Collada Options

Трикутникування – Triangulate
Сіть може бути трикутникована на льоту. Це трикутникування базується на тій же функції, яка використовується у засобі «Трикутникувати Грані» – Triangulate Faces для трикутникування поточного вибрання граней. Для повного контролю над трикутникуванням ви можете робити це вручну перед експортуванням. Проте, ця опція дозволяє робити трикутникування лише для експортованих даних. Це не впливає на саму сіть.
Вжити Примірники Об’єктів – Use Object Instances
У Blender’і ви можете перевикористовувати ту саму сіть для кількох одночасно об’єктів. Це називається «примірникування об’єкта» – «object instantiation». Коли ви увімкнете цю опцію, то Blender поширить примірникування об’єктів у файл Collada.
Вжити Профіль Blender – Use Blender Profile
Collada може бути розширена за допомогою специфічних даних засобу (профілі), Blender має свій власний (не офіційний) профіль, що дозволяє експортувати інформацію оснастки у файл Collada, що може бути пізніше використаний для реконструювання оснастки, якщо коли-небудь потрібно буде імпортувати файл dae назад у Blender.
Тип Трансформації – Transformation Type
Collada підтримує два типи специфікацій матриці трансформацій. Як <Matrix> або як набір декомпозицій трансформацій (для переміщення, обертання та масштабування). Зауважте, що експортер не буде суворо дотримуватися цієї устави опції, а скоріше буде брати її як пораду використовувати цю опцію, якщо це можливо. Це через те, що деякі типи експортованих даних мають специфічні правила щодо того, як матриця трансформацій має бути експортована. Це продовжувана розробка і менш двозначний метод може бути забезпечений у майбутньому.
Сортувати за Іменем Об’єкта – Sort by Object Name
Порядок експорту даних прив’язується до внутрішнього порядку об’єктів і на нього не можна впливати надійно. ця опція гарантує, що вузли Геометрії та вузли Об’єктів експортуються в алфавітному порядку.
Утримувати Інфо Прив’язання – Keep Bind Info

Коли оснастка імпортується у Blender, то поза прив’язання оснастки буде використовуватися як поза спокою Blender’а. Отже, вся інформація Матриці оригінальної пози спокою втрачається. Але, у деяких випадках, ви можете схотіти зберегти інформацію оригінальної оснастки. Ця нова опція Keep Bind Info перевіряє кожну кістку на наявність двох масивів:

  • rest_mat – масив з 16 дійсночислових, який представляє матрицю оригінальної пози спокою кістки.
  • bind_mat – масив з 16 дійсночислових, який представляє матрицю оригінальної пози прив’язання кістки.

Якщо ці масиви присутні, то ці масиви будуть використовуватися замість поточної пози спокою/прив’язання. Ці два масиви створюються або попереднім імпортом Collada import (дивіться Collada Importer нижче), або вони можуть створюватися вручну, або додатком (на основі скрипту).

Імпортер Collada – Collada Importer

../../_images/files_import-export_collada_import.png

Імпортер Collada здебільшого скеровується імпортованими даними. Існує єдина опція для керування одиницями імпорту:

Одиниці Імпорту – Import Units
Якщо не увімкнено, то імпортовані дані будуть перемасштабовані відповідно до поточно використовуваної системи одиниць. якщо ця опція увімкнена, то Blender наладнає себе на систему одиниць, як передбачається файлом Collada.
Виправити Кістки Листків – Fix Leaf Bones

Collada записує лише «суглоби», які здебільшого подібні до голів кісток Blender’а. Але коли ви імпортуєте файл Collada, то кінці кісток не визначаються. Це не має значення для з’єднаних кісток, де предок кістки має лише один нащадок. У такому випадку локація кінця предківської кістки наладнується на позицію суглоба нащадка. Але особливо для нез’єднаних кісток та для кісток з більше ніж одним нащадком ми отримуємо проблему.

Коли опція Fix Leaf Bones увімкнена, то Blender намагається вгадати, де кінець кістки нез’єднаних кісток найкраще розмістити. Якщо ця опція вимкнена, то кінці кісток розміщуються зі зсувом уздовж осі Y. Ось чому кістки часто вказують у напрямку осі Y.

Знайти Ланцюги Кісток – Find Bone Chains

Коли кістка має кілька одночасно нащадків, то не визначається, які (якщо такі є) нащадки повинні бути з’єднані з цією кісткою. Коли опція Find Bone Chains увімкнена, то Blender визначає найдовший ланцюг кісток (нащадків) для кожної кістки. Усі кістки уздовж цього ланцюга будуть далі авто з’єднані.

Якщо ця опція вимкнена, то нащадки будуть з’єднані лише з предками, якщо предок має лише одного нащадка. Але дивіться опцію Auto Connect нижче.

Авто З’єднання – Auto Connect
Коли ця опція увімкнена, то нащадки будуть автоматично з’єднані з їх предками, якщо предок має лише одного нащадка.
Утримувати Інфо Прив’язання – Keep Bind Info

Коли ця опція увімкнена, то імпортер створює дві кастомні властивості для кожної кістки:

  • rest_mat – масив з 16 дійсночислових, який представляє матрицю оригінальної пози спокою кістки.
  • bind_mat – масив з 16 дійсночислових, який представляє матрицю оригінальної пози прив’язання кістки.

Ці два масиви можуть пізніше бути використані, коли ви хочете експортувати цю оснастку знову і гарантувати, що комбінація оригінальна поза спокою/поза прив’язання повинна використовуватися.

Технічні Деталі – Technical Details

Сіть – Mesh

Імпорт – Import

Підтримуваними типами геометрії є:

  • Трибічники – Tris (не тестовано)
  • Полісписок – Polylist
  • Полігони – Polygons
  • N-бічники – N-gons
  • Віяла трибічників – Tri-fans (не тестовано)
  • Лінії – Lines

Експорт – Export

Дані сіті експортуються як <polylist>, <lines> та <vertices>.

Освітлювач – Light

Імпорт – Import

Blender робить все можливе при імпортуванні освітлювачів з .dae. Якщо профіль Blender’а виявляється для освітлювачів, то всі значення з них будуть використовуватися натомість. Це гарантує повний пере-імпорт з експортованого Blender’ом .dae. <extra> підтримка була додана у Blender 2.57.

Експорт – Export

Профіль Blender’а для освітлювачів було додано через тег <extra>. Вся структура Освітлювача з Blender’а буде експортована через цей профіль, за винятком кривої спаду освітлювача.

Матеріал та Ефект – Material & Effect

Експорт – Export

Починаючи з Blender 2.57, деякі зміни для експорту ефектів були зроблені. Найбільш помітно, що <lambert> експортується тоді і тільки тоді, коли бліковість є 0.

Анімація – Animation

Експорт та Імпорт – Export & Import

  • Підтримка для анімацій трансформ об’єкта (сіті, камери, освітлювача). Лише обертання типу Euler, які є стандартною опцією для Об’єктів, можуть бути експортовані наразі. Для анімацій кісток арматур типи обертання Euler та quaternion підтримуються.
  • Імпорт та експорт анімацій для наступних параметрів підтримуються:
    • Освітлювач – Light
    • Камера – Camera
    • Ефекти матеріалів – Material effects
  • Анімація кісток не-покривних керувальних арматур – Non-skin controlling armature bone animation.
  • Анімації арматур з деформувальними кістками покриву – Animations of armatures with skin deforming bones.
  • Анімації арматур у Режимі Об’єкта – Animations of armatures in Object mode.
  • Анімації повністю оснащених Арматур – Fully rigified Armature animations (посилаючись на додаток Rigify). Для експорту оснащених з Rigify Арматур:
    • Виберіть Bake Action – «Запекти Дію». (Натисніть Spacebar у 3D Огляді та уведіть «Bake Action».)
    • Якщо ви маєте вибраними лише деформувальні кістки поставте стяг Only Selected – «Лише Вибране». Це дасть менший dae. Інакше зніміть стяг з Only Selected.
    • Поставте стяг Clear Constraints – «Зчистити Примуси».
    • Запечіть Дію – Bake Action.
    • Виберіть сіть та деформувальні кістки. Потім експортуйте у Collada, увімкнувши опцію лише вибраного. (Вибирання лише Сіті та кісток не є суворо необхідним. Вибирання та експорт лише вибраного дасть менший dae.)
    • Demonstration video

Nodes – Вузли

При імпорті трансформацій предків для <instance_node> належно поширюються на примірники вузлів нащадків. Матеріали Blender’а експортуються з наступним розкладанням:

  • Фонг – Phong
  • Блінн – Blinn
  • Ламберт – Lambert

Для вузлів кісток, які є вузлами листків у дереві арматури, або якщо кістка має більше ніж одного нащадка, то профіль Blender’а для верхівки з тегом <extra> додається для цих вузлів суглобів. Для правильного отримання локації кістка-до-хвоста при пере-імпорті.

Примітка

Важливі Речі, які слід Пам’ятати

  • Імена об’єктів та блоків даних обмежені 21 символами (байтами).
  • Імена шарів UV обмежені 32 символами (байтами).
  • Лише одна анімація арматури для кожної сіті, одиничний контролер покриву.
  • Немає поки що підтримки для модифікаторів.

При імпортуванні .dae, що має <instance_node> при експортуванні, ця інформація по суті втрачається і ці вузли будуть <node>.