加载第一个场景后Unity短黑屏

Unity short Black Screen after loading first scene

场景:

1.Splash, 一张带有 IEnumerator Start() 代码的图片,如下所述。

2.Menu, Canvas UI 场景中有几个按钮和一些游戏对象作为背景。相机有色调映射和景深脚本。

统计数据:批次 96,tris 20.4k,41.5k

3.Main 游戏主场景

错误,发生在 android 设备和 PC 上的编辑器中:

1.Splash 场景加载菜单场景使用:

IEnumerator Start()
{
    AsyncOperation async = SceneManager.LoadSceneAsync("Menu");

    while (!async.isDone)
    {
        yield return null;

    }
}

2.The canvas UI Menu场景出现黑色背景,场景中的游戏对象不可见,持续几秒

3.The canvas UI +场景可见。

从主场景加载菜单场景时会出现同样的错误。

Unity版本=2017.3.0f3 主场景使用vuforia

编辑:

我禁用了菜单场景中除飞机和 canvas 之外的所有对象和相机效果,canvas 仍然出现在飞机前几秒。

为了更好地描述错误,相机似乎在 canvas UI 显示后一秒激活。

编辑 2:

我在菜单场景中新建了一个摄像头,问题依旧。

我通过向场景添加 AR 相机并禁用在加载场景时使黑屏的 VuforiaBehavior 组件找到了解决方法。

就我而言,我刚刚在发布设置中选中了拆分应用程序二进制文件,以便能够将我的游戏上传到 Play 商店。 (Play Store 不接受大于 100mb 的 apk 文件,所以你把你的大 apk 分成一个较小的 apk 和一个 obb 文件)

但是,如果这样做,您需要在手动测试游戏时将 .apk 和 .obb 文件都放入 phone 中的特定文件夹。

.obb 需要位于具有特定名称的特定命名文件夹中,如此处解释:http://graphicdna.blogspot.com/2017/06/manually-copying-unitys-apk-and-obb.html

很快,名称的格式应为:

main.[FIRST_PART_OF_VERSION_NUMBER].[PACKAGE_NAME].obb

其中 [FIRST_PART_OF_VERSION_NUMBER] 是您可以在播放器设置中找到的版本号的最高位。例如,如果您的版本是 1.0.0,则 [FIRST_PART_OF_VERSION_NUMBER] 是 1.

而[PACKAGE_NAME]是同屏指定的包名,版本号正上方

游戏希望在如下位置找到该 OBB 文件:

[INSTALL_LOCATION]\Android\obb\[PACKAGE_NAME]

其中[PACKAGE_NAME]与上面描述的值相同,INSTALL_LOCATION指的是游戏是安装在内存还是外置SD卡(这个要看你自己的设置).