Vuforia:有可能在iOS中使用alpha播放Movie纹理吗?

时间:2014-12-01 23:15:26

标签: ios unity3d vuforia

我正在尝试使用带alpha通道的视频,但我得到的只是alpha通道为黑色。

我正在使用Vuforia视频播放示例。

我希望我没有错过任何相关信息。

提前致谢, 任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:2)

Vuforia通过使用内置系统视频播放器(在iOS和Android上)播放视频,方法是将它们设置为渲染纹理。

系统播放器不支持Alpha通道视频。

您需要在渲染纹理上应用色度键着色器以删除绿色或紫色。

vuforia论坛中有一些讨论:

playing-video-alpha-channel-videosample-demo-project

答案 1 :(得分:1)

你需要制作一部特别的视频"像pic一样,功能为:256x512格式

pic of special video to be used

然后使用此自定义着色器:

Properties{ 
       _MainTex("Color (RGB)", 2D) = "white" 
  } 
  SubShader{ 
       Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" } 
       CGPROGRAM 
       #pragma surface surf NoLighting alpha 
       fixed4 LightingNoLighting(SurfaceOutput s, fixed3 lightDir, fixed atten) { 
        fixed4 c; 
        c.rgb = s.Albedo; 
        c.a = s.Alpha; 
        return c; 
   } 
   struct Input { 
        float2 uv_MainTex; 
   }; 
   sampler2D _MainTex; 
   void surf(Input IN, inout SurfaceOutput o) { 
        o.Emission = tex2D(_MainTex, IN.uv_MainTex).rgb; 

       if(IN.uv_MainTex.y <= 0.5){ 
          o.Alpha=0; 
       }

       else{ 
            o.Alpha = tex2D(_MainTex, float2(IN.uv_MainTex.x, IN.uv_MainTex.y-0.5)).rgb; 
       }

   } 
   ENDCG 
  } 
}

您也可以在http://answers.unity3d.com/questions/833537/how-to-play-alpha-video-in-unity.html#answer-1094012

中看到我的帖子