[回到版面]
回應模式
名 稱
E-mail
標 題
內 文
附加圖檔[] []
刪除用密碼(刪除文章用。英數字8字元以內)
  • 可附加圖檔類型:GIF, JPG, PNG, JPEG,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 10000 KB。當回文時E-mail填入sage為不推文功能
  • 當檔案超過寬 125 像素、高 125 像素時會自動縮小尺寸顯示
  • 程式碼可使用 [code][/code] 以 google-code-prettify 標亮 (程式自動判斷語言類別)

  • 公告、舉報、建議請向DB管理室辦理。
  • 本板討論遊戲製作為主,改造方面也可討論,但如果牽涉到版權,請自重。
  • 3D建模請至3D板, 3D遊戲製作(Ex.怎麼用DirectX跑3D?)則可在這討論。
  • 本板為一般向板面,禁止張貼上車圖。

檔名:1487520712339.jpg-(145 KB, 850x850) [以預覽圖顯示]
145 KBUnity Resources.Load 名稱: 無名氏 [17/02/20(一)00:11 ID:mSNaYp/U] No.12579 2推 
看Unity的官方文件說 Resources.Load可以讀
資料夾名為Resources的資源,也可以支援多個

可是實際上我只能讀Assets/Resources裡的資源
如果是Assets/Image/Character/Resources這種的就沒辦法

如果我有多個Resources資料夾,這樣Resources.Load怎麼知道我要讀取那一個?
我試了Application.dataPath好像也沒有用

希望高人解答
無名氏: 我是沒用過.但剛上官網是有看到不過我記得舊版沒這種說明.所以或許是你版本不對? (2qTWGMro 17/02/20 01:48)
原PO: 我版本是5.5.0 我想應該是蠻新的 (DrwNmms6 17/02/20 12:25)
無標題 名稱: 無名氏 [17/02/20(一)01:52 ID:IF9kV4Z.] No.12580 1推  
如果要使用Resources.Load那麼您需要將資源放在Assets/Resources/文件夾中
原PO: 所以其他子資料夾不行嗎? 我是看到官方有說明 但沒說怎麼用 我實際試是沒有效 (DrwNmms6 17/02/20 12:26)
無標題 名稱: 無名氏 [17/02/21(二)00:58 ID:zkufCoDo] No.12581 1推  
Resources以上的路徑都沒意義.所以放哪都可

不過如果在同層級的同名物件
ex.
Assets/Resources/123/a.prefab
Assets/Image/Character/Resources/123/a.prefab

Resources.Load("a")
會返回第一個讀到的物件就是了

可參考
https://docs.unity3d.com/Manual/LoadingResourcesatRuntime.html

另外如果想讀其他路徑的資源其實可以透過IO類別去讀
只是不能運作於手機就是了XD
無名氏: 應該是Resources.Load("123/a")才對.打太快XD (zkufCoDo 17/02/21 00:59)
無標題 名稱: 原PO [17/02/21(二)17:11 ID:XzHAZvIg] No.12582   
我這邊使用:
// 資料夾在Assets->123->Resources底下
Sprite temp = Resources.Load<Sprite>("Sample/Texture/Character/a/a");

然後原本的是:
// 資料夾在Assets->Resources底下
Sprite temp2 = Resources.Load<Sprite>("a");

只有後者可以成功OTZ


不過如果是,
Texture2D dd = Resources.Load("Sample/Texture/Character/a/a") as Texture2D;

這樣dd的值就不會是null !?,是Sprite的問題嗎?
無標題 名稱: 原PO [17/02/21(二)20:18 ID:GLP5kO22] No.12583 1推  
目前是這樣解決~

Texture2D tt = Resources.Load("很多層資料夾後的Res路徑", typeof(Texture2D)) as Texture2D;
sprite = Sprite.Create (tt, new Rect (0, 0, tt.width, tt.height), Vector2.zero);

不知道為什麼用Texture就可以,直接用sprite就不行~
目前是這樣解決...
無名氏: Sprite物件比較不一樣就是了.我好像之前也遇過類似的問題.記得要轉型還是先弄成prefab之類的 (xHpShRnc 17/02/22 01:35)
無標題 名稱: 無名氏 [17/02/22(三)05:05 ID:VaBvJ9BY] No.12585 2推  
不是就Assets/Resources等於根目錄嗎?
除了Assets/Resources自己的子資料之外
放在其他地方是讀不到的

Assets/Resources/a.prefab的話就是“a.prefab”
Assets/Resources/123/a.prefab的話就是“123/a.prefab“
Assets/Resources本身不用再打一遍,因為他是根目錄
另外副檔名也會有影響的樣子
碰過沒打副檔名結果找不到檔案的狀況

不過硬碟裡的跟網址的也不是不能讀
只是要自己寫
無名氏: 補充說明,如果是讀取Assets/Resources及其子資料夾以外的地方,就不能用Resource (LYp0w4dM 17/02/22 21:12)
無名氏: 不能用Resources.Load (LYp0w4dM 17/02/22 21:12)

【刪除文章】[]
刪除用密碼:
第一頁[0] 最後一頁