SuperAPI AI 工具集

load-assets

前端与建站

查看项目

更新于 10-16 08:06

技能介绍

用途:在 PlayCanvas 中加载 glTF/GLB 模型与纹理资源,处理压缩与解码器配置。

主要能力:完整支持 glTF。将 .glb 作为容器资源加载,并调用 asset.resource.instantiateRenderEntity(),不要用 instantiateModelEntity。导入器已处理 KHR_lights_punctual、KHR_materials_*(clearcoat、sheen、transmission、volume、iridescence、variants 等)、KHR_texture_transform 与 EXT_mesh_gpu_instancing,无需手工重建。可用 AssetListLoader 预加载资源集。

压缩:几何体用 Draco(KHR_draco_mesh_compression);不支持 Meshopt,此类文件需在发布前解码。纹理用 KTX2 + Basis(KHR_texture_basisu)转码为 GPU 格式,可同时减小下载体积与显存占用。ETC1S 最小且有损;UASTC 更大但保留细节,对法线贴图尤其重要,需权衡体积与可见细节。

用法:npm 包不含 Draco 或 Basis 的 wasm,需从 Engine 的 examples/assets/wasm 在对应安装 tag 复制 draco/ 与 basis/,并在加载前配置。先导入 WasmModule 与 basisInitialize,再用 WasmModule.setConfig('DracoDecoderModule', {glueUrl, wasmUrl, fallbackUrl}) 并等待实例化,然后 basisInitialize({glueUrl, wasmUrl, fallbackUrl})。Web Components 中可在 <pc-app> 下用 <pc-wasm name="DracoDecoderModule"> 元素,通过 glue、wasm、fallback 属性设置 Draco 配置。

其他:纹理 anisotropy 默认值为 1,斜视表面可调高。Gaussian splats 作为 gsplat 资源加载到 gsplat 组件,建议从 gaussian-splatting 示例开始。

限制:不支持 Meshopt;解码器 wasm 需自行复制与配置;仅涉及资源加载与压缩,未提供收费或平台信息。