سلام اساتید محترم
یه سوال داشتم خدمتون
من یک plane ایجاد کردم که به عنوان پس زمینه بازی دوبعدی مورد استفاده قرار گرفته من به دوربینم قابلیت تاچ اضافه کردم که با لمس جابجا بشه ولی می خوام این جابجایی محدود به پس زمینم بشه یعنی از plane فراتر نره

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class movescreen: MonoBehaviour {
Vector3 touchStart;
public float zoomOutMin = 1;
public float zoomOutMax = 15;
public GameObject Grand;
// Update is called once per frame
void Update () {

Debug.Log(Vector3.Distance (Grand.transform.position, Camera.main.transform.position));
if(Input.GetMouseButtonDown(0)){
touchStart = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
if(Input.touchCount == 2){
Touch touchZero = Input.GetTouch(0);
Touch touchOne = Input.GetTouch(1);


Vector2 touchZeroPrevPos = touchZero.position - touchZero.deltaPosition;
Vector2 touchOnePrevPos = touchOne.position - touchOne.deltaPosition;


float prevMagnitude = (touchZeroPrevPos - touchOnePrevPos).magnitude;
float currentMagnitude = (touchZero.position - touchOne.position).magnitude;


float difference = currentMagnitude - prevMagnitude;


zoom(difference * 0.01f);
}else if(Input.GetMouseButton(0)){



Vector3 direction = touchStart - Camera.main.ScreenToWorldPoint(Input.mousePosition);
Camera.main.transform.position += direction;


}

zoom(Input.GetAxis("Mouse ScrollWheel"));
//Vector3 p = new Vector3(Camera.main.transform.position.x, Camera.main.transform.position.y, 0);
//Grand.transform.position =p;
if(Camera.main.transform.position.x==(Grand.transform.position.x)+100){

}

}


void zoom(float increment){
Camera.main.orthographicSize = Mathf.Clamp(Camera.main.orthographicSize - increment, zoomOutMin, zoomOutMax);

}
}

کدم هم اینه
اگر راهنمایی کنید ممنون میشم