文章目录
前言
我们在Shader中实现序列帧动画。可以实现一些简单特效或动画节省性能用。
我们在这篇文章中,实现一下UV流动的通用起始点。
一、一般序列帧动画是按照序列图如下顺序读取的
- 先左到右,再从上到下

二、在Shader找到UV流动的起始点
1、先实现纹理采样
_MainTex(“MainTex”,2D) = “white”{}
- 定义纹理
TEXTURE2D(_MainTex);
- 定义采样器
SAMPLER(sampler_MainTex);
- 在片元着色器进行纹理采样
float4 mainTex = SAMPLE_TEXTURE2D(_MainTex,sampler_MainTex,i.uv);
2、得到 uv 走格的单位格子大小
- 是 m ∗ n m * n m∗n 的序列帧图,就对UV除以多少,来得到一个格子的图像
u m 和 v n \frac{u}{m} 和 \frac{v}{n} mu

本文介绍了如何在Unity的URPShader中处理一般序列帧动画,通过纹理采样找到UV流动的起始点,并将其通用化,以适应不同尺寸的序列图。作者展示了如何接收行和列属性,以及相应的计算公式以定位起始单位格。
&spm=1001.2101.3001.5002&articleId=135381880&d=1&t=3&u=818ff29ea49b4c7d8214ce19b4f6db4d)
2929

被折叠的 条评论
为什么被折叠?



