使用Unity开发项目中遇到的坑~~

unity的引擎已经非常强大,但是在实际的开发与部署中,还是遇到了一些小坑。记下了仅作备忘。

  1. 不要滥用uisprite。刚开始的时候,觉得uisprite是一个非常好用的玩意,将一堆图片打包,然后使用起来直接从altas中选择就得了。不需要像uitexture一样,真对每个uitexture组件都需要新引用一次。但是到后来就发现了巨大的性能瓶颈。对于每个ui界面,可能诸如背景这样的图片属于这个场景独有的。而一些退出按钮使用的sprite,可能是属于整个项目公有的altas。伴随着开发过程,这个公有的altas会不断的增大,这样直接导致每个简单的ui都需要消耗很大的资源。在pc段运行时不会遇到太明显的问题,但一旦移植到移动平台,就很可能因为占据过多资源而闪退。(ps:建议开发过程中打开性能统计窗口,保持对性能的掌控)解决方案:将altas拆分成较小的尺寸,最大不要超过2048*2048。对于诸如背景图片这样的资源,可以直接使用uitexture,不需要做成uisprite。
  2. 移植过程中的部署问题。这次开发《盗墓空间》,部署到了三个平台:PC,Android,WP8。无疑,PC端是比较顺风顺水的,不过还是有点小问题需要注意。部分手持设备的功能,不能在PC端访问。比如Handheld类,在部署到PC端时,需要真对平台做一个小的特殊处理,不详述。Android端,android端还好,也有点小问题,不过也是很快的解决掉了,暂时只遇到在读取流媒体资源时的路径问题。Android平台的streamingAssetPath变成了"jar:file://" + Application.dataPath。至于WP8平台就有太多吐槽的了。除了流媒体资源的路径问题以为,还不能使用xmlDocument,只能使用xDocument。其他平台的按钮,点一下只会响应一次。而在WP8上会响应数次。这让我的RPG对话的场景中,几次点一次按钮,直接跳过了好几段对话。然后再跑酷场景中的一些动作操作也发生了奇怪的变化。很是蛋疼。
  3. 3D场景中不要随便开灯,不要随便开阴影。刚开始布置场景的时候,在场景中放置了好几个光源,让性能消耗一下翻倍。阴影的话,如果不是必须的,尽量就不打开了。消耗的资源也是翻倍的。


你可能感兴趣的:(unity)