feat: 梦境门、热力图、身体模块与终端 UI 全流程逻辑
Made-with: Cursor
This commit is contained in:
@@ -40,7 +40,9 @@ namespace AibisDream
|
||||
[SerializeField] private float postMorphBootDelay = 0.12f;
|
||||
[SerializeField] private float referenceSnapMorphProgress = 0.08f;
|
||||
[SerializeField] private Vector2 referenceSnapPadding = new(0.18f, 0.18f);
|
||||
[Tooltip("终端变形时 sceneBlackOverlay 淡入目标透明度(背景压暗)")]
|
||||
[SerializeField] private float blackoutAlpha = 0.92f;
|
||||
[Tooltip("黑场淡入时长(与终端 morph 并行)")]
|
||||
[SerializeField] private float blackoutFadeInDuration = 0.08f;
|
||||
[SerializeField] private float blackoutFadeOutDuration = 0.12f;
|
||||
|
||||
@@ -217,7 +219,13 @@ namespace AibisDream
|
||||
flashOverlay.SetAlpha(0f);
|
||||
|
||||
if (sceneBlackOverlay != null)
|
||||
{
|
||||
sceneBlackOverlay.gameObject.SetActive(true);
|
||||
sceneBlackOverlay.SetAlpha(0f);
|
||||
}
|
||||
|
||||
if (backgroundCutDelay > 0f)
|
||||
yield return new WaitForSeconds(backgroundCutDelay);
|
||||
|
||||
if (preMorphHoldDuration > 0f)
|
||||
yield return new WaitForSeconds(preMorphHoldDuration);
|
||||
@@ -225,11 +233,16 @@ namespace AibisDream
|
||||
if (terminalUI != null)
|
||||
{
|
||||
float morph = 0f;
|
||||
yield return DOTween.To(() => morph, v =>
|
||||
var morphTween = DOTween.To(() => morph, v =>
|
||||
{
|
||||
morph = v;
|
||||
terminalUI.MorphProgress = v;
|
||||
}, 1f, 0.82f).SetEase(morphEase).WaitForCompletion();
|
||||
}, 1f, 0.82f).SetEase(morphEase);
|
||||
|
||||
if (sceneBlackOverlay != null)
|
||||
sceneBlackOverlay.DOFade(blackoutAlpha, Mathf.Max(0.01f, blackoutFadeInDuration));
|
||||
|
||||
yield return morphTween.WaitForCompletion();
|
||||
}
|
||||
|
||||
ResetDoorShellScale();
|
||||
|
||||
Reference in New Issue
Block a user