DRACO加载器
编辑教程DRACO加载器
使用Draco库压缩的几何图形加载程序.
Draco是一个用于压缩和解压缩3D网格和点云的开源库.压缩后的几何结构可能会大大缩小,但会增加客户端设备上额外的解码时间.
独立的Draco文件具有.drc扩展名,并包含顶点位置,法线,颜色和其他属性.Draco文件不包含材质,纹理,动画或节点层次结构–要使用这些功能,请将Draco几何体嵌入glTF文件中.可以使用glTF-Pipeline将普通的glTF文件转换为Draco压缩的glTF文件.当使用德拉科glTF,DRACOLoader的一个实例将在内部通过用于GLTFLoader.
例
// Instantiate a loader
var loader = new THREE.DRACOLoader();
// Specify path to a folder containing WASM/JS decoding libraries.
loader.setDecoderPath( '/examples/js/libs/draco/' );
// Optional: Pre-fetch Draco WASM/JS module.
loader.preload();
// Load a Draco geometry
loader.load(
// resource URL
'model.drc',
// called when the resource is loaded
function ( geometry ) {
var material = new THREE.MeshStandardMaterial( { color: 0x606060 } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
},
// called as loading progresses
function ( xhr ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
// called when loading has errors
function ( error ) {
console.log( 'An error happened' );
}
);
浏览器兼容性
DRACOLoader依赖于ES11 Promises,IE11不支持.要在IE11中使用加载程序,您必须 包括 提供Promise替代品的polyfill.DRACOLoader将基于浏览器功能自动使用JS或WASM解码库.
构造器
DRACOLoader(管理器:LoadingManager)
管理器 -在loadingManager的装载机使用.默认值为THREE.DefaultLoadingManager.
创建一个新的DRACOLoader.
属性
请参见基本Loader类以获取常见属性.
方法
有关常见方法,请参见基础Loader类.
.load(url:字符串,onLoad:函数,onProgress:函数,onError:函数):null
- url —包含.drc文件的路径/ URL的字符串.
- onLoad —成功完成加载后要调用的函数.
- onProgress —(可选)在加载过程中要调用的函数.参数将是XMLHttpRequest实例,其中包含.总计和.已加载的字节.
- onError —(可选)如果在加载期间发生错误则调用的函数.该函数接收错误作为参数.
从url开始加载,并使用解压缩的几何体调用onLoad函数.
.setDecoderPath(value:String)
value —包含JS和WASM解码器库的文件夹的路径.
.setDecoderConfig(config:Object)
config.type-(可选)“ js”或“ wasm”. 提供解码器库的配置.解码开始后无法更改配置.
.setWorkerLimit(workerLimit:Number)
workerLimit-要分配的最大工人数.默认值是4. 设置 解码期间要使用的Web Worker的最大数量.如果工作人员还负责应用程序中的其他任务,则下限可能更可取.
.preload()
请求解码器库(如果尚未加载).
.dispose()
处置解码器资源并释放内存.此后无法重新加载解码器 .处置加载程序对象,取消分配创建的所有Web Worker.
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间