使用Shader制作loading旋转动画
Posted blackteeth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Shader制作loading旋转动画相关的知识,希望对你有一定的参考价值。
效果图:
1.绕Z轴旋转的旋转矩阵
2.UV旋转的步骤
(1) 由于旋转矩阵是绕原点旋转的,要把要旋转的UV坐标平移到原点
1 i.uv -= float2(0.5, 0.5); 2 float2 tempUV = i.uv;
(2)旋转UV坐标
1 i.uv.x = cos(_Speed * _Time.y) * tempUV.x - sin(_Speed * _Time.y)*tempUV.y; 2 i.uv.y = sin(_Speed * _Time.y) * tempUV.x + cos(_Speed * _Time.y) * tempUV.y;
(3)把多余部分的图片,设置采样点为(0,0)
1 if (abs(i.uv.x) > 0.5 || abs(i.uv.y) > 0.5) 2 { 3 i.uv = float2(0, 0); 4 }
(4)平移回去
i.uv += float2(0.5, 0.5);
注意需要开启Alpha通道,并关闭ZWrite
以上是关于使用Shader制作loading旋转动画的主要内容,如果未能解决你的问题,请参考以下文章