我一直在尝试找到一种方法,可以在three.js中切换两个场景。我知道可以使用sceneLoader / exportScene组合加载场景。
代码取自josdirksen/learning-threejs - loading a scene
var controls = new function () {
this.exportScene = function () {
var exporter = new THREE.SceneExporter();
var sceneJson = JSON.stringify(exporter.parse(scene));
localStorage.setItem('scene', sceneJson);
};
this.clearScene = function () {
scene = new THREE.Scene();
};
this.importScene = function () {
var json = (localStorage.getItem('scene'));
var sceneLoader = new THREE.SceneLoader();
sceneLoader.parse(JSON.parse(json), function (e) {
scene = e.scene;
}, '.');
}
};
根据我对以上代码的理解,您需要先加载场景,然后才能将其提取并保存到本地存储中,最后再将其放回场景。我知道SceneLoader现在已过时。
对于我的情况,我想要进行初始场景加载,然后通过点击“scene2”按钮来仅显示场景2,如果我点击“scene1”按钮,则返回仅查看场景1(请参见下面的fiddle)。 A Basic Example setup 我不确定从哪里开始,因此任何指针建议或建议都会有所帮助。