您无法使用StreamReader
或File
类阅读Resources目录。您必须使用Resources.Load
。
。该路径相对于项目的Assets文件夹内的任何Resources文件夹。
。做不包括文件扩展名,如.TXT,png格式,.MP3在路径参数。
。用斜线回,而不是当你有资源内的另一个文件夹文件夹斜杠。反斜杠将不起作用。
文本文件:
TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset));
string tileFile = txtAsset.text;
支持TextAsset格式:
TXT的.html的.htm的.xml.bytes以.json.csv.yaml。FNT
声音文件:
AudioClip audio = Resources.Load("soundFile", typeof(AudioClip)) as AudioClip;
图像文件:
Texture2D texture = Resources.Load("textureFile", typeof(Texture2D)) as Texture2D;
精灵 - 单:
图像的纹理类型集到精灵(2D和UI)和
图像的精灵模式集到单。
Sprite sprite = Resources.Load("spriteFile", typeof(Sprite)) as Sprite;
精灵 - 多个:
图像的纹理类型集到精灵(2D和UI)和
图像的精灵模式集到多。
Sprite[] sprite = Resources.LoadAll<Sprite>("spriteFile") as Sprite[];
视频文件(统一> = 5.6):
VideoClip video = Resources.Load("videoFile", typeof(VideoClip)) as VideoClip;
游戏物体预制:
GameObject prefab = Resources.Load("shipPrefab", typeof(GameObject)) as GameObject;
三维网格(如FBX文件)
Mesh model = Resources.Load("yourModelFileName", typeof(Mesh)) as Mesh;
三维网格(从游戏物体预制)
MeshFilter modelFromGameObject = Resources.Load("yourGameObject", typeof(MeshFilter)) as MeshFilter;
Mesh loadedMesh = modelFromGameObject.sharedMesh; //Or design.mesh
3D模型(如游戏对象)
GameObject loadedObj = Resources.Load("yourGameObject") as GameObject;
//MeshFilter meshFilter = loadedObj.GetComponent<MeshFilter>();
//Mesh loadedMesh = meshFilter.sharedMesh;
GameObject object1 = Instantiate(loadedObj) as GameObject;
访问中的子文件夹文件:
对于例如,如果你有拍摄。MP3文件,该文件是在被称为“声音”子文件夹放置在资源文件夹,您可以使用正斜杠:
AudioClip audio = Resources.Load("Sound/shoot", typeof(AudioClip)) as AudioClip;
异步加载:
IEnumerator loadFromResourcesFolder()
{
//Request data to be loaded
ResourceRequest loadAsync = Resources.LoadAsync("shipPrefab", typeof(GameObject));
//Wait till we are done loading
while (!loadAsync.isDone)
{
Debug.Log("Load Progress: " + loadAsync.progress);
yield return null;
}
//Get the loaded data
GameObject prefab = loadAsync.asset as GameObject;
}
要使用:StartCoroutine(loadFromResourcesFolder());
我明白了,这是有道理的。然后我的下一部分就是我也有图像和声音文件(在资源中),我使用resources.load来检索。那些在Unity中工作,但不在我部署到HoloLens时。 – whycodingsohard
*我已经回答了关于资源文件夹的许多问题,并且几个小时前回答了这些问题,其中大多数问题与标题或说明中的问题相同,但问题不同。我已决定将解决方案涵盖大部分这些问题和文件类型,以防止在将来提供重复的答案。*检查我的编辑并让我知道你是否有问题。 – Programmer
这是我一直在寻找的资源的实用和完整的参考资料:-) – Bijan