使用shader,矩阵旋转实现图片的旋转动画

常用于loading动画之类的

 

 

 

 

 

 

 

 

具体的实现代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
fixed4 frag (v2f i) : SV_Target
{
    //1.先将uv平移到原点(让图片中心与原点重合)
    float2 pianyi=(0.5,0.5);
    float2 tempUV=i.uv;
    tempUV -= pianyi;
     
    //距离圆心超过0.5的点渲染为透明
    if(length(tempUV)>0.5){
        return fixed4(0,0,0,0);
    }
    float2 finalUV=0;
    float angle=_Time.x*_Speed;
    //2.确定是按照z轴旋转,选取旋转公式
    finalUV.x=tempUV.x * cos(angle) - tempUV.y*sin(angle);
    finalUV.y=tempUV.x * sin(angle) + tempUV.y*cos(angle);
    //3.将uv还原到以前的位置
    finalUV += pianyi;
    fixed4 col = tex2D(_MainTex, finalUV);
    return col;
}

  

 



感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted @   周董御用  阅读(1380)  评论(1编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示