Как делают изображение одинаковым на разных разрешениях
|
|
afq | Дата: Среда, 07 Ноября 2018, 18:52 | Сообщение # 1 |
Разработчик
Сейчас нет на сайте
| Не помню уже, создавал ли я эту тему на этом сайте. Вот например игра на unity, когда запускаешь её, она выдает окно, в котором выбираешь разрешение экрана, в котором хочешь запустить игру. Запустив игру на любом разрешении, картинка не меняется. Как это можно сделать не пойму? Для разных разрешений делать разные картинки или как то по другому?
|
|
| |
DivES | Дата: Среда, 07 Ноября 2018, 21:28 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| afq, в каком смысле "картинка не меняется"? Качество? Масштаб?
|
|
| |
TLT | Дата: Среда, 07 Ноября 2018, 21:36 | Сообщение # 3 |
Сейчас нет на сайте
| Картинку растягивать на 100% ширины и высоты, для меню делать координаты относительными и т.д.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
DivES | Дата: Среда, 07 Ноября 2018, 21:36 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| afq, да и как же картинка не будет меняться? Если всё сделано правильно, то с увеличением разрешения экрана будет увеличиваться показываемая область карты (при этом элементы HUD должны оставаться на своих местах). Если же сделано не очень правильно, то с увеличением разрешения экрана изображение будет растягиваться (а его качество станет хуже). Картинка меняется в любом случае
Сообщение отредактировал DivES - Среда, 07 Ноября 2018, 21:37 |
|
| |
afq | Дата: Среда, 07 Ноября 2018, 22:41 | Сообщение # 5 |
Разработчик
Сейчас нет на сайте
| DivES, масштаб, вот например запусти игру while learn true, кнопки меню будут одного размера при 1024x768 и при 1920x1080.
|
|
| |
DivES | Дата: Четверг, 08 Ноября 2018, 20:37 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Цитата DivES ( ) Если всё сделано правильно, то с увеличением разрешения экрана будет увеличиваться показываемая область карты (при этом элементы HUD должны оставаться на своих местах).
Цитата afq ( ) масштаб, вот например запусти игру while learn true, кнопки меню будут одного размера при 1024x768 и при 1920x1080. Разве мы написали не об одном и том же?
|
|
| |
coremission | Дата: Четверг, 08 Ноября 2018, 23:47 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Цитата afq ( ) Запустив игру на любом разрешении, картинка не меняется Вообще - меняется Если ты говоришь о 3D - то дело в том как вообще графика в игре устроена - модельки на сцене, скайбокс,- все это растеризуется. Разницу можно заметить если текстуры плохого качества, или нет мип-уровней, или в разрешении которое ты изменишь - изменится и аспект (соотношение сторон)
|
|
| |
afq | Дата: Пятница, 09 Ноября 2018, 00:24 | Сообщение # 8 |
Разработчик
Сейчас нет на сайте
|
Вот я например делаю игру игровой автомат, мне что, для каждого разрешения нужно отдельные картинки рисовать?
|
|
| |
Animan2010 | Дата: Пятница, 09 Ноября 2018, 00:58 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| afq, я обычно делаю таким образом: Есть объект, у него текстура, координаты Х, Y и размер W, H. Размер устанавливаю относительно размера родительского объекта, ну если таких нет, то относительно экрана, типо: SetSize(1.0f, 1.0f) - размер равный размеру экрана SetSize(0.5f, 0.5f) - четверть экрана А вообще рекомендую так скейлить относительно одной стороны, тогда пропорции не будут меняться независимо от формата экрана, типо: ScaleToWidth(0.5f) { w = parent.w * 0.5f; // ширина равна половине ширины родителя h = texture.h * w / texture.w; // высота изменяется пропорционально изменению ширины } То есть, допустим размер экрана 800х400, размер текстуры 300х300, тогда ScaleToWidth(0.5f) приведет к w = 800 * 0.5 = 400 h = 300 * 400 / 300 = 400 То есть все правильно растянулось, и это не будет зависеть ни от размера экрана, ни от формата
Anima Games Animan Publishing
|
|
| |
afq | Дата: Пятница, 09 Ноября 2018, 01:19 | Сообщение # 10 |
Разработчик
Сейчас нет на сайте
| Animan2010, а я тут понаделывал. Блин, я уже забыл как текстурой выводить, это значит что экран ortho выставлять в ( 1.0, 1.0 ) и тому подобное да? Так как я с текстурой как то были проблемы, я тогда незнал ещё о GL_BLEND ( о прозрачности ), и начал делать через glVertexPointer и glColorPointer. А надо блин с текстурой значит да?
|
|
| |