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)

相关推荐
我的offer在哪里14 小时前
示例 Unity 项目结构(Playable Game Template)
unity·游戏引擎
淡海水17 小时前
【节点】[Branch节点]原理解析与实际应用
unity·游戏引擎·shadergraph·图形·branch
在路上看风景17 小时前
4.6 显存和缓存
unity
Zik----20 小时前
简单的Unity漫游场景搭建
unity·游戏引擎
在路上看风景1 天前
4.5 顶点和片元
unity
在路上看风景2 天前
31. Unity 异步加载的底层细节
unity
天人合一peng2 天前
Unity中做表头时像work中整个调整宽窄
unity
小李也疯狂2 天前
Unity 中的立方体贴图(Cubemaps)
unity·游戏引擎·贴图·cubemap
牛掰是怎么形成的2 天前
Unity材质贴图引用陷阱:包体暴涨真相
unity·材质·贴图
呆呆敲代码的小Y2 天前
【Unity工具篇】| 超实用工具LuBan,快速上手使用
游戏·unity·游戏引擎·unity插件·luban·免费游戏·游戏配置表