UnityShaderLab 实现程序化形状(一)

1.实现一个长宽可变的矩形:

代码:

cpp 复制代码
    fixed4 frag (v2f i) : SV_Target
    {
           return saturate(length(saturate(abs(i.uv - 0.5)-0.13)))/0.03;
    }

2.实现一个半径可变的圆形:

代码:

cpp 复制代码
 fixed4 frag (v2f i) : SV_Target
 {
        return   (distance(abs(i.uv - 0.5),0)-0.36)/0.06;
 }

3.实现一个可变圆环:

代码:

cs 复制代码
  fixed4 frag (v2f i) : SV_Target
  {
         return abs((distance(abs(i.uv - 0.5),0)-0.36)/0.06)-0.76;
  }

参考链接:

Unity 3D ShaderGraph Tips and Tricks - Circles and Rings #1 (youtube.com)

Procedural Shapes ShaderGraph tutorial for Unity (youtube.com)

相关推荐
老朱佩琪!26 分钟前
在Unity中实现状态机设计模式
开发语言·unity·设计模式
憨辰1 小时前
Unity I2多语言拆分方案【内存、包体⬇️】
unity·游戏引擎
jtymyxmz13 小时前
《Unity Shader》12.5 Bloom 效果
unity·游戏引擎
jtymyxmz15 小时前
《Unity Shader》12.6 运动模糊
unity·游戏引擎
jtymyxmz18 小时前
《Unity Shader》12.4.2 实现
unity·游戏引擎
sindyra20 小时前
Unity UGUI 之 Canvas Scaler
unity·游戏引擎
在路上看风景1 天前
2.Square Grid
unity
程序猿阿伟1 天前
《突破Unity热更新瓶颈:底层函数调用限制与生态适配秘籍》
unity·游戏引擎
龙智DevSecOps解决方案1 天前
Perforce《2025游戏技术现状报告》Part 3:不同行业挑战以及Unreal、Godot、自研游戏引擎的应用趋势
游戏引擎·godot·游戏开发·perforce
在路上看风景1 天前
13. UGUI合批
unity