void Update() { CamFilterResultInfo camFilterResultInfo; if (_fluencePointFilter.filter(_defCamFilterIntent, out camFilterResultInfo)) { List <CamInfluenceTriggerPoint> hitTriggerPointLst = camFilterResultInfo.hitTriggerPointLst; for (int i = 0; i < hitTriggerPointLst.Count; i++) { IGhostCamRigDriver rigDriver = hitTriggerPointLst[i].GetComponent <IGhostCamRigDriver>(); if (rigDriver != null) { rigDriver.run(camFilterResultInfo); } } } // 使用默认的数据 else { throw new Exception("最大的Collider没有设置 或 层不对 或 你Y的走出了最大的collider~"); } // 主摄像机跟着Ghost CamRig 移动 和旋转 if (ghostAttachMainCamera && mainCamera != null) { mainCamera.position = ghostRig.position; mainCamera.rotation = ghostRig.rotation; } }
void Start() { IGhostCamRigDriver driver = GetComponentInChildren <IGhostCamRigDriver>(); if (null != driver) { CameraInFluenceController camInfulenceController = GetComponentInParent <CameraInFluenceController>(); if (null != camInfulenceController) { CamDriverIntent intent = new CamDriverIntent(); intent.ghostTarget = camInfulenceController.ghostTarget; intent.ghostCamRig = camInfulenceController.ghostRig; driver.init(intent); } } }