Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }