ShaderGraph——303摇曳的小草

零、准备:让草在Scene/Game视图中被看见

   给PBRMaster节点,添加主贴图、法线贴图、金属贴图,并把主贴图的透明通道给PBRMaster的Alpha,且须改其Surface为Transform、勾选双面渲染TwoSided——此时能在ShaderGraph中能看到草,但在Scene/Game视图中看不到——原因是模型的Scale太小了(XYZ都是0.001),且摆位有问题,解决方法是:Scale变为1,并让其绕Y轴转180度。
请添加图片描述
在这里插入图片描述

在这里插入图片描述

效果图(如下)
在这里插入图片描述

一、草发生弯曲

   原理

      让模型顶点的X发生随机。

   实现

      分离出顶点的X值,给它加上一个0到1的噪点——此时,草只超正方向偏移了0到1,为了正负方向都有偏移,我们再给它减去0.5——然后我们再将顶点的XYZ组合起来,赋给模型的VertexPosition(另注意Position节点的Space,暂时定为了Object;噪点的Scale,暂时定义了成了5)。

   效果

      下图红圈处,我们可以看到,草发生了弯曲
在这里插入图片描述

二、草动起来

   原理

   让噪点的UV,按时间偏移
在这里插入图片描述
请添加图片描述

三、让草的运动符合自然规律

   问题

      之上动图,草的根部和顶部运动幅度一样,然而在自然中,顶部运动幅度>根部运动幅度

   解决

      使用Lerp插值节点,节点的a是模型原始的顶点(Position节点),b是组合后节点(Combine节点),t是模型UV的纵向(从底部的0到顶部的1)
在这里插入图片描述

   效果

请添加图片描述

四、复制多个草窝时,产生此起彼伏、风吹麦浪的结果

请添加图片描述

   问题

      复制多个草窝时,它们的运动都一致——自然状态下,应该是像麦浪一样有此起彼伏的效果

   解决

      把“World”Space空间下的Position节点,连给Tiling And Offset的UV

   效果

      最高的草叶,不再平行,有了略微的差别、
请添加图片描述

五、某个草旋转后,摆动方向与其它草不一致

   问题

      第一个草,Y轴旋转度设为90,在左右移动,而另外的草是前后移动
请添加图片描述

   原因

      原始Position节点的Space是“Object”,应改为"World"——但最后PBRMaster节点的VertexPosition默认是Object,所以最后还得用Transform节点,将World转化为Object

在这里插入图片描述

六、对摇动频率、摇动幅度、弯曲噪点做调整

在这里插入图片描述

七、最终效果图

风刮的有点儿大,有种山雨欲来的感觉——个人可以将以上要点设置属性,在Inspector面板里调整
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值