版本:Unity 6 (6000.0)
语言中文
  • C#

AssetBundle.LoadAsset

建议更改

成功!

谢谢您帮助我们改进 Unity 文档。尽管我们无法接受所有提交,但我们仍然会阅读用户提出的每条建议修改意见,并在适用的地方进行更新。

关闭

提交失败

由于某些原因,您的建议修改无法提交。请在几分钟后再试一次。非常感谢您抽出时间帮助我们改进 Unity 文档。

关闭

取消

声明

public Object LoadAsset(string name);

声明

public Object LoadAsset(string name, Type type);

声明

public T LoadAsset(string name);

参数

name Asset 的名称。若要获得最准确的匹配结果,它应当是直接创建到 AssetBundle 中的 Asset 的相对路径,包括文件扩展名。相对路径和文件扩展名是可选的,可以仅根据文件名查找和加载 Asset。但是,如果文件名在 AssetBundle 中不是唯一的,则可能会产生意外的结果。在 build 时,还可以使用 AssetBundleBuild.addressableNames 为 Asset 指定一个名称。在这种情况下,系统将加载指定的名称而不是 Asset 路径。
type 提供的类型将与 Asset 的主对象进行比对,如果它们不兼容,则将与 Asset 中的可见对象进行匹配。并非所有嵌套对象都是可见的,例如,这将无法直接检索 Transform、MonoBehaviour 或其他组件。如果 name 参数有多个匹配项,则请求的类型可以确定要加载哪个 Asset。

描述

从 AssetBundle 同步加载一个 Asset。

建议使用 LoadAsset<T> 签名,以便指定的类型是明确的,无需进行类型转换。

不含 type 的签名的用法会返回匹配 Asset 的主对象。例如,加载 Prefab 时,它会返回根 GameObject。

注意:对于 AssetBundle 中的场景,请调用 SceneManager.LoadScene 而不要使用此方法。