小改shader

Signed-off-by: TRADER_FOER <lhf190@outlook.com>
This commit is contained in:
2026-06-20 12:12:01 +08:00
parent 78fc7fb468
commit 93b085f3cd
6 changed files with 20455 additions and 19873 deletions

View File

@@ -17,16 +17,19 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
public GameObject trailBody;
public List<Renderer> renderers = new List<Renderer>();
public bool isHeadEnabled;
public TrailRenderer trailRenderer { get; set; }
public AnimationCurve widthCurve; //trailBody的宽度曲线默认为常数0.5。
public Gradient trailAlphaGradient; //trailBody的渐变只控制Alpha默认为1Color必须为白色。
public FlexibleFloat visibleTimeLength; //trailBody的可见时间长度如果没有动画则默认为1秒。
public FlexibleBool enableTimes; // headPoint和headCircle的启用/禁用时间,如果没有动画,则一直禁用。
public float enableProcessTime = 0.5f; // headPointheadCircle的启用/禁用过程时间默认为0.5秒启用完成后sparks开启禁用开始时sparks关闭。
public float headSize = 1f; // headPoint和headCircle的目标大小默认为1。
public FlexibleFloat headRotateSpeed; // headCircle的旋转速度(Particle.rotationOverLifetime的angular velocity)
public Material EffectMaterial;
float IHaveTrail.visibleTimeLength
{
get => visibleTimeLength.animations.Count > 0 ? visibleTimeLength.value : 5f;
@@ -71,8 +74,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
dtmTrail.widthCurve = widthCurve ?? DefaultWidthCurve();
dtmTrail.trailAlphaGradient = trailGradient ?? DefaultTrailGradient();
if(isFirstGenerated) dtmTrail.AfterInitialize();
if (isFirstGenerated) dtmTrail.AfterInitialize();
return dtmTrail;
}
@@ -117,7 +120,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
rend.InitializeShader();
}
sparks.gameObject.SetActive(false);
headPoint.transform.localScale = Vector3.zero;
headCircle.transform.localScale = Vector3.zero;
@@ -215,8 +218,8 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
}
}
/// <summary>
/// 用 baseColor 作为固定颜色,从 alphaSource 中提取 Alpha 曲线,合成最终的 TrailRenderer Gradient
/// </summary>
@@ -266,7 +269,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
trailRenderer.time = visibleTimeLength.value;
}
}
private Sequence enableHeadSequence;
private Sequence disableHeadSequence;
private Sequence headBounceSequence;
@@ -288,7 +291,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
disableHeadSequence.Join(headCircle.transform.DOScale(0, enableProcessTime).SetEase(Ease.OutQuad));
disableHeadSequence.Play();
}
public void TriggerInteraction()
{
headBounceSequence = DOTween.Sequence();