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


常用于loading动画之类的

 

 

 

 

 

 

 

 

具体的实现代码:

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;
}

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM