@@ -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,默认为1,Color必须为白色。
|
||||
|
||||
|
||||
public FlexibleFloat visibleTimeLength; //trailBody的可见时间长度,如果没有动画,则默认为1秒。
|
||||
public FlexibleBool enableTimes; // headPoint和headCircle的启用/禁用时间,如果没有动画,则一直禁用。
|
||||
public float enableProcessTime = 0.5f; // headPoint,headCircle的启用/禁用过程时间,默认为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();
|
||||
|
||||
Reference in New Issue
Block a user