2014-02-12 29 views
0

其實我試圖通過OBJMTLloader來上傳這些.obj和.mtl文件。所有工作正常,但沒有上傳map_d加載的mtl文件中的圖像。three.js:如何在使用OBJMTL加載器時應用alpha-map?

newmtl睫毛

Ns 10.0000 
Ni 1.5000 
d 0.5000 
Tr 0.0000 
Tf 1.0000 1.0000 1.0000 
illum 2 
Ka 0.5880 0.5880 0.5880 
Kd 0.5880 0.5880 0.5880 
Ks 0.0000 0.0000 0.0000 
Ke 0.0000 0.0000 0.0000 

map_Ka EyelashesDiffuseTexture.jpg 
map_Kd EyelashesDiffuseTexture.jpg 
map_d EyeLashes_Opacity_Texture.jpg 

我的代碼是

var loader = new THREE.OBJMTLLoader(); 
    loader.load('upload/model.obj', 'upload/model.mtl', function (object) { 
             object.position.y = -35; 
             scene.add(object); 
           }); 
window.addEventListener('resize', onWindowResize, false); 
      } 
function onWindowResize() { 
       camera.aspect = window.innerWidth/window.innerHeight; 
       camera.updateProjectionMatrix(); 
       renderer.setSize(window.innerWidth, window.innerHeight); 
      } 

我需要在我的代碼改變什麼。 我試着這樣做可能的例子,並檢查了很多答案,但沒有得到有用的答案。

+0

感謝您的回覆!那麼有什麼辦法可以解決這個問題嗎? – Deepak3301086

+0

現在我這樣做。你是對的,我使用它的alpha通道。非常感謝。 – Deepak3301086

回答

0

three.js不支持其任何材質中的阿爾法地圖。

解決方法是將alpha圖映射到漫反射貼圖的alpha通道。

three.js r.66

1

現在three.js支持alpha地圖。但是你需要改變MTLLoaded.js。加入createMaterial_

case 'map_d': 
    // Alpha texture map 
    params[ 'alphaMap' ] = this.loadTexture(this.baseUrl + value); 
    params[ 'transparent' ] = true; 

    break; 

three.js所r.74

相關問題