我需要访问代码中特定文件中的所有资源。 所以我使用以下代码行:
Object[] objects = AssetDatabase.LoadAllAssetsAtPath("Assets/GameData/Games/01.games");
当我尝试访问数组的元素时(例如foreach
循环),objects
数组似乎是空的。
但是这个文件确实有一些资产:
我还尝试访问特定资产:
PKGame game = (PKGame)AssetDatabase.LoadAssetAtPath("Assets/GameData/Games/01.games", typeof(PKGame));
但是当我执行代码时,game
为null
。
我在这里使用正确的方法吗?
答案 0 :(得分:0)
LoadAllAssetsAtPath
是它正在执行的实际任务的欺骗方法名称,该任务是为特定文件加载主资产和子资产。 换句话说,它不会从文件夹中加载所有资产。
某些Unity文件可以具有与之关联的“子资产”,通过这种方法,“主”资产和“子资产”将全部返回。例如,一个Maya文件可能带有网格和与之关联的GameObject。
如果您尝试从路径加载所有资产,则有两个选择: