目录
1.Unity打包时,自定义shader没效果
2.Unity打包ios时动画不播放
3.Android Unable to merge android manifest Error
4.Unity打到刘海屏的Android手机上不能全屏
5.Unity动画前Key和后Key值相同,却出现动画
【开发环境】
开发平台:Unity2017.1.0f
编程语言:C#
【bug描述】
有个button按钮,当raycastTarget==true时,使用默认的shader("UI/Default");当raycastTarget==false时,使用自定的shader;
UnityEditor显示正常,打到真机上时,自定义shader没效果。
【解决方案】
原因:Unity打包时将界面没有用到的shader会被剔除,真机中找不到自定义的shader
详细:https://www.jianshu.com/p/32f6e8a217d6
新建一个材质,材质中使用自定义的Shader
#pragma shader_feature
改为 #pragma multi_compile
【bug描述】
程序用到的资源包使用AssetBundle打包,A预置物中含有Animator组件,加载A预置物显示,结果在android和editor动画播放正常,但在ios平台动画不播放。
【解决方案】
File->Build Settings->Player Settings->苹果图标->Other Settings->Strip Enging Code,
取消勾选Strip Engine Code
【bug描述】
Unity中集成了ShareSDK和Facebook,两个都含有AndroidManifiest.xml文件,打android包时,报错误:android Unable to merge android manifest Error
【解决方案】
https://answers.unity.com/questions/1283008/android-unable-to-merge-android-manifest-error.html?page=1&pageSize=5&sort=votes
【bug描述】
Unity打到刘海屏的Android手机上不能全屏
【解决方案】
在工程中的AndroidManifest.xml的application标签下增加:
【bug描述】
有时候在编辑Animation动画时会出现这样的问题,前Key和后Key的值完全一样,运行时却出现了动画。
【解决方案】
两Key之间使用了Curve过渡,将Curve去掉,设置为Flat就可
解决方法:点击Animation窗口下方的Curves,发现动画略有弯曲。右键的Key,将其设置为Flat就可以了。
详细解释
https://issuetracker.unity3d.com/issues/unity-does-not-include-unityeditor-dot-ios-dot-xcode-in-project-file
原因:I put my file in root folder like this: "Assets/Editor/MyFile.cs" and it fixed this issue. Is important - "Editor" folder in root "Assets".
解决: UnityEditor.iOS.Xcode所在文件夹已到Assets/Editor目录下
Unity从2017.1.0f3升级到2017.4.25后,ColliderA 与ColliderB相互碰撞,ColliderA是Trigger,ColliderA当SetActive(false)时,ColliderA不会触发OnTriggerExit2D方法,而2017.1.03f却可以
新发现写的xml中如果含有汉字,在其编辑器Inspector中不能显示内容,使用Resource.Load
原因:xml的编码存在问题
解决:xml另存为utf-8无bom格式的