예제 #1
0
    // Use this for initialization
    void Start()
    {
        playerVirtualCamera = transform.GetComponent <Cinemachine.CinemachineFreeLook>();
        antiCrosshair       = GameObject.FindGameObjectWithTag("antiCrosshair");

        antiCrosshair.SetActive(false);
    }
예제 #2
0
        private static void DrawFreeLookGizmos(CinemachineFreeLook vcam, GizmoType selectionType)
        {
            // Standard frustum and logo
            CinemachineVirtualCameraBaseEditor.DrawVirtualCameraBaseGizmos(vcam, selectionType);

            Color originalGizmoColour = Gizmos.color;
            bool  isActiveVirtualCam  = CinemachineCore.Instance.IsLive(vcam);

            Gizmos.color = isActiveVirtualCam
                ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour
                : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour;

            if (vcam.Follow != null)
            {
                Vector3 pos       = vcam.Follow.position;
                var     TopRig    = vcam.GetRig(0).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                var     MiddleRig = vcam.GetRig(1).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                var     BottomRig = vcam.GetRig(2).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                DrawCircleAtPointWithRadius(pos + Vector3.up * TopRig.m_HeightOffset, TopRig.m_Radius, vcam);
                DrawCircleAtPointWithRadius(pos + Vector3.up * MiddleRig.m_HeightOffset, MiddleRig.m_Radius, vcam);
                DrawCircleAtPointWithRadius(pos + Vector3.up * BottomRig.m_HeightOffset, BottomRig.m_Radius, vcam);
                DrawCameraPath(pos, vcam);
            }

            Gizmos.color = originalGizmoColour;
        }
예제 #3
0
        /// <summary>If we are transitioning from another FreeLook, grab the axis values from it.</summary>
        /// <param name="fromCam">The camera being deactivated.  May be null.</param>
        /// <param name="worldUp">Default world Up, set by the CinemachineBrain</param>
        /// <param name="deltaTime">Delta time for time-based effects (ignore if less than or equal to 0)</param>
        public override void OnTransitionFromCamera(
            ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
        {
            base.OnTransitionFromCamera(fromCam, worldUp, deltaTime);
            bool doUpdate = false;

            if ((fromCam != null) && (fromCam is CinemachineFreeLook))
            {
                CinemachineFreeLook freeLookFrom = fromCam as CinemachineFreeLook;
                if (freeLookFrom.Follow == Follow)
                {
                    m_XAxis.Value = freeLookFrom.m_XAxis.Value;
                    m_YAxis.Value = freeLookFrom.m_YAxis.Value;
                    doUpdate      = true;
                }
            }
            if (m_Transitions.m_InheritPosition && fromCam != null)
            {
                PreviousStateIsValid = false;
                transform.position   = fromCam.State.CorrectedPosition;
                doUpdate             = true;
            }
            if (doUpdate)
            {
                PreviousStateIsValid = false;
                InternalUpdateCameraState(worldUp, deltaTime);
            }
            if (m_Transitions.m_CameraActivated != null)
            {
                m_Transitions.m_CameraActivated.Invoke(this);
            }
        }
예제 #4
0
    public void initCamera()
    {
        dissolve -= Time.deltaTime * 1.0f;
        transform.Find("Ch44").GetComponent <SkinnedMeshRenderer>().materials[0].SetFloat("_Dissolve", dissolve);
        transform.Find("Ch44").GetComponent <SkinnedMeshRenderer>().materials[1].SetFloat("_Dissolve", dissolve);

        if (currentCamera is null)
        {
            Camera cam = FindObjectOfType <Camera>();
            currentCamera = cam;
        }

        //transform.position = new Vector3(0,5,0);
        Cinemachine.CinemachineFreeLook c = currentCamera.gameObject.GetComponent <Cinemachine.CinemachineFreeLook>();
        Debug.Log(c);


        GameObject.Find("UI").GetComponent <Menu>().HideMenu();
        GameObject.Find("UI").GetComponent <Menu>().ShowHUD();

        c.GetComponent <Cinemachine.CinemachineFreeLook>().m_XAxis.m_InputAxisName = "Mouse X";
        c.GetComponent <Cinemachine.CinemachineFreeLook>().m_YAxis.m_InputAxisName = "Mouse Y";
        c.GetComponent <Cinemachine.CinemachineFreeLook>().Priority = 100;

        GameObject.Find("Menu Song").GetComponent <AudioSource>().Stop();

        c.m_LookAt = transform.GetChild(0).transform;
        c.m_Follow = transform;

        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible   = false;
    }
예제 #5
0
 private void DestroyRigs()
 {
     CinemachineVirtualCamera[] array = new CinemachineVirtualCamera[CinemachineFreeLook.RigNames.Length];
     for (int i = 0; i < CinemachineFreeLook.RigNames.Length; i++)
     {
         foreach (object obj in base.transform)
         {
             Transform transform = (Transform)obj;
             if (transform.gameObject.name == CinemachineFreeLook.RigNames[i])
             {
                 array[i] = transform.GetComponent <CinemachineVirtualCamera>();
             }
         }
     }
     for (int j = 0; j < array.Length; j++)
     {
         if (array[j] != null)
         {
             if (CinemachineFreeLook.DestroyRigOverride != null)
             {
                 CinemachineFreeLook.DestroyRigOverride(array[j].gameObject);
             }
             else
             {
                 UnityEngine.Object.Destroy(array[j].gameObject);
             }
         }
     }
     this.m_Rigs    = null;
     this.mOrbitals = null;
 }
예제 #6
0
    void Start()
    {
        freeLook = freeLookCam.GetComponent <Cinemachine.CinemachineFreeLook>();

        //zero-in speed to restrict camera movement without mouse button clicked
        freeLook.m_XAxis.m_MaxSpeed = 0f;
        freeLook.m_YAxis.m_MaxSpeed = 0f;
    }
예제 #7
0
    private void Awake()
    {
        playerMovement = GetComponent <PlayerMovement>();
        playerGFX      = transform.Find("Graphics").gameObject;
        playerCollider = GetComponent <CapsuleCollider>();
        playerBody     = GetComponent <Rigidbody>();

        cinemachineFreeLookCam = FindObjectOfType <Cinemachine.CinemachineFreeLook>();
    }
예제 #8
0
 public HumanoidAim(HumanoidAimAttribute attribute, Humanoid character) : base(character)
 {
     input   = character.Input;
     freeCam = character.FreeCam;
     input.GamePlay.Aim.performed += OnAimPerformed;
     input.GamePlay.Aim.canceled  += OnAimCanceled;
     attr           = attribute;
     this.character = character;
 }
예제 #9
0
    void Awake()
    {
        _canvas = gameObject.GetComponent <Canvas>();

        var players = GameObject.FindGameObjectsWithTag("Player");

        SceneManager.sceneUnloaded += SaveSlots;

        for (int i = 0; i < players.Length; i++)
        {
            applier = players[i].GetComponent <InventoryApplier>();
            if (applier != null)
            {
                break;
            }
        }

        Button[] buttons = GetComponentsInChildren <Button>();
        foreach (Button button in buttons)
        {
            button.onClick.AddListener(Click);
        }

        Cursor.visible   = false;
        Cursor.lockState = CursorLockMode.Locked;
        //_canvas.enabled = false;

        cameraController = GameObject.FindGameObjectWithTag("CameraController").GetComponent <Cinemachine.CinemachineFreeLook>();

        car = GameObject.FindGameObjectWithTag("Player");

        if (savedItems == null)
        {
            savedItems = new Item[29];
        }
        else
        {
            slots = gameObject.GetComponentsInChildren <InventorySlot>();
            for (int i = 0; i < slots.Length; i++)
            {
                slots[i].Content = savedItems[i];
            }

            if (weaponSlot.Content != null)
            {
                applier.SetWeapon(weaponSlot.Content?.prefab);
            }
            applier.SetCarmor(carmorSlot.Content);
            if (bumperSlot.Content != null)
            {
                applier.SetBumpers(bumperSlot.Content?.prefab);
            }
        }

        money = 0;
    }
예제 #10
0
 public override void Attached()
 {
     if (entity.IsOwner)
     {
         cam  = GetComponent <Cinemachine.CinemachineFreeLook>();
         rig0 = cam.GetRig(0).GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>();
         rig1 = cam.GetRig(1).GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>();
         rig2 = cam.GetRig(2).GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>();
     }
 }
예제 #11
0
파일: Aiming.cs 프로젝트: Ozker24/Improved
    //public float speed;

    public void Initialize()
    {
        //vCam = GetComponent<Cinemachine.CinemachineVirtualCameraBase>();
        freeLook = GetComponent <Cinemachine.CinemachineFreeLook>();
        player   = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();
        WM       = player.GetComponentInChildren <WeaponManager>();
        items    = player.GetComponentInChildren <Items>();

        point.SetActive(false);
        ammo.SetActive(false);
    }
예제 #12
0
    void Start()
    {
        Cinemachine.CinemachineFreeLook cinemachine = GetComponent <Cinemachine.CinemachineFreeLook>();

        cinemachine.LookAt        = FindObjectOfType <PlayerMovement>().gameObject.transform;
        cinemachine.Follow        = FindObjectOfType <PlayerMovement>().gameObject.transform;
        cinemachine.m_BindingMode = Cinemachine.CinemachineTransposer.BindingMode.WorldSpace;

        Cinemachine.CinemachineCollider collider = GetComponent <Cinemachine.CinemachineCollider>();
        collider.m_CollideAgainst = LayerMask.GetMask("Ground");
        collider.m_IgnoreTag      = "Player";
    }
예제 #13
0
 /// <summary>If we are transitioning from another FreeLook, grab the axis values from it.</summary>
 /// <param name="fromCam">The camera being deactivated.  May be null.</param>
 override public void OnTransitionFromCamera(ICinemachineCamera fromCam)
 {
     if ((fromCam != null) && (fromCam is CinemachineFreeLook))
     {
         CinemachineFreeLook freeLookFrom = fromCam as CinemachineFreeLook;
         if (freeLookFrom.Follow == Follow)
         {
             m_XAxis.Value = freeLookFrom.m_XAxis.Value;
             m_YAxis.Value = freeLookFrom.m_YAxis.Value;
             PushSettingsToRigs();
         }
     }
 }
예제 #14
0
    void Start()
    {
        freelookCamera  = GetComponent <Cinemachine.CinemachineFreeLook>();
        startHighOffset = (freelookCamera.GetRig(0).GetCinemachineComponent <CinemachineComposer>()).m_TrackedObjectOffset;
        startMidOffset  = (freelookCamera.GetRig(1).GetCinemachineComponent <CinemachineComposer>()).m_TrackedObjectOffset;
        startLowOffset  = (freelookCamera.GetRig(2).GetCinemachineComponent <CinemachineComposer>()).m_TrackedObjectOffset;

        // Ugly shit due to camera prefab being shitty
        cameraXAdjuster = 0.4f;
        cameraYAdjuster = 0.4f;
        notGroundedAttenuationFactor = 0.33f;
        lerpTendToMiddleRigSpeed     = 0.85f;
        ///////////////////////////////////////////////////
    }
예제 #15
0
 public override void OnTransitionFromCamera(ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
 {
     base.OnTransitionFromCamera(fromCam, worldUp, deltaTime);
     if (fromCam != null && fromCam is CinemachineFreeLook)
     {
         CinemachineFreeLook cinemachineFreeLook = fromCam as CinemachineFreeLook;
         if (cinemachineFreeLook.Follow == this.Follow)
         {
             this.m_XAxis.Value = cinemachineFreeLook.m_XAxis.Value;
             this.m_YAxis.Value = cinemachineFreeLook.m_YAxis.Value;
             this.UpdateCameraState(worldUp, deltaTime);
         }
     }
 }
예제 #16
0
 /// <summary>If we are transitioning from another FreeLook, grab the axis values from it.</summary>
 /// <param name="fromCam">The camera being deactivated.  May be null.</param>
 /// <param name="worldUp">Default world Up, set by the CinemachineBrain</param>
 /// <param name="deltaTime">Delta time for time-based effects (ignore if less than or equal to 0)</param>
 public override void OnTransitionFromCamera(
     ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
 {
     base.OnTransitionFromCamera(fromCam, worldUp, deltaTime);
     if ((fromCam != null) && (fromCam is CinemachineFreeLook))
     {
         CinemachineFreeLook freeLookFrom = fromCam as CinemachineFreeLook;
         if (freeLookFrom.Follow == Follow)
         {
             m_XAxis.Value = freeLookFrom.m_XAxis.Value;
             m_YAxis.Value = freeLookFrom.m_YAxis.Value;
             UpdateCameraState(worldUp, deltaTime);
         }
     }
 }
    public override void OnStartLocalPlayer()
    {
        cam = FindObjectOfType<Cinemachine.CinemachineFreeLook>();
        cam.Follow = transform;
        cam.LookAt = transform;
        camera = Camera.main.transform;

        MovementMenuManager movementMenu = GameObject.Find("UI").GetComponent<MovementMenuManager>();
        jumpSpeedSlider = movementMenu.jumpSpeedSlider;
        gravitySlider = movementMenu.gravitySlider;
        walkSpeedSlider = movementMenu.walkSpeedSlider;

        dancingToggle = movementMenu.dancingToggle;
        sittingToggle = movementMenu.sittingToggle;

        gameObject.name = "Local";
    }
        void Awake()
        {
            freelook = GetComponentInChildren <CinemachineFreeLook>();
            if (freelook != null)
            {
                originalOrbits = new CinemachineFreeLook.Orbit[freelook.m_Orbits.Length];
                for (int i = 0; i < originalOrbits.Length; i++)
                {
                    originalOrbits[i].m_Height = freelook.m_Orbits[i].m_Height;
                    originalOrbits[i].m_Radius = freelook.m_Orbits[i].m_Radius;
                }
#if UNITY_EDITOR
                SaveDuringPlay.SaveDuringPlay.OnHotSave -= RestoreOriginalOrbits;
                SaveDuringPlay.SaveDuringPlay.OnHotSave += RestoreOriginalOrbits;
#endif
            }
        }
예제 #19
0
        void Awake()
        {
#if false // make this true for CM 2.1.10 and earlier, false otherwise
            zAxis.SetThresholds(0, 1, false);
#endif
            freelook = GetComponentInChildren <CinemachineFreeLook>();
            if (freelook != null && originalOrbits.Length == 0)
            {
                zAxis.Update(Time.deltaTime);
                float scale = Mathf.Lerp(minScale, maxScale, zAxis.Value);
                for (int i = 0; i < Mathf.Min(originalOrbits.Length, freelook.m_Orbits.Length); i++)
                {
                    freelook.m_Orbits[i].m_Height = originalOrbits[i].m_Height * scale;
                    freelook.m_Orbits[i].m_Radius = originalOrbits[i].m_Radius * scale;
                }
            }
        }
예제 #20
0
        /// <summary>If we are transitioning from another FreeLook, grab the axis values from it.</summary>
        /// <param name="fromCam">The camera being deactivated.  May be null.</param>
        /// <param name="worldUp">Default world Up, set by the CinemachineBrain</param>
        /// <param name="deltaTime">Delta time for time-based effects (ignore if less than or equal to 0)</param>
        public override void OnTransitionFromCamera(
            ICinemachineCamera fromCam, Vector3 worldUp, float deltaTime)
        {
            base.OnTransitionFromCamera(fromCam, worldUp, deltaTime);
            bool forceUpdate = false;

            if (fromCam != null)
            {
                CinemachineFreeLook freeLookFrom = fromCam as CinemachineFreeLook;
                if (freeLookFrom != null && freeLookFrom.Follow == Follow)
                {
                    if (m_BindingMode != CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp)
                    {
                        m_XAxis.Value = freeLookFrom.m_XAxis.Value;
                    }
                    m_YAxis.Value = freeLookFrom.m_YAxis.Value;
                    forceUpdate   = true;
                }
            }
            if (m_Transitions.m_InheritPosition)
            {
                var brain = CinemachineCore.Instance.FindPotentialTargetBrain(this);
                if (brain != null)
                {
                    transform.position   = brain.transform.position;
                    transform.rotation   = brain.transform.rotation;
                    m_State              = PullStateFromVirtualCamera(worldUp, m_Lens);
                    PreviousStateIsValid = false;
                    PushSettingsToRigs();
                    forceUpdate = true;
                }
            }
            if (forceUpdate)
            {
                InternalUpdateCameraState(worldUp, deltaTime);
            }
            else
            {
                UpdateCameraState(worldUp, deltaTime);
            }
            if (m_Transitions.m_OnCameraLive != null)
            {
                m_Transitions.m_OnCameraLive.Invoke(this, fromCam);
            }
        }
예제 #21
0
 private void DestroyRigs()
 {
     CinemachineVirtualCamera[] array = new CinemachineVirtualCamera[CinemachineFreeLook.RigNames.Length];
     for (int i = 0; i < CinemachineFreeLook.RigNames.Length; i++)
     {
         IEnumerator enumerator = base.transform.GetEnumerator();
         try
         {
             while (enumerator.MoveNext())
             {
                 object    obj       = enumerator.Current;
                 Transform transform = (Transform)obj;
                 if (transform.gameObject.name == CinemachineFreeLook.RigNames[i])
                 {
                     array[i] = transform.GetComponent <CinemachineVirtualCamera>();
                 }
             }
         }
         finally
         {
             IDisposable disposable;
             if ((disposable = (enumerator as IDisposable)) != null)
             {
                 disposable.Dispose();
             }
         }
     }
     for (int j = 0; j < array.Length; j++)
     {
         if (array[j] != null)
         {
             if (CinemachineFreeLook.DestroyRigOverride != null)
             {
                 CinemachineFreeLook.DestroyRigOverride(array[j].gameObject);
             }
             else
             {
                 UnityEngine.Object.Destroy(array[j].gameObject);
             }
         }
     }
     this.m_Rigs    = null;
     this.mOrbitals = null;
 }
        private static void DrawCameraPath(Vector3 atPos, Quaternion orient, CinemachineFreeLook vcam)
        {
            Matrix4x4 prevMatrix = Gizmos.matrix;

            Gizmos.matrix = Matrix4x4.TRS(atPos, orient, Vector3.one);

            const int kNumStepsPerPair = 30;
            Vector3   currPos          = vcam.GetLocalPositionForCameraFromInput(0f);

            for (int i = 1; i < kNumStepsPerPair + 1; ++i)
            {
                float   t       = (float)i / (float)kNumStepsPerPair;
                Vector3 nextPos = vcam.GetLocalPositionForCameraFromInput(t);
                Gizmos.DrawLine(currPos, nextPos);
                Gizmos.DrawWireSphere(nextPos, 0.02f);
                currPos = nextPos;
            }
            Gizmos.matrix = prevMatrix;
        }
        private static void DrawFreeLookGizmos(CinemachineFreeLook vcam, GizmoType selectionType)
        {
            // Standard frustum and logo
            CinemachineVirtualCameraBaseEditor.DrawVirtualCameraBaseGizmos(vcam, selectionType);

            Color originalGizmoColour = Gizmos.color;
            bool  isActiveVirtualCam  = CinemachineCore.Instance.IsLive(vcam);

            Gizmos.color = isActiveVirtualCam
                ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour
                : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour;

            if (vcam.Follow != null)
            {
                Vector3          pos       = vcam.Follow.position;
                var              TopRig    = vcam.GetRig(0).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                var              MiddleRig = vcam.GetRig(1).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                var              BottomRig = vcam.GetRig(2).GetCinemachineComponent <CinemachineOrbitalTransposer>();
                Vector3          up        = Vector3.up;
                CinemachineBrain brain     = CinemachineCore.Instance.FindPotentialTargetBrain(vcam);
                if (brain != null)
                {
                    up = brain.DefaultWorldUp;
                }

                Quaternion orient = TopRig.GetReferenceOrientation(up);
                up = orient * Vector3.up;
                float rotation = vcam.m_XAxis.Value + vcam.m_Heading.m_HeadingBias;
                orient = Quaternion.AngleAxis(rotation, up) * orient;

                CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius(
                    pos + up * TopRig.m_FollowOffset.y, orient, TopRig.m_FollowOffset.z);
                CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius(
                    pos + up * MiddleRig.m_FollowOffset.y, orient, MiddleRig.m_FollowOffset.z);
                CinemachineOrbitalTransposerEditor.DrawCircleAtPointWithRadius(
                    pos + up * BottomRig.m_FollowOffset.y, orient, BottomRig.m_FollowOffset.z);

                DrawCameraPath(pos, orient, vcam);
            }

            Gizmos.color = originalGizmoColour;
        }
        private static void DrawCameraPath(Vector3 atPos, CinemachineFreeLook vcam)
        {
            Matrix4x4 prevMatrix   = Gizmos.matrix;
            Matrix4x4 localToWorld = Matrix4x4.TRS(
                atPos, Quaternion.AngleAxis(vcam.m_XAxis.Value, Vector3.up), Vector3.one);

            Gizmos.matrix = localToWorld;

            const int kNumStepsPerPair = 30;
            Vector3   currPos          = vcam.GetLocalPositionForCameraFromInput(0f);

            for (int i = 1; i < kNumStepsPerPair + 1; ++i)
            {
                float   t       = (float)i / (float)kNumStepsPerPair;
                Vector3 nextPos = vcam.GetLocalPositionForCameraFromInput(t);
                Gizmos.DrawLine(currPos, nextPos);
                currPos = nextPos;
            }
            Gizmos.matrix = prevMatrix;
        }
예제 #25
0
        private static void DrawCircleAtPointWithRadius(Vector3 point, float radius, CinemachineFreeLook vcam)
        {
            Matrix4x4 prevMatrix = Gizmos.matrix;

            Gizmos.matrix = Matrix4x4.TRS(point, Quaternion.identity, radius * Vector3.one);
            Color prevGizmosColour = Gizmos.color;

            const int  kNumPoints = 25;
            Vector3    currPoint  = Vector3.forward;
            Quaternion rot        = Quaternion.AngleAxis(360f / (float)kNumPoints, Vector3.up);

            for (int i = 0; i < kNumPoints + 1; ++i)
            {
                Vector3 nextPoint = rot * currPoint;
                Gizmos.DrawLine(currPoint, nextPoint);
                currPoint = nextPoint;
            }

            Gizmos.matrix = prevMatrix;
            Gizmos.color  = prevGizmosColour;
        }
예제 #26
0
 private void Awake()
 {
     cam         = GetComponent <Cinemachine.CinemachineFreeLook>();
     playerInput = new PlayerActions();
     playerInput.MoveAction.Look.performed += ctx => camMovement = ctx.ReadValue <Vector2>();
 }
예제 #27
0
 /// <summary>
 /// On Awake we grab our virtual camera
 /// </summary>
 protected virtual void Awake()
 {
     _freeLookCamera     = this.gameObject.GetComponent <Cinemachine.CinemachineFreeLook>();
     _initialFieldOfView = _freeLookCamera.m_Lens.FieldOfView;
 }
예제 #28
0
 private CinemachineVirtualCamera[] CreateRigs(CinemachineVirtualCamera[] copyFrom)
 {
     this.mOrbitals = null;
     float[] array = new float[]
     {
         0.5f,
         0.55f,
         0.6f
     };
     CinemachineVirtualCamera[] array2 = new CinemachineVirtualCamera[3];
     for (int i = 0; i < CinemachineFreeLook.RigNames.Length; i++)
     {
         CinemachineVirtualCamera cinemachineVirtualCamera = null;
         if (copyFrom != null && copyFrom.Length > i)
         {
             cinemachineVirtualCamera = copyFrom[i];
         }
         if (CinemachineFreeLook.CreateRigOverride != null)
         {
             array2[i] = CinemachineFreeLook.CreateRigOverride(this, CinemachineFreeLook.RigNames[i], cinemachineVirtualCamera);
         }
         else
         {
             array2[i] = new GameObject(CinemachineFreeLook.RigNames[i])
             {
                 transform =
                 {
                     parent = base.transform
                 }
             }.AddComponent <CinemachineVirtualCamera>();
             if (cinemachineVirtualCamera != null)
             {
                 ReflectionHelpers.CopyFields(cinemachineVirtualCamera, array2[i], BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
             }
             else
             {
                 GameObject gameObject = array2[i].GetComponentOwner().gameObject;
                 gameObject.AddComponent <CinemachineOrbitalTransposer>();
                 gameObject.AddComponent <CinemachineComposer>();
             }
         }
         array2[i].InvalidateComponentPipeline();
         CinemachineOrbitalTransposer cinemachineOrbitalTransposer = array2[i].GetCinemachineComponent <CinemachineOrbitalTransposer>();
         if (cinemachineOrbitalTransposer == null)
         {
             cinemachineOrbitalTransposer = array2[i].AddCinemachineComponent <CinemachineOrbitalTransposer>();
         }
         if (cinemachineVirtualCamera == null)
         {
             cinemachineOrbitalTransposer.m_YawDamping = 0f;
             CinemachineComposer cinemachineComponent = array2[i].GetCinemachineComponent <CinemachineComposer>();
             if (cinemachineComponent != null)
             {
                 cinemachineComponent.m_HorizontalDamping = (cinemachineComponent.m_VerticalDamping = 0f);
                 cinemachineComponent.m_ScreenX           = 0.5f;
                 cinemachineComponent.m_ScreenY           = array[i];
                 cinemachineComponent.m_DeadZoneWidth     = (cinemachineComponent.m_DeadZoneHeight = 0.1f);
                 cinemachineComponent.m_SoftZoneWidth     = (cinemachineComponent.m_SoftZoneHeight = 0.8f);
                 cinemachineComponent.m_BiasX             = (cinemachineComponent.m_BiasY = 0f);
             }
         }
     }
     return(array2);
 }
예제 #29
0
 private void Awake()
 {
     freeLookCamera = GetComponent <Cinemachine.CinemachineFreeLook>();
 }
예제 #30
0
 private void Awake()
 {
     rb          = GetComponent <Rigidbody>();
     cameraBrain = GetComponentInChildren <Cinemachine.CinemachineFreeLook>();
 }