I have a script that when the left mouse button is pressed over an object it moves it around the screen. it works fine, the only problem is it moves the terrain if the is clicked just like all the other objects.
is there a way to implement something in the script that tells it to ignore the terrain whens its clicked so it deosnt move it.
thanks
this is the script which is attached to the main camera
using UnityEngine;
using System.Collections;
public class MouseDrag : MonoBehaviour
{
private RaycastHit rayHit;
private GameObject collideObj;
private float distance;
private Vector3 postionObj;
void Start ()
{
}
void Update()
{
if (Input.GetMouseButton(1))
{
var ray = camera.ScreenPointToRay(Input.mousePosition);
var hit = Physics.Raycast(ray.origin, ray.direction, out rayHit);
if (hit && ! lockObj)
{
collideObj = rayHit.collider.gameObject;
distance = rayHit.distance; /
Debug.Log(collideObj.name);
lockObj = true;
postionObj = ray.origin + distance * ray.direction;
collideObj.transform.position = new Vector3 (postionObj.x, postionObj.y, collideObj.transform.position.z);
}
else
{
lockObj = false;
}
}