Пазлы сцены (Scenes)
Пазлы из этой категории выполняют различные операции со сценами и рендерингом.
![](files/puzzles/puzzles-scenes.jpg)
Содержание
Перечень пазлов
load scene + percentage
При срабатывании этого пазла текущая сцена выгружается, и загружается новая сцена из указанного файла .gltf.
![](files/puzzles/puzzles-scenes-load-scene.jpg)
После завершения загрузки запускаются пазлы в слоте "when loaded do". Кроме того, существует дополнительный слот "on progress do". Пазлы, помещенные в этот слот, постоянно срабатывают во время загрузки и могут задействовать пазл "percentage". После загрузки сцены ей присваивается имя, которое можно использовать для доступа и манипулирования сценой с помощью различных пазлов, связанных с объектами. По умолчанию присвоенное имя равно указанному УРЛ сцены (например, 'path/to/scene.gltf'). Опция "alias", если она включена, позволяет задать имя вручную.
Еще один дополнительный слот "on error do" срабатывает в случае ошибок загрузки (например, отсутствующий файл ГЛТФ).
![](files/puzzles/puzzles-scenes-load-scene-example.jpg)
append scene + percentage
При срабатывании этого пазла новая сцена загружается из указанного файла .gltf и добавляется к текущей сцене.
![](files/puzzles/puzzles-scenes-append-scene.jpg)
После завершения загрузки запускаются пазлы в слоте "when loaded do". Также может быть включен слот "on progress do". Пазлы, помещенные в этот слот, постоянно срабатывают во время загрузки и могут использовать пазл "percentage". Пазл "append scene" по умолчанию не загружает камеры и свет из новой сцены. Это можно изменить в опциях пазла.
После добавления сцены ей присваивается имя, которое может быть использовано для доступа и манипулирования сценой с помощью различных пазлов, связанных с объектами. По умолчанию присвоенное имя равно указанному УРЛ сцены (например, 'path/to/scene.gltf'). Опция "alias", если она включена, позволяет задать имя вручную.
Еще один дополнительный слот "on error do" срабатывает в случае ошибок загрузки (например, отсутствующий файл ГЛТФ).
![](files/puzzles/puzzles-scenes-append-scene-example.jpg)
unload scene
Выгружает указанную сцену или ее часть из приложения. Используйте пустое текстовое значение для выгрузки всех сцен.
![](files/puzzles/puzzles-scenes-unload-scene.jpg)
enable rendering
Возобновляет ранее отключенный рендеринг.
![](files/puzzles/puzzles-scenes-enable-rendering.jpg)
disable rendering
Отключает рендеринг. Графика не будет обновляться, но пользовательские события будут фиксироваться, а временная шкала анимации будет прогрессировать.
![](files/puzzles/puzzles-scenes-disable-rendering.jpg)
Вы можете использовать отключение рендеринга с целью экономии заряда батареи на мобильных устройствах или ноутбуках и избавления от шума кулера на настольных компьютерах. Вы также можете включить опцию anti-alias, чтобы значительно повысить качество рендеринга и компенсировать потерю производительности. Эта опция нацелена на следующий кадр после остановки рендеринга.
![](files/puzzles/puzzles-scenes-enable-disable-rendering-example.jpg)
create environment
Создайте новое освещение на основе изображения и назначьте сцене фон. Этот пазл также создает новый материал с именем, указанным в качестве первого параметра, и добавляет его в сцену. Вы можете использовать этот материал для замены текстур или цветов окружения.
Второй параметр может быть любым:
- color—освещение окружения будет основано на HDR-изображении 256×128 по умолчанию, фон будет основан на значении серого цвета по умолчанию.
- texture—и освещение среды, и фон будут основаны на стандартном HDR-изображении 256×128.
![](files/puzzles/puzzles-scenes-create-environment-example.jpg)
batch geometry
Слияние геометрии указанной группы мешей для повышения производительности рендеринга. При выполнении пазл собирает меши с похожими свойствами, такими как используемый материал, настройки тени, порядок рендеринга и т.д., затем создает и добавляет новую группу в сцену. Объекты, которые не могут быть объединены вместе, остаются нетронутыми.
![](files/puzzles/puzzles-scenes-batch-geometry.jpg)
Чтобы увидеть, как работает пакетная обработка, просто откройте браузерную консоль:
![](files/puzzles/puzzles-scenes-batch-geometry-console.jpg)
В каждой строке "Adding batch object..." можно увидеть имя создаваемого пакетного объекта. Это имя состоит из названия материала, образующего пакет, коэффициента 'x', представляющего количество мешей, объединенных вместе, и постфикса "_batch".
Например:
Adding batch object: big_table_wood_x6_batch
строка означает, что 6 мешей с материалом "big_table_wood" были объединены в новый пакетный объект "big_table_wood_x6_batch".
Поскольку части пакета становятся "закрепленными" вместе, убедитесь, что вы не объединяете в пакет объекты, которые вы планируете перемещать, анимировать или изменять отдельно от пакета.
export to gltf
Экспортирует сцену, модель или группу моделей в формат ГЛТФ 2.0 (glTF 2.0). Укажите опцию only visible для экспорта только видимых объектов, опция binary используется для экспорта в бинарный формат .glb (glTF Binary).
Для достижения наилучших результатов, а также для создания стандартных файлов ГЛТФ (без расширений «Вердж3Д»), которые могут просматриваться сторонними программами просмотра ГЛТФ (например, программой просмотра 3Д-моделей в «Майкрософт Виндоус» 10-11), мы рекомендуем вам использовать материалы, совместимые с ГЛТФ. Читайте об их создании в «Блендере», «3дс Максе» и «Майе».
![Визуальный блок программирования для экспорта в формат ГЛТФ](files/puzzles/puzzles-scenes-export-to-gltf.jpg)
export to usdz
Экспортировать сцену или модель в формат ЮСДЗ (USDZ, Universal Scene Description).
![Визуальный блок программирования для экспорта в формат ЮСДЗ](files/puzzles/puzzles-scenes-export-to-usdz.jpg)
Этот формат позволяет просматривать сцену или модель на устройствах «Эпл» («Айфон», «Айпад») в режиме дополненной реальности. Для этого вам потребуется создать ХТМЛ-элемент <a> где-нибудь на странице приложения и указать ссылку на экспортированный ассет в виде параметра href этого элемента.
Данная функциональность используется в демо-приложении «Дополненная реальность» (качайте в магазине ассетов).
Для достижения наилучших результатов мы рекомендуем вам использовать материалы, совместимые с ГЛТФ. Читайте об их создании в «Блендере», «3дс Максе» и «Майе».
raycast
Проводит луч из исходной точки (или объекта) в заданном направлении и отображает список всех пересечений (если они есть). Третий параметр пазла используется для уменьшения количества пересекаемых объектов. Оставьте none или укажите имя вашей сцены, чтобы пересечь все объекты, расположенные в загруженной сцене.
Отображаемый список содержит последовательность словарей со следующей информацией:
- object — имя пересекаемого объекта
- distance — расстояние до точки пересечения
- point — XYZ координаты (вектор) точки пересечения
- normal — XYZ координаты (вектор) нормали в точке пересечения
- uv — UV координаты точки пересечения
Список пересечений отсортирован по расстоянию - от ближайшего.
![](files/puzzles/puzzles-scenes-raycast.jpg)
add fog
Добавляет эффект тумана к сцене. Проставьте нули либо для RGB, либо для density, чтобы отключить добавление тумана.
![](files/puzzles/puzzles-scenes-add-fog.jpg)
Проблемы с пазлами?
Обращайтесь за помощью на наш форум!