Resources
Ploy3D / Resources
Class: Resources
资源管理器。
Table of contents
Constructors
Accessors
Methods
- AutoGC
- CreateCollider
- CreateMaterial
- CreateMesh
- CreateMeshRenderer
- CreateObject
- CreateTexture2D
- Free
- GC
- GetByID
- GetByPTR
- Init
- Load
- Map
- Shutdown
- Status
Constructors
constructor
• new Resources()
构造函数。
Accessors
serverUrl
• get
serverUrl(): any
资源包存储库路径。
Returns
any
Methods
AutoGC
▸ AutoGC(release
): void
令资源自动回收。 资源创建会产生资源引用、创建者持有该引用。我们需要释放该引用,释放引用可能并不会令资源立即释放,资源实际释放时会清除资源实例指针并标记资源已被释放。 我们释放以下资源引用:材质、网格、贴图、蒙皮数据、G3数据,动画控制器、动画组件。
Parameters
Name | Type | Description |
---|---|---|
release | () => void | 资源引用释放方法。 |
Returns
void
CreateCollider
▸ CreateCollider(desc
): Promise
<Collider
>
运行时异步创建碰撞组件。
Parameters
Name | Type | Description |
---|---|---|
desc | Asset_instance_collider | 碰撞组件构造信息。 |
Returns
Promise
<Collider
>
返回异步对象。
CreateMaterial
▸ CreateMaterial(shader
, flags
): Promise
<Material
>
运行时异步创建材质。
Parameters
Name | Type | Description |
---|---|---|
shader | string | 内置着色器名称。 |
flags | number | - |
Returns
Promise
<Material
>
返回异步对象。
CreateMesh
▸ CreateMesh(creater
): Promise
<Mesh
>
运行时异步创建网格。
Parameters
Name | Type | Description |
---|---|---|
creater | Asset_mesh_creater | 网格构造器信息。 |
Returns
Promise
<Mesh
>
返回异步对象。
CreateMeshRenderer
▸ CreateMeshRenderer(_union
): Promise
<MeshRenderer
>
运行时异步创建网格渲染器。
Parameters
Name | Type | Description |
---|---|---|
_union | MeshRenderer_union | 网格渲染器资源联合体。 |
Returns
Promise
<MeshRenderer
>
返回异步对象。
CreateObject
▸ CreateObject(name
): Promise
<Object3D
>
运行时异步创建3D对象。
Parameters
Name | Type | Description |
---|---|---|
name | string | 名称。 |
Returns
Promise
<Object3D
>
返回异步对象。
CreateTexture2D
▸ CreateTexture2D(url
, has_alpha
): Promise
<Texture2D
>
运行时异步创建2D贴图。
Parameters
Name | Type | Description |
---|---|---|
url | string | 图像绝对路径(仅支持.ktx2、.png、.jpg后缀)。 |
has_alpha | boolean | 是否装载透明度通道。 |
Returns
Promise
<Texture2D
>
返回异步对象。
Free
▸ Free(id
): void
释放实例,回收ID。 蒙皮数据、G3统一缓存随网格渲染器释放; 动画片段实例、动画控制器、动画组件随对象释放; 对没有骨骼蒙皮的网格渲染器进行缓存共享,对动画片段数据进行缓存共享,释放此类数据时需要擦除缓存;
Parameters
Name | Type |
---|---|
id | number |
Returns
void
GC
▸ GC(): void
将在适当时机释放资源引用。
Returns
void
GetByID
▸ GetByID<T
>(classid
, id
): T
根据实例ID获取资源实例。
Type parameters
Name | Type |
---|---|
T | extends Resource <T > |
Parameters
Name | Type | Description |
---|---|---|
classid | ClassID | 资源类型。 |
id | number | 实例ID。 |
Returns
T
GetByPTR
▸ GetByPTR<T
>(classid
, ptr
): T
根据指针获取托管资源实例(非托管资源返回空,没有实例ID的资源为非托管资源)。
Type parameters
Name | Type |
---|---|
T | extends Resource <T > |
Parameters
Name | Type | Description |
---|---|---|
classid | ClassID | 资源类型。 |
ptr | io_ptr | 资源实例内部指针。 |
Returns
T
Init
▸ Init(): Promise
<Resources
>
初始化资源管理器。
Returns
Promise
<Resources
>
异步对象。
Load
▸ Load<T
>(uri
): Promise
<T
>
异步装载资源。
Type parameters
Name | Type |
---|---|
T | extends Resource <T > |
Parameters
Name | Type | Description |
---|---|---|
uri | string | 资源URI。 |
Returns
Promise
<T
>
返回异步对象。
Map
▸ Map<T
>(classid
, ptr
, func
): void
使用映射的方式对资源实例进行读写(一般用于非托管资源读写)。
Type parameters
Name | Type |
---|---|
T | extends Resource <T > |
Parameters
Name | Type | Description |
---|---|---|
classid | ClassID | - |
ptr | io_ptr | 资源实例内部指针。 |
func | (instance : T ) => void | 映射实例返回函数,在此函数读写实例。 |
Returns
void
Shutdown
▸ Shutdown(): Promise
<any
>
注销方法。
Returns
Promise
<any
>
Status
▸ Status(final
): any
资源库状态统计。
Parameters
Name | Type |
---|---|
final | boolean |
Returns
any
返回统计数据。