Как импортировать объекты в блендер
Kodomo
Импорт объектов из Pymol в Blender
Введение и примеры
Пример примитивной анимации этого изображения наложенный на ролик из youtube: Ролик
Учебник по работе с blender.
Импорт объектов
К сожалению каждый объект в файлах water.wrl и ligand.wrl имеет свою покраску и blender импортирует этот цвет как новый материал. Могу предложить простой способ удалить эту информацию из wrl файлов:
Запустите программу и удалите кубик, щёлкните по нему RMB (Правая клавиша мыши)и кнопка Del на клавиатуре.
Объедените выделеные объекты в один, кнопка Join слева.
Импортируйте water_sed.wrl, File->Import.
Объедените выделеные объекты в один, кнопка Join слева.
Справа вверху есть список объектов, можно переиеновать ShapeCylinder в ligand, а ShapeSphere в water.
Импортируйте surface.wrl, File->Import.
Действия в Blender для получения изображений.
Выберите поверхность и справа найдите кнопку «Object Modifiers«. Добавте модифкатор SubDivision Surface. Мне показались подходящими значения View=1, Render=3. Проверяйте с помощью рендера F12.
Добавтье материал, File->Append.
Действия в Blender для создания анимации.
Секреты экспорта из 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 не работал и собственно в разрабатываемом проекте не требуется костная анимация, поэтому мало знал о данном материале.
Как импортировать STL в Blender?
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Еще больше интересных статей
Как оценить прочность и жесткость модели до изготовления? Ответ проще чем кажется. Разбираемся
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Привет всем коллегам 3D-печатникам!
Помню как-то встретил тут статью об оценке жест.
Пример построения параметрической сборки садовой деревянной постройки в учебной версии T-FLEX CAD 17
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Иван Черанёв, ведущий инженер-конструктор ОТПП ВСЗ, представил методику по.
Поднимаем модель с изображения.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Часто натыкаясь в объявлениях о просьбе замоделить что-то простое.
Читайте в блогах
Обновки для летающего медведя. Победа над ABS.
Жабка карандашница
Проект «Вебсфера»: завершение
Вышла новая версия PrusaSlicer 2.4.0
Доработка популярного проекта.
Популярные
3D-принтеры
Комментарии и вопросы
Поганенькая реклама. Начните ч.
Звездочка не простая)
Нормальной практики нет потому.
Принтер после относительно дол.
Хочу попросить сделать модельк.
Всем привет. Печатаю нечасто.
Приветствую всех причастных. В.
СООБЩЕСТВО
РАЗДЕЛЫ
НОВОСТИ
СОЦСЕТИ
Вы успешно зарегистрированы
Пароль успешно изменен
На ваш e-mail высланы новые регистрационные данные.
Пожалуйста, проверьте Вашу почту
Вам было отправлено письмо с инструкцией по восстановлению пароля. Если вы не получили письмо в течение 5 минут, проверьте папку спам, попробуйте еще раз.
Работа с материалами в Blender
Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь. Это — первая статья из цикла о визуализации в Blender.
Сегодня поговорим о том, как настраивать материалы, и какие дополнительные программы и расширения облегчат работу. А ближе к финалу я дам небольшой туториал по созданию интересного эффекта свечения на примере иллициев мутанта — выростов на голове для приманивания добычи.
Substance Painter — программа для текстурирования 3D-моделей или создания текстур/текстурных карт для них. По ходу работы мы будем импортировать текстуры отсюда.
Node Wrangler — аддон, который содержит разнообразные инструменты для улучшения и ускорения воркфлоу, основанного на нодах (node-based workflow).
Активируется он следующим образом:
Переходим во вкладку «Edit», заходим в настройки «Preferences» и в «Add-ons» ставим галочку на соответствующей вкладке. Для удобства ищем аддон через поисковую строку.
После того как портировали нужную модель в Blender, находим вверху вкладку Editor Type и выбираем Shader Editor. Нас перебрасывает в меню.
Material Editor имеет 2 режима:
Здесь есть две настройки:
Surface (поверхность) — сюда можем подключить обычный background (включен по умолчанию) и поменять его цвет или же добавить HDRI текстуру (удалить нод background и добавить Environment texture через Shift+A ). Я остановился на обычном бэкграунде.
Volume (объём) — здесь я добавил шейдер principled volume, который отвечает за «туман» или условную прозрачность атмосферы вокруг объекта.
2. Редактирование объектов, с которым мы и будем сегодня работать.
Чтобы создать нод, нажимаем Shift-A — этот хоткей вызывает панель с вкладками настроек. Мы можем как вручную искать во вкладках интересующую нас, так и ввести название в строку «search», после чего нод появится в меню.
Чтобы создать новый материал без названия и настроек, нажимаем вкладку Material Properties и щёлкаем «+».
Здесь же нажимаем «new», и у нас появляются базовые ноды: Material Output и Principled BSDF, с помощью которых мы будем проводить изменения.
Важно: не забываем активировать Node Wrangler.
Выделяем базовый шейдер и нажимаем Shift+Control+T. Комбинация откроет нам меню выбора файлов. Выделяем нужные нам текстуры и подгружаем.
Если по умолчанию в названии файла текстуры есть приписка с её назначением, прога сама привязывает соответствующие файлы к параметрам.
Редактировать эти приписки (или суффиксы/тэги) можно в меню:
Если значение определилось неверно, изменить привязку можно самостоятельно, соединив мышкой output нода и input шейдера.
Кроме того, текстуру можно так же вручную перетянуть из окна в программу и прилинковать.
Назначить материал для модели можно, снова перейдя в 3D Viewport. Выделяем нужный объект, и пакет назначается автоматически. Если нам нужен другой, жмём крестик, а затем вкладку «new» или выбираем из уже имеющихся сохранённых.
Стоит оговориться, что речь пойдёт о модели хайполи с высокой плотностью сетки, которая призвана проиллюстрировать навык дизайнера в рамках портфолио.
В связи с этим, геометрия позволяет нам не использовать отдельную карту под Subsurface scattering, а просто выставить реальное значение рассеивания в соответствующем параметре, исходя из габаритов модели.
Metallic, Transmission и Transmission Roughness мы не используем на теле вообще.
Дальнейший процесс можно разделить условно на 2 этапа: работу над материалами для тела и зубов и настройку иллициев.
Для настройки материала тела мы используем обычный PBR-материал с Metal-Rough workflow или пайплайном. Карты экспортируем из упомянутого в начале статьи Substance Painter.
Наш материал состоит из следующих нодов: Albedo или Base Color, Roughness и Normal Map. Последний используется для мелкой детализации.
Что нужно знать при работе с материалом?
Текстурные карты, которые не передают цвет материала, должны быть в линейном пространстве. Поэтому в Color Space текстур мы ставим:
Non color, либо Liner — для Roughness, Normal и т.д. в зависимости от вашей сборки
Также, в зависимости от того, в каком пайплайне мы работали в Substance Painter и какой там пресет на экспорт текстур (под OpenGL или DirectX), может потребоваться «флипнуть» зелёный канал в Normal Map.
Для этого нажимаем Shift-A, находим Separate RGB и подключаем к нему output Color. Как понятно из названия, этот нод даёт нам провести необходимую манипуляцию с одним из каналов (Red, Green, Blue). Теперь, чтобы инвертировать зелёный канал (G), добавляем нод Invert со значением Fac «1.000» и подключаем обратно через Combine RGB.
Эту конструкцию мы затем подключаем к Normal в Principled BSDF. Roughness (чёрно-белая карта, не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).
Вот так выгладит готовая сборка материала:
В случае с зубами настройки всё те же. Также флипаем при необходимости зелёный канал в нормалке.
Иллиций — особый ловчий вырост («удочка») на вершине головы у костистых рыб отряда удильщикообразные, служащий для приманивания добычи. Нечто похожее есть и у нашей модели.
Рассмотрим, как распределить свечение по всей длине иллициев, — от наибольшей интенсивности к наименьшей.
Наши «удочки» будут состоять из:
нижнего слоя — овалы внутри, дающие основное свечение на концах;
среднего слоя — так же светящиеся трубки;
верхнего слоя — внешняя оболочка иллициев.
Material Output нижнего слоя состоит из Principled BSDF, который идёт в Surface объекта, и Principled Volume, подсоединённого к параметру «внутреннего объёма».
Так как геометрия объектов простая, Normal Map нам не нужен, и его значения мы оставляем «по умолчанию». Основные манипуляции будем проводить с названными выше нодами.
Первый — это Principled BSDF. Здесь мы задаём Base Color значением HSV (Hue, Saturation, Value), оставляем Roughness по умолчанию и переходим к настройке прозрачности. Так как наш объект будет скрыт под другими слоями, и основное свечение будет исходить из внутреннего объёма, ставим значение Transmission «1.000» — это даёт нам полностью прозрачный объект. А параметр Transmission Roughness позволяет выбрать, насколько матовой или глянцевой будет поверхность (чем больше значение, тем меньше глянца).
Переходим к работе с Volume. Здесь мы задаём цвет внутреннего «тумана» и его плотность, выставив значение Density на 10.000.
Blender 2.8: Коллекции и моделирование
Коллекции
Слои и группы были заменены коллекциями. Они используются для организации объектов в сцене, создания групп объектов и связывания групп объектов в различных blend-файлах.
Объекты в сцене могут быть помещены в именованные и вложенные коллекции. Объекты, как правило, являются членами одной коллекции в сцене, но они также могут быть помещены в несколько коллекций.
Коллекции не обязательно должны быть частью сцены. Они могут существовать сами по себе. Это полезно, например, чтобы ограничить физическое столкновение для подмножества объектов в сцене или указать объекты в качестве экземпляров системы частиц.
Обратная совместимость
Новая система обратно совместима со старыми файлами, которые содержат слои и группы. Для каждого из предыдущих 20 неназванных слоев сцены создается коллекция, если слой содержал какой-либо объект. Эти коллекции сделаны частью сцены. Группы также преобразуются в коллекции, которые продолжают существовать, не привязанные к какой-либо конкретной сцене.
Outliner
Outliner по умолчанию показывает всю коллекцию, являющуюся частью сцены. Коллекции и объекты могут быть организованы с помощью перетаскивания.
Чтобы просмотреть полный список коллекций, которые существуют в файле, можно использовать режим отображения Blender File.
Окно 3D-вида
В окне 3D-вида объекты можно быстро перемещать в коллекции с помощью обновленного меню клавиши «М». Новая коллекция также может быть создана из этого же меню.
Видимость
Сокрытие объектов выполняется с помощью сочетаний клавиш H, Shift + H и Alt + H. В отличие от того, что было ранее, это временное состояние и предназначено исключительно для быстрого скрытия или изоляции объектов во время работы. Объекты, скрытые таким образом, все еще являются частью сцены и отнимают ресурсы, поэтому они все еще влияют на производительность.
В окне 3D-вида коллекции можно быстро скрыть или изолировать с помощью панели «Collections» на боковой панели или с помощью эквивалентного меню Ctrl + H. Это меню показывает числа рядом с названием коллекции, и нажатие соответствующих цифр на клавиатуре может быть использовано для быстрого выделения соответствующей коллекции. Объекты также можно скрыть или сделать недоступными для выбора по типу, используя меню «Object Type Visibility» в правом верхнем углу окна 3D-вида.
Существуют также параметры для полного включения или отключения коллекций и объектов, либо для области просмотра, либо для финального рендера. Эти настройки сохраняются при связывании коллекций и объектов с другими файлами. Объекты и коллекции, отключенные таким образом, полностью исключаются из сцены и не влияют на производительность. Эти настройки редактируются в Outliner и находятся в меню «Filter».
Слои (View Layers)
Слои рендеринга были переименованы в слои просмотра (View Layers), чтобы указать их расширенную область применения. Помимо разделения рендера на несколько слоев для компоновки, теперь они также могут использоваться в качестве нескольких видов и вариантов сцены для редактирования. Разные окна могут отображать разные слои просмотра, выбрав сцену и слой представления в верхней панели.
Коллекции могут быть исключены из определенных слоев представления с помощью галочки слева от имени. Они также могут использовать только непрямой свет и тени или выступать в качестве маски. Эти настройки теперь редактируются в Outliner.
Моделирование
Редактирование множества объектов
Вход в режим редактирования теперь учитывает все выбранные объекты, делая возможным выполнение таких операций, как UV-развертка или пересчет нормалей, без необходимости вручную входить в режим редактирования для каждого из объектов или писать скрипт на Python.
В настоящее время это работает для режимов позирования и редактирования.
Использование
Известные ограничения
Инструмент Custom Split Normal и модификатор Weighted Normal
Добавлены инструмент Custom Split Normal и модификатор Weighted Normal. Эти инструмент и модификатор предоставляют дополнительные возможности для настройки пользовательских нормалей.
Все эти инструменты и модификатор работают только в том случае, если включены настраиваемые нормали, что можно сделать, установив флажок «Auto Smooth» в свойствах данных меша в меню «Normals».
Использование модификатора Weighted Normal
Режим взвешивания (Weighting Mode) указывает на то, как вычислить взвешенное среднее значение из нормалей граней вокруг вершины:
Дальнейшее управление взвешиванием зависит от этих двух параметров:
Использование инструмента Custom Normal
Инструмент Custom Normal может влиять на все нормали объекта (по умолчанию) или только на выбранные. Чтобы указать на какие вершины и грани воздействовать:
Эффект этих инструментов легче всего увидеть, если включить опцию «Display vertex-per-face normals as lines» в режиме редактирования (меню Overlays).
Вращение нормалей
Клавиша R, за которой следует N, будет вращать выбранные пользовательские нормали в соответствии с движением мыши. Также доступно как пункт меню Mesh — Normals — Rotate normal.
Направить нормали к цели
Команда Point Normal to Target (меню Mesh — Normals — Point normals to target; Alt + L в раскладке по умолчанию) редактирует все или выбранные пользовательские нормали, выбранные во время модальной операции.
Другие команды нормалей
Улучшения инструмента и модификатора Bevel
Добавлена новая опция Harden Normals, а также добавлены мелкие улучшения для модификатора.
Использование опции Harden Normals модификатором и инструментом Bevel
Модификатор Bevel и инструмент Miter Patterns
Прочие изменения инструмента и модификатора Bevel.
Скос вершин для вершин в плоскости теперь изгибается в соответствии с профилем.
Скошенные ребра с метками seam и sharp edges теперь лучше сохраняют атрибуты, если в этом есть смысл.
Subdivision Surfaces и Multires
Модификаторы Subdivision surface и Multi-resolution были портированы в OpenSubdiv. Новая интеграция полностью заменяет предыдущую и работает на стороне процессора. Это дает следующие улучшения:
Однако обратите внимание, что в новой реализации все еще есть некоторые недостающие функции и проблемы с производительностью.
Дальнейшая оптимизация и функции будут добавлены позже в серии 2.8:
Limit Surface
Вершины теперь всегда помещаются в место, которое позволяет обеспечить самую гладкую из возможных поверхностей, как если бы было применено бесконечное число подразделений. Это означает, что с первым уровнем подразделения объект выглядит настолько гладким, насколько это возможно. Изображение ниже визуализирует различные уровни подразделения со старым (Blender 2.79) и новым модификатором подразделения поверхности OpenSubdiv.
Существует дополнительная настройка, которая контролирует, насколько точно рассчитывается поверхность. Эта опция называется «Quality». Более низкие значения означают более быструю работу модификаторов Subdivision surface/Multi-resolution, но дают более низкое качество конечной поверхности. Это в основном видно в нестандартных ситуациях (например, в месте встречи множества треугольников). Качество также влияет на полуострые края.
К сожалению, нет хорошего универсального значения для качества. Значение 3 является хорошей отправной точкой, но оно может быть понижено для случаев, когда сетка состоит из четырехугольников и полужестких ребер не существует.
Параметр качества не определяет плотность конечной сетки. Это контролируется настройкой уровня подразделения. Этот параметр ведет себя подобно старому Blender, но следует упомянуть одну вещь: он не имеет существенного снижения производительности для модификаторов Subdivision surface и Multi-resolution.
UV Smooth
Старые опции «Subdivide UVs» были заменены опцией на основе меню под названием «UV Smooth». Есть два варианта:
В будущем может появиться больше вариантов сглаживания, чтобы сохранить совместимость с другим программным обеспечением. Это будет сделано только в том случае, если на опцию будет действительно высокий спрос, поскольку эти варианты довольно не очевидны для художников.
Известные проблемы и ограничения
Улучшения текста
Вертикальное выравнивание было полностью переработано. Помимо нового режима, теперь поддерживается подъем и спуск со шрифта, чтобы определить отступы. Полный контроль над тем, как должен вести себя текст, когда он не помещается в текстовые поля.
Исправления выравнивания
Методы переполнения