🇷🇺
MyWebAR Knowledge Base
Язык Ру
Язык Ру
  • База знаний для разработчиков MyWebAR
  • С ЧЕГО НАЧАТЬ
    • Регистрация
    • Обзор страницы Dashboard
    • Обзор редактора
    • Создание проекта в MyWebAR
  • ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ MYWEBAR
    • Создание сцены с трекингом на изогнутых изображениях
    • Создание AR-визитки
    • Создание портала в MyWebAR
    • Оживающая фотография
    • Интерактив с 3D-моделью
  • ПЛАНЫ И ПОДПИСКИ
    • Бесплатная пробная подписка
    • Обновление вашего плана
    • Коммерческие планы
    • Планы для образования
  • СОЗДАНИЕ ПРОЕКТОВ WEBAR
    • Типы проектов
    • Проекты с мультимаркерным трекингом (книги)
    • Добавление объектов
    • Как добавить 3D-модель из библиотеки моделей
    • Как добавить 3D-модель из Sketchfab
    • Свойства объекта
    • Кнопки и действия
    • Поведения объектов
    • Воспроизведение видео
    • 3D Анимации
    • Аналитика проектов
    • Как сделать хорошее отслеживаемое изображение для дополненной реальности
    • Оптимизация и подготовка 3D-моделей к загрузке
    • Брендирование проекта и его настройки
    • Работа с доступными плагинами
    • Существующие плагины и как с ними работать
    • Видео инструкции
  • КАСТОМИЗАЦИЯ WEBAR
    • Кастомный домен
    • Использование внешнего хранилища
    • Встраивание WebAR
  • Pro Editor
    • Как устроен Pro Editor
      • Описание интерфейса
      • Основные возможности
    • Требования по размещению кода
      • Пример интеграции готового скрипта
      • Создание частиц в Pro Editor
      • Работа с видео
      • Работа с анимациями 3D-объектов
    • Текущие ограничения
      • Работа с камерой
      • Создание UI
      • Загрузка объектов с помощью класса loader
      • Импорт частей кода
    • Кейсы
      • Добавление изображений
      • Эффект бликов на объективе (Lens Flare)
      • Пошаговое создание мини-игры
      • Переключение содержимого по нажатию
      • Пошаговое создание квеста
Powered by GitBook
On this page
  • Описание ограничения
  • Добавление сторонней библиотеки
  1. Pro Editor
  2. Текущие ограничения

Импорт частей кода

PreviousЗагрузка объектов с помощью класса loaderNextКейсы

Last updated 2 years ago

Описание ограничения

Очень часто при создании проекта в продвинутом редакторе вам может понадобиться импортировать некоторые библиотеки или расширения THREE.js.

Примером может служить класс THREE.js OrbitControls, который необходим для добавления возможности управления камерой во время работы сцены (не работает в AR). Или отдельные 3D-библиотеки, такие как THREE.Reflector (позволяет создавать отражения, работающие в AR).

Добавление сторонней библиотеки

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

Чтобы добавить стороннюю библиотеку, необходимо создать новый сценарий.

О том, как добавлять скрипты, можно прочесть в статье .

Затем нажмите на кнопку Edit, чтобы открыть редактор кода.

Далее я просто копирую этот код и вставляю его в сценарий в расширенном редакторе.

Как видите, в верхней части консоли возникает ошибка, поскольку в исходный код импортируются различные библиотеки, но эти библиотеки уже находятся в редакторе по умолчанию, поэтому нам нужно изменить эту часть кода (с 1 по 9 строку).

Было:

import {
	EventDispatcher,
	MOUSE,
	Quaternion,
	Spherical,
	TOUCH,
	Vector2,
	Vector3
} from '../../../build/three.module.js';

Стало:

const {
	EventDispatcher,
	MOUSE,
	Quaternion,
	Spherical,
	TOUCH,
	Vector2,
	Vector3
} = THREE;

Но в самом низу кода экспортируется эта библиотека:

export { OrbitControls, MapControls };

Эту строчку тоже нужно удалить.

Таким образом, при импорте библиотек части импорта или экспорта должны быть обязательно изменены/удалены.

В этом случае OrbitControls не будет работать, так как необходимо вызвать импортированный код.

Как это сделать, описано в документации OrbitControls.

Если добавить пример операции в самом низу и переименовать animate() в update(), как показано в документации OrbitControls, все будет работать.

Ниже прикреплен файл, где используется OrbitControls. Вы можете вставить его в продвинутый редактор и посмотреть на код, а также на то, как работает сцена.

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

Теперь по поводу кода самой библиотеки OrbitControls. Скрипт был взят с официального github разработчиков THREE.js. Ссылка на данную библиотеку: .

https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/OrbitControls.js
32KB
OrbitControlsWithObjectOnScene.json
Создание сценариев для сцены