码海拾遗

但行好事,莫问前程

导航

工作经验(Unity篇)

我的工作是C++开发,主要是做底层,其中绝大部分是给Unity调用的,以下是我的脚印,希望不会重蹈覆辙

  1. Unity具有强大的跨平台性,但是使用到库文件不尽相同,例如Android中就使用so库文件,Windows中用dll文件,想要编译到不同平台,就要先将源码编译成相应平台的库文件
  2. Unity打包成apk,需要在真机调试,电脑上会有问题
  3. 调试Unity程序异常关闭,可查看Unity日志
  4. 委托传递字段或属性至DLL中,要用static修饰,不然会出现未知错误。
  5. C++和C#间传递方法,最好加上“__stdcall”修饰,带有参数的时候必须要加。
  6. C++函数指针接收C#传递的委托,指针要用“__stdcall”修饰。
  7. 渲染不出可能是GPU的API版本问题,可选择不同的API版本测试
  8. IOS下不支持JIT编译,必须使用FULL AOT模式,参照Mono在Full AOT模式下的限制
  9. 非Windows环境下,开发Unity插件,建议使用MonoDevelop,跨平台性更好,当然,VS添加上其他插件也可以达到效果;Windows环境下,建议使用VS。

 

持续更新......

posted on 2017-02-24 16:59  widrin  阅读(811)  评论(0编辑  收藏  举报