Unity - Shader
UV 超过 1 会发生什么
答案是:取决于纹理的 Wrap Mode 设置!
📊 三种 Wrap Mode
- Repeat(重复)- 默认模式
1 | |
原理:GPU 会自动执行 frac(uv.x)
1 | |
效果:纹理会无限循环平铺,像传送带一样。
- Clamp(钳制)
1 | |
原理:GPU 会执行 clamp(uv.x, 0, 1)
1 | |
效果:纹理边缘会被拉伸,像”定格”在最后一个像素。
- Mirror(镜像)
1 | |
效果:纹理会正向 → 反向 → 正向循环播放,像乒乓球一样来回。
旋转矩阵数学知识
数学公式
1 | |
为什么公式是这样的?
想象一个点 (x, y) 在极坐标中:
原始点:
r = √(x² + y²) ← 距离原点的距离
θ = atan2(y, x) ← 角度
旋转 α 度后:
新角度 = θ + α
新坐标 = (r·cos(θ+α), r·sin(θ+α))
用三角恒等式展开:
cos(θ+α) = cos(θ)cos(α) - sin(θ)sin(α)
sin(θ+α) = sin(θ)cos(α) + cos(θ)sin(α)
代入 x=r·cos(θ), y=r·sin(θ):
新 x = x·cos(α) - y·sin(α)
新 y = x·sin(α) + y·cos(α)
这就是旋转矩阵的公式!
1 | |
shader 使用透明材质
1 | |
Unity - Shader
http://example.com/2026/01/07/Unity-Shader/