Структура Вердж3Д-проектов — Софт Эйт Софт
Description: Описание структуры Вердж3Д приложений.

# Структура «Вердж3Д»-проектов

«Вердж3Д», в соответствии с подходом ориентированным на художников, создает полный набор файлов для приложения WebGL. Рекомендуется не редактировать большинство инициализированных файлов проекта, потому что некоторые из них могут автоматически регенерироваться при определенных действиях пользователя (таких как экспорт, сохранение пазлов и т. д.). Другие могут быть переопределены при обновлении до новых версий «Вердж3Д».

- Простые проекты
- Сложные проекты

#

## Простые проекты

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

### Файлы HTML, CSS и «Ява Скрипт»

Ядро приложения состоит из файлов .html, .css и .js с тем же именем ("my_awesome_app") и среды выполнения «Вердж3Д» — v3d.js. Также существует папка media, которая содержит небольшие изображения (иконки кнопок для полноэкранного режима и набор фавиконов).

Вы можете редактировать файлы .html, .css и .js, однако это не самый лучший метод добавления CSS/JavaScript-кода в приложение. Вместо этого мы рекомендуем использовать пазлы.

Если вы попытаетесь запустить приложение «Вердж3Д», просто кликнув по файлу .html, то скорее всего, приложение не запустится из-за политики безопасности браузера, запрещающей доступ «Ява Скрипт» к файлам, загруженным не из того же домена. Пожалуйста, всегда используйте диспетчер приложений, который использует локальный веб-сервер для запуска ваших приложений.

### Файлы glTF

При запуске, приложение сначала загружает 3Д-сцену в формате .gltf, который содержит пути к файлам для дальнейшей загрузки двоичной части сцены glTF .bin и внешних текстур. Файлы .gltf и .bin экспортируются с помощью меню пользовательского интерфейса вашего 3Д-редактора («Блендер», «3дс Макс» или «Майя»).

### Файлы рабочей сцены

В зависимости от того, какой 3Д-редактор вы используете, будет один файл .blend, .max или .mb, содержащий куб по умолчанию. Именно здесь выполняется большая часть работы над сценами. Вы можете изменять этот файл, переименовывать или заменять его каким-либо другим файлом, но обязательно сохраните исходное имя экспортированного файла glTF.

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

### Ассеты

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

### Пазлы

Когда вы нажимаете кнопку Save в редакторе пазлов, пазлы приложения сохраняются в visual_logic.xml, а сгенерированный код «Ява Скрипт» сохраняется в visual_logic.js. Эти файлы будут перезаписываться каждый раз, когда вы нажимаете кнопку Save, при этом предыдущая версия visual_logic.xml копируется в папкуv3d_app_data / puzzles_backup, переименованной с отметкой времени. Поэтому вы всегда можете восстановить свои наработки из этой резервной копии, скопировав файл .xml в корень и переименовав его обратно.

#

## Сложные проекты

Некоторые приложения «Вердж3Д» (например, демо-приложение «Промышленный робот») могут содержать большое количество дополнительных файлов, которые можно разделить на две категории:

### Сжатые файлы glTF

Если вы включите сжатие ресурсов для своего приложения (рекомендуется), экспортер сначала выполнит экспорт как обычно, а затем создаст сжатые (.xz) версии glTF-файлов. Эти файлы автоматически выбираются приложением вместо стандартного файла glTF. Нет смысла удалять несжатые файлы glTF, даже если они не используются, поскольку они снова могут быть сгенерированы в какой-то будущей операции экспорта.

### Сжатые текстуры

Если вы включите сжатие текстур для своего приложения, экспортер сначала выполнит экспорт как обычно, а затем создаст сжатые (.ktx2) версии файлов текстур. Эти файлы автоматически выбираются приложением вместо стандартных PNG/JPEG/WebP изображений.

### Дополнительные файлы

Сложные приложения могут использовать HTML-макеты, разработанные в сторонних программах (например: «Вебфлоу» или «Гугл Веб Дизайнер»), в которые 3Д-приложения встраиваются с помощью элемента iframe. В таких случаях, HTML-макет может быть сохранен в папке приложения без каких-либо изменений и автоматически подхватится диспетчером приложений. Сложные HTML-макеты могут иметь собственную иерархию файлов и включать дополнительные файлы .css/.js, шрифты и изображения.

## Все еще есть вопросы?

Задавайте их на нашем форуме!