雾隐藏天空盒(THREE.JS R76)

Mic*_*one 1 javascript three.js skybox

我有一个圆柱体,相机留在里面。我设置了雾,所以管子的末端不可见 - 但是我希望天空盒通过圆柱体的 alpha 贴图侧可见。雾阻挡了能见度,我想知道需要做些什么来解决这个问题。

var POS_X = 0,
    POS_Y = 0,
    POS_Z = 0,
    FOV = 60,
    WIDTH = window.innerWidth,
    HEIGHT = window.innerHeight,
    NEAR = 1,
    FAR = 120000, //Camera Far Distance
    renderer = new THREE.WebGLRenderer({antialias:true}),
Run Code Online (Sandbox Code Playgroud)

………………

function addFog(){
    scene.fog = new THREE.Fog(0x000000, 100, 40000);
}
Run Code Online (Sandbox Code Playgroud)

………………

function addSkybox(){
    var materialArray = [],
        imgArray = ["skybox_right.jpg", "skybox_left.jpg",
        "skybox_front.jpg", "skybox_back.jpg",
        "skybox_top.jpg", "skybox_bottom.jpg"];

    for (var i = 0; i < 6; i++){
        materialArray.push( new THREE.MeshBasicMaterial({
            map: loader.load( imgArray[i] ),
            side: THREE.BackSide
        }));
    }

    var skyMat = new THREE.MeshFaceMaterial( materialArray ),
        skyGeo = new THREE.BoxGeometry( 100000, 100000, 100000, 1, 1, 1),
        sky = new THREE.Mesh(skyGeo, skyMat);

    sky.name="skybox";
    scene.add(sky);
}
Run Code Online (Sandbox Code Playgroud)

yom*_*tsu 5

您可以添加fog: false忽略雾效果。

for (var i = 0; i < 6; i++){
    materialArray.push( new THREE.MeshBasicMaterial({
        map: loader.load( imgArray[i] ),
        side: THREE.BackSide,
        fog: false
    }));
}
Run Code Online (Sandbox Code Playgroud)