Как импортировать модель в юнити

Как импортировать модель в юнити

Assets created outside of Unity must be brought in to Unity by having the file either saved directly into the “Assets” folder of your project, or copied into that folder. For many common formats, you can save your source file directly into your project’s Assets folder and Unity will be able to read it. Unity will notice when you save new changes to the file and will re-import as necessary.

Как импортировать модель в юнити. ProjectFileStructure. Как импортировать модель в юнити фото. Как импортировать модель в юнити-ProjectFileStructure. картинка Как импортировать модель в юнити. картинка ProjectFileStructureThe basic file structure of a Unity Project

The Assets folder is where you should save or copy files that you want to use in your project.

The contents of the Project Window in Unity shows the items in your Assets folder. So if you save or copy a file to your Assets folder, it will be imported and become visible in your Project Window.

If you drag a file into Unity’s Project Window from your computer (eg, from the Finder on Mac, or from Explorer on Windows), it will be copied into your Assets folder, and will appear in the Project window.

The items you see in your Project window represent (in most cases) actual files on your computer, and if you delete them within Unity, you are deleting them from your computer too.

Как импортировать модель в юнити. AssetWorkflowFolderAndProjectWindow. Как импортировать модель в юнити фото. Как импортировать модель в юнити-AssetWorkflowFolderAndProjectWindow. картинка Как импортировать модель в юнити. картинка AssetWorkflowFolderAndProjectWindowThe relationship between the Assets Folder in your Unity Project on your computer, and the Project Window within Unity

The above image shows an example of a few files and folders inside the Assets folder of a Unity project. You can create as many folders as you like and use them to organise your Assets.

They contain important information about how the asset is used in the project and they must stay with the asset file they relate to, so if you move or rename an asset file in Explorer/Finder, you must also move/rename the meta file to match.

If you want to bring collections of assets into your project, you can use Asset Packages. See Asset Packages for more details.

Some common types of Asset

Image Files

Most common image file types are supported, such as BMP, TIF, TGA, JPG, and PSD. If you save your layered Photoshop (.psd) files into your Assets folder, they will be imported as flattened images. You can find out more about importing images with alpha channels from photoshop, or importing your images as sprites

Меши и анимации

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

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

Audio Files

If you save uncompressed audio files into your Assets folder, they will be imported according to the compression settings specified. Read more about importing audio files.

Типы ассетов In all cases, your original source file is never modified by Unity, even though within Unity you can often choose between various ways to compress, modify, or otherwise process the asset. The import process reads your source file, and creates a game-ready representation of your asset internally, matching your chosen import settings. If you modify the import settings for an asset, or make a change to the source file in the Asset folder, will cause Unity to re-import the asset again to reflect your new changes.

Note: Importing native 3D formats requires the 3D application to be installed on the same computer as Unity. This is because Unity uses the 3D application’s FBX exporter plug-in to read the file. Alternatively, you can directly export as FBX from your application and save into the Projects folder.

Источник

Как мне импортировать модели из моего 3D редактора?

Для импорта 3D модели в Unity вы должны перетащить файл модели в окно проекта.

В инспекторе > вкладка Model Unity поддерживает импорт моделей из всех популярных 3D редакторов.

Особенности импорта из разных 3D пакетов смотрите на следующих страницах:

Текстуры

3D форматы

Импортирование мешей в Unity может быть выполнено с помощью двух основных типов файлов:

Любой из этих типов позволит вам добавлять свои меши в Unity, но есть соображения относительно того типа, который вы выберите:

Экспортированные 3D файлы

Преимущества:

Недостатки:

Собственные файлы 3D приложений

Преимущества:

Недостатки:

Модели

Файлы моделей, размещенные в папке Assets внутри проекта Unity, автоматически импортируются и сохраняются как ассеты Unity.

Файл модели может содержать 3D модель персонажа, здания или части мебели. Модель импортируется в виде набора ассетов. В окне Project(проект) главный импортированный объект представляется в виде Model Prefab(префаб модели). Обычно также существует несколько Mesh объектов, на которые ссылается Model Prefab.

Файл модели может также содержать данные анимации, которые можно использовать для анимации данной модели или других моделей. Данные анимации импортируется как один или несколько Анимационных Клипов.

![Mesh Filter вместе с Mesh Renderer позволяет появляться модели на экране.](../uploads/Main/MeshExample40.png)

Настройки импорта для мешей

Import Settings для модели будут показаны в закладке Model инспектора FBX импортера, когда модель выделена. Это влияет на меш, его нормали и импортированные материалы. Настройки применяются для каждого ассета на диске, поэтому, если вам нужен ассет с другими настройками, создайте (и соответственно переименуйте) копию файла.

Хотя изначально настроек по умолчанию может быть достаточно, будет лучше, если вы изучите список настроек, перечисленных ниже. Они могут помочь определить, что вы желаете сделать с игровым объектом.

Некоторые общие корректировки, для примера, могут быть следующими:

Источник

Импортирование объектов из 3D Studio Max

Чтобы вручную экспортировать FBX из 3DS Max

Опции экспортера

Используя настройки FBX экспортера по-умолчанию (которые позволяют экспортировать всё, что есть), вы можете выбрать:

Как импортировать модель в юнити. FBX2013. Как импортировать модель в юнити фото. Как импортировать модель в юнити-FBX2013. картинка Как импортировать модель в юнити. картинка FBX2013

Настройки FBX экспортера по-умолчанию (для fbx плагина версии 2013.3)

Экспортирование Bone-based анимаций

Существует процедура, которой вы должны следовать, если желаете экспортировать bone-based анимации:

При экспортировании костной иерархии с мешем и анимациями из 3d Max в Unity, иерархия GameObject’ов генерируется в соответствии с иерархией, которую вы видите в “Schematic view” в 3ds Max. Одно отличие в том, что Unity поместит GameObject в качестве нового корня, содержащего анимации, и разместит информацию о меше и материале в корневой кости.

Если вы предпочитаете иметь анимацию и информацию о меше в одном Unity GameObject’е, перейдите в окно Hierarchy в 3ds Max и назначьте узел меша родителем для кости в костной иерархии.

Экспортирование morph targets (blend shapes) из Max

Экспортирование двух наборов UV для лайтмаппинга

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинкаНастройка материала для лайтмаппинга в 3ds Max с использованием self-illumination карты

Учтите: если объект использует тип материала Shell, тогда текущий Autodesk FBX экспортер не сможет корректно экспортировать UV.

В качестве альтернативы, вы можете использовать Multi/Sub Object тип материала и настроить два sub-material’а, используя основную текстуру и карту освещения в их diffuse map слотах, как показано ниже. Однако, если полигоны в вашей модели используют другие sub-material ID, это приведёт к импорту множества материалов, что не оптимально для производительности.

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинкаАльтернативная настройка материала для лайтмаппинга в 3ds Max с помощью multi/sub object материала

Решение проблем

Если у вас возникли какие-либо проблемы с импортом моделей: убедитесь, что у вас установлена последняя версия FBX плагина с веб-страницы Autodesk или откатитесь к FBX 2012.

Источник

Импорт 3D-моделей в Unity и подводные камни

Представляем третью статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity» и «Unity: процедурное редактирование Mesh».

В мире компьютерной графики существует множество форматов представления 3D-моделей. Некоторые из них позиционируются как универсальные, другие — как оптимизированные под конкретные задачи или платформы. В любой сфере мечтают работать с универсальным форматом, но реальность говорит нам «нет». Более того, из-за такого зоопарка получается порочный круг: разработчики «универсальных» инструментов придумывают свои внутренние форматы для обобщения предыдущих, увеличивая популяцию и плодя средства преобразования форматов. Так появляется проблема потери или искажения данных при конвертации. Проблема стара как мир (мир IT, конечно), и она не обошла стороной импорт моделей в Unity.

В этой статье мы расскажем о некоторых трудностях, с которыми приходится сталкиваться при работе с моделями в Unity (особенности функционирования ModelImporter, разница представлений 3D-объектов и др.), а также о том, какие инструменты мы создали, чтобы эти трудности преодолеть.

Как импортировать модель в юнити. v9vb5zyqkb4df5in7vwdiij1omq. Как импортировать модель в юнити фото. Как импортировать модель в юнити-v9vb5zyqkb4df5in7vwdiij1omq. картинка Как импортировать модель в юнити. картинка v9vb5zyqkb4df5in7vwdiij1omq

Особенности работы ModelImporter

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

При этом многие инструменты заточены на работу именно с четырехугольниками, что подталкивает 3D-художников использовать этот примитив как основной. В таких случаях в ТЗ часто требуется триангулировать модель перед внедрением. Если триангуляцию не сделали, соответствующий модуль Unity в стандартном режиме выполняет ее автоматически при добавлении файла. Из-за этого появляются ошибки, поскольку алгоритмы триангуляции в разных пакетах реализованы по-разному. При выборе диагонали для разбиения четырехугольника возникает неоднозначность, отсюда большинство проблем, которые можно разделить на две группы.

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

Как импортировать модель в юнити. kv5xgek7hkweg4xizlmphkd zyw. Как импортировать модель в юнити фото. Как импортировать модель в юнити-kv5xgek7hkweg4xizlmphkd zyw. картинка Как импортировать модель в юнити. картинка kv5xgek7hkweg4xizlmphkd zyw
Сюзанна, триангулированная в Blender (Quad Method: Beauty) и в Unity (автоматически при импорте)

Кроме того, алгоритм запекания карты нормалей использует данные о разбиении, из-за чего разница в триангуляции может порождать артефакты в виде креста на блике.

Как импортировать модель в юнити. kfqlsv0wsl9tyoyowvgqfmqiw2m. Как импортировать модель в юнити фото. Как импортировать модель в юнити-kfqlsv0wsl9tyoyowvgqfmqiw2m. картинка Как импортировать модель в юнити. картинка kfqlsv0wsl9tyoyowvgqfmqiw2m
Самокат здорового человека и самокат курильщика

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

Как импортировать модель в юнити. jni2wyyqck igyqzh8m7fdmffww. Как импортировать модель в юнити фото. Как импортировать модель в юнити-jni2wyyqck igyqzh8m7fdmffww. картинка Как импортировать модель в юнити. картинка jni2wyyqck igyqzh8m7fdmffww
Исходный полигон

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка
Полигон, триангулированный в Blender

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

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка
Полигон в Unity с треугольником, близким к вырожденному (правый треугольник практически неотличим от отрезка)

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

Я 3D-пакет, я так вижу

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка

В 3D-моделировании часто возникает разница между фактическим количеством вершин и их количеством в 3D-пакете. Суть проблемы заключается в информации, которая требуется для обработки видеокартой. Структура данных для вершины предопределена и включает в себя позицию, нормаль, касательную, координаты текстурной развертки на каждый канал и цвет. То есть в одну вершину две нормали не запихнуть.

Для некоторых художников же не всегда очевидно, что вершина определяется не только своей позицией. Моделлеры прекрасно знают понятия Hard/Soft Edges и UV Seams, но не все осознают, каким образом они реализованы программно. Дополнительно сбивают с толку 3D-пакеты, которые в стандартном режиме показывают количество вершин как количество уникальных позиций.

Так, обычный примитив Cube геометрически представим 8 вершинами. Однако чтобы корректно передать отражение света от каждой грани и правильно наложить текстуру, в каждом углу куба необходимо по 3 вершины с одинаковой позицией, но разными нормалями и текстурными координатами, поскольку в каждом из углов сходится по 3 ребра. Этому моменту посвятили небольшой блок документации. Там же можно посмотреть примеры.

Как импортировать модель в юнити. sj. Как импортировать модель в юнити фото. Как импортировать модель в юнити-sj. картинка Как импортировать модель в юнити. картинка sj
Метрики куба в Blender

Как импортировать модель в юнити. q1fwm30cfaob2d51vwtdgwkfoja. Как импортировать модель в юнити фото. Как импортировать модель в юнити-q1fwm30cfaob2d51vwtdgwkfoja. картинка Как импортировать модель в юнити. картинка q1fwm30cfaob2d51vwtdgwkfoja
Метрики куба в Unity

Хватит это терпеть!

Столкнувшись с этими и подобными проблемами, мы решили создать инструмент анализа и валидации моделей при импорте в проект Unity. Иначе говоря, кастомный валидатор, который на запрос «Ешь!» ответит: «Не буду! Переделывай», — или выплюнет наборы предупреждений и значений различных параметров, оповещая о том, что ему что-то невкусно.

Для анализа и проверки мы разработали следующий функционал:

Подсчеты количества уникальных позиций вершин, Hard Edges, UV Seams и раскрашенных вершин — необходимы для проверки соответствия задуманной художником модели той, что была импортирована в Unity. Этот функционал также позволяет следить за соблюдением требований к оптимизации модели (например, чтобы количество вершин не превышало определенное значение). Из-за все той же особенности 3D-пакетов, которые показывают по факту количество уникальных позиций, бывают случаи, когда метрика числа вершин в редакторе моделей удовлетворяет этому ограничению, однако после внесения файла в проект может оказаться, что это не так.

Вычисление AABB и его центра — позволяет определить смещение модели относительно начала ее собственной системы координат. Это необходимо для предсказуемого позиционирования ассетов, которые инициализируются в сцене уже во время работы приложения. Так, AABB здания по-хорошему должен иметь minY = 0, а какой-нибудь люстры, которая крепится к потолку — maxY = 0.

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка

Как импортировать модель в юнити. 5gxqz1j4mcvz9alq6fkni hdajw. Как импортировать модель в юнити фото. Как импортировать модель в юнити-5gxqz1j4mcvz9alq6fkni hdajw. картинка Как импортировать модель в юнити. картинка 5gxqz1j4mcvz9alq6fkni hdajw

Выход координат вершин UV-развертки за диапазон 0.0–1.0 — в большинстве случаев (например, если текстура должна тайлиться на модели) предусмотрен. Часто такой подход используется для представления в сцене множества низкодетализированных мелких объектов (растительности) и/или находящихся вдалеке, а также замощения больших однородных объектов (зданий). В случае тайлинга значениям координат конкретного UV-канала просто обрезают целую часть на уровне шейдера, если Wrap Mode текстуры установлен в Repeat.

Представьте теперь, что вы уложили текстуру в атлас (и накрыли одеялком :3). В шейдер будут приходить уже преобразованные координаты, соответствующие атласу (x * масштаб + смещение). Никакой целой части на этот раз вероятнее всего уже не будет и обрезать будет нечего, а модель залезет на чужую текстуру (одеялко оказалось маленьким). Эта проблема решается двумя способами.

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

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

Как импортировать модель в юнити. xroa5b p8 frowb9nkcxp qpee4. Как импортировать модель в юнити фото. Как импортировать модель в юнити-xroa5b p8 frowb9nkcxp qpee4. картинка Как импортировать модель в юнити. картинка xroa5b p8 frowb9nkcxp qpee4

Наложения в текстурной развертке — тоже чаще всего не случайны: они нужны, чтобы эффективно использовать площади текстуры. Бывает, что ошибку совершает новичок, старший товарищ это видит, произносит крепкое словцо и новичок больше так не делает. Но бывает, что наложение настолько мелкое и находится в настолько неожиданном месте, что и старший товарищ может его не заметить.

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

Пример. Мы работали с набором моделей для динамических объектов в игре. Поскольку не было задачи запечь для них свет, в UV-развертке допускались наложения.

Как импортировать модель в юнити. . Как импортировать модель в юнити фото. Как импортировать модель в юнити-. картинка Как импортировать модель в юнити. картинка
Пример базовой UV-развертки с наложениями (показаны красным)

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

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

Как импортировать модель в юнити. 2jsso4clth4abgefjctiysx sik. Как импортировать модель в юнити фото. Как импортировать модель в юнити-2jsso4clth4abgefjctiysx sik. картинка Как импортировать модель в юнити. картинка 2jsso4clth4abgefjctiysx sik
Некорректно запеченное освещение модели (слева) и исправленное (справа)

Unity при формировании карты освещения в первую очередь пытается использовать UV2-канал. Если он пустой, то используется основной UV, если и этот пуст, то извините, нате вам исключение. Запечь модели в карту освещения без предварительно подготовленного UV2 в Unity можно двумя способами.

В качестве первого Unity предлагает автоматическую генерацию UV2 на основе геометрии модели. Это быстрее, чем делать вручную, к тому же данный инструмент можно настраивать с помощью нескольких параметров. Но даже несмотря на это, итоговое наложение светотени часто неудовлетворительно для высокодетализированных объектов из-за швов и затеканий в неположенных местах, к тому же упаковка частей такой развертки не самая эффективная.

Как импортировать модель в юнити. dr lfomq 0uikazqeqhmneekw8. Как импортировать модель в юнити фото. Как импортировать модель в юнити-dr lfomq 0uikazqeqhmneekw8. картинка Как импортировать модель в юнити. картинка dr lfomq 0uikazqeqhmneekw8

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

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

Подведем итог. Конечно, практически невозможно отследить все нюансы: иногда приходится мириться с несовершенством результата, чтобы выполнить задачу в срок. Однако выявление даже части таких недочетов позволяет ускорить разработку проекта и повысить его качество.

Источник

Importing from the Asset Store

Unity users can become publishers on Asset Store, and sell content they have created. To find out more, see Asset Store Publishing.

Asset Store. Доступ и навигация

Как импортировать модель в юнити. AssetStore floating. Как импортировать модель в юнити фото. Как импортировать модель в юнити-AssetStore floating. картинка Как импортировать модель в юнити. картинка AssetStore floatingСтраница Asset Store.

Магазин имеет интерфейс браузера, который позволяет искать по словам или просматривать товары (packages) и категории. В левой части главной панели инструментов находятся знакомые кнопки навигации, для перемещения по истории просмотренных страниц:-

Как импортировать модель в юнити. AssetStore Navigation. Как импортировать модель в юнити фото. Как импортировать модель в юнити-AssetStore Navigation. картинка Как импортировать модель в юнити. картинка AssetStore Navigation

Справа от них находятся кнопки просмотра менеджера загрузок и содержимого корзины покупок.

Менеджер загрузок позволяет просматривать пакеты, которые вы купили, а также искать и устанавливать обновления. Кроме того, стандартные пакеты, поставляемые с Unity, можно также просматривать и добавлять в проект через данный менеджер.

Как импортировать модель в юнити. AssetStore download. Как импортировать модель в юнити фото. Как импортировать модель в юнити-AssetStore download. картинка Как импортировать модель в юнити. картинка AssetStore downloadМенеджер загрузок.

Расположение загруженных ассетов

Вам редко когда понадобится (если вообще понадобится) прямой доступ к файлам, загруженным через Asset Store. Но, если вам потребуется, вы можете их найти в

..на Windows. Эти папки содержат подпапки, которые соответствуют продавцам на Asset Store, а ассеты находятся в соответствующих подпапках.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *