Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d vuforia ARCamera视频背景为黑色_Unity3d_Shader_Vuforia_Assetbundle_Arcamera - Fatal编程技术网

Unity3d vuforia ARCamera视频背景为黑色

Unity3d vuforia ARCamera视频背景为黑色,unity3d,shader,vuforia,assetbundle,arcamera,Unity3d,Shader,Vuforia,Assetbundle,Arcamera,我用vuforia ARCamera和imagetarget创建了assetbundle场景。现在,在加载assetbundle场景后,场景可以从黑屏开始。我注意到ARCamera->Camera->BackgroundPlane->VideoMaterial(实例)->“Custom/VideoBackground”未启用。但当我手动启用时,相机已启用并显示live。在场景加载后,是否仍要启用该着色器 图1: 图2:以下是一个更完整的答案,供将来参考: 您可以通过将脚本附加到所述游戏对象来解

我用vuforia ARCamera和imagetarget创建了assetbundle场景。现在,在加载assetbundle场景后,场景可以从黑屏开始。我注意到ARCamera->Camera->BackgroundPlane->VideoMaterial(实例)->“Custom/VideoBackground”未启用。但当我手动启用时,相机已启用并显示live。在场景加载后,是否仍要启用该着色器

图1:


图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
}
void Awake()
{
//获取您的视频素材组件
VideoMaterial myVideoMaterial=getComponent();
//查找名为“VideoBackground”的着色器,并将其应用于组件的着色器材质
myVideoMaterial.material.shader=shader.find(“自定义/视频背景”);
Destroy(this);//这将在执行此脚本后删除它,在我看来只是看起来更干净了一点,但没有必要
}
  • 有关材质着色器的详细信息,请参见unity文档
  • 有关Shader.find的详细信息可在文档中找到
这是假设您已从场景中某个位置的材质中引用着色器。如果没有,可以根据Gowthy的注释将着色器添加到“始终包含着色器”列表中。这可以通过转到“项目设置”下的“图形”菜单,然后向下滚动到“始终包含着色器”部分来找到。或者,您可以将着色器添加到“资源”文件夹中,该文件夹包含在播放器构建中“

  • 从资产目录中删除Vuforia文件夹
  • 打开播放器设置并取消选中XR设置中的Vuforia支持
  • 选择删除文件选项
  • 然后再次检查Vuforia支持
  • 在场景中选择Vuforia摄影机
  • 添加许可证密钥
  • 就这样

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