[page:Loader] →

# MTL加载器（[name]）

一个用于加载 .mtl 资源的加载器，由 [page:OBJLoader] 在内部使用。
材质模版库（MTL）或 .MTL 文件格式是 .OBJ 的配套文件格式， 用于描述一个或多个 .OBJ 文件中物体表面着色（材质）属性。

## 进口

[name] 是一个附加组件，必须显式导入。 See [link:#manual/introduction/Installation Installation / Addons].

`import { MTLLoader } from 'three/addons/loaders/MTLLoader.js';`

## 构造函数

### [name]( [param:LoadingManager loadingManager] )

[page:LoadingManager manager] — 加载器使用的[page:LoadingManager loadingManager]（加载管理器），默认值是[page:LoadingManager THREE.DefaultLoadingManager]。

创建一个新的[name]。

## 属性

共有属性请参见其基类[page:Loader]。

## 方法

共有方法请参见其基类[page:Loader]。

### [method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )

[page:String url] — 一个包含有 .mtl 文件的路径或URL的字符串。
[page:Function onLoad] — 当加载过程成功完成以后将被调用的函数。
[page:Function onProgress] — （可选）加载过程正在进行的时候被调用的函数。其参数是一个XMLHttpRequest实例，其包含了[page:Integer total] bytes（总的字节数）和[page:Integer loaded] bytes（已经载入的字节数）。
[page:Function onError] — （可选） 加载过程中若发生了错误将被调用的函数。这一函数接收错误作为参数。

开始从URL中加载，并返回已加载的材质。

### [method:this setMaterialOptions]( [param:Object options] )

[page:Object options] — required

- side: Which side to apply the material. THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide
- wrap: What type of wrapping to apply for textures. THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping
- normalizeRGB: RGBs need to be normalized to 0-1 from 0-255. Default: false, assumed to be already normalized
- ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's. Default: false
- invertTrProperty: Use values 1 of Tr field for fully opaque. This option is useful for obj exported from 3ds MAX, vcglib or meshlab. Default: false

设置构造材质的一些选项。

### [method:MTLLoaderMaterialCreator parse]( [param:String text, param:String path] )

[page:String text] — 要解析的表示 mtl 结构的文本。 [page:String path] — MTL文件的路径。

解析 mtl 的文本结构，并返回一个 [page:MTLLoaderMaterialCreator MTLLoader.MaterialCreator] 实例。

## 源码

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/[name].js examples/jsm/loaders/[name].js]