摘要:
我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码更新,不过实际上,在unity里要用上动态加载dll是有很多限制的(不了解的话就是坑)。限制1:在Android手机里动态加载dll不能使用Assembly.LoadFile(string path),只能使用Assembly.Load(byte[] rawAssembly)这个接口,所以要自己想办法先读出来。限制2:动态加载的脚本不能在编辑器里挂在prefab上。限制3:如果脚本在动态dll里, 阅读全文
摘要:
之前在越狱手机里找到《永恒战士3》的程序发现是用Unity做的,拷出资源出来看的时候发现里面有游戏程序集,立马抽出来反编译了一下,发现里面的代码只有方法签名,没有方法体,还以为用什么高端混淆工具做的,后来问了Unity技术支持后了解到,发布iOS平台后,dll只会留着方法签名部分,具体实现都已经转成native code,要破解比较困难,太好了,妈妈再也不用担心以后发布iOS平台代码被破解了!补充:要实现去掉方法体还需要设置一下,在Player Settings里Other Settings下,Stripping Level要选Strip ByteCode,或者更高的Stripping Lev 阅读全文
摘要:
从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术支持人员所说,Unity会将Shader引擎打包到Assetbundle资源中,但是我测试发现不行(可能是我打开方式不对...),不过只要将用到的Shader加到Editor->Graphics Settings的Shader列表里再进行打包即可。 阅读全文