chromatic abberation added
This commit is contained in:
parent
39c381c0e4
commit
c9e294213d
|
|
@ -1,5 +1,31 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2309378551457945779
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6050e2d5de785ce4d931e4dbdbf2d755, type: 3}
|
||||
m_Name: ChromaticAberration
|
||||
m_EditorClassIdentifier:
|
||||
active: 1
|
||||
enabled:
|
||||
overrideState: 1
|
||||
value: 0
|
||||
spectralLut:
|
||||
overrideState: 0
|
||||
value: {fileID: 0}
|
||||
defaultState: 1
|
||||
intensity:
|
||||
overrideState: 1
|
||||
value: 0
|
||||
fastMode:
|
||||
overrideState: 0
|
||||
value: 0
|
||||
--- !u!114 &-1752554079016775041
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 3
|
||||
|
|
@ -58,3 +84,4 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
settings:
|
||||
- {fileID: -1752554079016775041}
|
||||
- {fileID: -2309378551457945779}
|
||||
|
|
|
|||
|
|
@ -891,23 +891,30 @@ namespace HeavenStudio
|
|||
resizable = true,
|
||||
parameters = new()
|
||||
{
|
||||
new("enable", true, "Enable"),
|
||||
new("intenStart", new EntityTypes.Float(0f, 1f), "Start Intensity"),
|
||||
new("intenEnd", new EntityTypes.Float(0f, 1f, 1f), "End Intensity"),
|
||||
|
||||
new("colorStart", Color.black, "Start Color"),
|
||||
new("colorEnd", Color.black, "Start End"),
|
||||
|
||||
new("intenStart", new EntityTypes.Float(0f, 1f), "Start Intensity"),
|
||||
new("intenEnd", new EntityTypes.Float(0f, 1f), "End Intensity"),
|
||||
|
||||
new("smoothStart", new EntityTypes.Float(0.01f, 1f, 0.2f), "Start Smoothness"),
|
||||
new("smoothEnd", new EntityTypes.Float(0.01f, 1f, 0.2f), "End Smoothness"),
|
||||
|
||||
new("roundStart", new EntityTypes.Float(0f, 1f, 1f), "Start Roundness"),
|
||||
new("roundEnd", new EntityTypes.Float(0f, 1f, 1f), "End Roundness"),
|
||||
new("rounded", false, "Rounded"),
|
||||
|
||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease"),
|
||||
|
||||
new("rounded", false, "Rounded")
|
||||
}
|
||||
},
|
||||
new GameAction("cabb", "Chromatic Abberation")
|
||||
{
|
||||
resizable = true,
|
||||
parameters = new()
|
||||
{
|
||||
new("intenStart", new EntityTypes.Float(0f, 1f), "Start Intensity"),
|
||||
new("intenEnd", new EntityTypes.Float(0f, 1f, 1f), "End Intensity"),
|
||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease"),
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ namespace HeavenStudio
|
|||
|
||||
// events
|
||||
private List<RiqEntity> _vignettes = new();
|
||||
private List<RiqEntity> _cabbs = new();
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
|
@ -26,12 +27,15 @@ namespace HeavenStudio
|
|||
public void OnBeatChanged(double beat)
|
||||
{
|
||||
_vignettes = EventCaller.GetAllInGameManagerList("vfx", new string[] { "vignette" });
|
||||
_cabbs = EventCaller.GetAllInGameManagerList("vfx", new string[] { "cabb" });
|
||||
UpdateVignette();
|
||||
UpdateChromaticAbberations();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
UpdateVignette();
|
||||
UpdateChromaticAbberations();
|
||||
}
|
||||
|
||||
private void UpdateVignette()
|
||||
|
|
@ -47,7 +51,9 @@ namespace HeavenStudio
|
|||
float clampNormal = Mathf.Clamp01(normalized);
|
||||
var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]);
|
||||
|
||||
v.enabled.Override(e["enable"]);
|
||||
float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal);
|
||||
|
||||
v.enabled.Override(newIntensity != 0);
|
||||
if (!v.enabled) continue;
|
||||
v.rounded.Override(e["rounded"]);
|
||||
|
||||
|
|
@ -55,7 +61,6 @@ namespace HeavenStudio
|
|||
|
||||
v.color.Override(newColor);
|
||||
|
||||
float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal);
|
||||
v.intensity.Override(newIntensity);
|
||||
|
||||
float newSmoothness = func(e["smoothStart"], e["smoothEnd"], clampNormal);
|
||||
|
|
@ -66,6 +71,25 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
private void UpdateChromaticAbberations()
|
||||
{
|
||||
if (!_volume.profile.TryGetSettings<ChromaticAberration>(out var c)) return;
|
||||
c.enabled.Override(false);
|
||||
foreach (var e in _cabbs)
|
||||
{
|
||||
float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
|
||||
if (normalized < 0) break;
|
||||
|
||||
float clampNormal = Mathf.Clamp01(normalized);
|
||||
var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]);
|
||||
|
||||
float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal);
|
||||
c.enabled.Override(newIntensity != 0);
|
||||
if (!c.enabled) continue;
|
||||
c.intensity.Override(newIntensity);
|
||||
}
|
||||
}
|
||||
|
||||
private Color ColorEase(Color start, Color end, float time, Util.EasingFunction.Function func)
|
||||
{
|
||||
float newR = func(start.r, end.r, time);
|
||||
|
|
|
|||
Loading…
Reference in a new issue