在里会持续列举一些u3d中需要注意的事项的,有些是我自己遇过的坑,有些是我收集来的。
RenderTexture相关:
1、透明问题 – 5.3.4f1
如果构建的RenderTexture没有指定RenderTextureFormat为ARGB32的话,camera中的所见的透明,在android机中是无效的,虽然有pc上看着正常。我这只度了argb32,其它的没有试,这里只是指出RenderTextureFormat是影响到透明相关的问题。
Android相关:
1、jar包存放的问题 – 5.3.4f1
这是我遇到过的一个坑,浪费我好几个小时才发现!!
android的jar包应该是直接放在:Assets/Plugins/Android 目录下,而不要在这个目录下面建一个子目录来存放。不要自己这样的可以更好的给jar包分类。如果你这样做,unity有99%的可能性识别不出jar,从而不会把子目录下jar打到apk中去,不信息你可以导出android工程看看就知道了。这是这么坑!!!
ios的插件目录,就没有这个问题。
Unity3d一个API的问题:
Application.CaptureScreenshot(string filename) – 5.3.4f1
这里要说的就是它的参数filename.
在pc或mac端,这可以是一个完整路径(如:“C:/Users/Public/Pictures/mypic.png”)或文件名(如:”mypic.png”,不能是一个相对路径。
在android和ios下,只能是一个文件名。不能是完整路径和相对路径,不然后你用这个路径是找不到截图的。
注:如果是一个文件名,截图所在完整路径是Applcation.persistentDataPath+”/” + filename。
WebCamTexture相关:
WebCamTexture.Pause的问题– 5.3.5f1
在android和ios平台下,调用pause后,虽然它在UI上显示的画面是停住的,但实际的内容是一真随着你的摄像头的移动在变化的,你用它用GetPixels这个方法就显示出来就知道了。所以你读取它暂停后内容,一定要在它调用pause的同时读取它的像素保存下来。在pc上没有这个问题。