Експорт із Blender в Unity або чому старі секрети вже не актуальні
Яку версію використовувати
На сьогодні версія 2.74.4.
Мої рекомендації щодо версій. Дуже рекомендую використовувати 2 версії Blender:
1)Офіційна стабільна версія, встановлений exe з офіційного сайту з реєстрацією в системі. Це необхідно для деяких програм. Наприклад, ігровий движокUnity. Unity використовує Blender для імпорту файлів *.blend. Але якщо програма не побачить Blender зареєстрованою в системі, blend файли в Unity не імпортуються.
Як нам правильно експортувати модель в Unity з Blender?
Почну з невеликого лікнепу. Основна проблема Blender полягає у його ліцензії. Вона відкрита. Відповідно все, що він використовує або включає, теж має бути відкритим. Тому пропрієтарний експортер/імпортер FBX від Autodesk не міг бути включений до складу Blender. Але люди просили Binary формат та свіжіше. Тому Blender Foundation почали розробку FBX експортера/імпортера на Python. Оскільки відкритих специфікацій як працює цей формат практично не було, їм довелося не солодко. Але основні труднощі нині подолано. Принаймні ті, які заважали експортувати до FBX.
На даний момент (особисто перевірено мною) Blender вміє: 1) Експортувати дані про Tangents (Unity більше не лається, що шейдеру потрібні Tangents, а їх немає в моделі), а також запікати Осі (ось вона головна можливість!). 2) Імпортувати дані про Tangents (цьому він навчився трохи пізніше, але - УРА. - Модель імпортуються з Hard Edge).
Основні можливості знайдете за посиланням наприкінці статті.
Як нам підготувати модель до експорту
Для початку нам потрібно згладити модель. Зробити це можна як об'єктному режимі:

Так і в режимі редагування, виділивши всі вершини/ребра/грані (A) та відкривши контестне меню Specials (W) вибрати Shade Smooth:

Чудово. Тепер нам треба вказати Hard Edge (Blender -Sharp Edge). Виділимо їх у режимі редагування ребер та відкривши контестне меню по роботі з Edge (Ctrl + E):

Але що відбувається? Чому модель, як і раніше, згладжена?

"Додати модифікатор Edge Split треба" - скажуть зараз деякі! Але немає. Edge split лише розбиває модель на шматки та до еспорту даних у FBX жодного відношення не має. Хоча раніше це був єдиний спосіб перенести вже розбиту модель без Tangents у Unity.
Але тепер для створення потрібних даних і роботи Hard Egdes нам потрібно в меню Vertex Data встановити галочку Autosmooth з параметром 180 градусів. Що відбувається у цьому випадку. Цією галочкою ми встановлюємо згладжування моделі 180 градусів - що фактично близьке до естромального.

Після генерації даних Hard Edges ми закінчили. Тепер треба дати раду експорту.
Розберемося з осями
Якщо Blender натиснути 1 на цифровому блоці клавіатури, вигляд нашого в'юпорту відцентрується на вигляд спереду. Якщо врахувати, що це перед моделі, то координати Blender виглядають наступним: передня вісь Y-, верх - Z+, і бічна частина X+- (в даному випадку + це ліворуч, якщо дивитися ззаду моделі вперед, як в іграх від третьої особи). Запам'ятаємо, що якщо дивитися вперед, перебуваючи ззаду моделі, то горб повинен бути ліворуч та вгорі. При цьому всі дані Location/Rotation/Scale по 0.0.0 та 1.1.1 відповідно.
На цій картинці зазначено, які осі в Blender і якими вони стануть в Unity.

Меню експорту: 1) Білим відзначено цілком обов'язкову галочку. Я використовуюДля створення моделей під проект практично в одному blend файл (для зручності). Тому, щоб не експортувалося все, експортуємо лише виділене. 2) Синім відзначений найважливіший параметр. Це можливість ЗАПІЧ потрібні вам координати в файл FBX. Так як у Unity передня вісь - це Z +, а верхня вісь - це Y +, ми так і вказуємо. 3) Червоним відмічено те, що потрапить в експорт разом із моделлю у FBX — Tangents. За якими Unity розбиватиме модель вже в движку.

Імпортуємо модель до Unity
Відкриваємо модель в Unity і бачимо нестикування. Імпортована модель віддзеркалилася по ОСІ X. Можливо, це пов'язано з тим, що вісь X вивернута.

Тому повертаємось в експортер Blender і замість Z+ у Forward ставимо Z-як було спочатку. Ура! Все правильно. І жодних збочень.

Розбираємося з імпортом анімації
З кістками немає нічого особливого, але розберемо по порядку.
Створимо простий куб витягнутий по висоті. Додамо більше ребер для кісток.

Додамо 3 кістки і застосуємо як Armature Deform: Automatics Weight, щоб не мучиться з розважуванням.


Осі кісток стандартні (тобто кістки після створення не поверталися):

З моделлю все ок:

А ось з кістками не все гаразд:

Що призводить до повороту моделі при обнуленні Трансформацій:

Але спускаємось на рівень нижче. І бачимо, що Root кістка теж повернута. Взагалі, у цій ситуації під час експорту з Blender створюється непотрібна пустушка перед ієрархією кісток. Тому її можна сміливо позбутися.

Всі кістки з правильними осями по всій ієрархії.
З приводу відмінних даних у Blender таUnity. Дані насправді не відрізняються. Просто Blender у режимі редагування показує кількість вершин міша. Було б як мінімум дивно, якби Blender показував загальну кількість даних.
Куб, який ми експортували в Unity, спочатку має 24 вершини в Blender:
І 72 Вершини в Unity:

Але якщо зробити в Blender - Render:
То бачимо, що їх теж 72. 72 у разі — це кількість Вершинних даних. Це і вершини міша, UV0, UV1 (скільки їх присутній і скільки підтримує двигун), а також кістки і навіть Vertex Color.