看板 GameDesign 關於我們 聯絡資訊
這篇的問題是從我上一篇問題衍伸來的 XD 就是如何隱藏Compute Shader的問題 我想到一個方式是 將Shader內容的字串 在執行時寫成 .txt 或 .compute 的檔案 讀進來後再刪除掉 雖然不是像打包成dll那樣 但是也是提高保護性 但是實作上遇到一些問題 我想應該跟Unity讀取資源素材的機制有關Q_Q 我寫出來的時候是這樣: string SavePath = Application.persistentDataPath + "MyShader.compute"; string ShaderContent = "Content_of_MyCS"; //這裡有好多行shader的內容 StreamWriter writer = new StreamWriter(SavePath, true); writer.WriterLine(ShaderContent); writer.Close(); --------------以上可以做到前半段寫出 但是我發現 我沒辦法讀取它~~ 如果我它是txt 我可以用 StreamReader.ReadToEnd() 獲得字串內容 但是不知道怎麼以一個 ComputeShader的方式讀取它 我知道 Shader 好像有Find可以做類似的事 但是在ComputeShader好像沒有 Q__Q 在Resource資料夾的東東的話 可以 Resources.Load("MyShader") as ComputeShader 不知道是否有大大知道 如果不是在Resource資料夾內的話 有沒有類似的方式呢 !! 感謝 >////< --    ◤ |    ヽ     ▂▃▄▃▂ 回戰文 疾如    ˙███████▃▄  火 ◇ 風  發廢文 繁如   ˙●ノ    ヽ   ●◇ ◇● 挑釁文 嗆如    ___ ●    ● █◣   山◇林 宅在家不動如    ◢█ ██  ( _●_) ミ 彡   甲斐の熊-武田熊玄 ◢▇▇▊    |∪|  ◣_█◢◢ ◤、 原SotaFujimor 改marubom -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.30.142 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1596165658.A.E89.html
Unity: 我覺得你應該考慮看看用 AB 的方式另外載進來 07/31 14:32
doasgloria: 驚 ! 竟然有unity本人回文XD 不過AB是甚麼啊~~ 07/31 14:53
doasgloria: Asset Database還什麼的嗎@@" 07/31 14:53
CarpeDiemAL: asset bundle? 07/31 15:18
doasgloria: 我用了asset bundle打包成檔案了 的確可以 07/31 17:35
doasgloria: 只是好奇 這個build bundle打包起來的檔案 我用txt開 07/31 17:35
doasgloria: 顯示亂碼而不是shader原始碼 所以該算是藏起來了吧~XD 07/31 17:36
wix3000: 我記得 Asset bundle 就是個壓縮檔而已 (茶 07/31 17:56
doasgloria: T_T 07/31 17:57
cjcat2266: 這招頂多在editor內有用,Unity沒有run time shader co 08/01 04:07
cjcat2266: mpiler 08/01 04:07
kingroy: Asset Bundle是壓縮檔沒錯,現在新的Addressable Assets 08/01 08:03
kingroy: 多一點功能但難上手一點點 08/01 08:03
kingroy: shader沒有runtime compiler沒錯 但shader有放到本體裡打 08/01 08:04
kingroy: 包就ok 08/01 08:04
doasgloria: 那Asset Bundle 別人有辦法知道怎麼壓縮的然後解壓縮 08/02 01:01
doasgloria: 出原本的檔案嗎 ?? 我記得打包的時候有很多壓縮方法可 08/02 01:01
doasgloria: 以選吧~~ 08/02 01:01
newyellow: 剛隨手 google 了一下 看起來 asset bundle 應該可加密 08/04 02:19
doasgloria: 我自己goo一下 好像是它本身就有加密功能 只是可能透 08/05 09:49
doasgloria: 過系統讀取的時候 用一些方法額外讀取 就是看Load時候 08/05 09:50
doasgloria: 用了Unity什麼API 造成讀取時的安全性 08/05 09:50