使用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; } |
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步