[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果

最近在学习Penny老师的ShaderGraph入门课,在此做点笔记,免得以后健忘发作。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第1张图片

(最终效果如图所示)

实现原理就是给Vertex-Position加一个Float值用来缩放(0~5),如下图所示(节点及连线操作不多赘述)。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第2张图片

保存之后就可以在Inspector窗口调整这个Float参数来控制大小啦。SoEasy~

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第3张图片

        

除了Float控制,还可以通过Time来自动缩放。如下图所示,将原先Float的位置换成Time-SineTime(正弦时间,介于-1与1之间)。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第4张图片

注意要把Scene效果图层中的AlwaysRefresh[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第5张图片勾上,这样在视图中始终刷新,看着就不会一卡一卡了。 

但负数会产生一个问题,那就是贴图倒置。内胆都翻出来了,显然不是我们想要的效果。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第6张图片

这时需要给SineTime加一个CustomFunction,公式及设置如下图所示。原理也很简单,Inputs的数值加一,就没有负数了。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第7张图片

现在已经有了频率跳动的感觉,但是零值让对象直接缩没了,感觉不是很好。解决办法也简单,[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第8张图片公式后面加一个数值(大于0小于1)就行了。

最终就可以达成文章开头所展示的效果。

[笔记]ShaderGraph制作一个类似心脏跳动的缩放效果_第9张图片

你可能感兴趣的:(笔记,unity)