最近需要一个3D的圆形血条功能,多方测试完成后做个简单总结。
1、上来的思路考虑NGUI实现的Fill效果,查看NGUI代码发现它的实现方式是动态修改Mesh形状实现的,所以考虑按本方案尝试一次。
动态创建圆形Mesh功能代码参考:http://blog.youkuaiyun.com/ecidevilin/article/details/52456107
shader选择用简单的混合:
float4 frag(VertexOutput i) : COLOR
{
float4 _MainTex_Color = tex2D(_MainTex,TRANSFORM_TEX(i.uv0, _MainTex));
fixed4 finalRGBA = fixed4(_TintColor.rgb*_MainTex_Color.rgb,_MainTex_Color.a);
return finalRGBA;
}
效果图 贴图