Vuforia:可以在iOS中使用alpha播放电影纹理



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

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

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

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

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

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

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

在vuforia论坛中有一些讨论:

播放视频-

阿尔法通道-视频样本-演示-项目

您需要制作一个像图片一样的"特殊视频",其功率为两个,例如: 256x512 格式

要使用的特殊视频图片

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

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

最新更新