请选择 进入手机版 | 继续访问电脑版

登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 277|回复: 0

Unity2020_Shadergraph学习笔记 (一)

[复制链接]

9

主题

11

帖子

170

积分

羽鸟

Rank: 3Rank: 3

积分
170
发表于 2022-1-26 19:22:37 | 显示全部楼层 |阅读模式
本帖最后由 xiaowen 于 2022-2-12 18:49 编辑

新建一个摄像机,把摄像机的背景颜色调成固定黑色新建一个rendertexture,放到摄像机的output texture栏




自己建一个或导入一个地面模型,给上贴图,这里给的是一张黑白纹理图,也可以是正常的地形纹理。让摄像机往下对着地形


  



创建一个VisualEffectGraph粒子,把粒子拖到场景中,打开粒子编辑界面

新建一个公共2D纹理,拖到编辑界面并连接一个Sample texture2D节点,该2D纹理读取上面新建的rendertexture






首先把粒子发射频率和总数调高





把原来默认的速度模块删掉,新建一个自定义属性模块,并命名。attribute type 改成vertor2,Random改成PerComponent.
设置x和y的最小值为0,最大值为1





在粒子模块上加一个Set position,在外面加一个Get Position节点,将其与一个3维向量连接,再连上Set Position上


新建一个获取自定义节点get customattribute,并且把上面自定义模块的名字复制给它,attribute type 也改成vertor2,然后连接上Sample texture2D节点的UV接口上。然后在粒子模块上加一个Set position节点,新建一个customattribute节点,其与Sample texture2D相加,把其连接到刚才新建的Set position节点上。







把输出粒子模块的混合模式改成add,给上一张光晕贴图







加上一个Set Size,给一个一维公共变量连接去控制。把Size over life模块的曲线改成由大到小,Composotion改成Multiply







继续在粒子模块上加一个Set position,在外面加一个Get Position节点,将其与之前的Sample Texture2D用一个ADD节点连接,然后粒子里再加一个Set Position,与之连接。







再加一个Get Position节点,其x,y与一个Vector3节点的x,y连接,Z坐标与一个变量用Multiply相乘,这个变量用来控制Z轴的高度



  




把上面的节点框选一起打个组,然后复制整个组一份,用来制作粒子线,然后把原来的模块删掉







再加一个Get Position节点,position与一个Multiply相乘,B数值输入-10,其再与一个Vector3节点相加,x,y坐标输入5,Z坐标连接一个变量,这个变量用来控制光线Z轴的高度





然后可以加上颜色控制光线颜色,粒子频率与生命周期也可以加上变量去控制






再复制第一个整体组,用来做一个移动的扫描线,新加一个Sample Curve,连接上自定义模块Set ParticleRandompos  Random的最小与最大值的y接口,然后加一个Totaltime与之相乘,调节移动速度,可以在曲线那选择是一次移动还是来回循环. 加一个periodic Brust ,count给300左右,Delay给0.3左右,让扫描线后面再跟随一层线


   


再复制第二组扫描线整体,用来做投影仪线。只需把上面加的Sample Curve这几个节点复制过来连上相同的位置即可。


  







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Loading...

手机版|小黑屋|人云亦云

GMT+8, 2022-10-4 17:04 , Processed in 0.061119 second(s), 23 queries .

Powered by 人云亦云 X3.4

Copyright © 2001-2020, GOSSIP.

快速回复 返回顶部 返回列表