Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Подготовка графики для портирования на мобильные платформы (http://www.flasher.ru/forum/showthread.php?t=212507)

Furinax 29.02.2016 15:05

Подготовка графики для портирования на мобильные платформы
 
У меня есть игра в вебе. Начал портировать на мобильные платформы.
Размер бэкграундов в веб версии игры 1022х639. Исходники 2800х1750 в наличие.
Под какие размеры надо отресайзить, чтобы охватить как можно больше экранов?

caseyryan 01.03.2016 06:09

Не о размерах экранов надо беспокоиться, а о памяти устройства и о том, что stage3d не может использовать текстуры больше 2048x2048

Furinax 01.03.2016 12:50

Это-то я держу в голове. Но все таки хотелось бы знать наиболее близкие размеры на которые стоит ориентироваться, чтобы все нормально улеглось в большинство экранов.
А на счет памяти я в любом случае найду что лишнего из игры выпилить(анимации, мож какие-нибудь еще экраны и эффекты)

caseyryan 01.03.2016 13:12

Тебе в любом случае придется использовать скейл. Экранов такое несметное количество, что невозможно даже по одну треть сделать графику. У меня почти всегда используется 2 пака графики. Редко 3. В основном это под экран 1024х600 (2x) и 512х300 (1x), второй пак используется на слабых устройствах, которым не хватает оперативки на обработку больших текстур.
В общем, графика смотрится довольно хорошо на большинстве экранов
Цитата:

я в любом случае найду что лишнего из игры выпилить(анимации, мож какие-нибудь еще экраны и эффекты)
Плохой подход - выпиливать из игры эффекты в угоду памяти. Опыт показывает, что именно графика - это главное в игре. Игроку, как правило, пофиг что там происходит за кадром, ему важно то, что он видит на экране.

Furinax 01.03.2016 17:47

Цитата:

Сообщение от caseyryan (Сообщение 1192263)
Тебе в любом случае придется использовать скейл. Экранов такое несметное количество, что невозможно даже по одну треть сделать графику. У меня почти всегда используется 2 пака графики. Редко 3. В основном это под экран 1024х600 (2x) и 512х300 (1x), второй пак используется на слабых устройствах, которым не хватает оперативки на обработку больших текстур.
В общем, графика смотрится довольно хорошо на большинстве экранов

Плохой подход - выпиливать из игры эффекты в угоду памяти. Опыт показывает, что именно графика - это главное в игре. Игроку, как правило, пофиг что там происходит за кадром, ему важно то, что он видит на экране.

Я уж было думал о том на сколько мне надо увеличить арт, чтобы получить HD пак. Получается что мой текущий билд 1022х639 уже подходит, скейлинг у меня тоже прописан, в эмуляторе и на моем телефоне работает. Выходит мне теперь надо сделать еще один пак близкий к 512х300. Спасибо за инфу, а то бы я сейчас дров наломал с увеличением арта, а потом бы еще мучался как все это в атласы уместить.

Выпиливать из игры что-либо, конечно, плохо. Я этот вариант рассматриваю только в случае, если у меня совсем все будет сложно. А так, в принципе, у меня самые большие атласы в игре - это атласы с анимацией персонажа, так как анимировал художник покадрово из-за отсутствия аниматора в команде.

caseyryan 01.03.2016 19:07

Цитата:

надо сделать еще один пак близкий к 512х300
Не надо мудрить с подгонкой точных размеров, просто можно сделать пак с графикой в 2 раза меньше исходной

namespaces 01.03.2016 22:08

Цитата:

Сообщение от caseyryan (Сообщение 1192281)
Не надо мудрить с подгонкой точных размеров, просто можно сделать пак с графикой в 2 раза меньше исходной

Можно примерчик?

caseyryan 02.03.2016 06:06

Цитата:

Можно примерчик?
Причерчик чего? Картинки и такой же картинки в 2 раза меньше?)

namespaces 02.03.2016 20:14

Цитата:

Сообщение от caseyryan (Сообщение 1192311)
Причерчик чего? Картинки и такой же картинки в 2 раза меньше?)

Нет конечно) Как отслеживаете размер экрана?
Код AS1/AS2:

if (Capabilities.screenDPI > 72 || Capabilities.screenDPI == 480) 
{
        logo.scaleX = logo.scaleY = 2;
        myButton.scaleX = myButton.scaleY = 2;
}

Тип того?

caseyryan 02.03.2016 21:16

Цитата:

Тип того?
DPI или Dots per inch - это всего лишь плотность пикселей экрана. Это параметр нужен разве что для определения реальных размеров чего-то на экране в дюймах. Но от него совершенно нет толку, так как ни на одной AIR платформе он не возвращает правильных значений. Ни на мобилах, ни на десктопах.
На моем ноуте количество точек на дюйм = 96, а метод возвращает 72. На телефоне 297, а метод возвращает 320. На планшете 189, а возвращает 200 с чем-то (точно не помню). В общем, берет числа откуда-то с потолка.
Цитата:

Как отслеживаете размер экрана?
Код AS3:

scaleFactor = 1024 / stage.stageWidth;

А потом все размеры и позиции делятся на этот скейл фактор.
Почему 1024? Потому что у меня максимальный размер графики сделан под экран 1024х600


Часовой пояс GMT +4, время: 21:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.