Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Cave – это игровой движок, что означает, что он позволяет вам превращать ваши идеи в настоящие видеоигры. Это средство для объединения всего, создания дизайна уровней, интерфейсов и логики. Но для фактического создания искусства, такого как текстуры, 3D модели, анимации, звуки и музыка, вам, возможно, предпочтительно использовать специализированный инструмент для этого. Инструменты такие как Blender, 3Ds Max, Maya, Sketchup для 3D, Adobe Photoshop, GIMP, Krita для обработки изображений или Audacity для звука. Разумеется, вы можете использовать любой другой внешний инструмент для этой задачи. Важно помнить:

Большинство игр используют контент, созданный вне движка.

В Cave это не исключение. Это означает, что вам нужно будет импортировать эти файлы в движок, так что важно понять как и какие хорошие и плохие практики существуют. Импорт – это шаг, который переносит эти файлы в Cave, чтобы они стали частью вашего проекта.

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

Вы узнаете:

  • Какие виды файлов может импортировать Cave.
  • Во что превращаются импортированные файлы внутри Cave.
  • Почему простые первые импорты лучше, чем огромные пакеты ассетов.
  • Как импорты моделей могут генерировать несколько типов ассетов.
  • Что проверить после импорта.

Цель состоит в том, чтобы помочь вам понять, что происходит, когда внешние файлы становятся ассетами Cave.

Что Можно Импортировать?

Cave может импортировать несколько видов внешнего контента.

Тип Импортированного Файла Превращается в
Изображения (различные форматы) Текстурные ассеты.
OGG аудио Аудио ассеты.
TTF шрифты Шрифтовые ассеты.
.cavePkg файлы Импортированные пакеты ассетов Cave.
3D модели Меши, материалы, текстуры, каркасы, анимации и шаблоны в зависимости от файла.

После импорта эти файлы становятся ассетами Cave в Asset Browser.

Это означает, что они могут быть использованы в Сценах, Материалах, Сущностях и Шаблонах Сущностей, UI, Аудио Системах, Скриптах, Логике, везде! Импортированные файлы больше не просто свободные файлы на диске. Они становятся контентом проекта, на который Cave может ссылаться, сохранять, организовывать и повторно использовать.

Cave использует свои собственные форматы

При импорте ЛЮБОГО файла в cave (изображения, текстуры, аудио, 3D модели и т. д.), ассет преобразуется в собственный и специальный формат Cave Engine. Это важно, потому что этот внутренний формат значительно быстрее разбирается и используется движком для обеспечения наилучшей производительности вашей игры. Множество внутренних оптимизаций и кэширования автоматически выполняются движком, чтобы ваши ассеты были готовы к игровому производству.

> Все это внутренние процессы, и вам не нужно об этом беспокоиться, но важно понимать, что этот процесс происходит и как он влияет на вас (и почему это хорошо).

Если вы импортируете файл изображения .png в Cave, он не будет использовать фактический png файл в вашей финальной игре. Он проходит через быстрый процесс преобразования, как только вы помещаете его в движок, затем используется формат Cave. То же самое происходит, когда вы импортируете аудио или 3D модель. Эта информация особенно важна для 3D ассетов: Cave не использует сырые форматы DCC, такие как .fbx, .obj, .glb. Он может импортировать их, но они преобразуются в формат движка.

Причина, по которой это происходит, заключается в том, что, хотя эти форматы популярны, разбор таких файлов, как fbx или даже png, в игре является затратным и может ухудшить производительность. Поэтому Cave извлекает все необходимые данные, такие как Меши, Материалы, Анимации, Текстуры, затем преобразует и сохраняет их в формате движка.

Это имеет три важных последствия:

  • Ваша игра будет работать быстрее и занимать меньше места на диске.
  • Импорт ассетов разрушителен: Cave не хранит оригинальную ссылку на ваш СЫРОЙ ассет, поэтому, если вы внесли изменения во вне, вам потребуется импортировать его снова.
  • Некоторые функции могут быть недоступны: Хотя некоторые форматы ассетов поддерживаются, некоторые функции в этом формате могут не поддерживаться cave. В этом случае вас уведомят, и процесс импорта не будет включать их в финальные ассеты.

Теперь, когда вы понимаете процесс импорта, давайте изучим его.


Импорт Изображений Путем Перетаскивания

Вы можете импортировать изображения, перетаскивая их в Asset Browser.

Cave поддерживает большинство распространенных форматов изображений, таких как:

  • PNG.
  • JPG и JPEG.
  • TGA.
  • BMP.
  • HDR.
  • PSD.
  • PNM.
  • GIF.
  • PIC.
  • DDS.

Импортируемые изображения становятся Texture Assets и могут быть использованы в материалах, UI элементах, настройках неба и других системах, которым нужны данные изображения. Например, текстура может стать цветовой картой материала камня, иконкой в UI или изображением бокса неба для сцены.

Для первого теста сделайте это просто: импортируйте одну текстуру, назначьте ее материалу, поместите этот материал на меш, который находится в Сцене, и проверьте результат в 3D View.

Импорт Аудиофайлов

Аудио также можно импортировать, перетаскивая его в проект. В настоящее время Cave импортирует OGG аудиофайлы. Если у вас есть аудио в другом формате, конвертируйте его в OGG перед импортом. Вы можете найти онлайн-инструменты для этого преобразования, но мы также рекомендуем программное обеспечение Audacity, которое бесплатное и очень простое в использовании для сохранения аудио в ogg.

Файл OGG – это бесплатный, открытый мультимедийный контейнер, разработанный Фондом Xiph.Org. Он в основном используется для потоковой передачи и хранения высококачественного цифрового аудио, часто достигая лучшего качества звука при меньших размерах файла, чем традиционные MP3. ref

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

cave.playSound("My Audio File")

Хорошие первые аудио импорты – это короткие и простые для тестирования:

  • Подбор монеты.
  • Нажатие кнопки.
  • Открытие двери.
  • Простая фоновая петля.
  • Музыка для саундтрека вашей игры.

Импорт Шрифтов и Пакетов Cave

Cave может импортировать TTF шрифтовые файлы. TTF (TrueType Font) – это формат файла шрифта, изначально разработанный Apple и позже принятый Microsoft, став одним из стандартных форматов, используемых сегодня для масштабируемого цифрового рендеринга текста.

Шрифты в основном используются компонентом UI Element Component, позволяя вам создавать HUD игр, текст, меню, кнопки, субтитры, титры, диалоговые интерфейсы и т. д. Выбор шрифта может существенно повлиять даже на простое меню.

Импорт Пакетов Cave

Cave также может импортировать файлы .cavePkg. Пакет Cave – это пакет ассетов Cave, который может быть перенесен в другой проект.

Если вы перейдете в Asset Browser и щелкнете правой кнопкой мыши на папку или файл, вы сможете экспортировать его как пакет cave. При экспорте пакета вы сможете импортировать его позже в другие проекты. Это очень удобно для совместного использования общей логики между вашими различными проектами. Имейте в виду, что при экспорте пакета включена только та информация, которая находится внутри папки или ассета, по которому вы щелкнули правой кнопкой мыши. Поэтому, если вы хотите экспортировать, например, материал, который использует набор текстур, важно поместить все вместе в папку, а затем экспортировать папку. В противном случае, если вы импортируете только материал, текстуры не будут включены.

Когда вы перетаскиваете пакет cave в Asset Browser CaveEngine, он будет импортирован, и исходная структура файлов будет воссоздана в вашем существующем проекте. Очень удобно, чтобы повторно использовать ассеты, переносить стандартный контент в новый проект или перемещать части проекта между различными проектами.


Импорт 3D Моделей

Теперь мы подошли к одной из самых важных частей 3D игрового движка, а именно импорту 3D моделей. Cave использует assimp для поддержки импорта широкого диапазона форматов 3D моделей через свой импортёр моделей.

Он поддерживает несколько форматов моделей через импортёр, но основной рекомендуемый формат для Cave – это FBX.

Импорты моделей могут одновременно генерировать несколько типов ассетов:

  • Меши.
  • Материалы.
  • Текстуры.
  • Каркасы.
  • Анимации.
  • Шаблоны Сущностей.

Точный результат зависит от исходного файла.

Простой ящик может генерировать только меш, материал, текстуру и шаблон. Анимированный персонаж может генерировать меши, каркас, анимации, материалы, текстуры и более сложный шаблон.

Рекомендуемые Первые Импорты

Для первых тестов импорта используйте простые, чистые ассеты. Kenney Asset Packs (CC0) – это хороший выбор для новичков, потому что они обычно хорошо организованы, легковесны и понятны. Вы также можете проверить Quaternius Assets (CC0) или просмотреть FAB Asset Store.

Хорошие первые импорты могут быть ящик, камень, низкополигональное дерево, простое здание или персонаж. Избегайте начала с гигантских пакетов персонажей или больших файлов окружения. Простые ассеты облегчают понимание того, что создает Cave, какие настройки важны и как импортированный контент отображается в Asset Browser. Затем вы можете переходить к более сложным настройкам.

Импорт Модели Шаг за Шагом

Когда вы перетаскиваете ассет (например, FBX) в Asset Browser Cave, вы увидите окно, похожее на это:

image.png

Он поддерживает перетаскивание и импорт нескольких файлов одновременно, и для каждого файла будет создана отдельная вкладка. Для каждой вкладки вы сможете выбрать ассеты, которые хотите импортировать. Это также покажет вам, какие типы ассетов, и если вы развернете заголовок каждого типа ассета, какие ассеты были распознаны и преобразованы Импортёром Cave. Это также позволит вам индивидуально выбрать, что вы хотите импортировать или нет, и переименовать файлы соответственно. Вы можете изменить имена импортированных ассетов позже.

В верхней части, перед каждой вкладкой файла, вы найдете две глобальные опции (для каждого импорта актива):

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

Базовый импорт модели обычно выглядит так:

  1. Создайте или выберите папку в Браузере активов.
  2. Перетащите файл модели в эту папку.
  3. Подождите, пока Cave разобрает файл.
  4. Просмотрите параметры импорта.
  5. Выберите, какие сгенерированные активы должны быть импортированы.
  6. При необходимости отрегулируйте масштаб импорта.
  7. Подтвердите импорт.
  8. Просмотрите сгенерированные активы в Браузере активов.

Опции импорта могут показывать сгенерированные активы, сгруппированные по типу.

Это позволяет вам решить, что следует импортировать, а не слепо принимать все. Это полезно, потому что файлы моделей могут содержать больше данных, чем вам действительно нужно.

ВАЖНЫЙ СОВЕТ:

Если вы скачиваете сотни активов или пакет активов, например, пакет активов Kenney или Quaternius, вы заметите, что у этих пакетов обычно есть один отдельный файл FBX для каждого объекта, и внутри каждого файла FBX есть копия материала и иногда даже текстуры, которые будут использоваться для всех этих активов.

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

Лучшая практика в этом случае – сначала импортировать один единственный файл FBX в движок, посмотреть, что внутри этого файла, подтвердить материал в нем. Как только этот первый файл импортирован и материал в вашем проекте, вы можете импортировать все остальные, используя фильтры, чтобы отключить импорт материалов и текстур, так как они уже были импортированы движком для вашего первого файла. Затем, когда вы нажмете импортировать, Cave попытается найти этот уже импортированный материал по имени и использовать его.

Понимание импортированных мешей

Импортированная модель может генерировать один меш или множество мешей. Это зависит от того, как модель была построена в оригинальном инструменте DCC.

Например:

Исходная модель Возможный результат импорта
Простая коробка Один меш, один материал, один шаблон сущности.
Объект с отдельными частями Несколько мешей и материалов, один шаблон сущности.
Анимированный персонаж Меши, армирование и анимации, один шаблон сущности.

После импорта проверьте сгенерированные активы мешей и сгенерированный шаблон сущности.

Обратите внимание, что для каждого импорта будет создан шаблон сущности.

Шаблон сущности пытается воспроизвести конфигурации сцены, построенные вами в вашем инструменте DCC, таком как Blender. Так что если вы создали макет в своем программном обеспечении моделирования, размещая объекты в определенных местах и т. д., он будет там как шаблон сущности. Обычно вы не будете использовать сырой шаблон сущности, но он полезен для того, чтобы сбрасывать объекты в сцену, чтобы быстро их идентифицировать или делать их локальными, вместо того чтобы использовать шаблон и начинать редактировать в Cave.

После импорта вашего актива проверьте на распространенные проблемы:

  • Объект слишком мал?
  • Слишком велик?
  • Неверно повернут?
  • Был разделен неожиданным образом?
  • Корректно ли выглядит сгенерированный шаблон?

Лучше поймать эти проблемы сразу, чем после того, как вы уже использовали актив на уровне.

Если вы обнаружите какие-либо проблемы с импортируемыми активами, стоит открыть их в Blender или любом другом DCC, чтобы увидеть, корректны ли они. Также рекомендуем сначала триангулировать меши активов перед их импортом в Cave.

ВАЖНО: Когда вы импортируете 3D-модель в Cave, он автоматически пытается триангулировать грани. Но иногда могут возникнуть ошибки триангуляции, что вызовет "дыры" в вашей 3D-модели или неправильно созданные грани. Чтобы избежать этого, мы всегда рекомендуем вам перейти в ваш инструмент моделирования DCC и самостоятельно триангулировать грани.


Понимание материалов и текстур

Импортированные модели также могут генерировать материалы и текстуры.

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

После импорта всегда проверьте материал:

  • Присвоена ли текстура альбедо?
  • Правильно ли присвоены карты нормалей?
  • Импортированы ли карты шероховатости или металличности?
  • Правильно ли выглядит материал в окне просмотра?

Импорт полезен, но это не магия.

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

Многоматериальные меши

В Cave меш использует один материал. Если объект в вашем инструменте DCC использует несколько материалов, Cave представляет это как несколько мешей.

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

Объект с несколькими материалами
  Компонент меша, использующий материал A
  Компонент меша, использующий материал B
  Компонент меша, использующий материал C

Это дает Cave чистое соотношение один меш к один материал, позволяя при этом сложным импортированным объектам выглядеть правильно.

Из-за того, как работает Cave, если вы импортируете многоматериальный меш в свой проект, вы заметите, что в браузере активов меш будет разделен на разные части. Но Cave попытается воссоздать конечную сущность в шаблоне сущности для вас со всеми объединенными мешами.

Импортированный шаблон сущности

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

Например, импортированное здание может сгенерировать:

  • Несколько активов мешей.
  • Несколько активов материалов.
  • Активы текстур.
  • Один шаблон сущности, который связывает части вместе.

Этот шаблон обычно является самым простым активом, который можно перетащить в сцену.

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

Основные советы по импорту

Держите импорты чистыми:

  • Предпочитайте FBX для моделей.
  • Триангулируйте грани перед этим.
  • Используйте OGG для аудио.
  • Держите имена активов читаемыми.
  • Предпочитайте имена с пробелами или PascalCase.
  • Импортируйте в организованные папки.
  • Проверьте масштаб импорта.
  • Проверьте сгенерированные материалы.
  • Проверьте импортированный шаблон в окне просмотра.
  • Сохраните после импорта.

Импорт – это нормальная часть разработки.

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