The*_*ler 9 c# unity-game-engine
在我的Unity项目中,有一个ArmourType类的实例(这些是资产,可编写脚本的对象).我试图在检查器的下拉列表中显示这些,这是有效的.但是,我用
List<ArmourType> armourTypes = Resources.FindObjectsOfTypeAll<ArmourType>();
Run Code Online (Sandbox Code Playgroud)
找到所有这些实例.这只会查找加载到内存中的对象,因此偶尔只能找到一些必需的资源.这是记录在案的,所以不是一个错误,但有时非常烦人.
所以我的问题是,是否有一种不同的方式来获取所有这些资产,确实返回那些未加载到内存中的资产?或者有没有办法让Unity在寻找资源时加载资产?
注意:我正在使用Unity5和c#.
Hua*_*cha 12
这是你想要的?
string[] guids = AssetDatabase.FindAssets ("t:ArmourType", null);
foreach (string guid in guids) {
Debug.Log (AssetDatabase.GUIDToAssetPath(guid));
}
Run Code Online (Sandbox Code Playgroud)
http://docs.unity3d.com/ScriptReference/AssetDatabase.FindAssets.html
AssetDatabase是一个编辑器脚本.如果你想在游戏中做类似的事情将相关的脚本放在一个Resources文件夹中(这确保它们将包含在构建中,即使没有在场景中链接)并使用:
Resources.LoadAll<ArmourType>("");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6732 次 |
| 最近记录: |