MTL加载器(MTLLoader)

优质
小牛编辑
150浏览
2023-12-01

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

构造函数

MTLLoader( loadingManager : LoadingManager )

manager — 加载器使用的loadingManager(加载管理器),默认值是THREE.DefaultLoadingManager

创建一个新的MTLLoader。

属性

共有属性请参见其基类Loader

方法

共有方法请参见其基类Loader

.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : null

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

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

.setMaterialOptions ( options : Object ) : MTLLoader

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

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

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

text — 要解析的表示 mtl 结构的文本。 path — MTL文件的路径。

解析 mtl 的文本结构,并返回一个 MTLLoader.MaterialCreator 实例。

源码

examples/jsm/loaders/MTLLoader.js