it it possible to LookAt mouse position? X,y? with raycast?

been google-fuing for 3 days now and need to find a sulution for this.
is it possible to look at the mouse. X,Y (3D top view game) so i can have the player move in the Direction of the mouse. was thinking of somehow to use raycast and get the posision of the ray being casted.

Everyting is possible in programming!

this code is for not focussing the camera on the player.
Code:

using UnityEngine;
using System.Collections;

public class PutThisOnGameObject : MonoBehaviour {

//put this on the gameobject you want to affect.

Vector3 targetposition;
bool atTarget = true;

void Update()
{
	if(Input.GetMouseButton(0))
	{
		//create a ray cast and set it to the mouses cursor position in game
		Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		RaycastHit hit;
		if (Physics.Raycast (ray, out hit, Mathf.Infinity)) 
		{
			targetposition = new Vector3 (hit.point.x, transform.position.y, hit.point.z);
			//log hit area to the console
			Debug.Log(hit.point);
			transform.LookAt(targetposition);
			//for the walking part, you may want to take a look at the navmesh agent in the Unity Scripting API.
			//or you can use this little code
			atTarget = false;
		}    
	}   

	if (!atTarget) 
	{
		transform.position = Vector3.Lerp(transform.position, targetposition, .1f);
		if (Vector3.Distance (transform.position, targetposition) < 0.1f)
			atTarget = true;
	}
  }
}

This code is for the camera to focus on the player

using UnityEngine;
using System.Collections;

public class PutThisOnGameObject : MonoBehaviour {

//put this on an empty GameObject, attach the main camera, and the player to it as children.

private Transform model;
Vector3 targetposition;
bool atTarget = true;

void Start()
{
	model = transform.GetChild (0);
}

void Update()
{
	if(Input.GetMouseButton(0))
	{
		//create a ray cast and set it to the mouses cursor position in game
		Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		RaycastHit hit;
		if (Physics.Raycast (ray, out hit, Mathf.Infinity)) 
		{
			targetposition = new Vector3 (hit.point.x, transform.position.y, hit.point.z);
			//log hit area to the console
			Debug.Log(hit.point);
			model.transform.LookAt(targetposition);
			//for the walking part, you may want to take a look at the navmesh agent in the Unity Scripting API.
			//or you can use this little code
			atTarget = false;
		}    
	}   

	if (!atTarget) 
	{
		transform.position = Vector3.Lerp(transform.position, targetposition, .1f);
		if (Vector3.Distance (transform.position, targetposition) < 0.05f)
			atTarget = true;
	}
}
}

Hope that helped!