В какой программе делать модели для unity

Столярчук, А. С. Разработка 3D-моделей в Blender для интеграции в Unity / А. С. Столярчук. — Текст : непосредственный // Молодой ученый. — 2021. — № 16 (358). — С. 87-95. — URL: https://moluch.ru/archive/358/80132/ (дата обращения: 26.06.2023).

Данная статья описывает процесс подготовки объектов в бесплатном программном обеспечении Blender с целью дальнейшей их интеграции в межплатформенную среду разработки Unity с целью дальнейшего использования в моделировании или разработки виртуальных лабораторных комплексов. Кроме объяснения особенностей процесса проектирование и переноса объектов приводится пошаговая инструкция, позволяющая избежать ошибок начинающим пользователям приведенных программных продуктов.

Ключевые слова: Blender, Unity, 3D-модели, текстурирование, карты нормалей, Collider, Rigidbody .

Введение

Blender — бесплатное программное обеспечение для создания трехмерной компьютерной графики, включающее в себя средства моделирования, скульптинга, анимации, симуляции, рендеринга, постобработки и монтажа видео со звуком, а также создания 2D-анимаций.

Модели из Blender в Unity | Для абсолютных новичков

Unity — среда разработки компьютерных игр, обладающая наличием визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов.

Разработка 3 D модели на примере гальванического элемента питания (батарейки) D – R 20

При создании модели батарейки (рис. 1), будем учитывать ее реальные размеры, это необходимо для того, чтобы она, к примеру, не была размером с дом. При разработке проектов на Unity и других графических движках, рекомендуется учитывать реальные размеры всех объектов, чтобы в последующем добавлении их в студию не было проблем с масштабами объектов.

Батарейка 1.5v D–R20

Рис. 1. Батарейка 1.5v D–R20

Для создания батарейки добавим окружность диаметром 3см. В режиме редактирования проэкструдируем окружность на высоту 6см (рис. 2).

Цилиндр

Также проэкструдируем вовнутрь верхнюю и нижнюю части окружности, с повторным экструдированием для создания участка изоляции батарейки. Что бы получилась граница между изолятором и контактом. При работе с верхней частью объекта необходимо также создать в центре вершину для плюсового контакта диаметром 0,7 см и высотой 0,2 см (рис. 3).

Верхняя часть батарейки

Рис. 3. Верхняя часть батарейки

Что бы сгладить острые края, можно добавить в контекстном меню объекта “Гладкое затемнение” и включить “Автосглаживание”. Но эта процедура увеличивает количество полигонов, что, в конечном счете, может негативно сказаться на обработке объекта после переноса в графический движок.

Перед наложением текстур необходимо проверять ориентацию граней, это требуется для того, чтобы лицевая часть граней не была повернута внутрь объекта. В режиме “Ориентация грани”, красным цветом обозначена оборотная сторона грани, синим соответственно лицевая. При импорте в Unity моделей, в которых оборотные стороны граней смотрят на камеру, данные стороны будут прозрачные. Чтобы этого избежать, красные грани необходимо отразить (рис. 4).

Уроки Unity Где брать модели для Unity, импортируем их в проект

Ориентация грани

Рис. 4. Ориентация грани

Текстурирование

Перед наложением текстуры необходимо создать материал для заданного объекта. После этого в редакторе шейдеров добавляем узел “Изображение-текстура”. В нем загружаем нужную текстуру и передаем изображение текстуры в материал, соединяя линией “Цвет” и “Основной цвет” между таблицей текстуры и материала, должно получиться как на рис. 5.

Редактор шейдеров

Рис. 5. Редактор шейдеров

Для отображения текстуры необходимо сменить режим отображения на “Отображать в режиме предпросмотра материала”.

Для наложения текстуры перейдем в “UV Editing” и займемся расположением граней на текстуре. Выделяя грани батарейки, в окне UV-разметки, можно поэкспериментировать и выбрать наиболее подходящий тип разметки. Выделив грани объекта, их можно располагать на текстуре произвольно. Результат этой операции можно увидеть на рис. 6.

Текстурирование

Рис. 6. Текстурирование

Создание карты нормалей

Нормаль — это перпендикуляр к поверхности. По нему движок определяет, под каким углом отражать свет. Благодаря нормали, плоская поверхность отражает свет так, словно на ней есть неровности. Подобного хватает, чтобы принять низкополигональную модель за что-то более детализированное.

Для создания нормалей в данной статье используется бесплатная программное обеспечение “NVIDIA Texture Tools Exporter Standalone”. Загрузив текстуру в программу, можно приступать к редактированию будущей карты нормалей. В разделе “Height Generation” можно изменить высоту карты. Пример создания карты нормалей приведен на рис. 7.

Читайте также:
Предварительный системный анализ объекта исследования при разработке рабочей программы это

Создания нормалей в “NVIDIA Texture Tools”

Рис. 7. Создания нормалей в “NVIDIA Texture Tools”

Сохранив получившуюся карту нормалей, можно импортировать ее в Blender. Процедура добавления такая же как при добавлении основной текстуры, за исключением создания материала, т. к. материал уже присутствует. Для передачи карты нормалей в материал, необходимо соединить “Цвет” из полученного изображения с “Нормаль” нашего материала (рис. 8).

Добавление карты нормалей

Рис. 8. Добавление карты нормалей

Сетка для коллайдера

Наша модель почти готова, осталось создать сетку для добавления коллайдера в Unity (см. Создание “Mesh Collider” и “Rigidbody”). Для начала необходимо создать низкополигональную сетку поверх модели батарейки.

Делается это так же, как и создание самой модели батарейки, за исключением того, что в параметрах добавления новой окружности, необходимо уменьшить количество вершин с 32 до 8 или меньше. Должна получиться простенькая “Защитная панель” поверх батарейки (рис. 9). Эта “панель” будет использоваться как коллайдер в Unity.

“Защитная панель” для коллайдера

Рис. 9. “Защитная панель” для коллайдера

Экспорт и импорт

Выделяем полученную модель, камеру и источник освещения выделять не нужно [1]. Выбираем формат для экспорта, в настройках экспорта ставим галочку на “Выделенные объекты” и жмем “Экспорт”. Переносим экспортированный файл в Unity и добавляем его на сцену (рис. 10).

Импорт объекта в Unity

Рис. 10. Импорт объекта в Unity

Теперь необходимо отключить отображение “защитной панели”, убрав галочку с “Mesh Render” в инспекторе объекта, т. к. данная “панель” необходима только для создания меш коллайдера, видеть нам ее не нужно. После добавления текстур в данный проект, наша батарейка их автоматически распознает. (рис. 11)

Добавление текстуры

Рис. 11. Добавление текстуры

При таком добавлении редактирование материала батарейки будет недоступно, поэтому стоит создать отдельный материал, и в него загрузить текстуру с картой нормалей. При создании материала, в “Albedo” закидываем основную текстуру, а в “Normal Map” соответственно нормаль.

Теперь готовый материал можно переместить на батарейку, а точнее на “Окружность”, которая и является самой батарейкой. В данном случае модель состоит из двух объектов, сама батарейка — “Окружность”, и ее защитная панель — “Окружность.001”. Чтобы в дальнейшем при создании более сложных моделей не возникло путаницы, следует переименовывать объекты, делать это можно как при создании самой модели в блендере, так и после добавления, в самом Unity.

Создание “Mesh Collider” и “Rigidbody”

Коллайдеры необходимы для того, чтобы придать объекту материю, без коллайдеров объекты в Unity “нематериальны” и проходят сквозь остальные объекты. Коллайдеры обеспечивают обнаружение столкновений с использованием различных “ограничивающих сеток” [2], одну из которых ранее мы создали в блендере. Есть 3 способа создания коллайдеров:

1) Можно использовать базовые коллайдеры такие как “Box Collider”, “Capsule Collider”, и накладывать их на объекты, но на это уйдет не мало времени если у нас сложный объект. Такой метод меньше всего влияет на производительность.

2) Использовать коллайдер по сетке заданного объекта. “Mesh Collider”. Это быстро, но такой метод не практичен, т. к. при нем очень сильно падает производительность.

3) Создать отдельную низкополигональную коллайдерную сетку при создании объекта и использовать ее как “Mesh Collider”. Такой способ меньше влияет на производительность чем 2й, и его мы используем далее.

Выбираем “Защитную панель”, т. е. “Окружность.001” и добавляем на нее Mesh Collider. Проверяем, чтобы в разделе Mesh была выбрана “Окружность.001”. Теперь добавим физику объекту, чтобы он обладал массой и на него действовало притяжение. Для этого выбираем Add Component и Rigidbody (рис. 12). Но есть проблема в таком методе.

Она заключается в том, что начиная с версии Unity 5, “Mesh Collider” работает только с включенным “Is Kinematic”, т. е. с выключенной физикой, без воздействия силы притяжения [3].

“Mesh Collider” и “Rigidbody”

Рис. 12. “Mesh Collider” и “Rigidbody”

Если отключить “Is Kinematic”, то коллайдер пропадет, и появится при включении “Convex”, но тогда его изначальный вид сильно изменится, и станет непригодным для использования, в данном случае он принял треугольный вид (рис. 13).

Читайте также:
Запуск программы невозможен так как на компьютере отсутствует mfc140u dll континент tls

При включении “Convex”.

Рис. 13. При включении “Convex”.

Вывод

Начиная с версии Unity 5, меш коллайдеры стоит использовать только для статичных рельефных объектов. Если необходимо чтобы на объект действовала сила притяжения, то придется ограничиться стандартными “Box Collider” и “Capsule Collider”, но в таком случае создавать “Защитную панель” в блендере уже нет нужды.

1 Гараева Э. Р. Особенности подготовки 3D-объектов, смоделированных в Blender, для импорта в Unity 3D / Э. Р. Гараева, И. И. Бикмуллина, И. А. Барков // Прикаспийский журнал: Управление и высокие технологии. — 2020. — № 4 (52). — С. 66–74.

2 Брянский И. Н. К вопросу об основных элементах Unity / И. Н. Брянский, Д. А. Брыль // Международный научно-исследовательский журнал. — 2016. — № 12–3 (54). — С. 26–28.

3 Unity User Manual // Unity Documentation: [сайт]. — URL: https://docs.unity3d.com/Manual/index.html (дата обращения 29.03.2021).

Основные термины (генерируются автоматически): NVIDIA, коллайдер, создание, батарейка, бесплатное программное обеспечение, материал, наложение текстуры, основная текстура, создание карты нормалей, создание нормалей.

Источник: moluch.ru

Подготовка своего персонажа

Существует три главных шага по созданию “с нуля” своего анимированного гуманоидного персонажа: моделирование, риггинг и скиннинг.

Моделирование

Это процесс создания своих гуманоидных мешей в одном из инструментов 3D моделирования — 3DSMax, Maya, Blender, и т.д. Хоть это и целая тема для обсуждения сама по себе, существует несколько принципов, которые рекомендуется соблюдать, чтобы ваша модель была совместима с анимацией в Unity проекте.

Skin Mesh, текстурированный и триангулированный

  • Соблюдайте разумную топологию. Понятие “разумной” структуры вашего меша довольно тонкое, но в целом вам следуем помнить о том, как вершины и треугольники модели будут искажаться при анимации. Неправильная топология приведёт к неприятным искажениям меша при движениях модели. Изучая существующие 3D меши персонажей, можно узнать много нового о том, как правильно размещать топологию и почему.
  • Не забывайте про масштаб вашего меша. Попробуйте импортировать модель и сопоставить её размер с “метрическим кубом” (длина одной стороны стандартного Unity примитива “куб” равна одной условной единице, так что такой примитив можно рассматривать как однометровый куб в большинстве случаев). Проверьте единицы измерения вашего приложения для 3D моделирования и скорректируйте настройки экспорта так, чтобы размер модели был в нужных вам пропорциях к метровому кубу. Если не учитывать это при работе над моделями, легко прийти к ситуации, когда вы создадите несколько разных моделей без учёта масштаба и они окажутся несоразмерны после импорта в Unity.
  • Располагайте меш так, чтобы ступня персонажа находилась в центре вращения модели. Так как обычно персонаж ходит по горизонтальной поверхности, будет намного проще с ним работать, если его центр вращения(то есть, его позиция трансформации) будет на этой поверхности.
  • По возможности, моделируйте в Т-позе. Это даст дополнительное пространство для манёвра при работе над труднодоступными местами (например, подмышками). Кроме того, это упростит размещение рига внутри меша.
  • Держите модель в порядке. Не оставляйте дырок в поверхности, объединяйте вершины и избавляйтесь от скрытых поверхностей, которые никогда не будут видны. Это поможет при скиннинге, особенно если скиннинг автоматизирован.

Риггинг

Это процесс создания скелета из сочленений для управления движениями вашей модели.

Программы для 3D моделирования предоставляют множество инструментов создания сочленений гуманоидного рига. От уже готовых скелетов, которые достаточно отмасштабировать под свою модель, до средств создания отдельных костей и объединения их в костную структуру. Чтобы риг работал с Mecanim, таз должен быть корневым элементом всей иерархии костей и в скелете должно быть не менее 15 костей.

Иерархия сочленение/кость должна соответствовать натуральной структуре создаваемого персонажа. Поэтому руки и ноги должны идти в парах и вам следует соответствующе их называть (напр. “arm_L” для левой руки, “arm_R” для правой и т.д.). Возможные структуры иерархии:-

Двуногий скелет в Т-позе

  • Таз — позвоночник — грудная клетка — плечи — рука — предплечье — кисть
  • Таз — позвоночник — грудная клетка — шея — голова
  • Таз — бедро — нога — ступня — палец — конец_пальца
Читайте также:
Программа чтобы удалять любые файлы на Андроид

Скиннинг

Это процесс привязки меша к скелету.

Скиннинг включает в себя связывание вершин в вашем меше с костями скелета. Вершина может быть связана с костью напрямую (жёсткая привязка) или с несколькими костями, используя на них смешанные воздействия (мягкая привязка). В разных программах используются разные способы, например, привязывание отдельных вершин и вписывание в меш степени воздействия на каждую кость. Изначальная настройка обычно автоматизирована, к примеру, с помощью поиска ближайшего воздействия, или с помощью “heatmap”. Обычно скиннинг требует изрядного количества работы и тестирования с помощью анимаций, чтобы достичь желаемых результатов деформации скина. Вот несколько основных рекомендаций для этого процесса:

Интерактивное привязывание скина, один из многих способов скиннинга

  • Используйте автоматизацию для начальной настройки скиннинга (см. соответствующие руководства для 3DMax, Maya и т.д.).
  • Создавайте простые анимации или импортируйте готовые анимации для своего рига, чтобы проверить скиннинг. Это позволит вам быстро выяснить, хорошо ли выглядит ваш скиннинг во время движения.
  • Постепенно редактируйте и улучшайте свою работу по скиннингу.
  • Используйте не более 4 воздействий при использовании мягкой привязки, т.к. это наибольшее количество, которое может использовать Untiy. Если к части меша будет применено более четырёх воздействий, то как минимум часть информации будет потеряна при проигрывании анимации в Unity.

Источник: docs.unity3d.com

Unity 2018 и ProBuilder: создаем, редактируем и текстурируем 3D-модели прямо в редакторе

image

Как известно, в Unity нельзя было создавать трехмерные модели. Т.е. нативных средств и инструментов для редактирования трехмерных моделей в Unity нет, есть несколько встроенных объектов (куб, сфера и т.п.), но с ними невозможно, опять же, встроенными стредствами редактора выполнять такие манипуляции, как добавление (перемещение, вращение, удаление) вершин, ребер, полигонов, нельзя накладывать текстуры на отдельные полигоны, нельзя создавать фаски и выполнять вытягивание полигонов.

15 февраля 2018 года Unity Technologies в своем блоге разместила замечательную новость: начиная с версии Unity 2018 в редактор будут интегрированы инструменты ProBuilder. ProBuilder — это уникальный набор средств для построения двумерных и трехмерных геометрических форм с возможностью их дальнейшего редактирования и текстурирования.

Я специально скачал и установил Unity версии 2018.1 beta для того, чтобы воочию убедиться в реальности происходящего. Ведь интеграция инструментов редактирования трехмерных сеток в редактор поднимет Unity еще на одну ступеньку вверх на лестнице их достижений за последние несколько лет. Unity вправе сегодня считаться одной из самых продвинутых IDE для создания компьютерных игр и интерактивных приложений.

После установки Unity 2018.1 beta зайдите в пункт меню Windows — Package Manager, в появившемся диалоговом окне нажмите кнопку All, найдите пункт ProBuilder и нажмите Install.

Установка ProBuilder

После достаточно быстрой установки в главном меню программы появится новый пункт Tools с одним подпунктом — ProBuilder, наведя на который мы с вами получим внушительный список возможностей.

Давайте выберем пункт ProBuilder Window, после чего на экране появится плавающая панель с инструментами: создание новой формы (New Poly Shape), создание нового объекта (New Shape), редактор материалов, UV редактор, и многое другое. Этакий мини 3D Studio Max внутри Unity.

Я попробовал создать несколько объектов и был приятно удивлен. Список новых возможностей впечатляет:

  • Shape Tool — создание новых редактируемых трехмерных объектов, типов объектов достаточно много (куб, лестница, дверь, труба, призма, конус и т.д.);
  • Material Tools — набор инструментов для создания и использования материалов на объектах (редактор материалов, редактор текстур с разверткой модели, инструмент для изменения цвета вершин);
  • Инструменты выделения — ProBuilder поддерживает несколько режимов доступа к подобъектам объекта (вершины, ребра, полигоны), в каждом из этих режимов на панели ProBuilder будут доступны разнообразные инструменты выделения (Select Hidden, Grow Selection, Shrink Selection и т.д.);
  • Действия над объектами — ProBuilder позволяет выполнять ряд таких нужных действий, как изменение направления нормалей, разбиение полигонов зеркальное отражение выделенных объектов, есть возможность экспорта модели в различных форматах.

Я не удержался и создал видео — быстрый старт в инструменты ProBuilder с новой версией Unity, кому интересно — посмотрите ниже.

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru