随风摆动的草丛 您所在的位置:网站首页 游戏主播随风的图片 随风摆动的草丛

随风摆动的草丛

2024-06-13 00:54| 来源: 网络整理| 查看: 265

开发技巧 6 赞 10 评论 2020-04-14

觉得用动画器做草丛的动效好笨重啊,就试着用2D新出的shader graph鼓捣了一个。小白若有错误还请指正

效果预览

Image title

话不多说先上图。

树木,高草,顶棚与草地细节部分的动效均为着色器效果

具体实现:

Image title

右键在新标签页中打开图片查看细节

基本思路:核心是使用Tiling And Offset节点与Gradient Noise节点在对象UV上制造随机扰动,以模拟自然风的效果附加使用UV节点结合Power节点来限制扰动在对象上应用的范围最后使用Lerp节点插值,应用最终效果实现细节:

1.Split节点与Combine节点的使用

Image title

Split节点的用途是将n维矢量分离,这样就可以单独加工其中的任一维。而Combine节点则将这些向量重新结合在一起。

(第一次见这个RGBA给我看懵逼了,心想我输入的也不是颜色阿..后来查一下才知道RGBA只是输出矢量的标识)

2.将Time节点输入来平移噪声Image title

Time节点是任何随时间变化的效果中必不可少的。

Time,DeltaTime与SmoothDelta可用于随时间推进而变化的效果,而Sine Time与Cosine Time则可以用于来回循环的效果。

3.使用Power节点与Lerp节点来固定作用范围

Image title

Image title

UV的取值范围为(0,1)

随着InfluenceHeight的增大,输出结果越来越极化,结合Lerp节点的定义可以固定扰动的作用范围,实现高草地下半部分不受影响的效果,更接近于现实中草地的表现。

个人感想:Add,Multiply,Subtract,Divide以及One Minus这些基本节点用处非常广泛,在学习时须熟练掌握其性质若要仅更改某N维矢量的某一维度,先使用Split节点将其分离,再使用Combine节点组合在一起Gradient Noise节点可生成均匀自然的随机噪声,在模拟风,水波等自然效果时应用广泛这个着色器瞎胡调参数能调出来好多神奇的效果..比如这个类似于穿梭的东西

Image title

我怀疑好多效果都是这样瞎调出来的..

小白一个,若有错误还请不吝指正啦。

参考链接:

https://forum.unity.com/threads/shader-graph-and-multiple-sprite-mode.706733/ 简单的抖动效果

https://blogs.unity3d.com/2018/10/05/art-that-moves-creating-animated-materials-with-shader-graph/ 官方3D示例项目+讲解

https://docs.unity3d.com/Packages/[email protected]/manual/index.html 官方文档

赞日志 6 收藏日志 2 近期点赞的会员  分享这篇日志


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有