skybox에 camera.far
매개 변수가 적용되지 않습니다. 하늘 상자가 아닌 다른 모든 장면 개체를 추려내고 싶습니다.Three.js Unculled SkyBox
skyBox.frustumCulled = false;
으로 설정하면 아무런 차이가 없습니다. skyBox
은 물론 메쉬입니다.
다른 렌더 패스를 추가하면됩니까? 그렇다면 하늘 상자를 볼 수 있도록 정말 멀리있는 두 개의 다른 카메라가 필요합니다. 이것이 어떻게 효율적으로 이루어질 수 있습니까?
shader = THREE.ShaderLib["cube"];
shader.uniforms["tCube"].value = this.cubetexture;
mat = new THREE.ShaderMaterial({
uniforms: shader.uniforms,
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
depthWrite: false,
side: THREE.BackSide
});
geo = new THREE.BufferGeometry().fromGeometry(new THREE.BoxGeometry(1024, 1024, 1024));
mesh = new THREE.Mesh(geo, mat);
mesh.rotation.y += 90;
mesh.scale.x = mesh.scale.y = mesh.scale.z = 50;
mesh.frustumCulled = false;
mesh.matrixAutoUpdate = false;
mesh.rotationAutoUpdate = false;
mesh.updateMatrix();
this.skybox = mesh;
scene.add(this.skybox);
와우! 멋져 보이네. 집에 올 때 한번 시도해 볼 때까지 기다릴 수는 없다.] – Hobbes
흠, 좋은 대답이지만 코드를 구현 한 이유는 내 스카이 박스 만 렌더링된다는 점이다. ( –