我已经在ThreeJS工作了一段时间,我试图使用OBJ + MTL加载器加载房屋模型,现在我需要为窗口材料应用玻璃着色器
我设法通过
成功加载模型var mtlLoader = new THREE.MTLLoader();
mtlLoader.setBaseUrl( 'new/' );
mtlLoader.setPath( 'new/' );
mtlLoader.load( 'House.mtl', function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.setPath( 'new/' );
objLoader.load( 'House.obj', function ( object ) {
object.position.y = - 5;
object.scale.x=object.scale.y=object.scale.z=0.05
object.castShadow = true;
object.receiveShadow = true;
object.traverse( function( node ) { if ( node instanceof THREE.Mesh ) { node.castShadow = true;
node.receiveShadow = true; } } );
mesh = object;
scene.add( mesh );
});
});
现在我想在这个模型中添加用于房屋窗户的玻璃着色器,我应该以哪种方式编码,如何从加载的房屋中获取参考来制作着色器? 还有其他任何编码玻璃着色器的方法吗?