[page:Loader] →

[name]

PLY(Polygon File Format)多边形文件格式,也称为斯坦福(Stanford)三角形格式的加载器。[name] 支持 ASCII 和二进制文件,包含以下 PLY 属性:

导入

[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

import { PLYLoader } from 'three/addons/loaders/PLYLoader.js';

代码示例

// instantiate a loader const loader = new PLYLoader(); // load a resource loader.load( // resource URL 'models/ply/ascii/dolphins.ply', // called when the resource is loaded function ( geometry ) { // compute vertex normals if not present in the file geometry.computeVertexNormals(); const material = new THREE.MeshStandardMaterial( { color: 0x0055ff } ); const mesh = new THREE.Mesh( geometry, material ); scene.add( mesh ); }, // called when loading is in progress function ( xhr ) { console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); }, // called when loading has errors function ( error ) { console.log( 'An error happened' ); } );

例子

[example:webgl_loader_ply]

构造函数

[name]( [param:LoadingManager manager] )

[page:LoadingManager manager] — 加载器使用的 [page:LoadingManager loadingManager] 。默认值为 [page:LoadingManager THREE.DefaultLoadingManager]。

创建一个 [name] 实例。

属性

有关公共属性,请参阅 [page:Loader] 基类。

[page:Object propertyNameMapping]

将默认属性名称映射到自定义属性名称的对象。用于处理非标准 PLY 属性名称。

[page:Object customPropertyMapping]

定义标准位置、法线、uv 和颜色属性未涵盖的属性的自定义属性映射的对象。

方法

有关常用方法,请参阅 [page:Loader] 基类。

[method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )

[page:String url] — 包含 `.ply` 文件路径/URL 的字符串。
[page:Function onLoad] — (可选)加载成功完成后调用的函数。该函数接收具有以下属性的对象 [page:BufferGeometry]。
[page:Function onProgress] — (可选)加载过程中调用的函数。参数将是 XMLHttpRequest 实例,其中包含 .[page:Integer total] 和 .[page:Integer loaded] 字节。如果服务器没有设置 Content-Length,.[page:Integer total] 将为 0。
[page:Function onError] — (可选)加载期间发生错误时调用的函数。该函数接收错误作为参数。

开始从 url 加载并使用解析后的响应内容调用 onLoad。

[method:BufferGeometry parse]( [param:ArrayBuffer data] )

[page:ArrayBuffer data] — 要解析的二进制或文本结构

解析 PLY 二进制或 ASCII 结构并返回 [page:BufferGeometry]。
几何图形(geometry) 包含顶点位置,并且可能包括顶点法线、纹理坐标、顶点颜色和面索引,具体取决于 PLY 文件内容。

[method:undefined setPropertyNameMapping]( [param:Object mapping] )

[page:Object mapping] — 将默认属性名称映射到自定义属性名称的对象。

设置属性名称映射,将默认属性名称映射到自定义属性名称。例如,以下内容将文件中的属性 "diffuse_(red|green|blue)" 映射到标准颜色名称:

loader.setPropertyNameMapping( { diffuse_red: 'red', diffuse_green: 'green', diffuse_blue: 'blue' } );

[method:undefined setCustomPropertyNameMapping]( [param:Object mapping] )

[page:Object mapping] — 定义自定义属性映射的对象。

可以使用此方法添加除位置、UV、法线和颜色属性的默认属性之外的自定义属性。例如,以下内容将元素属性 "custom_property_a" 和 "custom_property_b" 映射到项目大小为 2 的属性 "customAttribute":

loader.setCustomPropertyNameMapping( { customAttribute: ['custom_property_a', 'custom_property_b'] } );

源码

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PLYLoader.js examples/jsm/loaders/PLYLoader.js]