@Zimaell

Как правильно задавать размеры?

У меня есть несколько префабов которые сделаны из картинок 150x150 пикселей, камере я задал такое значения - Portrait 9:16.
Далее я через цикл вывел префабы сеткой 10 на 17, так как они были больше клеток то я их размеры уменьшил до 0.7, в тесте выглядело нормально. Далее я скомпилировал на телефон, вывод следующий - префабы на 10-15% растянуты по высоте, а так же не влазят все на экран, примерно по пол префаба слева и справа не влазят, при тесте наоборот было по бокам по пол префаба свободного места...

Вопросы следующие:
1. Как Получать одинаковый результат в тесте и на телефоне?
2. Как мне делать и располагать префабы так чтобы они на любом телефоне были относительно одинакового размера?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 2
Grapeoff
@Grapeoff
В чём концепция...?
Надо Canvas’у поставить Render Mode — Screen Space Camera и в нужное поле перетащить нашу камеру, а в компоненте canvas scaler поставить scale mode на «scale with screen size».

Движок сам будет пропорционально масштабировать ваш интерфейс на всех устройствах.

PS. Первый пункт чисто для удобства.
Ответ написан
@Qugurun
Попробуйте накинуть скрипт на камеру:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour
{
  public int Mobile = 640;
  public int Tablet = 852;

  void Start()
  {
    if (Camera.main.pixelHeight > Camera.main.pixelWidth){
      //PORTRAIT
      float ratio =  (float) Camera.main.pixelHeight/Camera.main.pixelWidth;
      if (ratio >= 1.5f)
      {
        Camera.main.orthographicSize = (float) (Mobile*ratio)/200f;
      }
      else
      {
        Camera.main.orthographicSize = (float) (Tablet*ratio)/200f;
      }
    }
    else
    {
      //LANDSCAPE
      float ratio =  (float) Camera.main.pixelWidth/Camera.main.pixelHeight;
      if (ratio >= 1.5f)
      {
        Camera.main.orthographicSize = (float) Mobile/200f;
      }
      else
      {
        Camera.main.orthographicSize = (float) Tablet/200f;
      }
    }
  }

}

Задайте только размер в настройках по нужной ширине для mobile и tablet, под какой размер делался макет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы