Комплект разработчика Вердж3Д

Комплект разработчика «Вердж3Д» (англ. Developer Kit, DevKit) — это набор примеров, инструментов и исходного кода, которые поставляются с корпоративными версиями «Вердж3Д». Этот набор поможет вам выполнять различные задачи разработчика, такие как:

Комплект разработчика предназначен для опытных программистов, желающих изучать или модифицировать движок. Он не нужен для создания приложений «Вердж3Д» со стандартным набором функций (с помощью пазлов или «Ява Скрипта»).

Установка и настройка

Скачайте архив DevKit из раздела загрузок вашей учетной записи. Распакуйте этот архив в выбранную вами директорию.

Если вы собираетесь собрать движок «Вердж3Д» или редактор пазлов из исходного кода, вам понадобится утилита npm, которая является частью среды разработки Node.js. Вы можете установить ее с помощью этих инструкций.

Структура комплекта разработчика

DevKit включает следующие папки:

Папка DevKit Описание
build Готовые скрипты движка «Вердж3Д» и дополнительные модули (ammo.js и т.д.).
puzzles Собранные скрипты и исходный код редактора пазлов.
src Исходный код движка «Вердж3Д».
templates Шаблоны приложений «Вердж3Д».
utils Различные утилиты и сборочные зависимости.
wordpress Исходный код плагина «Вердж3Д для Вордпресса» (написан на PHP).
xz Исходный код модуля сжатия XZ.

В папке build, DevKit предоставляет 4 варианта рантайма «Вердж3Д»:

v3d.js
Минифицированная (оптимизированная) версия, пригодная для большинства приложений. Этот рантайм предоставляет классы/функции/константы в виде глобального пространства имён v3d. Данная версия используется в диспетчере приложений и большинстве демо-приложений из магазина ассетов.
v3d.unminified.js
Неминифицированная (неоптимизированная) версия рантайма выше. Чтобы воспользоваться её, скопируйте данный файл в папку с приложением и переименуйте в v3d.js, заменяя существующий файл с тем же именем.
v3d.module.js
Минифицированная (оптимизированная) версия, предоставляющая ES6 модули вместо глобального пространства имён v3d.
v3d.module.unminified.js
Неминифицированная (неоптимизированная) версия рантайма выше.

Сборка «Вердж3Д»

Перед компиляцией «Вердж3Д», пожалуйста, убедитесь что вы установили npm, как описано выше.

После установки npm, перейдите в распакованную папку с DevKit и выполните следующую команду для установки зависимостей:

npm install

В случае, если вам потребуется пересобрать редактор пазлов, потребуется установить дополнительные зависимости для папок puzzles и puppeteer_testing:

npm install --prefix puzzles && npm install --prefix utils/puppeteer_testing

Чтобы сделать неоптимизированную сборку «Вердж3Д», подходящую для тестирования и отладки, выполните следующую команду в директории DevKit:

npm run build

Вы можете найти скомпилированные модули в директории build вашего DevKit. Чтобы протестировать их работу, просто скопируйте модуль движка v3d.js в папку с вашим приложением, например:

cp build/v3d.js APPS_FOLDER/my_awesome_application

Чтобы скомпилировать оптимизированную версию «Вердж3Д» (она же релизная версия), выполните следующую команду в директории DevKit:

npm run build-release

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

npm run build-puzzles

Чтобы собрать оптимизированную версию, выполните команду:

npm run build-puzzles-release

Скомпилированный скрипт редактора пазлов находится в директории puzzles вашего DevKit. Чтобы применить его к «Вердж3Д», скопируйте все содержимое этого каталога в каталог puzzles в вашей директории «Вердж3Д» (заменяя уже существующие там файлы).

Активация модуля движка

Для подписывания скомпилированного модуля движка лицензионным ключом, используется утилита keymanager.py, расположенная в папке utils (требуется установленный «Питон»):

./keymanager activate ../build/v3d.js XXXXXXXXXX

Где XXXXXXXXXX — ваш лицензионный ключ. Поскольку утилита не выводит никакой информации в случае успеха или неудачи, убедитесь, что активация прошла успешно, скопировав модуль движка в какое-нибудь приложение и проверив что водяной знак MADE WITH VERGE3D TRIAL больше не выводится.

Добавление нового метода в «Ява Скрипт» API

Допустим, вы хотите добавить еще один метод в класс App. Например, метод printHelloWorld() должен вывести что-то на консоль браузера:

App.printHelloWorld()

Класс App реализован в модуле, расположенном по адресу src/extras/App.js Откройте его и добавьте следующий код в конец файла, прямо перед закрывающими скобками класса App.

printHelloWorld() { console.log('Привет, Мир!'); }

Соберите и скопируйте рантайм «Вердж3Д» v3d.js пазлов в папку с приложением. Чтобы протестировать новый метод, откройте браузерную консоль и введите:

v3d.apps[0].printHelloWorld()

Проверьте что строка "Привет, Мир!" выводится строчкой ниже.

Добавление нового класса в «Ява Скрипт» API

Чтобы дополнить API «Вердж3Д» каким-либо пользовательским классом, создайте .js файл с именем вашего класса в соответствующем подкаталоге папки src DevKit (например, src/extras/MyAwesomeClass.js). В этом .js-файле реализуйте свой класс - вы можете вдохновиться уже существующими классами. Наконец, зарегистрируйте свой класс в глобальном пространстве имен v3d, добавив следующую строку в файл src/v3d.js:

export { MyAwesomeClass } from './extras/MyAwesomeClass.js';

Соберите и скопируйте среду выполнения «Вердж3Д» v3d.js в ваше приложение и попробуйте воспользоваться новым классом в консоли браузера.

const myAwesomeStuff = new v3d.MyAwesomeClass(); myAwesomeStuff.whatEver();

Добавление новых пазлов

Чтобы создать собственный блок пазлов, отредактируйте файл puzzles/src/puzzles_blocks.js Вы можете вдохновиться уже существующими пазлами. Зарегистрируйте его в соответствующей категории панели инструментов в верхней части файла.

Соберите и скопируйте среду выполнения пазлов в папку с установленным «Вердж3Д». Теперь вы должны найти свой новый пазл в панели инструментов редактора пазлов.

Вместо редактирования файла puzzles_blocks.js, вы можете оформить ваш код в виде плагина, что сделает его более универсальным.

Удаление строки с версией «Вердж3Д» из браузерной консоли

Каждый раз при запуске «Вердж3Д»-приложения пользователь может наблюдать следующую строку в браузерной консоли:

Строка содержит информацию о версии рантайма «Вердж3Д», о статусе лицензирования, а также об используемой версии WebGL.

Если по каким-то причинам вывод данной информации нежелателен, вам потребуется модифицировать исходники движка. Откройте файл src/renderers/WebGLRenderer.js. Найдите следующую строку:

const PRINT_VERGE3D_LINE = true;

и установите данную константу в false:

const PRINT_VERGE3D_LINE = false;

Соберите и скопируйте рантайм «Вердж3Д» v3d.js пазлов в папку с приложением. Убедитесь, что строка с версией больше не выводится.

Остались вопросы?

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