我用 vuforia ARCamera 和 imagetarget 创建了assetbundle 场景。现在加载assetbundle场景后,场景可以以黑屏启动。我注意到 ARCamera -> Camera -> BackgroundPlane->VideoMaterial(Instance) -> "Custom/VideoBackground" 没有启用。但是当我手动启用它时,相机已启用并实时显示。无论如何在场景加载后启用该着色器。
图 2:启用着色器选项后
我用 vuforia ARCamera 和 imagetarget 创建了assetbundle 场景。现在加载assetbundle场景后,场景可以以黑屏启动。我注意到 ARCamera -> Camera -> BackgroundPlane->VideoMaterial(Instance) -> "Custom/VideoBackground" 没有启用。但是当我手动启用它时,相机已启用并实时显示。无论如何在场景加载后启用该着色器。
图 2:启用着色器选项后
这是一个更完整的答案以供将来参考:
您可以通过将脚本附加到所述游戏对象以在唤醒时启用着色器来解决此问题,它看起来像这样:
void Awake()
{
//get your video material component
VideoMaterial myVideoMaterial = getComponent<VideoMaterial>();
//Look for a shader called "VideoBackground" and apply it to the shader material of the component
myVideoMaterial.material.shader = Shader.find("Custom/VideoBackground");
Destroy(this);//this will remove this script after executing it, just looks a bit cleaner in my opinion but no necessary
}
这是假设您已经从场景中某处的材质中引用了着色器。如果不这样做,您可以按照 Gowthy 的评论将着色器添加到“始终包含的着色器”列表中。这可以通过转到Graphics
项目设置下的菜单找到,然后向下滚动到“始终包含的着色器”部分。或者您可以将着色器添加到包含在播放器构建中的“资源”文件夹中”