JSRUN 用代码说话

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.

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟