Системные пазлы (System)
Эти пазлы могут использоваться для выполнения различных системных функций, таких как вывод в консоль, измерение производительности, получение/установка плотности отображаемых пикселей, получение информации о GPU и использование постоянного браузерного хранилища.

Содержание
Перечень пазлов
print to console
Выводит данные любого типа (вывод из какого-либо пазла, переменную или просто текст) в браузерную консоль. Вывод в консоль является наиболее универсальным и простым в использовании методом отладки ваших скриптов.

print performance info
Записывает профиль производительности в течение 1 секунды и выводит его в браузерную консоль. Используйте этот профиль для поиска узких мест производительности и улучшения скорости рендеринга и загрузки приложений. Подробнее здесь.

check performance
Измеряет производительность пользовательского компьютера или устройства. Внутри пазла используется открытая библиотека Detect GPU, чтобы быстро найти готовый результат измерения производительности и выдать характеристику GPU пользователя как "good" (хорошая) or "poor" (плохая).

В зависимости от вызываемого слота пазла, вы можете выключать какие-то функции (такие как эффекты постобработки) для медленных GPU. С другой стороны, если GPU пользователя выглядит мощным, вы можете выдать более хорошее качество рендеринга.
Результат измерения производительности также доступен на странице WebGL Report, которую можно открыть в любом браузере.

Если пазл выдаёт "good", это не значит, что вы можете делать тяжёлую графику. Даже в этом случае вам нужно тщательно оптимизировать приложение!
feature available
Проверяет, доступна ли функция, выбранная из выпадающего списка, в браузере пользователя. Если функция доступна, пазл возвращает true
, если нет, то false
.

Функции, которые могут быть проверены с помощью этого пазла:
Функция | Описание |
---|---|
Mobile Device | Приложение запущено на мобильном устройстве (телефоне, планшете или портативном устройстве виртуальной реальности). |
Android | Приложение запущено на устройстве с ОС «Андроид». |
iOS | Приложение запущено на устройстве с ОС «АйОС» или «АйпадОС». |
Windows | Приложение запущено на устройстве с ОС «Виндоус». |
macOS | Приложение запущено на устройстве с «Мак ОС». |
ChromeOS | Приложение запущено на устройстве с «Хром ОС». |
Linux | Приложение запущено на «Линуксе» («Убунту», «Федора» и т.д.). |
Google Chrome | Приложение запущено в браузере «Гугл Хром» или на одном из его клонов («Хромиум», «Брейв», но не «Эдж»). |
Firefox | Приложение запущено в браузере «Файрфокс». |
Internet Explorer | Всегда false , поскольку «Интернет Эксплорер» давно не поддерживается в «Вердж3Д». Эта функция остаётся для совместимости. |
Microsoft Edge | Приложение запущено в браузере «Майкрософт Эдж». |
Safari | Приложение запущено в браузере «Сафари». |
Touch Screen | Система имеет сенсорный экран («тачскрин»). |
Retina Display (HiDPI) | Система имеет экран с высокой плотностью пикселей («Ретина»), т.е. его параметр native screen scale больше или равен 2 . |
High Dynamic Range (HDR) | «Вердж3Д» приложение запущено в режиме высокого динамического диапазона. Эта характеристика не имеет отношения к поддержке системой пользователя HDR-мониторов. |
Web Audio API | Система поддерживает технологию Web Audio (в настоящее время практически всегда поддерживается). |
WebGL | Система поддерживает WebGL (по крайней мере версию 1.0 этого стандарта). |
WebGL 2.0 | Система поддерживает WebGL версии 2.0. |
WooCommerce | Приложение запущено на продуктовой странице, созданной с помощью плагина к «Вордпрессу» — «Ву Коммерц». |
Do Not Track | Браузер выставил настройку "Do Not Track". Эта функция считается устаревшей и больше не используется. |
get GPU
Выводит информацию о GPU пользователя: производитель (vendor), например: NVIDIA Corporation, Apple Inc., Qualcomm, и модель (model), например: GeForce GTX 1060 3GB/PCIe/SSE2, Apple A9 GPU, Adreno (TM) 330.

set screen scale
Устанавливает коэффициент разрешения для 3Д-холста. Установите >1
для улучшения качества, <1
для улучшения производительности. 1
— это масштаб экрана по умолчанию независимо от плотности пикселей экрана.

Чтобы предотвратить рендеринг слишком большого количества пикселей на дисплеях с высокой плотностью, «Вердж3Д» использует по умолчанию коэффициент масштабирования равный 1. Если производительность не вызывает беспокойства, включите рендеринг с высокой плотностью пикселей, установив масштаб экрана на «родной».
native screen scale
«Родной» (зависит от аппаратного обеспечения и масштабирования браузера) коэффициент разрешения 3Д-холста. Если вы не увеличиваете или не уменьшаете вашу страницу, это значение равно 1 для обычных экранов и >1 для HiDPI-мониторов, современных смартфонов и планшетов.

detect gamepad device
Определяет игровые манипуляторы («геймпады»), подключенные к системе или отключенные от нее. При обнаружении нового устройства срабатывают пазлы, указанные в слоте once connected do. При отключении устройства срабатывают пазлы, указанные в слоте once disconnected do. В любом случае значение gamepad index устанавливается и возвращает индекс устройства.

gamepad index
Возвращает индекс подключенного/отключенного игрового манипулятора.

get gamepad property
Возвращает свойство игрового манипулятора для устройства с заданным индексом.

Свойства:
- connection status — подключено ли устройство (выдает true) или отключено (выдает false).
- axis — положение оси («джойстика») устройства в диапазоне -1.0–1.0. Например аналоговый джойстик для большого пальца, встречающийся на всех последних моделях геймпадов, представлен двумя осями: влево-вправо и вверх-вниз.
- button — состояние кнопок устройства. Выдает true когда кнопка нажата, в противном случае false .
- analog button — состояние аналоговых кнопок. Аналогичен button, но может определять усилие нажатия на кнопку. Выдает значение в диапазоне 0–1.
- id — строка идентификатора устройства. Определяет марку и модель подключенного устройства.
- timestamp — время, когда были обновлены оси/кнопки игрового манипулятора. Вы можете хранить это значение в переменной и сравнивать с текущей меткой времени каждый кадр, чтобы определить, что какой-то джойстик/кнопка были передвинуты/нажаты.
- mapping — раскладка устройства: "standard" для стандартных манипуляторов, "xr-standard" для манипуляторов, используемых в виртуальной и дополненной реальности, "" (пустая строка) для неизвестных устройств.
- debug info — выходная строка с отладочной информацией. Выведите эту информацию с помощью пазла print to console, чтобы узнать, какие кнопки или джойстики доступны на подключенном игровом манипуляторе.
Данная функциональность используется в демо-приложении «Приключения фермера» (исходные файлы доступны в магазине ассетов).
Для назначения кнопок/джойстиков в вашем приложении используйте инструмент «Диагностика геймпада», свойство debug info или следуйте стандартной раскладке геймпада (работает не для всех типов устройств):
Для геймпадов устройств виртуальной реальности раскладка отличается:
storage set
Сохраняет ключ-значение в локальном хранилище браузера. Информация записанная в локальное хранилище не имеет срока давности и сохраняется даже при закрытии браузера. Замечение: локальное хранилище в «приватном» или «инкогнито»-режимах удаляется сразу после закрытия последней вкладки.
Ключ должен быть строкой. В качестве значения можно использовать следующие типы данных: число, строка, список, словарь.

storage get
Возвращает значение из локального хранилища браузера по заданному ключу.

storage remove
Удаляет значение из локального хранилища браузера по заданному ключу.

storage check
Проверяет, существует ли значение связанное с заданным ключём в локальном хранилище браузера.

close app
Закрывает «Вердж3Д»-приложение. Из-за ограничений безопасности, накладываемых браузерами, этот пазл работает только для приложений, сделанных на «Электроне», «Кордове» и страниц открытых программным способом.

Проблемы с пазлами?
Обращайтесь за помощью на наш форум!