Но возникла проблема, когда я начал компилить это всё под Андроид. Начал настраивать камеру, и понял, что проблема в координатах объекта, как бы ни хотелось, меняя расширение камеры, меняется область видимости, а объект будет стоять на месте при изначальном положении. Тогда я написал формулу высчита новых координат. Задал начальные расширения в переменные, создал переменные, чтобы получать новые расширения, и с помощью пропорции высчитал. Но оказалось, что при расширении 400x800 и 400x900 (400 - координата x, горизонталь, 800/900 - координата z, вертикаль. Камера повёрнута на 90) координаты x разные! Глупый unity, вот на этом моменте и застрял.
Синтаксис:
Используется csharp
public float xMin, xMax, zMin, zMax;
public float screenHStandart;
public float screenWStandart;
public float screenNewH;
public float screenNewW;
private void Start()
{
screenHStandart = 854f;
screenWStandart = 480f;
screenNewH = Screen.height;
screenNewW = Screen.width;
xMin = ((screenNewW * -2.5f) / screenWStandart);
xMax = ((screenNewW * 2.5f) / screenWStandart);
zMin = -1;
zMax = 6;
}
public float screenHStandart;
public float screenWStandart;
public float screenNewH;
public float screenNewW;
private void Start()
{
screenHStandart = 854f;
screenWStandart = 480f;
screenNewH = Screen.height;
screenNewW = Screen.width;
xMin = ((screenNewW * -2.5f) / screenWStandart);
xMax = ((screenNewW * 2.5f) / screenWStandart);
zMin = -1;
zMax = 6;
}
Это нужно, чтобы объект не выходил на границы экрана. Координата начальная xMin -2.5f и xMax 2.5f при расширении 480x854 это границы боковые экрана, куда объекту не следует заходить.