跳到主要内容

资源

资源是 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);

资源生命周期​

在应用运行期间,资源会经历以下阶段:

  1. 注册:在 AssetRegistry 中注册,之后可通过 ID、名称或标签查找。
  2. 加载:从服务器下载资源数据。
  3. 就绪:解析完成,运行时资源可供使用。
  4. 卸载:卸载运行时资源以释放内存。

有关如何控制资源加载时机,请参阅预加载和加载与卸载。

支持的格式​

PlayCanvas 为不同资源类型支持多种文件格式。完整列表见支持的格式。

资源操作​

在编辑器中​

如果使用 PlayCanvas Editor,请阅读编辑器资源指南,了解:

  • 导入和整理资源。
  • 配置资源属性。
  • 使用资源商店。

通过代码操作​

通过代码操作资源时,可参阅:

寻找资源​

需要为项目寻找 3D 模型、纹理或音频?寻找资源列出了可用的资源市场和相关网站。