力场效果(本来就渣,录屏效果是更渣~~)




(1)这里冲击波,主要是利用粒子particle系统,每次点击交互 发射一个粒子,
(2)每个粒子在自己的生命周期中大小都是可以控制的: 由小变大 或者 由大变小 , 总之就是曲线可控。
(3)每个冲击波的大小 和 每个粒子的大小 同步, 粒子决定冲击波
效果中用到知识点 在前面的章节中已经详细介绍了
水波纹
三平面映射
溶解
流光原理
下面直接贴上代码:
Shader "Unlit/ForceFiled_first_HitWave"
{
Properties
{
_NoiseTex ("_NoiseTex", 2D) = "white" {
}
_RampTex ("_RampTex", 2D) = "white" {
}
// _HitPos("HitPos",vector) = (0,0,0,0)
// _HitSize("_HitSize",float) = 1
_HitSpread("_HitSpread",float) = 1
_NoiseIntensity("_NoiseIntensity",float) = 1
_HitFadeDistance("扩散的距离限制,最后到末尾时会消隐_HitFadeDistance",float) = 5
_HitFadePower("_HitFadePower",float) = 1
_AffectorAmount("_AffectorAmount",float) = 20
/// 溶解值的计算:
_DissolveRampTex("_DissolveRampTex",2D) = "white"{
}
_DissolvePoint("溶解开始点_DissolvePoint",vector) = (0,0,0,0)
_DissolveNoisePower("_DissolveNoisePower",float) = 1
_DissolveAmount("_DissolveAmoun溶解程度",float) = 0.5
_DissolveSpread("_DissolveSpread",float) = 1
_DissolveEdgeIntensity("_DissolveEdgeIntensity",float) = 1
// RimColod
_FresnalPower("Fresnal Power",float) = 3
_FresnalScale("_FresnalScale",float) = 0.8
_FresnalBias("_FresnalBias",float) = 0.16
// _FlowMap
_FlowLightTex("_FlowLightTex",2D) = "white"{
}
_FlowMap("_FlowMap",2D) = "white"{
}
_FlowSpeed("_FlowSpeed",float) = 0.2
_FlowStrength("_FlowStrength",vector) = (0.2,0.2,0,0)
// 三平面映射相关
_Contrast("_Contrast法线遮罩的对比度",float) = 1
_TriPlanarTilling("_TriPlanarTilling 三平面映射的缩放平移",vector) = (1,1,0,0)
// 冲击波强度
_HitWaveIntensity("_HitWaveIntensity",float) = 1.3
//自发光
_EmissColor("_EmissColor",c

本文详细介绍如何在Unity中使用粒子系统创建力场效果,包括粒子大小变化、冲击波同步、溶解过程及流光原理的运用,通过代码展示了详细的shader编程。
最低0.47元/天 解锁文章
1321

被折叠的 条评论
为什么被折叠?



