2016-11-24 73 views
0

我正在创造一个雪人,它的胃是一个雪球。我想知道是否有办法在场景中创建场景。基本上,当我滚动到他的肚子,我想加载一个不同的场景。这可能吗。这是我迄今为止的基本代码。场景内有三个js

<!DOCTYPE html> 
<html> 


<head> 
    <title></title> 
     </head> 
     <body> 
     <script src="three.js"></script> 
     <script src="TrackballControls.js"></script> 
     <script> 

     var camera, controls, scene, renderer; 

     init(); 
     animate(); 

     function init() { 
     camera = new THREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight, 0.1, 1000); 
     camera.position.z = 10; 

     controls = new THREE.TrackballControls(camera); 
     controls.addEventListener("change", render); 

     scene = new THREE.Scene(); 

     var geometry = new THREE.SphereGeometry(4,32,32); 
     var material = new THREE.MeshBasicMaterial({ color: 0xcacec6 }); 
     var middleSphere = new THREE.Mesh(geometry, material); 
     scene.add(middleSphere); 
     middleSphere.position.y = -0.5; 

     renderer = new THREE.WebGLRenderer(); 
     renderer.setSize(window.innerWidth, window.innerHeight); 
     document.body.appendChild(renderer.domElement); 
     } 

     function ani`enter code here`mate() { 
     requestAnimationFrame(animate); 
     controls.update(); 
     } 

     function render() { 
     renderer.render(scene, camera); 
     } 


    </script> 


    </body> 
</html> 
+0

我不会找人来解决这个问题。我只是想在正确的方向推动。 – suprkain

回答

0

我会建议制作一个额外的场景,可能有自己的相机,并加载你想要的物体。

然后在render()或animate()中进行某种检查。

伪代码

make scene1 with objects and camera1 
make scene2 with objects and camera2 
make empty scene called currentScene 
set currentScene to scene1 
set currentCamera to camera1 
create sceneIndex or a bool to check which scene and camera is currently used 

//in render() or animate() 
if(sceneIndex == 1 && its position inside snowman) 
currentScene = scene2, currentCamera = camera2 and update sceneIndex 

else if(sceneIndex == 2 && its cameraposition outside snowman) 
currentScene = scene1, currentCamera = camera1 and update sceneIndex 

//render 
renderer.render(currentScene,currentCamera) 

希望它可以帮助