MTLLoader

MTLLoader 负责加载 OBJLoader 的纹理, 里面描述了哪个几何模型对应哪个图片. 它采用相对路径来 引用纹理图片, 所以 load() 之前要调用 setPath(). mtl 文件包含如下信息:

newmtl _01_-_Default1noCulli__01_-_Default1noCulli
Ns 154.901961
Ka 0.000000 0.000000 0.000000
Kd 0.640000 0.640000 0.640000
Ks 0.165000 0.165000 0.165000
Ni 1.000000
d 1.000000
illum 2
map_Kd 01_-_Default1noCulling.JPG

下面这个模型及纹理的总大小为 637K

function MTLLoader( ) { } var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath('--'); mtlLoader.load('--.mtl', function(materials){ materials.preload(); var objLoader = new THREE.OBJLoader(); objLoader.setMaterials(materials); objLoader.load('--.obj', function(obj){ scene.add(obj); }); });

Methods

load( url, onLoad, onProgress, onError ) : null
url String 加载路径
onLoad Function 加载完成函数
onProgress Function 加载进程函数
onError Function 加载错误函数

加载URL以及调用回调函数onLoad.

parse( text, path ) : MTLLoaderMaterialCreator
text String 待解析的 text 数据
path String 基本路径

解析 text 数据.

setCrossOrigin( value ) : this
value String CORS的跨域路径

设置CORS的跨域路径.

setPath( value ) : this
value String 路径

设置原始文件的基本路径.

setResourcePath( value ) : this
value String 路径

设置依赖资源(如纹理)的基本路径.

setMaterialOptions( value ) : this
value Object 材质选项

设置材质的结构数据, 包含:side, wrap, normalizeRGB, ignoreZeroRGBs, invertTrProperty.