Unity3D资源加载Resources
? ? ? ? ? ? ? ? ? ? ? ? ? ? Unity3D資源加載Resources
目錄
1、博客介紹
2、內容
3、推送
4、結語
1、博客介紹
本篇博客對資源加載類Resources做一個介紹
2、內容
| FindObjectsOfTypeAll | 返回一個該類型對象的列表 |
| Load | 從Resources文件夾內加載一個路徑的資源 |
| LoadAll | 從Resources文件夾內加載一個路徑下的所有資源 |
| LoadAsync | 從Resources文件夾內異步加載路徑下的資源 |
| UnloadAsset | 從內存中卸載資源 |
| UnloadUnusedAssets | 卸載未使用的資源 |
FindObjectsOfTypeAll:查找的對象包括場景目錄下的對象和資源列表內的對象,以下演示,我輸出所有帶有Test.cs腳本的物體,我將Test掛載在Main Camera下,并將Main Camera制成預制體,切斷場景內的預制體聯系,并修改名字,兩個物體均被輸出。
Load:load就很簡單了,指定一個Resources目錄下的路徑就可以加載了,加載時也可以指定好加載資源的類型,寫法有所不同。
var cube = Resources.Load("Prefab/Cube");GameObject cube = Resources.Load<GameObject>("Prefab/Cube");GameObject cube = Resources.Load("Prefab/Cube") as GameObject;Instantiate(cube);LoadAll:加載指定目錄下的所有對象,可以指定類型去加載
//加載Prefab目錄下的所有對象var prefabs = Resources.LoadAll("Prefab");//加載Prefab目錄下的所有GameObject對象GameObject[] prefabs1 = Resources.LoadAll<GameObject>("Prefab");LoadAsync:異步加載資源,通過協程的方式來加載資源,返回的是一個ResourcesRequest,加載的資源在asset內。
StartCoroutine(LoadPrefab());IEnumerator LoadPrefab(){ResourceRequest request = Resources.LoadAsync("Prefab/Cube");yield return request;Instantiate(request.asset);}UnloadAsset:直接卸載加載在內存的資源。
測試了哈,沒啥用。。。。。。。。。。。
UnloadUnusedAssets:卸載內存中所有沒有使用的資源
測試挺好用的
Resources.UnloadUnusedAssets();3、推送
博主Github:?https://github.com/KingSun5
4、結語
? ? ? ?若是覺得博主的文章寫的不錯,不妨關注一下博主,點贊一下博文,另博主能力有限,若文中有出現什么錯誤的地方,歡迎各位評論指摘。
???????QQ交流群:806091680(Chinar)
???????該群為CSDN博主Chinar所創,推薦一下!我也在群里!
???????本文屬于原創文章,轉載請著名作者出處并置頂!!!!
總結
以上是生活随笔為你收集整理的Unity3D资源加载Resources的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cartographer原理简述
- 下一篇: Hibernate--使用xml配置映射