# How to execute the lookAt function here?

Hey Guys! I’m creating a game for mobile devices and now I’m stuck at a point where cannot execute the lookAt function properly. I’ve a plane with a sphere on it. Earlier I had the camera exactly at the top of the plane like a top view of the plane and I was able to execute the lookAt function properly with the following code:

``````void FixedUpdate() {

GameObject targetObject = GameObject.Find("Ball");

if (targetObject != null) {
if (Input.touchCount > 0)
{
Touch theTouch = Input.GetTouch(0);

Ray ray = Camera.main.ScreenPointToRay(theTouch.position);

RaycastHit hit;

if(Physics.Raycast(ray, out hit, 100.0f))
{

if(Input.touchCount ==1)
{
if(theTouch.phase == TouchPhase.Began)
{

isRotating = false;
}

if(theTouch.phase == TouchPhase.Moved)
{
Vector3 tempTouch = new Vector3(theTouch.position.x ,theTouch.position.y, myCamera.position.y - targetObject.transform.position.y);
fingerPosition = Camera.main.ScreenToWorldPoint(tempTouch);
targetObject.transform.LookAt(fingerPosition);

isRotating = true;

}

if(theTouch.phase == TouchPhase.Ended || theTouch.phase == TouchPhase.Canceled)
{
if(isRotating == true)
{

}
}
}
}

}
}

}
``````

But now as I’ve rotated the camera along the x-axis by 55 degrees so it behaves awkwardly. I know I’ve to calculate the vertical distance between the camera and the plane. But I’m bit bad with maths. This is my scene looks like

I want to make the sphere look at touch along the x and z plane.

Pls help

Thank You.

When your camera is at an angle with respect to the world axes, then ScreenToWorldPoint() is no longer a good solution. Typically the solutions is to use Unity’s built-in Plane class and Raycast() against that plane to generate the point. Here is a script in the Unity Wiki that does that:

http://wiki.unity3d.com/index.php?title=LookAtMouse

Note due to perspective, at some angles and distances the alignment my look a bit off. If you have doubts about the alignment, setup to view both the Scene and Game windows with the Scene camera looking top down. Place a marker object at the point on the plane.