我正在尝试使用带alpha通道的视频,但我得到的只是alpha通道为黑色。
我正在使用Vuforia视频播放示例。
我希望我没有错过任何相关信息。
提前致谢, 任何帮助将不胜感激:)
答案 0 :(得分:2)
Vuforia通过使用内置系统视频播放器(在iOS和Android上)播放视频,方法是将它们设置为渲染纹理。
系统播放器不支持Alpha通道视频。
您需要在渲染纹理上应用色度键着色器以删除绿色或紫色。
vuforia论坛中有一些讨论:
答案 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
中看到我的帖子