diff --git a/Assets/Scripts/Animation/OpeningFlowController.cs b/Assets/Scripts/Animation/OpeningFlowController.cs index 6d239d8..c2166ea 100644 --- a/Assets/Scripts/Animation/OpeningFlowController.cs +++ b/Assets/Scripts/Animation/OpeningFlowController.cs @@ -88,22 +88,18 @@ public class OpeningFlowController : MonoBehaviour { Debug.Log("[OpeningFlow] PlayOpeningFlow() 被调用"); - // 每次播放前重置场景(支持重复播放) - if (_manAnimator != null) - { - _manAnimator.gameObject.SetActive(true); - _manAnimator.SetBool("IsStart", false); - _manAnimator.SetBool("IsFull", false); - } + // 重置场景(支持重复播放) + if (_manAnimator != null) { _manAnimator.gameObject.SetActive(true); _manAnimator.SetBool("IsStart", false); _manAnimator.SetBool("IsFull", false); } if (_man2Object != null) _man2Object.SetActive(true); if (_womanObject != null) _womanObject.SetActive(false); if (_manInjuryObject != null) _manInjuryObject.SetActive(false); if (_blackScreenPanel != null) _blackScreenPanel.SetActive(false); - var mainCam = Camera.main; - if (mainCam != null) mainCam.enabled = true; - var cam2 = GameObject.Find("camera2"); - if (cam2 != null) { var c = cam2.GetComponent(); if (c != null) c.enabled = false; } + // 用名字找主摄像机(Camera.main 在主摄像机关闭后返回 null) + var mainCamGo = GameObject.Find("Main Camera"); + if (mainCamGo != null) { var c = mainCamGo.GetComponent(); if (c != null) c.enabled = true; } + var cam2Go = GameObject.Find("camera2"); + if (cam2Go != null) { var c = cam2Go.GetComponent(); if (c != null) c.enabled = false; } StartCoroutine(RunOpeningFlow(onComplete)); } @@ -164,21 +160,12 @@ public class OpeningFlowController : MonoBehaviour private void SwitchToCamera2() { - var camera2Go = GameObject.Find("camera2"); - if (camera2Go != null) - { - var cam2 = camera2Go.GetComponent(); - if (cam2 != null) - { - cam2.enabled = true; - Debug.Log("[OpeningFlow] camera2 已启用"); - } - else Debug.LogWarning("[OpeningFlow] camera2 上没有 Camera 组件"); - - var mainCam = Camera.main; - if (mainCam != null) { mainCam.enabled = false; Debug.Log("[OpeningFlow] 主摄像机已禁用"); } - } + var cam2Go = GameObject.Find("camera2"); + if (cam2Go != null) { var c = cam2Go.GetComponent(); if (c != null) { c.enabled = true; Debug.Log("[OpeningFlow] camera2 已启用"); } } else Debug.LogWarning("[OpeningFlow] 未找到 camera2"); + + var mainGo = GameObject.Find("Main Camera"); + if (mainGo != null) { var c = mainGo.GetComponent(); if (c != null) { c.enabled = false; Debug.Log("[OpeningFlow] 主摄像机已禁用"); } } } private IEnumerator FadeBlackScreen(float fromAlpha, float toAlpha) diff --git a/Assets/Scripts/UI/PageController.cs b/Assets/Scripts/UI/PageController.cs index 96dbb5e..7478ce9 100644 --- a/Assets/Scripts/UI/PageController.cs +++ b/Assets/Scripts/UI/PageController.cs @@ -362,13 +362,11 @@ public class PageController : MonoBehaviour { Debug.Log("PageController: [ReturnToHome] 返回首页并重置场景"); - // 恢复 man 和 man2 var man = GameObject.Find("man"); if (man != null) man.SetActive(true); var man2 = GameObject.Find("man2"); if (man2 != null) man2.SetActive(true); - // 隐藏实验专用物件 var woman = GameObject.Find("woman"); if (woman != null) woman.SetActive(false); var manInjury = GameObject.Find("manInjury"); @@ -376,13 +374,12 @@ public class PageController : MonoBehaviour var medicalBox = GameObject.Find("medicalBox"); if (medicalBox != null) medicalBox.SetActive(false); - // 恢复主摄像机 - var mainCam = Camera.main; - if (mainCam != null) mainCam.enabled = true; - var cam2 = GameObject.Find("camera2"); - if (cam2 != null) { var c = cam2.GetComponent(); if (c != null) c.enabled = false; } + // 用名字找主摄像机(Camera.main 在禁用后返回 null) + var mainGo = GameObject.Find("Main Camera"); + if (mainGo != null) { var c = mainGo.GetComponent(); if (c != null) c.enabled = true; } + var cam2Go = GameObject.Find("camera2"); + if (cam2Go != null) { var c = cam2Go.GetComponent(); if (c != null) c.enabled = false; } - // 重置 Animator 参数 var manAnim = man != null ? man.GetComponent() : null; if (manAnim != null) { manAnim.SetBool("IsStart", false); manAnim.SetBool("IsFull", false); }