/*
         * Any function named 'OnTeleport' present on a character's root object will be called after they are teleported.
         */
        private void OnTeleport()
        {
            Vector3 movePosition = player.GetTargetPosition();

            Quaternion rot    = player.GetTargetRotation();
            Vector3    angles = rot.eulerAngles;

            angles.x = GetTiltAngle();

            Teleport(movePosition, angles);
        }
Exemplo n.º 2
0
        private void OverrideMovement()
        {
            // Calculate AC's intended player position
            Vector3 movePosition = (player.GetTargetPosition() - transform.position).normalized * Time.deltaTime;

            movePosition *= (player.isRunning) ? runSpeed : walkSpeed;
            movePosition += transform.position;

            // Calculate AC's intended player rotation
            Quaternion rot    = Quaternion.RotateTowards(transform.rotation, player.GetTargetRotation(), turnSpeed * Time.deltaTime);
            Vector3    angles = rot.eulerAngles;

            angles.x = GetTiltAngle();

            Teleport(movePosition, angles);
        }