three.js PRWMLoader
用于加载 .prwm 资源的加载器。
Packed Raw WebGL Model 是一种开源二进制文件格式,用于 nD 几何图形,专为 JavaScript 和 WebGL 设计,着重于快速解析(在 2013 年末 MBP 上的 Chrome 59 中从 1ms 到 0.1ms)。当文件的字节序与客户端平台的字节序相同时,PRWM 文件的解析速度特别快。更多信息请点击此处。
代码示例
// instantiate a loader
const loader = new PRWMLoader();
// load a resource
loader.load(
// resource URL
'models/nefertiti.le.prwm',
// called when resource is loaded
function ( bufferGeometry ) {
const object = new THREE.Mesh( bufferGeometry, new THREE.MeshNormalMaterial() );
scene.add( object );
},
// called when loading is in progresses
function ( xhr ) {
console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );
},
// called when loading has errors
function ( error ) {
console.log( 'An error happened' );
}
);
例子
构造函数
PRWMLoader( manager : LoadingManager )
manager — 供加载器使用的 loadingManager。默认值为 THREE.DefaultLoadingManager。
创建一个新的 PRWMLoader。
属性
请参阅基本 Loader 类以了解公共属性。
方法
常用方法见 Loader 基类。
.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
url — 包含 .prwm 文件的路径/URL 的字符串。 URL 中的任何 * 字符将自动替换为 le 或取决于平台字节序。
onLoad — (可选)加载成功完成后要调用的函数。该函数接收加载的 BufferGeometry 作为参数。
onProgress — (可选)在加载过程中调用的函数。该函数接收一个 XMLHttpRequest 实例,其中包含总字节数和加载字节数。
onError — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。
从 url 开始加载并使用解析的响应内容调用 onLoad。
.parse ( arrayBuffer : ArrayBuffer ) : BufferGeometry
arrayBuffer — 包含 prwm 数据的 ArrayBuffer。
解析作为 ArrayBuffer 传递的 prwm 文件并直接返回 BufferGeometry 的实例。
PRWMLoader.isBigEndianPlatform( )
如果平台的字节顺序是 Big Endian,则返回 true,否则返回 false。
源码
examples/jsm/loaders/PRWMLoader.js
更多建议: