Решить, какой вариант пакета активов xxhdpi, xhdpi, hdpi, mdpi или ldpi следует выбрать в игре unity3d, чтобы иметь достойный интерфейс без пикселирования? - PullRequest
0 голосов
/ 04 июня 2018

При разработке интерфейса в единстве.Если я напрямую прикрепляю одно изображение и текст с разрешением mdpi с разным разрешением, изображения / спрайты масштабируются в соответствии с размером экрана. Но проблема в том, что когда изображение масштабируется, оно отображается как пиксельное?

Итак, я читал о вариантах комплектов активов и пытался использовать их, создавая разные комплекты для разных разрешений.(Варианты комплектов: xxxhdpi, xxhdpi, xhdpi, hdpi, mdpi и ldpi).

Но я застрял в том, как выбрать вариант комплекта ресурсов для устройства, на котором запущена моя игра. Как использовать Screen.dpiв единстве, чтобы достичь этого?

Я предполагаю, что могу сделать то же самое для устройств Android (телефоны и вкладки) и IOS (iPhone и iPad).

1 Ответ

0 голосов
/ 04 июня 2018

Таблица следующая:

  • MDPI - 160 точек на дюйм
  • HDPI - 240 точек на дюйм
  • XHDPI - 320 точек на дюйм
  • XXHDPI - 480 точек на дюйм
  • XXXHDPI - 680 точек на дюйм

Таким образом, проверка будет выглядеть следующим образом:

void Start(){
    if(Screen.dpi <= 160){
        //change your UI textures for mdpi
    }else if(Screen.dpi <= 240){
        //change your UI textures for hdpi
    }else if(Screen.dpi <= 320){
        //change your UI textures for xhdpi
    }else if(Screen.dpi <= 480){
        //change your UI textures for xxhdpi
    }else{
        //change your UI textures for xxxhdpi
    }
}

Редактировать: Помните, что, возможно, Unity изменила форму возвращаемого значения.Поиграйте с ним, чтобы увидеть, что он возвращает, если это не правильно.Также см. это и это .

...