Объект выходит за пределы камеры в Unity
В создании 2D игры возникла проблема. Есть игровое поле (домик с деревянным полом с каменными стенами - это префаб) и есть зеленый фон (канвас с изображением растянутым на всю камеру). Проблема заключается в домке(префабе), который при изменении разрешения (десктоп, смартфон, планшет) выходит за пределы камеры или наоборот оставляет много пустого места слева от себя. как привязать объект, чтобы он не смещался. Мне нужны коллайдеры в виде стен домика и нужно постоянное взаимодействие с этим префабом, поэтому не могу привязать префаб к канвасу как часть интерфейса. какие ещё есть варианты?
Ответы (1 шт):
Если вы решительно не хотите использовать Canvas, то внутри классов MonoBehaviour можно получить ширину и высоту экрана в пикселях при помощи полей Screen.height и Screen.width. Таким образом вы можете или напрямую изменять размеры объектов сцены при помощи transform.localScale (или другим способом) при старте, или создать несколько вариаций сцен и загружать нужную, основываясь на данных о размере экрана пользователя. Также очень полезными могут быть проверки системы, в которой запускается игра. Подробнее здесь: https://docs.unity3d.com/ru/2019.4/Manual/PlatformDependentCompilation.html.

