diff --git a/Assets/Scripts/Animation/OpeningFlowController.cs b/Assets/Scripts/Animation/OpeningFlowController.cs index 559ba9d..9e99d0d 100644 --- a/Assets/Scripts/Animation/OpeningFlowController.cs +++ b/Assets/Scripts/Animation/OpeningFlowController.cs @@ -91,7 +91,6 @@ public class OpeningFlowController : MonoBehaviour yield return new WaitForSeconds(_idleDuration); // Step 2: man 投篮动画 Shoot (3.15s) - // 先确保 IsFull=false(因为 Idle→Shoot 过渡条件需要 IsFull=false) Debug.Log("[OpeningFlow] Step2: man Shoot 动画开始"); if (_manAnimator != null) { @@ -107,14 +106,20 @@ public class OpeningFlowController : MonoBehaviour Debug.LogWarning("[OpeningFlow] _manAnimator 为空,跳过 Step2"); } - // Step 3: man 摔倒动画 manfull (2.1s) + // Step 3: man 摔倒动画 manfull,等待动画播完 + 停留缓冲 Debug.Log("[OpeningFlow] Step3: man Fall 动画开始"); if (_manAnimator != null) { _manAnimator.SetBool("IsFull", true); Debug.Log("[OpeningFlow] man IsFull=true, 触发 manfull"); + + // 等待 manfull 动画播放完成(2.1s) yield return new WaitForSeconds(2.1f); Debug.Log("[OpeningFlow] Step3: man Fall 动画结束"); + + // 摔倒后停留缓冲,让玩家看清摔倒结果 + Debug.Log($"[OpeningFlow] Step3: 摔倒后停留缓冲 {_fallHoldDuration}s"); + yield return new WaitForSeconds(_fallHoldDuration); } else { @@ -196,4 +201,7 @@ public class OpeningFlowController : MonoBehaviour if (toAlpha <= 0.01f) _blackScreenPanel.SetActive(false); } + + + [SerializeField] private float _fallHoldDuration = 1.5f; }