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)

相关推荐
ok406lhq6 小时前
unity游戏调用SDK支付返回游戏会出现画面移位的问题
android·游戏·unity·游戏引擎·sdk
ellis19708 小时前
toLua[八] main场景分析
unity·lua
CreasyChan8 小时前
unity四元数 - “处理旋转的大师”
unity·c#·游戏引擎
野区捕龙为宠9 小时前
unity 实现3D空间音效特性
3d·unity·游戏引擎
老朱佩琪!10 小时前
Unity外观模式
unity·游戏引擎·外观模式
程序员茶馆10 小时前
【unity】Shader艺术之unity内置变量个性化控制
unity·游戏引擎
CreasyChan11 小时前
unity射线与几何检测 - “与世界的交互”
算法·游戏·3d·unity·数学基础
CreasyChan11 小时前
unity矩阵与变换 - “空间转换的魔术”
unity·矩阵·c#·游戏引擎
fcm1911 小时前
pico之调试unity项目
unity·vr·pico
WarPigs11 小时前
Unity生命周期函数笔记
unity·游戏引擎