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)

相关推荐
星夜泊客1 小时前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
dzj20212 小时前
PointerEnter、PointerExit、PointerDown、PointerUp——鼠标点击物体,则开始旋转,鼠标离开或者松开物体,则停止旋转
unity·pointerdown·pointerup
心前阳光3 小时前
Unity 模拟父子关系
android·unity·游戏引擎
在路上看风景6 小时前
26. Mipmap
unity
咸鱼永不翻身8 小时前
Unity视频资源压缩详解
unity·游戏引擎·音视频
在路上看风景8 小时前
4.2 OverDraw
unity
在路上看风景9 小时前
1.10 CDN缓存
unity
ellis197018 小时前
Unity插件SafeArea Helper适配异形屏详解
unity
nnsix19 小时前
Unity Physics.Raycast的 QueryTriggerInteraction枚举作用
unity·游戏引擎
地狱为王20 小时前
Cesium for Unity叠加行政区划线
unity·gis·cesium