вторник, февраля 08, 2011

Идеальные пиксели

Данная статья посвящена подбору масштаба вашего WOW интерфейса под разрешение экрана компьютера, дабы избежать искажения изображений и артефактов на них.

Я сталкивался с проблемой при разработке своих интерфейсов: игровые пиксели не соответствовали пикселям на мониторе. Они были рядом, но не совсем. Так что текстуры, бордеры и т.д. отображались неправильно, когда масштаб интерфейса wow не соответствовал разрешению монитора.

Быстрый, но не слишком изящный макрос, он автоматически рассчитывает и выставляет оптимальный масштаб для интерфейса исходя из разрешения экрана

/run SetCVar("uiScale", 768/string.match(({GetScreenResolutions()})[GetCurrentResolution()], "%d+x(%d+)"))

Вот объяснение более практичного, но более долгого метода
Для вычисления значения скейла, вам необходима высота вашего разрешения(1050 для разрешения 1680x1050).Также необходимо знать высоту разрешения игры, она всегда равна 768. Вы можете убедиться в этом выполнив команды.

/console useuiscale 1
/console uiscale 1
/run print(GetScreenHeight())

Масштаб вашего интерфейса должен быть равен отношению высоты игры(768) к высоте вашего разрешения.
для разрешения 1680x1050:

768 / 1050 = 0.731428571
/console uiscale 0.731428571

Минимальное значение скейла 0.64, ниже задать нельзя.

чтобы узнать точное разрешения(с точностью необходимой для вычислений) используйте команду

/run print(GetScreenWidth(), "x", GetScreenHeight())

Теперь вы сможете задать необходимый масштаб интерфейса. Мы задали консольную переменную, так что изменения сохранятся. Данный способ не рекомендуется в случае, если вы собираетесь выкладывать ваш интерфейс(т.к. у других пользователей, вполне вероятно, другое разрешение)

Это адаптация оригинальной статьи с wowinterface

Комментариев нет:

Отправить комментарий