首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >场景中有三个js的场景

场景中有三个js的场景
EN

Stack Overflow用户
提问于 2016-11-24 15:37:58
回答 1查看 1.2K关注 0票数 0

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

代码语言:javascript
复制
<!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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-03 08:24:22

我建议做一个额外的场景,可能用它自己的相机,并加载你想要的对象在里面。

然后在你的呈现()或动画()中进行某种检查。

伪码

代码语言:javascript
复制
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)

希望它能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40790208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档