Unity Shader Graph实现模型任意方向剖切(学习笔记/五毛钱特效)

使用Shader Graph:Unlit Master

使用Position获取物体Object的空间坐标信息。

使用Split拆分物体的空间坐标信息,比如拆分为x、y、z。

使用Split拆分后的x、y、z分别传入3个Multiply乘法。

使用3个暴露给外部的变量x、y、z来控制拆分后的x、y、z值。

此处如图,x设置为1,任何x值乘1均为原有值,则物体的x值可以传出。

此处如图,y设置为1,任何y值乘1均为原有值,则物体的y值可以传出。

此处如图,z设置为0,任何z值乘0均为0,则物体的z值无法传出。

需要注意的是,因为是乘法,乘0是将相应的输出关闭,乘1是原样输出,乘-1是反转。

物体的空间坐标x、y、z分别通过Multiply乘法获取到,可以在相应节点的预览图看到效果。

通过2个Add相加节点将3个已经过处理的物体x、y、z值相加在一起。

这里x和y均设置为1,则两个方向都有输出,相加在一起后会产生45度的倾斜。

通过将相加的效果输入Step步进节点,通过暴露给外部的变量Clip来控制步进的值。

这里的Clip设置为0,则没有步进的效果。

这是Clip设置为0.6的切割模型效果。

这是Clip设置为-0.6的切割模型效果。

 

将Clip设置为0.6的切割效果,输出到Unlit Master的AlphaClipThreshold。

则可以在Main Preview主预览界面看到剖切效果。

需要注意的是如果Alpha设置为1,则无法看到剖切效果,设置为0.99可以看到。

(五毛钱)项目效果。

前者是使用以上简单剖切的效果,没有做切割面的缝合。

后者是一个叫3dXray的shader的效果,shader署名Mohammed Iqubal,http://www.polyandcode.com MIT license

 

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值