资源
资源是 PlayCanvas 应用的基本组成部分,代表应用所需的全部外部内容,例如 3D 模型、纹理、音频文件和脚本。
Asset 与 Resource 的区别
在 PlayCanvas 中,Asset 与 Resource 是两个需要区分的概念:
-
Asset(资源记录):资源注册表中的一条记录,包含名称、类型、标签等元数据,以及对底层资源数据的引用。Asset 由
AssetRegistry管理。 -
Resource(运行时资源):实际加载到内存、供引擎使用的数据。例如,纹理 Asset 对应的 Resource,就是可以应用到材质上的实际图像数据。
加载 Asset 时,PlayCanvas 会下载并解析底层文件,创建 Resource。随后,Asset 对象通过 resource 属性持有对 Resource 的引用。
const asset = this.app.assets.find('my-texture');
asset.ready((asset) => {
const texture = asset.resource; // The actual Texture object
});
this.app.assets.load(asset);
资源生命周期
在应用运行期间,资源会经历以下阶段:
- 注册:在
AssetRegistry中注册,之后可通过 ID、名称或标签查找。 - 加载:从服务器下载资源数据。
- 就绪:解析完成,运行时资源可供使用。
- 卸载:卸载运行时资源以释放内存。
支持的格式
PlayCanvas 为不同资源类型支持多种文件格式。完整列表见支持的格式。
资源操作
在编辑器中
如果使用 PlayCanvas Editor,请阅读编辑器资源指南,了解:
- 导入和整理资源。
- 配置资源属性。
- 使用资源商店。
通过代码操作
通过代码操作资源时,可参阅:
寻找资源
需要为项目寻找 3D 模型、纹理或音频?寻找资源列出了可用的资源市场和相关网站。