Moving character relative to the camera's angle.

I wanna have my character's movement be relative to which way the camera is facing. How would I do this? Here is the movement code that I am using:

moveDirection = new Vector3((Input.GetAxis("Horizontal")), (-Input.GetAxis("Vertical")), 0);
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;

Any advice?

Try moveDirection = cam.transform.TransformDirection(moveDirection); where cam is a reference to the camera relative to which you want to move the object.