Version: 5.3 (switch to 5.4b)
Руководство по лучшим практикам работы с графическими ассетами
Руководство экспорта FBX

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

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

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

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

Текстуры

  • Храните текстуры в папке под названием Textures рядом с экспортируемым мешем в вашем проекте Unity. Это позволит Unity найти текстуру и автоматически подключить её к созданному материалу. Для получения дополнительной информации, обратитесь к разделу Текстуры.

3D форматы

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

  1. Экспортированные 3D форматы файлов, такие как .FBX или .OBJ
  2. Собственные файлы 3D приложений, например такие как .Max и .Blend файлы из 3D Studio Max и Blender.

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

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

Unity может читать .FBX, .dae (Collada), .3DS, .dxf и .obj файлы, obj или Collada экспортеры могут быть найдены для многих приложений, точно также как FBX экспортеры могут быть найдены здесь

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

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

Недостатки:

  • Может замедлять процесс прототипирования и итераций
  • Легче потерять след между исходной (рабочий файл) и игровой версией данных (к примеру экспортированный FBX файл)

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

Unity также может импортировать, путём конвертации, файлы: Max, Maya, Blender, Cinema4D, Modo, Lightwave и Cheetah3D , например, .MAX, .MB, .MA и др.

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

  • Быстрый процесс итерации (для повторного импортирования в Unity сохраните исходный файл)
  • Изначально просто

Недостатки:

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

Модели

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

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

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

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

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

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

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

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

  • Scale - это фактор масштаба используемый для компенсации разницы в единицах измерения между Unity и инструментом 3d моделирования - он меняет масштаб всего файла. Обычно, можете просто установить 1. Заметьте, что физический движок Unity смасштабирован так, что 1 единица измерения эквивалентна 1 метру. Это важно, так как если вы захотите получить корректное физическое поведение, вам следует получить корректно отмасштабированную модель в оригинальном приложении для моделирования. Если же этого нельзя сделать или у вас нет контроля над модификацией меша, масштаб модели может быть откорректирован здесь.
  • Generate colliders - эта опция создаст сетку коллизии чтобы позволить вашей модели сталкиваться с другими объектами.
  • Material Naming and Search - эта опция поможет автоматически настроить ваши материалы и определить местоположение текстур
FBX Importer Inspector (инспектор импорта FBX): вкладка Model
FBX Importer Inspector (инспектор импорта FBX): вкладка Model
Свойство: Функция:
Меши
Scale Factor Физическая система Unity предполагает, что 1 метр в игровом мире будет равен 1 единице в импортируемом файле. Если вы предпочитаете моделировать в другом масштабе, тогда вы можете компенсировать разницу здесь. По-умолчанию, .fbx, .max, .jas и .c4d файлы имеют масштаб 0.01, .mb, .ma, .lxo, .dxf, .blend и .dae масштаб 1.0, а .3ds файлы имеют масштаб 0.1.
Mesh Compression Увеличение этого значение уменьшит размер файла для меша, но может привести к неровностям. Лучше всего поднять значение настолько высоко, насколько это возможно без появления большой разницы с несжатой версией. Это полезно для оптимизации размера игры.
Read/Write Enabled Включает возможность записи меша в процессе исполнения, так что вы можете модифицировать данные; это создает копию в памяти. Когда эта опция выключена, это экономит память, так как Unity может выгружать копию данных меша в процессе игры. Однако, если вы масштабируете или инстанциируете меши в процессе исполнения с неравномерным масштабом, может потребоваться включение “Read/Write Enabled” в их настройках импорта. Причина этого в том, что неравномерный масштаб требует чтобы данные меша сохранялись в памяти. Обычно это определяется во время сборки, но с мешами, которые масштабируются или инстанциируются в процессе исполнения, вам нужно задавать это самостоятельно. Иначе они могут не отображаться корректно в игровых сборках.
Optimize Mesh Эта опция определяет порядок, в котором будут перечислены треугольники меша.
Import Blendshapes This option allows BlendShapes to be imported with your mesh.
Generate Colliders Если активна эта опция, ваш меш будет импортирован с автоматически присоединенной сеткой столкновений. Эта опция полезна для быстрой генерации сетки столкновений для геометрии окружения, но ее нужно избегать для объектов, которые будут перемещаться.
Swap UVs Используйте эту опцию если объект с наложенными картами освещения использует неправильные UV каналы. Ваши первичные и вторичные UV каналы будут поменяны между собой.
Generate Lightmap UVs Используйте эту опцию для создания второго UV канала, который будет использоваться для карт освещения.
Нормали и касательные
Normals Определяет должны ли, и если да, то как, вычисляться нормали. Это полезно для оптимизации размеров игры.
Import Настройка по умолчанию. Импортирует нормали из файла.
Calculate Вычисляет нормали, основываясь на Smoothing angle. Если выбран именно этот метод, Smoothing Angle становится включенным.
None Дезактивирует нормали. Используйте данную опцию если меш ни использует карты нормалей, ни подвергается динамическому освещению.
Tangents Определяет должны ли, и если да, то как, вычисляться касательные и бинормали. Это полезно для оптимизации размеров игры.
Import Касательные и бинормали импортируются из файла. Эта опция доступна только для FBX, Maya и 3dsMax файлов и только когда нормали также загружены из файла.
Calculate Настройка по умолчанию. Вычисляет касательные и бинормали. Эта опция доступна только когда нормали или импортированы, или вычислены.
None Отключает касательные и бинормали. Меш не будет иметь касательных, поэтому шейдеры, работающие с картами нормалей, не будут доступны.
Smoothing Angle Данная опция устанавливает насколько острой должна быть грань, чтобы считаться жестким ребром. Это также используется чтобы разделить касательные карты нормалей.
Split Tangents Активируйте эту опцию, если карта нормалей освещения разбита швами на вашем меше. Обычно это применимо только к персонажам.
Материалы
Import Materials Отключите эту опцию, если вы не хотите чтобы генерировались материалы. Вместо этого будет использован материал Default-Diffuse.
Material Naming Определяет как именуются материалы Unity:
By Base Texture Name Имя диффузной текстуры импортированного материала, которое будет использовано для названия материала Unity. В случае, когда диффузная текстура материала не задана, Unity будет использовать имя импортированного материала.
From Model’s Material Для названия Unity материала будет использовано имя импортированного материала.
Model Name + Model’s Material Для названия Unity материала будет использовано сочетание имени файла модели и импортированного материала.
Material Search Определяет, где Unity будет пытаться найти существующие материалы, используя имя, заданное параметром Material Naming:
Local Unity будет пытаться найти существующий материал только в “локальной” папке Materials, например, поддиректория Materials, которая расположена в той же директории, что и файл модели.
Recursive-Up Unity будет пытаться найти существующие материалы во всех поддиректориях Materials во всех родительских папках вплоть до папки Assets.
Everywhere Unity будет пытаться найти существующие материалы во всех папках Unity проекта.

Смотрите также

Руководство по лучшим практикам работы с графическими ассетами
Руководство экспорта FBX