Skip to content

Models ​

说明

通过调用load和loadAsync方法,加载模型。

安装 ​

bash
npm i @poggi/loaders
pnpm add @poggi/loaders
yarn add @poggi/loaders

FBX ​

FBX 格式是支持其格式中的各种数据的黄金标准。FBX 支持 3D 模型、场景层次、材质照明、动画、骨骼、蒙皮和混合形状。FBX 作> 为一种较旧的格式,还支持目前尚未广泛使用的数据,例如 NURBS 曲面和曲线。

loading

GLTF ​

glTF(GL 传输格式)是一种开放格式规范,用于高效传输和加载 3D 内容。资源可采用 JSON(.gltf)或二进制(.glb)格式提供。外部文件存储纹理(.jpg、.png)和附加二进制数据(.bin)。单个glTF资源可包含一个或多个场景,涵盖网格、材质、纹理、贴图、骨骼、变形目标、动画、光源及/或摄像机等元素。
GLTFLoader在可能情况下优先使用ImageBitmapLoader。

需注意:图像位图在失去引用后不会自动被垃圾回收机制清除,需在销毁过程中进行特殊处理。更多信息请参阅《对象销毁指南》。

loading

GLB ​

GLTF的二进制格式,对GLTF进行了压缩

loading

OBJ ​

OBJ 格式支持多边形(Polygon),直线(Lines),表面(Surfaces),和自由形态曲线(Free-form Curves)。直线和多角形通过它们的点来描述,曲线和表面则根据于它们的控制点和依附于曲线类型的额外信息来定义。这些信息支持规则和不规则的曲线,包括那些基于贝塞尔(Bezier)曲线,B样条(B-spline),基数(Cardinal/Catmull-Rom样条),和泰勒方程(Taylor equations)的曲线。 OBJ是一种3D模型文件,因此不包含动画、材质特性、贴图路径、动力学、粒子等信息。

loading

API ​

Methods ​

load<T extends keyof ILoaderType>(type: T, parameter: TLoaderParameter)

加载资源函数

loadAsync<T extends keyof ILoaderType>(type: T, parameter: TLoaderParameterAsync):Promise<ILoaderType[T]>

异步加载资源函数

Interfaces ​

ILoaderType

属性名类型
GLTFGLTF
GLBGLTF
FBXObject3D<Object3DEventMap>
OBJObject3D<Object3DEventMap>
TextFont
TTFFont

IGLTFLoaderAsyncParameter

属性名说明类型是否必选默认值
url模型地址string是-
ktx2Pathktx2解码器地址string否-
dracoPathdraco解码器地址string否-
loadProgress加载进度(progress: number) => void否-
indexdb模型是否走缓存器boolean否-

IGLTFLoaderParameter extends IGLTFLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(object: Object3D, animations?: AnimationClip[]) => void否-

IFBXLoaderAsyncParameter

属性名说明类型是否必选默认值
url模型地址string是-
loadProgress加载进度(progress: number) => void否-
indexdb模型是否走缓存器boolean否-

IFBXLoaderParameter extends IFBXLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(object: Object3D, animations?: AnimationClip[]) => void否-

IOBJLoaderAsyncParameter

属性名说明类型是否必选默认值
url模型地址string是-
mtl材质地址string否-
loadProgress加载进度(progress: number) => void否-
indexdb模型是否走缓存器boolean否-

IOBJLoaderParameter extends IOBJLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(object: Object3D, animations?: AnimationClip[]) => void否-

IOBJLoaderAsyncParameter

属性名说明类型是否必选默认值
url模型地址string是-
mtl材质地址string否-
loadProgress加载进度(progress: number) => void否-
indexdb模型是否走缓存器boolean否-

IOBJLoaderParameter extends IOBJLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(object: Object3D, animations?: AnimationClip[]) => void否-

ITextLoaderAsyncParameter

属性名说明类型是否必选默认值
url资源地址string是-
loadProgress加载进度(progress: number) => void否-
indexdb资源是否走缓存器boolean否-

ITextLoaderParameter extends ITextLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(text: Font) => void否-

ITTFLoaderAsyncParameter

属性名说明类型是否必选默认值
url资源地址string是-
loadProgress加载进度(progress: number) => void否-
indexdb资源是否走缓存器boolean否-

ITTFLoaderParameter extends ITTFLoaderAsyncParameter

属性名说明类型是否必选默认值
loadEnd加载后回调(text: Font) => void否-