实际上我正在尝试通过OBJMTLloader上传这些.obj和.mtl文件。一切正常,但是没有上传map_d加载的mtl文件中的图像。
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 :(得分: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
答案 1 :(得分:0)
three.js不支持任何材料中的alpha-maps。
解决方法是将alpha-map烘焙到漫反射贴图的alpha通道中。
three.js r.66