Импорт частей кода
Last updated
Last updated
Очень часто при создании проекта в продвинутом редакторе вам может понадобиться импортировать некоторые библиотеки или расширения THREE.js.
Примером может служить класс THREE.js OrbitControls, который необходим для добавления возможности управления камерой во время работы сцены (не работает в AR). Или отдельные 3D-библиотеки, такие как THREE.Reflector (позволяет создавать отражения, работающие в AR).
Далее мы поговорим о добавлении возможности поворота камеры во время воспроизведения сцены. Это может понадобиться, например, для того, чтобы иметь возможность проверить работу созданного интерфейса, как показано в статье Создание UI, или для просмотра сцены с разных ракурсов.
Чтобы добавить стороннюю библиотеку, необходимо создать новый сценарий.
Затем нажмите на кнопку Edit, чтобы открыть редактор кода.
Далее я просто копирую этот код и вставляю его в сценарий в расширенном редакторе.
Как видите, в верхней части консоли возникает ошибка, поскольку в исходный код импортируются различные библиотеки, но эти библиотеки уже находятся в редакторе по умолчанию, поэтому нам нужно изменить эту часть кода (с 1 по 9 строку).
Было:
Стало:
Но в самом низу кода экспортируется эта библиотека:
Эту строчку тоже нужно удалить.
Таким образом, при импорте библиотек части импорта или экспорта должны быть обязательно изменены/удалены.
В этом случае OrbitControls не будет работать, так как необходимо вызвать импортированный код.
Как это сделать, описано в документации OrbitControls.
Если добавить пример операции в самом низу и переименовать animate()
в update()
, как показано в документации OrbitControls, все будет работать.
Ниже прикреплен файл, где используется OrbitControls. Вы можете вставить его в продвинутый редактор и посмотреть на код, а также на то, как работает сцена.
OrbitControls нужен только для просмотра сцены в расширенном редакторе и для ее тестирования. Обязательно удалите этот скрипт, когда сцена будет готова (т.е. перед экспортом из расширенного редактора), иначе сцена не будет корректно работать при загрузке в простой редактор.
Теперь по поводу кода самой библиотеки OrbitControls. Скрипт был взят с официального github разработчиков THREE.js. Ссылка на данную библиотеку: .