Спасибо за ссылки, оказались очень полезны, только есть небольшая проблема с менеджером сцен, он создает все сцены при загрузке страницы и хранит их всегда в памяти, можно ли как-то сделать подгрузку сцены только при необходимости? А при не надобности удалять из памяти?
SheldonCoop: Я плохо разбираюсь в js и threejs, но могу посоветовать как в принципе лучше сделать. Тебе по сути надо менять scene и camera здесь:
renderer.render(scene, camera);
Тот менеджер этим и занимается, кроме этого обновляя время.
Лучше для каждой сцены иметь свой класс, где в одном методе описывается сцена (конструктор), в другом эта сцена выгружается (деструктор/сборщик мусора) и метод для обновления логики с дельтой времени. Когда нужно сменить сцену, вызывается метод у менеджера, в котором выгружается текущая сцена и загружается новая, при этом менеджер между кадрами вызывает метод с логикой текущей сцены.