2016-05-05 6 views
0

私は、カメラのシリンダーを持っています。チューブの端が見えないようにフォグが設定されていますが、スカイボックスをアルファマップの側から見たいシリンダー。フォグは可視性をブロックし、それを修正するために何が行われる必要があるのか​​不思議です。フォグを隠すSkybox(THREE.JS R76)

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}), 

............

function addFog(){ 
    scene.fog = new THREE.Fog(0x000000, 100, 40000); 
} 

............

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); 
} 
+0

あなたは霧の影響を受けないようにskyboxを6つの異なるオブジェクトに分割しようとしましたか? '.far' _霧が計算されて適用されなくなる最大距離。アクティブなカメラから遠く離れた対象物は、fog_ –

+0

の影響を受けません。私は言葉遣いと混同していると思います。私はシーンに、オブジェクトではなくオブジェクト3Dであるメッシュを追加していました。私がskyboxをオブジェクト3Dにすると、それはうまくいくようですね?私はすぐに試してみる必要があります。 –

+0

私は別の3Dオブジェクトとしてシーンにスカイボックスを追加しました。シリンダーは、別個のオブジェクトとしても追加されました。変更はありません。 –

答えて

1

あなただけfog: falseを追加することができますフォグ効果を無視する。

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

非常に洞察力ありがとうございます。まさに私が探していたもの! –

関連する問題