Помогите. Напишите пожалуйста в коде так чтобы при соприкосновением с экранов в определеной области не работал свайп. Тоесть джостик который уменя влевой стороне работал но свайп экрана пальцом не работал. И еще если можете то уменя небольшая трясучка при свайпе можете исправить? Вот код:
using UnityEngine;
public class SwipeCamera : MonoBehaviour
{
public float rotateSpeed = 1f; // скорость вращения камеры при свайпе
public float maxCameraHeight = 10f; // максимальная высота камеры
public float minCameraHeight = 1f; // минимальная высота камеры
private float currentHeight; // текущая высота камеры
private float swipeDeltaX; // смещение по X при свайпе
private float swipeDeltaY; // смещение по Y при свайпе
private Vector3 previousPosition; // предыдущая позиция мыши
public Transform target; // объект, который должен вращаться вместе с камерой
private void Start()
{
currentHeight = transform.position.y; // сохраняем начальную высоту камеры
}
private void Update()
{
if (Input.touchCount != 1) return; // проверяем, что на экране только одно касание
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
previousPosition = touch.position; // запоминаем начальную позицию пальца
}
if (touch.phase == TouchPhase.Moved)
{
swipeDeltaX += (touch.position.x - previousPosition.x) * rotateSpeed; // вычисляем смещение по X
swipeDeltaY += (touch.position.y - previousPosition.y) * rotateSpeed; // вычисляем смещение по Y
// ограничиваем угол поворота камеры по вертикали, чтобы камера не перевернулась на 360 градусов
swipeDeltaY = Mathf.Clamp(swipeDeltaY, -80f, 80f);
transform.eulerAngles = new Vector3(-swipeDeltaY, swipeDeltaX, 0f); // поворачиваем камеру по смещениям
previousPosition = touch.position; // обновляем предыдущую позицию пальца
}
// ограничиваем максимальную и минимальную высоту камеры
currentHeight = Mathf.Clamp(currentHeight - touch.deltaPosition.y * 0.01f, minCameraHeight, maxCameraHeight);
transform.position = new Vector3(transform.position.x, currentHeight, transform.position.z); // обновляем позицию камеры
target.eulerAngles = new Vector3(0f, transform.eulerAngles.y, 0f); // поворачиваем объект вместе с камерой
}
}