Using vectors with a variable axis

Hello, I am doing a third person camera game where you move your character using physics only, the character is a ragdoll, but I have found a problem where you can’t have the camera face a diferent direction because foreward only moves you north and so on… can any one help me so I can make the vector apply the forces relative to where the camera is facing?? , I onnly need it in the x and z axis, or the jumps would probably be all weird since the camera is looking at the character in an angle
here is the script I have:

public class testfoot1: MonoBehaviour {
public AudioSource golpe;
public float speed;
public TipoPie pie;
private Rigidbody rb;
public bool puedecaminar = true;
void Start()
{
rb = GetComponent();
golpe.GetComponent();
}
private void Update()
{
}
void OnTriggerEnter(Collider Other) {
golpe.Play();
}
void FixedUpdate()
{
float moveHorizontal = 0;
float moveVertical = 0;
float nmoveHorizontal = 0;
float nmoveVertical = 0;
if (pie == TipoPie.izquierdo)
{
moveHorizontal = Input.GetAxis(“EriklauHorizontalizq”);
moveVertical = Input.GetAxis (“EriklauVerticalizq”);
}
if (pie == TipoPie.derecho) {
moveHorizontal = Input.GetAxis (“EriklauHorizontalder”);
moveVertical = Input.GetAxis (“EriklauVerticalder”);
Invoke(“Puedecaminar”, 1/2);
}
print (“Horizontal:” + moveHorizontal);
print ("Vertical: " + moveVertical);
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
Vector3 nmovement = new Vector3(nmoveHorizontal, 0.0f, nmoveVertical); Invoke(“Puedecaminar”, 1 );
rb.AddForce(movement * speed);
rb.AddForce(nmovement * speed); } }
public enum TipoPie{ izquierdo, derecho, }

I have an update to this, I have used this method “Vector3 dirz = this.transform.position - Camera.main.transform.position;” and I was able to do it, the problem is that the camera rotates around the character making for instance that , if you are looking down, the character will nose dive in to the ground while trying to go foreward, so what I think might work is a quaternion angle to get a rotation ONLY in the x axis that I could get from the mouse inputs OR from an object inside the game that will be fixated to only rotate it’s x axis depending on the camera but I have yet to find how to do that or if it works