我正在尝试在实际场景之外创建一个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);
如果有人可以帮我解决这个问题,我会非常感激:)