跳到主要内容

ResourceFormatLoader

继承

Reference

简要描述

从文件加载特定的资源类型。

描述

IdeaXR使用ResourceFormatLoader在编辑器或导出的游戏中加载资源。通过ResourceLoader单例,或在加载具有内部依赖项的资源时自动查询它们。 每种文件类型都可以作为不同的资源类型加载,因此在引擎中注册了多个ResourceFormatLoader。

您定义自己的加载器来扩展该类。为了确保符合文档的返回类型及值。您应该给它一个全局类名,来注册该类。像内置的ResourceFormatLoaders一样,在加载其处理类型的资源时将自动调用它。您也可以实现ResourceFormatSaver

注意:如果您需要的资源类型存在,但是IdeaXR无法加载其格式,您也可以扩展EditorImportPlugin。选择一种方式替代另一种方式取决于格式是否适合最终导出的游戏。 例如,最好先将.png纹理导入为.stex(StreamTexture),以便可以在图形卡上更好地加载它们。

方法

返回值类型方法名称
voidget_dependencies(path: String, add_types: String) virtual
PoolStringArrayget_recognized_extensions() virtual
Stringget_resource_type(path: String) virtual
boolhandles_type(typename: String) virtual
Variantload(path: String, original_path: String) virtual
intrename_dependencies(path: String, renames: String) virtual

方法说明

  • get_dependencies get_dependencies(path: String, add_types: String) virtual

获取给定资源的依赖关系。如果add_types为真,则路径应附加::TypeName,其中TypeName是依赖项的类名 。

注意:ClassDB不了解脚本定义的自定义资源类型,因此您只需为其返回“ Resource”


  • get_recognized_extensions get_recognized_extensions() virtual

获取程序能够读取的文件的扩展名列表。


  • get_resource_type get_resource_type(path: String) virtual

获取与给定路径关联的资源的类名。无法加载程序无法处理,则返回空。

注意:脚本不能通过ClassDB知道自定义资源类型,因此您只需为其返回“ Resource”


  • handles_type handles_type(typename: String) virtual

告诉此加载程序可以加载哪个资源类型。

注意:脚本不能通过ClassDB知道自定义资源类型,因此您只需为其返回“ Resource”


  • load load(path: String, original_path: String) virtual

当引擎兼容此资源时加载资源。如果加载的资源是导入的结果,则original_path将以源文件为目标。 成功返回一个Resource对象,失败则返回Error常量。


  • rename_dependencies rename_dependencies(path: String, renames: String) virtual

重命名给定资源依赖项并保存。renames是字典{String => 字符串}将旧的依赖路径映射到新路径。

成功返回OK,失败则返回Error常量。