в каком формате сохранять 3d модели в блендере
Секреты экспорта из Blender в Unity
— Теория о системе координат (правосторонней и левосторонней)
— Теория правильного создания 3d моделей в blender
— Быстрый экспорт файлов из Blender в Unity3d.
— Как правильно сопоставить масштабы модели в Blender и Unity.
— Экспорт с правильной ориентацией модели
— Почему количество вершин по-разному отображается в Unity и Blender?
Видео к статье
Теория о системе координат (правосторонней и левосторонней)
На самом деле это самая важная часть, я столкнулся с рядом проблем в работе физики 3d модели из-за неправильного экспорта. И так давайте сначала познакомимся с системой координат правосторонней и левосторонней.
Blender использует правостороннюю систему координат с осью Z, направленной вверх. Такую систему координат используют почти все САПР. Смотрите рисунок:
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). Смотрим рисунок:
Благодаря пользователю Leopotam, выяснилось что назначать текстуру, лучше в самом Unity3d, а не в Blender, в противном случае, при каждом экспорте FBX файла у вас будет создаваться папка object.fbm (пустая папка которая не на что не влияет, кроме как создает лишний объект в окне Project.
Экспорт с правильной ориентацией модели
Теперь можем делать «Правильный экспорт» из правосторонней системы координат в левостороннюю систему координат.
1)Выделим все объекты (клавиша A)
2)Жмем последовательность R>X>-90.
3)Object>Apply>Rotate.
4)Жмем последовательность R>X>90.
Обязательно делайте в данной последовательности. Далее экспортируем модель в Unity. File>Export>FBX со следующими настройками:
Быстрый экспорт файлов из Blender в Unity3d.
После экспорта модели:
1) Идем в папку с этой моделью и копируем папку Textures (папку с текстурами) и наш FBX файл.
2) Вставляем в папку Assets нашего проект. Это позволит Unity импортировать модель прямо с текстурами, которые были настроены в Blender.
Почему количество вершин по-разному отображается в Unity и Blender?
Как мы видем на рисунке количество вершин (verts) на объекте в Unity3d показывает 28.
Смотрим рисунок:
А количество вершин в Blender = 8
Связано это с тем, что в Unity3d подсчитывается количество вершин самой фигуры и количество вершин в UV развертке:
При создании швов, одна грань разделяется на 2 грани, а следуя математике 1 грань состоит из 2 вершин, следовательно из 2ух граней будет 4 вершины. Для примера воспользуемся Smart UV Project разверткой и установим максимальный Angle Limit.
Смотрим в Blender и количество вершин сократилось с 28 до 24 вершин. Если у кого есть более оптимизированный способ. Пишите в комментариях, обсудим. Некоторые скажут что что сократилось всего на 4 вершины, а представьте если таких объектов 100 или 200, или количество вершин в более детализированных объектах сократиться на 100-300. Помойму не плохой способ оптимизации.
Как правильно сопоставить масштабы модели в Blender и Unity.
Смотрим на рисунок:
Видем параметр Dimension (Измерения или размер). на рисунке мы видем Dimension по X,Y,Z = 1,1,1; следовательно эта фигура куб с размерами 1х1х1 метр. Экспортируем в Unity и переходим на вкладку Inspector
смотрим на параметр Scale Factor, если у вас Unity версии меньше 5, то поумолчанию Scale Factor будет 0.01, исправим этот параметр на 1, если у вас Unity5 то Scale Factor поумолчанию будет 1.
Заключение
Вот и вся статья, как видем экспорт 3d модели из Blender в Unity, это не такуж то и сложно. Для более детального рассмотрения данного материала предлагаю посмотреть видеоуроки в начале статьи >> ссылка
Дополнение от Leopotam
Ничего не было сказано, что нельзя вешать в материал текстуры (только то, что в UV-окне), иначе юнити начнет создавать папки типа object.fbm и пытаться импортировать текстуры в них независимо от того, что лежит в соседней папке Textures. Тут кроется проблема — их бесполезно удалять, при следующем переимпорте (например, при заборе репозитория в новую папку или смене целевой платформы) ассета папка появится снова. Единственное решение — правильно готовить это дело в блендере. Ну или отключать импорт материалов и настраивать префабы руками.
Да действительно в Unity 5 начали создаваться данные папки (при первичном импорте) раньше их не замечал, но они пустые и их можно удалить (они создаются только при первичном импорте) и текстуры ищет в папке Textures и применяется Шейдер в зависимости от настроек материала, если материал стандартный и то примениться Diffuse с уже настроенной текстурой, если Transperty применен в материалах, то примениться соответствующий шейдер Transperty в Unity3d и текстура тоже примениться. Сменил целевую платформу, с Web Player на Desktop — ничего не поменялось, папки не создались. Сменил на Ios — ничего не поменялось. Unity 5.0.1f1
Ничего не было сказано, что если экспортируется арматура с анимациями, то нельзя использовать FBX 7.4 BINARY формат, только старый FBX 6.1 ASCII, иначе все в юнити поедет в стиле «кровькишкирас. ».
Спасибо за дополнительную информацию, с анимацией в Blender не работал и собственно в разрабатываемом проекте не требуется костная анимация, поэтому мало знал о данном материале.
Сохранение Файлов¶
Существует несколько слегка различных методов которые Вы можете использовать, чтобы сохранить свой Blend файл на ваш жесткий диск:
Сохранить существующий файл Blend с перезаписью.
Выберете файл для сохранения.
Сохранить копию ( Ctrl-Alt-S )
Выберете файл для сохранения работы, но вернуться к редактированию исходного файла при завершении. Это можно использовать для сохранения резервных копий текущего рабочего состояния без изменения исходного файла.
Используйте кнопки плюс/минус справа от имени файла, или NumpadPlus / NumpadMinus увеличение/уменьшение числа в конце имени файла (например, изменение file_01.blend в file_02.blend ).
Опции¶
Параметры сохранения отображаются в нижней части боковой панели.
Когда включена, то сохраненный файл будет меньше, но дольше сохраняться и загружаться.
Переписать относительные пути
Эта опция переписывает относительные пути (такие как подключаемые библиотеки и изображения) когда файл сохраняется в новое место.
Эта опция сохраняет копию рабочего состояния, но не сохраненного активного файла.
Старый формат полисетки
Сохраняет файл blend, но игнорирует полисетки с более чем 4 вершинами (“N-угольниками”), так что старые версии Blender (до версии 2.63) можно открыть.
Вопрос — Ответ
Пробегусь по темам форума детальнее, буду писать в нужную ветку. Ну а если не шибко много, то почему blender автоматически не находит текстуры? Или так и должно быть? У меня SKP модели сохраняю через obj. Надеялся, что должен находить.
Формат файлов OBJ — это простой формат данных, который содержит только 3D геометрию, а именно, позицию каждой вершины, связь координат текстуры с вершиной, нормаль для каждой вершины, а также параметры, которые создают полигоны…
…OBJ является одним из самых популярных форматов передачи 3-х мерной компьютерной геометрии. Информация о внешнем виде объектов(материалы) передается в файлах-спутниках в формате MTL (Material Library). OBJ при необходимости ссылается на такой файл с помощью директивы
Спасибо, Артем, за цитирование с википедии, но мне объяснять не требуется что такое obj)) Я в 3D графике давно, только не в blender (осваиваю для коллекции). Потому и знаю что при импорте obj программы автоматически закусывают MTL файлом и подгружаются вместе с геометрией и текстуры. Потому и рассчитывал что Blender так и сделает, но нет. Вопрос в том, можно ли blender заставить читать mtl файл? Или вручную указывать путь к текстурам каждого материала? Есть объекты с 330 материалами, вручную переназначать….. сами понимаете. Запекать надо.
Нет, вручную точно не вариант. А вот насчет может или нет, тут я не знаю. Сам OBJ с MTL ни разу не экспортировал и не интересовался.
Может при импорте чекбокс какой нужно поставить?
FBX вам не подходит?
Поддерживает больше функций. OBJ например морфы не поддерживает
FBX очень хорошо, и obj тоже — это 2 основных формата через которые я обмениваюсь моделями между sketchUp, vue, 3ds max. Но проблема оказалась в том что Blender все-таки читает MTL но самостоятельно понять что нужно наложить текстуры на меш автоматом не хочет, нужно дополнительно нажать эту кнопку. И как сказал Артем, чекбокс при импорте ставить не пришлось, его там не увидел, а вот после импорта — да.
Это немного не то. 🙂 Это преобразование текстур из внутреннего Рендера в Cycles. А если импортировать файлы в режиме внутреннего рендера то текстура автоматически наложится?
Когда выставляешь Blender render и режим отображения текстур то все становится черным (сразу после импорта в режиме solid показываются цвета полигонов). А сами материалы в превью с текстурами. Как ни пытался найти способ чтобы текстуры отобразились в окне 3Д вида — не получилось. После конверта в Cycles все как по нотам.
Интересно. Подождём, может, гуру что подскажут.
Гуру не требуется, нашел. Тот же эффект с отображением текстур ставится галочкой Shadeless в панельке Shading. Очень странно что галочку ставить надо после импорта)
Скажите пожалуйста, интересуюсь вот, а реально ли в блендере сделать гигантские сцены с миллиардами полигонов с лесом, автопарком и тд, разумеется, геометрия через линки и тп. Или профиль блендера немного скромнее по объемам? Вот пример:
(знаю тупой вопрос но всёже) можноли какнибуть вопще зделать таково (https://sketchfab.com/models/b68f002ce9b942cea2fbbf2446ffdcf8) милаху азриэля
Помогите, может у кого-нибудь была такая ошибка. Пытаюсь рендерить на видеокарте(r9 270) выдает ошибку «opencl build failed errors in console». В консоле пишет вот:
Судя по всему, это баг последней версии Blender:
https://developer.blender.org/T49897
Нужно откатиться назад, либо скачать daily build.
Авторизация
Рубрики
О сайте
На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.
Контакты
Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:
Следите за нами
Подписывайтесь на наши страницы в социальных сетях.
На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.
Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.
Какие форматы файлов поддерживает Blender?
Чтобы исправить различные проблемы с ПК, мы рекомендуем DriverFix: это программное обеспечение будет поддерживать ваши драйверы в рабочем состоянии, тем самым защищая вас от распространенных компьютерных ошибок и сбоев оборудования. Проверьте все свои драйверы сейчас за 3 простых шага:
Анимационные фильмы – это последняя мода на кассовые сборы, поэтому неудивительно, что все больше и больше дизайнеров стекаются к созданию своих собственных IP-адресов.
Конечно, вам нужна хорошая программа, чтобы помочь вам, если она не обернется для банка, тогда все к лучшему. Так будет в случае пользователей, которые используют Blender все больше и больше.
Blender – это программный набор инструментов для трехмерной компьютерной графики, используемый для создания анимационных фильмов, визуальных эффектов, искусства, трехмерных печатных моделей, анимированной графики, интерактивных трехмерных приложений и компьютерных игр.
Что делает эту программу невероятно востребованной, так это то, что она бесплатна и имеет открытый исходный код.
Учитывая, как кто-то может внести свой вклад в его развитие, нетрудно представить, почему некоторым может быть интересно, сколько форматов файлов он может обрабатывать.
Какие файлы я могу открывать в Blender?
Поскольку Blender – это программа с открытым исходным кодом, она поддерживает большое количество форматов файлов. К ним относятся форматы, которые могут быть специфичными для коммерческого программного обеспечения, такого как AutoCAD.
К счастью, Blender предлагает широкий спектр форматов файлов, таких как OBJ, FBX, 3DS, PLY, STL и т.д., Которые можно использовать для импорта и экспорта.
Из-за большого разнообразия поддерживаемых форматов файлов Blender – отличный инструмент для использования вместе с другими популярными приложениями. Таким образом, вы можете создать 3D-модель в одной программе и анимировать ее с помощью Blender, или наоборот.
Другие программы, открывающие те же файлы, что и Blender
Как и Blender, существует множество других программных инструментов, которые предлагают ту же функциональность и открывают те же файлы.
Вот их список на тот случай, если вы рассматриваете что-то еще, кроме Blender:
Как правильно выгрузить модель с текстурами (Материалами)
Главная › Форумы › Материалы и текстуры › Как правильно выгрузить модель с текстурами (Материалами)
Ребят подскажите что я делаю не так и как правильно сделать что бы получилось… 4-й день мучаюсь и не могу найти информацию по этому направлению…
Вопрос: Как правильно выгрузить (Экспортировать) модель с текстурами (Материалами) в FBX формат?
Что именно не так?: Когда открываешь файл через 3D-Просмотр, видна голая (чистая) модель, на модели не отображается текстура 🙁
Теперь без паники, спокойно, и по порядку, что именно я делаю?!
0. У меня Windows 10.
1. Нашёл урок по созданию фрукта.
2. Смоделировал банан.
3. Наложил материал, используя текстуру, через UV-Развёртку.
4. Поигрался с «Влиянием» в текстуре, сделал настройки на свой вкус, отрегулировав блик, нормали и т.е…. Всё согласно уроку…
Делаю Выгрузку (Экспорт) Модели, через FBX формат. Нажимаю на выгруженный файл, он открывается в программе 3D-Просмотр, появляется модель банана, крутиться там, вертится, но без текстуры 🙁 Как сделать что бы текстура тоже отображалась в этой программе 3D-Просмотр?
Уважаемый Артем Слаква, если я правильно понял, то получается что ответ на мой вопрос, никак? %)
Если я правильно понимаю устройство этих шайтан машин и программ, то получается что текстура или материал, а так же их настройки через разные фильтры, накладываются и делаются на модели отдельно, непосредственно в той программе в которой эта модель используется… И так для каждой программы… Можно перенести текстурную разметку модели и собственно саму модель, но нельзя перенести настроенную текстуру из 3D-Блендера в другую программу… В другой программе, куда переноситься модель, в неё нужно отдельно загружать и настраивать текстуру… Но если на модели существует текстурная развёртка, то после загрузки нужной текстуры, в другой программе на данную модель, текстура ляжет так, как это было предусмотрено по текстурной развёртке из 3D-Блендера…
Я правильно понимаю происходящее?
И ещё такой вопрос, а есть-ли такие программы, которые позволяют делать 3D-Просмотр модели с подзагрузкой текстуры? Кроме игровых движков… Хотелось бы, что бы помимо самого сохранённого файла из 3D-Блендера, была возможность отдельно открыть модельку и просмотреть её во всей красе…
Я правильно понимаю происходящее?
В принципе все расписано верно. Единственная поправка, в том же 3D-Просмотрщике можно открывать цветные модели, но в таком случае цвет назначается, скорее всего, вершинам (точно не знаю, никогда не интерисовался).
А так да, в другой софт переносят текстуры и развертки моделей. Исключение наличие аддонов, но это очень индивидуально и не всегда работает как положено.
И ещё такой вопрос, а есть-ли такие программы, которые позволяют делать 3D-Просмотр модели с подзагрузкой текстуры?
Да их масса… Практически везде можно загрузить текстуру. Этот 3D-Просмотр не стоит просто за программу воспринимать. Microsoft сделали его для галочки и теперь у них аля крутое обновление винды получилось, но кто им будет пользоваться и для чего с его то функционалом их уже не волнует, конечно же.
Даже в сеть можно выложить:
В общем подойдет все, кроме 3D-Просмотр. Это игрушка для детей до 7 лет. Не более 🙂
Ясненько… Я-то не знал, сижу тут мучаюсь, думал, может что не так в 3D-Блендере делаю, может какую галочку пропустил, а тут вон оно что… Я-то думал это только по игровым движкам текстуру нужно переносить отдельно, так как у них своя настройка материалов, а оказывается это касается любой другой программы… Ясненько, БлагоДарю за информацию.







