3DMLoader是 Three.js 中用于加载 .3dm 格式(Rhino 3D 模型文件)文件的加载器。你可以使用3DMLoader来加载由 Rhino 软件创建的模型,并将其导入到 Three.js 场景中进行渲染和交互。
DRACOLoader是 Three.js 中的一个加载器,用于加载经过 Draco 压缩的 3D 模型文件。Draco 是 Google 开发的一种 3D 数据压缩库,它可以显著减少几何数据(如顶点、面等)的大小,因此在网络传输和模型加载上具备更高的效率。
FontLoader是 Three.js 中的一个加载器,用于加载字体文件(一般是.json格式),以便在 Three.js 场景中创建 3D 文字。FontLoader通常与TextGeometry一起使用,以生成具有三维效果的文本。
GLTFLoader是 Three.js 中的一个加载器,用于加载 GLTF(GL Transmission Format)或 GLB 格式的 3D 模型。这两种格式通常被用于高效传输 3D 模型数据,包含了几何、材质、动画、场景层次结构等信息,是一种轻量、高性能的模型格式。GLB 是 GLTF 的二进制版本,能够在一个文件中包含所有资源。
KTX2Loader是 Three.js 中的一个加载器,用于加载.ktx2格式的纹理文件。.ktx2文件使用 GPU 纹理压缩(GPU Texture Compression,简称 GPU TC),例如 Basis Universal 和其他压缩格式,以便有效地减少纹理文件大小并提高加载和渲染性能,尤其适用于移动设备和 WebGL 应用场景。
LDrawLoader是 Three.js 的加载器,用于加载 LDraw 格式的 3D 模型文件。LDraw 是一个开源的 LEGO 3D 模型格式,其中包含了各种 LEGO 零件的模型文件库。LDrawLoader加载器让用户可以在 Three.js 项目中加载和显示 LDraw 模型,这样可以构建复杂的 LEGO 场景。
LUT3dlLoader是 Three.js 中的一个加载器,用于加载 .3dl 格式的 3D 查找表(LUT)文件。LUT 是一种颜色调整工具,通常用于创建特定的色彩效果和电影风格的色调。在 Three.js 中,通过LUT3dlLoader加载的 LUT 文件可以应用到材质或渲染后期处理中,达到所需的视觉效果。
**所有加载方继继承 Load 基类 **
3DMLoader 有五个方法
Rhino3dmLoader( manager : LoadingManager )
manager — 加载器使用的 loadingManager。默认值为 [page:LoadingManager THREE.DefaultLoadingManager]。
创建一个新的 Rhino3dmLoader。
方法
- load ( url : String, onLoad : Function, onProgress : Function, [param:Function onError] ) : Object3D url — 包含 .3dm 文件路径/URL的字符串
url — 包含 .3dm 文件路径/URL的字符串
onLoad — 加载成功完成后调用的函数
onProgress — (可选)加载过程中调用的函数。参数将是 XMLHttpRequest 实例,其中包含 .total 和 .[page:Integer loaded] 字节。如果服务器没有设置 Content-Length,.total 将为 0。
onError — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。
开始从 url 加载并在解析得到 Object3d 后调用 onLoad 。
- parse ( buffer : ArrayBuffer, onLoad : Function, onProgress : Function, onError : Function ) : Object3D
buffer — 代表 Rhino File3dm 文档的 ArrayBuffer
onLoad — 加载成功完成后调用的函数。
onError — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。
解析 File3dm ArrayBuffer 并在得到 Object3d 后调用 onLoad。 请参阅 this example 以获取更多参考。
- setLibraryPath ( value : String ) : this value — 包含 JS 和 WASM 库的文件夹的路径。
- setWorkerLimit ( workerLimit : Number ) : this workerLimit - 要分配的最大 worker 数量。默认值为 4。 设置解码期间要使用的 [link:developer.mozilla.org/en-US/docs/… Web Workers] 的最大数量。如果 worker 还负责应用程序中的其他任务,则较低的限制可能更好。
- dispose () : this 处理加载程序资源并释放内存。
DRACOLoader 有六个方法
方法
- load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — 一个.drc文件的路径或者网络地址。
onLoad — 加载成功之后调用的函数。
onProgress — (可选的) 正在加载时调用的函数。参数为XMLHttpRequest实例,包含.total和.loaded
onError — (可选的)加载出现错误时调用的函数。该函将错误信息作为参数。
开始加载解压缩的图形并调用onLoad函数。
- setDecoderPath ( value : String ) : this value — 包含JS和WASM解压缩库的文件夹路径。
- setDecoderConfig ( config : Object ) : this config.type - (可选的) "js"或"wasm"。 为解压缩库提供配置,在解压开始后不能修改。
- setWorkerLimit ( workerLimit : Number ) : this workerLimit - 可以分配的最大线程数。默认值为4。 设置用于解码的Web Workers的最大值。如果线程也用于其他的任务,给定更小的限制会更合理。
- preload () : this 如果还没加载完成,则请求解压库。
- dispose () : this 处理解压资源和释放的内存。在处理后,解码器 不能重新加载.
FontLoader 有两个方法
FontLoader( manager : LoadingManager )
manager — 加载器所使用的loadingManager。默认值为THREE.DefaultLoadingManager.
创建一个新的FontLoader.
方法
- load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — 文件的URL或者路径,也可以为 Data URI。
onLoad — 将在加载完成时调用。参数是将要被加载的font。
onProgress — 将在加载过程中调用。参数是包含total和loaded字节的XMLHttpRequest实例。如果server没有设置header的Content-Length,则total值为0。
onError — 将在加载错误时调用。
开始加载url,并将加载的font传递给onLoad。
- parse ( json : Object ) : Font json — 用于解析的JSON>格式的对象。 解析一个JSON>格式的对象,并返回一个font。
GLTFLoader 有三个方法
方法
- load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — 包含有.gltf/.glb文件路径/URL的字符串。
onLoad — 加载成功完成后将会被调用的函数。该函数接收parse所返回的已加载的JSON响应。
onProgress — (可选)加载正在进行过程中会被调用的函数。其参数将会是XMLHttpRequest实例,包含有总字节数.total与已加载的字节数.loaded。
onError — (可选)若在加载过程发生错误,将被调用的函数。该函数接收error来作为参数。
开始从url加载,并使用解析过的响应内容调用回调函数。
- setDRACOLoader ( dracoLoader : DRACOLoader ) : this dracoLoader — DRACOLoader的实例,用于解码使用KHR_draco_mesh_compression扩展压缩过的文件。 请
- parse ( data : ArrayBuffer, path : String, onLoad : Function, onError : Function ) : undefined
data — 需要解析的glTF文件,值为一个ArrayBuffer或JSON字符串。
path — 用于找到后续glTF资源(如纹理和.bin数据文件)的基础路径。
onLoad — 解析成功完成后将会被调用的函数。
onError — (可选)若在解析过程发生错误,将被调用的函数。该函数接收error来作为参数。
解析基于glTF的ArrayBuffer或JSON字符串,并在完成后触发onLoad回调。onLoad的参数将是一个包含有已加载部分的Object:.scene、 .scenes、 .cameras、 .animations 和 .asset。
KTX2Loader 有五个方法
KTX2Loader( manager : LoadingManager )
manager — 供加载器使用的 LoadingManager 。默认值为 [page:LoadingManager THREE.DefaultLoadingManager]。
创建一个新的 KTX2Loader。
方法
- load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : CompressedTexture
url — 包含 .ktx2 文件路径/URL 的字符串。
onLoad — 加载成功完成后调用的函数。
onProgress — (可选)加载过程中调用的函数。参数将是 XMLHttpRequest 实例,其中包含 .total 和 .[page:Integer loaded] 字节。如果服务器没有设置 Content-Length,.total 将为 0。
onError — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。
从 url 加载并在转码后 CompressedTexture 调用 onLoad 函数
- detectSupport ( renderer : WebGLRenderer ) : this renderer — 渲染器实例。 检测可用压缩纹理格式的硬件支持,以确定转码器的输出格式。必须在加载纹理之前调用。
- setTranscoderPath ( path : String ) : this path — 包含 WASM 转码器和 JS 包装器的文件夹路径。 WASM 转码器和 JS 包装器可从 [link:github.com/mrdoob/thre… examples/jsm/libs/basis] 目录中获取。
- setWorkerLimit ( limit : Number ) : this limit — 最大 worker 数量。默认值为 '4'。 设置此实例要分配的最大 Web Worker 数量。
- dispose () : this 处置加载器对象,取消分配创建的所有 Web Worker。
LDrawLoader 有八个方法
LDrawLoader( manager : LoadingManager )
manager — 加载器使用的 loadingManager 。默认值为 [page:LoadingManager THREE.DefaultLoadingManager]。
创建一个新的 LDrawLoader。
方法
- load ( url : String, onLoad : Function, onProgress : Function, [param:Function onError] ) : undefined
url — 包含 LDraw 文件的路径/URL 的字符串。
onLoad — 加载成功完成后调用的函数。该函数接收从 parse 返回的加载的 JSON 响应。
onProgress — (可选)加载过程中调用的函数。参数将是 XMLHttpRequest 实例,其中包含 .total 和 .[page:Integer loaded] 字节。如果服务器没有设置 Content-Length,.total 将为 0。
onError — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。
开始从 url 加载并使用解析的响应内容调用回调函数。
- setPartsLibraryPath ( path : String ) : this path — 用于加载引用零件的库零件文件的路径。这与 Loader.setPath 不同,后者指示加载主资源的路径。 必须在 .load 之前调用此方法,除非要加载的模型不引用库部件(通常它将是一个所有部件都打包在单个文件中的模型)。
- setFileMap ( fileMap : Map ) : this map — 设置从 String 到 String 的映射,将引用的库文件名映射到新文件名。如果未指定 fileMap(默认值),则将通过子文件夹“parts”、“p”和“models”中的反复试验来访问库部件。
- parse ( text : String, path : String, onLoad : Function, [param:Function onError] ) : undefined
text — 要解析的 LDraw 资源,作为字符串。
path — 从中查找其他引用的 LDraw 资源文件的基本路径。
onLoad — 解析完成时调用的函数。
将 LDraw 文件内容解析为字符串,并在完成时触发 onLoad 回调。onLoad 的参数将是一个 Group,其中包含 Group、Mesh 和 LineSegments 的层次结构(以及 .userData 字段中的其他零件数据)。
- getMaterial ( colourCode : String ) : Material colourCode — 用于获取关联 Material 的颜色代码。
- getMainMaterial () : String 返回主 LDraw 颜色的 Material。 对于已加载的 LDraw 资源,返回与主颜色代码关联的 Material。此方法可用于修改模型或暴露模型的零件的主要材质。 主要颜色代码是为 LDraw 零件着色的标准方法。三角形为“16”,边为“24”。通常,完整的模型不会暴露主要颜色(也就是说,没有零件在顶层使用代码“16”,因为它们被分配了其他特定颜色)另一方面,LDraw零件文件将暴露代码“16”可以着色,并且可以有附加的固定颜色。
- getMainEdgeMaterial () : String 返回边缘主 LDraw 颜色的 Material。
- preloadMaterials ( path : String ) : void path — LDraw 材料资源的路径。 此异步方法从单个 LDraw 文件预加载材质。在官方零件库中,有一个特殊文件,始终首先加载(LDConfig.ldr)并包含所有标准颜色代码。此方法旨在与未打包的文件一起使用,例如在预加载材料并按需加载部件的编辑器中。
LUT3dlLoader 有三个方法
LUT3dlLoader( manager : LoadingManager )
manager — 加载器所使用的loadingManager. 默认值为DefaultLoadingManager
创建一个新的 LUT3dlLoader.
方法
- load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — .3dl格式的文件URL或者路径.
onLoad — (可选) 加载成功完成后调用的函数。函数接收[page: function parse]方法的结果。
onProgress — (可选) 在加载过程中调用的函数。参数将是XMLHttpRequest实例,它包含total和loaded字节。如果服务器没有设置Content-Length报头,total将为0。
onError — (可选) 在加载过程中发生错误时调用的函数。函数接收错误作为参数。
开始从url加载并返回加载的LUT。
- parse ( input : String ) : Object input — 3dl数据字符串。 解析3dl数据字符串并在完成时触发onLoad回调。onLoad的参数将是一个[page:Object对象],包含以下LUT数据:.size, .texture和.texture3d。
- setType ( type : Number ) : this type - 纹理类型。详情请参阅[page:Textures纹理常量]页面。 设置所需的纹理类型。支持THREE.UnsignedByteType和THREE.FloatType。默认为THREE.UnsignedByteType.