。如何在ThreeJS中创建CubeScene

时间:2016-03-10 14:36:34

标签: javascript three.js

我正在尝试在实际场景之外创建一个CubeScene。所以我可以使用CubeScene作为"房间",我的对象所在的位置。

我找到了一些代码片段,但它们对我不起作用。如果我理解这段代码片段的功能,它应该创建一个有6个边的Cuberoom。我将所有6面贴在纹理 blau.png 上,这是蓝色的。所以我应该能看到一个蓝色的房间,我的物体所在的位置。但我得到的只是没有Cuberoom。只是对象。

(当然我在渲染功能中渲染场景,相机和sceneCube,cameraCube)

camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 20000 );
camera.position.set( 8000, 0, cameraOffset ); 

cameraCube = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 20000 );
cameraCube.position.set( 80, 0, cameraOffset );  

sceneCube = new THREE.Scene();
sceneCube.add(cameraCube);

//---------------------

var r = "././images/";
    var urls = [
        r + "blau.png", r + "blau.png",
        r + "blau.png", r + "blau.png",
        r + "blau.png", r + "blau.png"
    ];

var textureCube = new THREE.TextureLoader();

textureCube.load( urls );
textureCube.format = THREE.RGBFormat;

var shader = THREE.ShaderLib[ 'cube' ];
shader.uniforms[ 'tCube' ].value = textureCube;

var material = new THREE.ShaderMaterial( {

    fragmentShader: shader.fragmentShader,
    vertexShader: shader.vertexShader,
    uniforms: shader.uniforms,
    depthWrite: false,
    side: THREE.BackSide

} )

room = new THREE.Mesh( new THREE.CubeGeometry( 1000, 1000, 1000 ), material );
sceneCube.add(room);

如果有人可以帮我解决这个问题,我会非常感激:)

0 个答案:

没有答案