move the character according to player touch direction

I am trying to move a model on its x-axis on the android device.
At the beginning, the model will be on the middle of the screen (0,0,0) (as an example),
and once player start to touch on the screen, say exactly on (0,0,0),
then the model should be following to the x position of the touch.

But what I will like to do more complicatedly will be:
player can start the touch everywhere of the screen,
and the model will move according to player finger movement

void Update () {
          if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
    			Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
    			character.transform.Translate(touchDeltaPosition.x * 1, 0, 0);
    		}
}

Above is my code but I find that the model move to much then i expected,
and I believe I should do something on touchDeltaPosition.x

Thank in advance!

Here is a bit of untested code that does what you describe if the camera has a rotation of (0,0,0).

void Update () {
      if (Input.touchCount > 0) {
            Vector3 touchPosition = Input.GetTouch(0).position;
            touchPosition.z = character.transform.position.z - Camera.main.transform.position.z;
            touchPosition = Camera.main.ScreenToWorldPoint(touchPosition);
            touchPosition.y  = character.transform.position.y;
            character.transform.position = Vector3.MoveTowards(character.transform.position, touchPositionh, Time.deltaTime * speed);
        }
}

‘speed’ is a variable you define and initialize and represents units per second. Note the way this code is structured, the object will stop moving if all fingers are lifted.

hi
your code is grate but my problem is player touch position to stop
player is a not a stop continues move how to continues move?
plz hepl me.