В Unity есть несколько способов реализации ограничения объекта соприкосновением с экраном. Один из таких способов - использование компонента Collider2D или Collider, чтобы определить границы экрана и контролировать позицию объекта.
Для начала, необходимо добавить компонент Collider2D или Collider к объекту, который нужно ограничить. Для 2D объектов используется Collider2D, а для 3D объектов - Collider.
Затем, нужно определить границы экрана, чтобы объект не мог выйти за эти границы. Это можно сделать с помощью метода Camera.main.ScreenToWorldPoint(), который преобразует координаты экрана в мировые координаты. Например, границы экрана можно определить следующим образом:
Camera mainCamera = Camera.main; float screenWidth = mainCamera.ScreenToWorldPoint(new Vector3(Screen.width, 0, 0)).x; float screenHeight = mainCamera.ScreenToWorldPoint(new Vector3(0, Screen.height, 0)).y;
После этого, можно использовать полученные значения для ограничения позиции объекта. Например, если объект - это 2D спрайт, можно использовать следующий код, чтобы ограничить его позицию вдоль оси X:
void Update() { Vector3 constrainedPosition = transform.position; constrainedPosition.x = Mathf.Clamp(constrainedPosition.x, -screenWidth, screenWidth); transform.position = constrainedPosition; }
Подобным образом можно ограничить позицию объекта вдоль оси Y:
void Update() { Vector3 constrainedPosition = transform.position; constrainedPosition.y = Mathf.Clamp(constrainedPosition.y, -screenHeight, screenHeight); transform.position = constrainedPosition; }
Таким образом, объект будет ограничен соприкосновением с экраном и не сможет выйти за пределы определенных границ.