From d81c1ea76d39fc03dbfc05ccce29575fab9a3467 Mon Sep 17 00:00:00 2001 From: bottlefish <781230111@qq.com> Date: Sat, 25 Jul 2026 21:26:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(dreamdoor):=20=E4=BC=98=E5=8C=96=E7=BB=88?= =?UTF-8?q?=E7=AB=AF=E5=8F=98=E5=BD=A2=E9=A1=BF=E6=8C=AB=E5=B9=B6=E6=8F=90?= =?UTF-8?q?=E9=AB=98=E8=B7=B3=E5=AD=97=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- Assets/Scenes/梦境.unity | 9 +++++---- Assets/Scripts/UI/Components/DreamTerminalUI.cs | 15 ++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Assets/Scenes/梦境.unity b/Assets/Scenes/梦境.unity index d467b0de8..56732bda5 100644 --- a/Assets/Scenes/梦境.unity +++ b/Assets/Scenes/梦境.unity @@ -726,18 +726,19 @@ MonoBehaviour: terminalShapeReference: {fileID: 1847534534} seaCollapseScale: {x: 0.9, y: 0.84, z: 1} doorSnapScale: {x: 2.68, y: 1.06, z: 1} - morphEase: 10 + morphEase: 27 frameHidePhase: 2 doorSnapDuration: 0.2 backgroundCutDelay: 0.04 - preMorphHoldDuration: 0.16 - postMorphBootDelay: 0.12 + preMorphHoldDuration: 0.22 + postMorphBootDelay: 0.06 referenceSnapMorphProgress: 0.08 referenceSnapPadding: {x: 0.18, y: 0.18} blackoutAlpha: 1 blackoutFadeInDuration: 0.08 blackoutFadeOutDuration: 0.12 morphStartTimelineName: "\u59D0\u59D0/\u5934\u75DB" + morphDuration: 0.45 hideOnTerminal: - {fileID: 1420961917} --- !u!1 &450371654 @@ -1584,7 +1585,7 @@ MonoBehaviour: promptString: '> bit seaExists = ' onCompleteNode: "\u82CF\u9192" typewriterCharDelay: 0.025 - bootSpeedMultiplier: 4 + bootSpeedMultiplier: 20 bootSequence: - text: root@sys:~$ dream.render --stop --session 0742 style: 3 diff --git a/Assets/Scripts/UI/Components/DreamTerminalUI.cs b/Assets/Scripts/UI/Components/DreamTerminalUI.cs index dbec2c288..a2a39ed77 100644 --- a/Assets/Scripts/UI/Components/DreamTerminalUI.cs +++ b/Assets/Scripts/UI/Components/DreamTerminalUI.cs @@ -145,7 +145,8 @@ namespace AibisDream.UI public float MorphProgress { get => morphProgress; - set => morphProgress = Mathf.Clamp01(value); + // 允许略超 1,配合 OutBack 过冲;收束时由门系统写回 1。 + set => morphProgress = Mathf.Clamp(value, 0f, 1.35f); } #endregion @@ -254,8 +255,7 @@ namespace AibisDream.UI public Vector2 EvaluateFrameSize(float progress) { - float frameProgress = Mathf.SmoothStep(0f, 1f, Mathf.Clamp01(progress)); - return Vector2.Lerp(morphStartSize, terminalSize, frameProgress); + return Vector2.LerpUnclamped(morphStartSize, terminalSize, progress); } [ContextMenu("Preview/Frame Only")] @@ -299,9 +299,10 @@ namespace AibisDream.UI if (Alpha <= 0.01f) return; - float frameProgress = Mathf.SmoothStep(0f, 1f, MorphProgress); + // 不用 SmoothStep 二次柔化;允许 >1 以保留 OutBack 过冲顿挫。 + float frameProgress = MorphProgress; float textReveal = frameProgress >= 0.999f ? 1f : 0f; - Vector2 currentSize = Vector2.Lerp(morphStartSize, terminalSize, frameProgress); + Vector2 currentSize = Vector2.LerpUnclamped(morphStartSize, terminalSize, frameProgress); using (Draw.Command(cam)) { @@ -1007,9 +1008,9 @@ namespace AibisDream.UI private void DrawEditorScenePreview() { - float frameProgress = Mathf.SmoothStep(0f, 1f, MorphProgress); + float frameProgress = MorphProgress; float textReveal = frameProgress >= 0.999f ? 1f : 0f; - Vector2 currentSize = Vector2.Lerp(morphStartSize, terminalSize, frameProgress); + Vector2 currentSize = Vector2.LerpUnclamped(morphStartSize, terminalSize, frameProgress); Matrix4x4 previousMatrix = Handles.matrix; Color previousColor = Handles.color;