Beispiel #1
0
        /*
         *              switch camera to follow ragdoll	or animated hips based on whichever model is active
         */
        void CheckCameraTarget()
        {
            if (!controlledCharacter)
            {
                camFollow.target = null;
                return;
            }

            //switch camera to follow ragdoll (or animated hips)
            if (ragdollController.ragdollRenderersEnabled == cameraTargetIsAnimatedHips)
            {
                cameraTargetIsAnimatedHips = !cameraTargetIsAnimatedHips;

                RagdollTransform hipBone = ragdollController.ragdoll.RootBone();
                camFollow.target     = cameraTargetIsAnimatedHips ? hipBone.followTarget.transform : hipBone.transform;
                camFollow.updateMode = cameraTargetIsAnimatedHips ? UpdateMode.Update : UpdateMode.FixedUpdate;
            }
        }
Beispiel #2
0
        void AttachToCharacter(CharacterMovement character)
        {
            if (controlledCharacter != null)
            {
                //enable ai for the last controlled character
                controlledCharacter.GetComponent <AIControl>().enabled = true;
            }

            controlledCharacter = character;

            if (controlledCharacter != null)
            {
                //disable ai for our new controlled character
                controlledCharacter.GetComponent <AIControl>().enabled = false;

                ragdollController = controlledCharacter.GetComponent <RagdollController>();

                RagdollTransform hipBone = ragdollController.ragdoll.RootBone();
                camFollow.target     = hipBone.followTarget.transform;
                camFollow.updateMode = UpdateMode.Update;
            }
        }