From e41756d0f0af58d87a12ef17d3df737b710619dd Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Mon, 29 Jun 2026 15:58:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(camera):=20=E4=BF=AE=E5=A4=8D=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E5=88=87=E6=8D=A2=E7=9B=B8=E6=9C=BA=E6=97=B6=20Custom?= =?UTF-8?q?Blend=20=E4=BB=8D=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Framework/OtherKit/CameraKit.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Framework/OtherKit/CameraKit.cs b/Assets/Scripts/Framework/OtherKit/CameraKit.cs index 3cb1fd0a5..638604607 100644 --- a/Assets/Scripts/Framework/OtherKit/CameraKit.cs +++ b/Assets/Scripts/Framework/OtherKit/CameraKit.cs @@ -182,11 +182,15 @@ namespace AibisDream.Framework var activeBrain = _orthoCameraBrain; CinemachineBlendDefinition originalBlend = default; + CinemachineBlenderSettings savedCustomBlends = null; if (immediate) { originalBlend = activeBrain.m_DefaultBlend; activeBrain.m_DefaultBlend = new CinemachineBlendDefinition( CinemachineBlendDefinition.Style.Cut, 0f); + // Custom Blends 会覆盖 DefaultBlend;immediate 时必须临时禁用,否则仍走 1s 缓动。 + savedCustomBlends = activeBrain.m_CustomBlends; + activeBrain.m_CustomBlends = null; } _virtualCameraDict.TryGetValue(_curCameraEnum, out var fromVCam); @@ -205,8 +209,14 @@ namespace AibisDream.Framework if (immediate) { ResetVirCam(lastCamEnum); + activeBrain.ManualUpdate(); var blend = originalBlend; - ActionKit.Delay(0f, () => activeBrain.m_DefaultBlend = blend).StartGlobal(); + var customBlends = savedCustomBlends; + ActionKit.DelayFrame(2, () => + { + activeBrain.m_DefaultBlend = blend; + activeBrain.m_CustomBlends = customBlends; + }).StartGlobal(); return 0f; }