Есть скрипт перемещение камеры как в RTS, необходимо остановить передвижение камеры когда заканчиваеться террейн, как это сделать?
Синтаксис:
Используется csharp
using UnityEngine;
public class CameraDrag : MonoBehaviour
{
public float dragSpeed = 2;
Vector3 current_position = Vector3.zero;
private Vector3 dragOrigin;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
dragOrigin = Input.mousePosition;
return;
}
if (!Input.GetMouseButton(0)) return;
Vector3 pos = Camera.main.ScreenToViewportPoint(Input.mousePosition - dragOrigin);
Vector3 move = new Vector3(pos.x * dragSpeed, 0, pos.y * dragSpeed);
transform.Translate(move * -1, Space.World);
}
}
public class CameraDrag : MonoBehaviour
{
public float dragSpeed = 2;
Vector3 current_position = Vector3.zero;
private Vector3 dragOrigin;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
dragOrigin = Input.mousePosition;
return;
}
if (!Input.GetMouseButton(0)) return;
Vector3 pos = Camera.main.ScreenToViewportPoint(Input.mousePosition - dragOrigin);
Vector3 move = new Vector3(pos.x * dragSpeed, 0, pos.y * dragSpeed);
transform.Translate(move * -1, Space.World);
}
}