效果图

unity shader光束特效 unity光环特效_动画效果

目录

1、动态的光晕效果—Rim

(1)时间动画

(2)光晕效果

 2、扫描线效果—Scan Lines

(1)通过物体表面世界坐标Y轴,制作扫描线

(2)通过物体表面世界坐标z轴,添加噪音动画效果

(3)通过Lerp做颜色插值输出扫描效果

3、Emission混合,并输出


 

由于全息效果基本和Emission(自发光)部分有关,所以只需要关心自发光部分效果制作即可。

unity shader光束特效 unity光环特效_unity shader光束特效_02

1、动态的光晕效果—Rim

unity shader光束特效 unity光环特效_动画效果_03

(1)时间动画

unity shader光束特效 unity光环特效_动画效果_04

(2)光晕效果

unity shader光束特效 unity光环特效_unity shader光束特效_05

Rim Power:控制光晕范围圈大小。

unity shader光束特效 unity光环特效_世界坐标_06

Subtract 节点

减法节点(快捷键:S键)进行算术减法,其中A减去BA - B

多通道数据类型之间的减法是按通道进行的。如果A和B的频道数量不同,则进行强制转换以匹配具有最多频道数量的频道。

注意:减法不是可交换的,因此值的顺序重要。

Input PortDescriptionTypeAThe minuend, the value you want to subtract from.Float [1]BThe subtrahend, the value you want to be subtracted by.Float [1]

 2、扫描线效果—Scan Lines

unity shader光束特效 unity光环特效_世界坐标_07

(1)通过物体表面世界坐标Y轴,制作扫描线

unity shader光束特效 unity光环特效_动画效果_08

Scan Lines:控制扫描线的大小。

World Position 节点

按像素计算世界空间中的表面位置。这意味着它将检索曲面中每个点的真实世界位置。位置值考虑了游戏对象的变换,因此它们会根据游戏对象的位置,旋转和大小而相应地变化。通常对于全局效果(例如将世界位置映射到表面UV坐标)很有用。使用它的效果通常很容易识别,因为在大多数情况下,它会显示某种“纹理游动”,在移动对象时纹理会平移。因此,它通常用于静态对象的效果。

注意:不要与 Vertex Position节点混淆。

输出口描述类型XYZ返回世界空间中的表面位置Float3X仅返回曲面位置的X分量Floatÿ仅返回表面位置的Y分量Floatž仅返回表面位置的Z分量Float

物体表面世界坐标Y轴动画效果:

unity shader光束特效 unity光环特效_ASE案例解析_09

Component Mask 节点

Component Mask节点(快捷键:K键)从其输入输出所选通道的子集。要屏蔽的通道数量取决于输入数据类型。

Node ParameterDescriptionDefault ValueX | RInclude X | R channel0Y | GInclude Y | G channel. Visibility depends on connected input data type.0Z | BInclude Z | B channel. Visibility depends on connected input data type.0W | AInclude W | A channel. Visibility depends on connected input data type.0Other ParametersInput要掩盖的值。仅在未连接相应的输入端口时可见。0Input PortDescriptionTypeInput要掩盖的值Vector4[1]

(2)通过物体表面世界坐标z轴,添加噪音动画效果

unity shader光束特效 unity光环特效_世界坐标_10

(3)通过Lerp做颜色插值输出扫描效果

unity shader光束特效 unity光环特效_unity shader光束特效_11

3、Emission混合,并输出

unity shader光束特效 unity光环特效_扫描线_12

 混合光晕,自发光,以及主色值,处理后输出到 Emission。

 

最后,再调个透明度。

unity shader光束特效 unity光环特效_ASE案例解析_13

unity shader光束特效 unity光环特效_世界坐标_14