Секрети експорту з Blender до Unity

Секрети експорту з Blender до Unity

Автор: admin від 5-04-2015, 13:19, подивилося: 2076

Бонусний урок з текстур у Unity3d

Теорія про систему координат (правосторонньої та лівосторонньої)

Насправді це найважливіша частина, я зіткнувся з рядом проблем у роботі фізики 3d моделі через неправильний експорт. І так давайте спочатку познайомимося із системою координат правосторонньої та лівосторонньої.

Blenderвикористовуєправосторонню систему координатз віссю Z, спрямованої вгору. Таку систему координат використовують майже всіСАПР. Дивіться рисунок:

Unity

Unity3dяк майже будь-який інший ігровий движок використовує лівосторонню систему координат. Коли Y спрямований вгору, X - убік, Z-вперед. Дивимося малюнок:

секрети

Теорія правильного створення 3d моделей у blender

Для початку треба вивчити структуру папок та файлів нашої 3д моделі в Blender.Refence— папка в якій можуть зберігатися допоміжні креслення, малюнки, які допомагають побудувати 3д модельTextures- папка в якій повинні зберігатися текстури.Flags_snow.blend- наша 3d модель у форматі blender

координат

Тепер для правильного експорту 3d моделі, ми повинні для себе усвідомити, що Z+ це буде напрямок у грі коли об'єкт рухається вперед, (Z-) – напрямок коли об'єкт рухається назад. (X+-) це напрямки повороту вбік — але цеUnity, яка використовуєлівосторонню систему координат. А вправосторонній системі координат(Blender, 3ds max) Y+ це буде напрямок коли об'єкт дивиться вперед і (X+-) це напрямки вбік. Це означає, що об'єкт повинен стояти в сцені так, як на малюнку, інакше чекайтепроблем із фізикою:

експорту

Всі параметри обертання повинні стояти на 0 для подальшої роботи та для правильної генерації Меша (Mesh), треба встановити Scale за замовчуванням. Для цього ми зробимо наступні дії у Blender.

1)Виділимо всі об'єкти в сцені (клавіша A) 2)Object>Apply>Rotate & Scale.

Тепер всі параметри обертання прийняті та встановлені на0. А параметримасштабування (Scale)встановлені за умовчанням(1). Дивимося малюнок:

Unity

Експорт із правильною орієнтацією моделі

Тепер можемо робити «Правильний експорт» із правосторонньої системи координат до лівосторонньої системи координат.

1) Виділимо всі об'єкти (клавіша A) 2) Тиснемо послідовністьR>X>-90. 3)Object>Apply>Rotate.4 ) Тиснемо послідовністьR>X>90.

Обов'язково робіть у цій послідовності. Далі експортуємо модель доUnity.File>Export>FBXз такими налаштуваннями:

blender

Швидкий експорт файлів з Blender до Unity3d.

Після експорту моделі: 1) Ідемо в папку з цією моделлю і копіюємо папкуTextures (папку з текстурами)та нашFBX файл.

blender

2) Вставляємо в папкуAssetsнашого проект. Це дозволить Unity імпортувати модель прямо з текстурами, які були налаштовані уBlender.

секрети

Чому кількість вершин по-різному відображається в Unity та Blender?

Як бачимо малюнку кількість вершин (verts) на об'єкті в Unity3d показує 28. Дивимося малюнок:

координат

А кількість вершин у Blender = 8

Пов'язано це з тим, що в Unity3d підраховується кількість вершин самої фігури та кількість вершин у UV розгортці:

blender

Пристворенні швів, одна грань поділяється на 2 грані, а за математикою 1 грань складається з 2 вершин, отже з 2ух граней буде 4 вершини. Для прикладу скористаємосяSmart UV Projectрозгорткою та встановимо максимальнийAngle Limit.

blender

секрети

Як правильно зіставити масштаби моделі у Blender та Unity.

Усі одиниці виміру, що у Blender що у Unity за замовчуванням має одиницю виміруUnits.1 Units= 1 Meter. Тому розробники радять приймати 1 юніт ігрового простору за 1 реальний метр, і краще цього дотримуватися (хоча б щоб з фізикою менше возитися). Blender використовуєтьсяUnits.

Дивимося на малюнок:

Побачимо параметрDimension(Вимірювання або розмір). на малюнку ми бачимоDimensionза X, Y, Z = 1,1,1; отже ця фігура куб з розмірами 1х1х1 метр. Експортуємо до Unity та переходимо на вкладку Inspector

Unity

дивимося на параметрScale Factor, якщо у васUnityверсії менше 5, то за промовчаннямScale Factorбуде 0.01, виправимо цей параметр на 1, якщо у вас>Unity5тоScale Factorза замовчуванням буде 1.

Висновок