【问题标题】:vuforia ARCamera videobackground is blackvuforia ARCamera 视频背景为黑色
【发布时间】:2018-08-07 12:07:33
【问题描述】:

我已经使用 vuforia ARCamera 和 imagetarget 创建了assetbundle 场景。现在加载assetbundle场景后,场景可以以黑屏启动。我注意到 ARCamera -> Camera -> BackgroundPlane->VideoMaterial(Instance) -> "Custom/VideoBackground" 没有启用。但是当我手动启用它时,相机已启用并实时显示。无论如何在场景加载后启用该着色器。

图一: Before enabling and scene was opened from assetbundle

图二:After enabling shader option

【问题讨论】:

  • 在您的 VuforiaConfiguration 设置中禁用“禁用 Vuforia 播放模式”并设置为您想要的网络摄像头?
  • 是的,该选项已禁用并设置为我的网络摄像头,但没有运气...
  • 您是否从 Unity 收到任何错误?是否能够获取并启动相机?也许其他一些进程当前正在访问并阻止摄像头?
  • 感谢您的回复@Senbazuru,我没有收到任何错误。场景加载是干净的,没有其他进程正在访问相机。
  • 为了清楚起见,“自定义/视频背景未启用”是游戏对象、组件还是属性?也许您可以提供您遇到问题的游戏对象的屏幕截图?

标签: unity3d shader vuforia assetbundle arcamera


【解决方案1】:

这里有一个更完整的答案供将来参考:

您可以通过将脚本附加到所述游戏对象以在唤醒时启用着色器来解决此问题,它看起来像这样:

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
}
  • 有关材质着色器的更多信息,请参见统一文档here
  • 有关 Shader.find 的更多信息可以在文档here 中找到

这是假设您已经从场景中某处的材质中引用了着色器。如果不这样做,您可以按照 Gowthy 的评论将着色器添加到“始终包含的着色器”列表中。这可以通过转到项目设置下的Graphics 菜单找到,然后向下滚动到“始终包含的着色器”部分。或者,您可以将着色器添加到包含在播放器构建中的“资源”文件夹中”

【讨论】:

    【解决方案2】:
    1. 从资产目录中删除 Vuforia 文件夹。
    2. 打开播放器设置并取消选中 XR 设置中的 Vuforia 支持。
    3. 选择删除文件选项。
    4. 然后再次检查 Vuforia 支持。
    5. 在您的场景中选择 Vuforia 相机。
    6. 添加许可证密钥。
    7. 就是这样。

    【讨论】:

      猜你喜欢
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多