美文网首页Unity项目优化
Unity特效图片优化

Unity特效图片优化

作者: 塘朗山小钻风 | 来源:发表于2021-02-04 21:04 被阅读0次

开发的游戏中有如下特效效果,展示的是一面墙的刷漆效果

刷漆效果

最开始开发的时候是使用如下的图片资源,在检视资源使用时注意到有严重资源浪费:

资源图片(可以把它看成30张图片)

着色器中是通过随时间调整UV值达到动画效果。我的优化思路是把这30张图片压成一张图片,通过让透明通道的值成阶梯(30个阶梯)。然后在着色器中通过透明通道的裁剪达到同样的刷漆效果。先用工具生成如下的图片资源(项目中有20个左右这样的资源统一处理)

透明度值从左上角到右下依次减小

着色器中的关键代码如下:


v2f vert(appdata_t IN)

{

v2f OUT;

UNITY_SETUP_INSTANCE_ID(IN);

UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);

OUT.vertex = UnityFlipSprite(IN.vertex, _Flip);

OUT.vertex = UnityObjectToClipPos(OUT.vertex);

OUT.texcoord.xy = IN.texcoord;

OUT.color = IN.color * _Color * _RendererColor;

LIGHT2D_TRANSFORM_TEX(OUT, OUT.vertex);

return OUT;

}

fixed4 frag(v2f IN) : SV_Target

{

fixed4 c = tex2D(_MainTex, IN.texcoord.xy);

c.a = step(1, c.a + _CurIndex/_MaxIndex);// _MaxIndex是总帧数(这个例子中是30) _CurIndex是[0,30)。定时修改这个值就有动画效果

c *= IN.color;

float3 light = SceneObjectLight2DColor(LIGHT2D_UV(IN));

c.rgb *= light * _Intensity

return c;

}


这样的优势是图片资源大小变小为原来的1/30。非常可观

相关文章

  • Unity特效图片优化

    开发的游戏中有如下特效效果,展示的是一面墙的刷漆效果 最开始开发的时候是使用如下的图片资源,在检视资源使用时注意到...

  • 【Unity】粒子特效优化实践

    【Unity】粒子特效优化实践 对于移动平台来讲,一直不建议大量使用粒子特效。因为对CPU和GPU来讲,粒子系统都...

  • [Unity优化] unity图片mipmap

    Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源 使用...

  • Unity优化技巧集合

    知乎作者:Mack Unity优化技巧(上)Unity优化技巧(中)Unity优化技巧(下)

  • 用unity保存相机渲染结果为图片

    转载请注明来源 起因mobile做特效费资源,是不是可以用unity做好特效再保存为图片动画使用呢? 思路使用相机...

  • Unity特效资源优化小技巧

    定制一切动态,相伴成长 在制作U3D特效过程中,如何尽可能用少的DC和资源做出丰富的效果,是特效师常常需要考虑和注...

  • Unity官方的UGUI优化指南读后总结

    Unity官方的UGUI优化指南读后总结 Unity官方的UGUI优化指南: Optimizing Unity U...

  • Unity优化相关文章汇总

    Unity优化的工具#韩宇飞Unity优化技巧(上) 关于获取组件GetComponent的效率问题Unity 脚...

  • unity3d优化总结篇

    unity3d优化总结篇(一)unity3d优化总结篇(二)

  • Unity中的GC以及优化

    转载自# Unity优化之GC——合理优化Unity的GChttp://www.cnblogs.com/zblad...

网友评论

    本文标题:Unity特效图片优化

    本文链接:https://www.haomeiwen.com/subject/mllitltx.html