作者doasgloria (青柳立夏)
看板GameDesign
标题[请益] Unity读取非Resource资料夹内档案的问题
时间Fri Jul 31 11:20:51 2020
这篇的问题是从我上一篇问题衍伸来的 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://webptt.com/cn.aspx?n=bbs/GameDesign/M.1596165658.A.E89.html
1F:推 Unity: 我觉得你应该考虑看看用 AB 的方式另外载进来 07/31 14:32
2F:→ doasgloria: 惊 ! 竟然有unity本人回文XD 不过AB是甚麽啊~~ 07/31 14:53
3F:→ doasgloria: Asset Database还什麽的吗@@" 07/31 14:53
4F:推 CarpeDiemAL: asset bundle? 07/31 15:18
5F:→ doasgloria: 我用了asset bundle打包成档案了 的确可以 07/31 17:35
6F:→ doasgloria: 只是好奇 这个build bundle打包起来的档案 我用txt开 07/31 17:35
7F:→ doasgloria: 显示乱码而不是shader原始码 所以该算是藏起来了吧~XD 07/31 17:36
8F:推 wix3000: 我记得 Asset bundle 就是个压缩档而已 (茶 07/31 17:56
9F:→ doasgloria: T_T 07/31 17:57
10F:推 cjcat2266: 这招顶多在editor内有用,Unity没有run time shader co 08/01 04:07
11F:→ cjcat2266: mpiler 08/01 04:07
12F:推 kingroy: Asset Bundle是压缩档没错,现在新的Addressable Assets 08/01 08:03
13F:→ kingroy: 多一点功能但难上手一点点 08/01 08:03
14F:→ kingroy: shader没有runtime compiler没错 但shader有放到本体里打 08/01 08:04
15F:→ kingroy: 包就ok 08/01 08:04
16F:→ doasgloria: 那Asset Bundle 别人有办法知道怎麽压缩的然後解压缩 08/02 01:01
17F:→ doasgloria: 出原本的档案吗 ?? 我记得打包的时候有很多压缩方法可 08/02 01:01
18F:→ doasgloria: 以选吧~~ 08/02 01:01
19F:推 newyellow: 刚随手 google 了一下 看起来 asset bundle 应该可加密 08/04 02:19
20F:→ doasgloria: 我自己goo一下 好像是它本身就有加密功能 只是可能透 08/05 09:49
21F:→ doasgloria: 过系统读取的时候 用一些方法额外读取 就是看Load时候 08/05 09:50
22F:→ doasgloria: 用了Unity什麽API 造成读取时的安全性 08/05 09:50