unity脚本控制逐渐消失_Unityshader消融特效——(1)逻辑节点篇

更新时间:2023-07-28 05:39:37 阅读: 评论:0

跑步如何调整呼吸
unity脚本控制逐渐消失_Unityshader消融特效——(1)逻辑
节点篇
在游戏⾥我们经常会看到:怪物死亡之后通常不是瞬间消失,⽽是从模型的某⼀位置开始消失,最后蔓延⾄全⾝,有点类似于燃烧,这种现象叫做消融(Dissolve)。
本篇主要讲解消融特效的实现逻辑。使⽤Unity的Amplify Shader Editor进⾏节点连接。⽽下⼀篇会将逻辑写成真正的shader代码。
下⾯先展⽰⼀下⼤概的预览效果:效果预览
简单逻辑
消融的效果主要利⽤了shader⾥的裁切(Clip)功能,在Amplify⾥叫做Opacity Mask。⽐如裁切值为0,那么只有当数值⼤于0,像素才会被渲染出来,否则会被剔除。
⼀张灰度图的像素值在0~255之间,转换到程序⾥也就是0~1之间。0是⿊⾊,1是⽩⾊。
假如有⼀张Noi灰度贴图,最开始我加上⼀个数值v=1,那么所有像素值都是⽩⾊。如果我逐渐把v减
少,像素的数值也会逐渐减少。当v=0的时候,贴图恢复到原始样貌。我继续减少数值v,当v=-1的时候,贴图所有像素都变为⿊⾊。把这个变化的过程传递给shader做裁切计算,就可以实现模型逐渐消融的效果。
美术资源准备
除了模型本⾝需要的贴图之外,还需要两张控制消融效果的贴图。
在PS⾥⽣成⼀张云彩的Noi纹理,然后点击图像菜单下的“⾃动颜⾊”命令,使图像的像素值完全占⽤满0~255的范围,这样才不⾄于
有空⽩的区间产⽣。Noi贴图
使⽤PS的渐变⼯具制作⼀张左侧⿊,中间红,右侧黄,最右侧⽩的渐变贴图,作为消融过程中的⾃发光采样颜⾊。渐变贴图
注意:渐变贴图导⼊unity之后,⼀定要把Wrap Mode设置为Clamp,否则采样的时候,纹理坐标为0的位置会采样到纯⽩的颜⾊。渐变纹
理设置按摩阴道
运动会广播稿
Shader设置
为了正常开启shader的Opacity Mask通道,对shader做⼀下设置渲染类型为:Transparent Cutout
微信公众账号登录
渲染顺序为:Alpha Test
PBR Specular节点PBR贴图
本次shader是按照unity的Specular⼯作流设计的,使⽤了Albedo、Normal、Specular、Smoothness、和AO贴图,其中Smoothness存于Specular贴图的Alpha通道⾥。然后把它们分别连接到对应的通道。
Opacity Mask节点
创建⼀个名为Dissolve的变量,范围设置为0~1,0表⽰没有消融,1表⽰完全消融。
然后通过Remap节点把数值范围重新映射到-1~1之间,对应我们最开始讲的数值v。
Noi纹理减去这个数值,经过Saturate节点,把范围裁切到0~1,然后连接到Opacity Mask通道。
这个时候就可以通过控制材质⾯板的Dissolve变量控制模型的消融了。
以下是到⽬前为⽌的效果:
工行面试Emission节点
为了使效果更加酷炫,我们在消融的位置添加⾃发光的效果。
把Opacity Mask再次重新映射成-4~4的范围,为了使⿊⾊的范围稍微扩⼤,并且⽩⾊部分数值变⼤。
光棍节祝福语然后使⽤Saturate节点把范围裁切⾄0~1,反相之后⽤于对渐变纹理进⾏采样。从⽽使消融的边缘⾃发光从⽩⾊逐渐过渡到黄⾊、红⾊,⽽未开始消融的部分⾃发光依然是⿊⾊。
谭延闿书法再乘以⼀个变量Emissive,⽤于控制⾃发光强度,最后连接到Emission通道上。
戏曲家最终
材质⾯板所有开放的变量材质⾯板
添加了Unity的后期处理Bloom效果之后,⾃发光有了光晕的效果。
⼜添加了⼀个C#脚本,⿏标指上去之后开始消融,离开之后恢复原始效果。

本文发布于:2023-07-28 05:39:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1121225.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消融   贴图   效果   数值   开始   变量   裁切
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图