Графический дизайн, арт игры, концепт, персонажи, текстуры, анимации, модели
GameDev.ru / Графический Дизайн / Форум / Программист хочет порисовать для проекта Unity...

Программист хочет порисовать для проекта Unity...

SadovnikПостоялецwww3 июня 201823:35#0
Всем привет!
мой проект перешёл через стадию прототипа и я задумался о том, чтобы завести в него красивый графон...
Проект 2D,  под мобилки на Unity. Выбрал вектор направления движения в сторону Иллюстратора, нарисовал себе несколько спрайтов, объединил их в одну композицию, получилось не плохо. Не плохо в иллюстраторе...
Боль началась, когда я решил разобраться, а как правильно изначально всё рисовать, чтобы потом сделать экспорт в PNG, засунуть в Unity и радоваться жизни.
я спросил у коллег, фронт енда (а я бэк энд программист), как изначально делать спрайты, чтобы в Юнити с ними проблем не было. Мне посоветовали сразу рисовать всё в максимально возможном разрешении, то есть к примеру выбрать разрешение IPad'а ретина. На этом разрешении сделать референт, сохранить спрайты и экспортить в Юнити, чтобы в самой юньке уже не масштабировать эти спрайты. Сказано - сделано. И тут появилось ещё больше вопросов и ещё больше проблем...
Во-первых, в Unity c камерой IPad Tall(3:4) все спрайты раза в 4 больше чем должны быть, по той области камеры, которая на сцене. Окей, уменьшил размеры в иллюстраторе до 512px, 256px (прочитал, что размеры спрайтов должны быть равны 2 в степени N, 256х512, 128х128 и тд) Вопрос первый: не будет ли мыла на высоком разрешении?
Сразу же вопрос второй: Почему спрайт, который максимально просто (4 цвета - ёлочка, два треугольника, два прямоугольника) весит 1Мб с лишним после экспорта в Юнити, хотя сам PNG весит 23 Кб. Читал, что юнька показывает объём занимаемой видеопамяти. Но если пачку аналогичных спрайтов, к примеру 5 штук засунуть в атлас, то вес билда увеличится на объём атласа?

Но в общем и целом главный вопрос такой: где можно почитать правила, рекомендации, лайфхаки, как рисовать и экспортировать в иллюстраторе для Юнити, и настройки спрайтов в Юнити, чтобы качество конечной картинке в билде на андроид и иос была на уровне качества в самом иллюстраторе?
как я понял, если ширина спрайта 506, а высота 90, то ширину растягиваем до 512 самого спрайта и, как следствие рабочую область, а по высоте рабочую область ставим 128 и по вертикали у нас будет пустое место в спрайте... но мне кажется есть ещё куча подобных подводных камней...  Инфы в гугле и ютубе не нашёл(

Спасибо за любую полезную информацию :) Надеюсь не сильно Вас заколебал своим нубством в этих вопросах

arte_de_mortПостоялецwww4 июня 20181:17#1
Sadovnik
> в Unity c камерой IPad Tall(3:4) все спрайты раза в 4 больше чем должны быть,
> по той области камеры, которая на сцене. Окей, уменьшил размеры в иллюстраторе
> до 512px, 256px (прочитал, что размеры спрайтов должны быть равны 2 в степени
> N, 256х512, 128х128 и тд) Вопрос первый: не будет ли мыла на высоком
> разрешении?
Ты пытаешься размером текстуры настраивать размер элементов интерфейса?
У тебя есть возможность в самом редакторе интерфейса поднастроить размер элемента, и в настройках текстуры можно подкрутить pixel per unit.

> о если пачку аналогичных спрайтов, к примеру 5 штук засунуть в атлас, то вес
> билда увеличится на объём атласа?
Размер файла всегда зависит от размера и сжатия текстуры, независимо от того, заполнена ли она и каким образом.
Запихаешь все спрайты в 512 текстуру, получишь 0.7 (по-моему) мб текстуру с учётом компрессии.

> где можно почитать правила, рекомендации, лайфхаки, как рисовать и
> экспортировать в иллюстраторе для Юнити, и настройки спрайтов в Юнити, чтобы
> качество конечной картинке в билде на андроид и иос была на уровне качества в
> самом иллюстраторе?
Всё есть в интернете. Разумеется, на английском.
Чтобы уровень качества был такой же придётся раскошелиться на крупные текстуры с выключенной компрессией.

> то ширину растягиваем до 512 самого спрайта и, как следствие рабочую область, а
> по высоте рабочую область ставим 128 и по вертикали у нас будет пустое место в
> спрайте... но мне кажется есть ещё куча подобных подводных камней..
Пустое место заполняется другими элементами, по сути делается атлас.

SadovnikПостоялецwww4 июня 20189:12#2
Спасибо за ответ :)
arte_de_mort
> Ты пытаешься размером текстуры настраивать размер элементов интерфейса?
не интерфейса, спрайтов в сцене, Sprite Render. Как мне подсказывает логика, что при создании GO на сцене, по-хорошему не нужно скэйлить спрайт, он должен быть х1 по всем осям...
с UI вроде более менее монятно, я с ним поработал...

arte_de_mort

да, я уверен в этом, но найти не могу. Всё что видел - меня настораживало, люди делают маленький спрайт и сохраняют в размере 1024. или забивают и делают NPOT текстуру... Возможно это и правильно, но я в этом сомневаюсь))

SadovnikПостоялецwww4 июня 20189:14#3
И сразу такой вопрос, ведь логично сразу делать весь контент оптимизированным по объёму? Или же всё таки, на практике, оптимизируешь билд в этом плане в конце?
sasasПостоялецwww4 июня 201810:23#4
Sadovnik
хз.. лучше сразу задумывать и оптимизировать.. на стадии прототипа можно все затестить. а потом начистовую..
arte_de_mortПостоялецwww4 июня 201810:36#5
Sadovnik
> Как мне подсказывает логика, что при создании GO на сцене, по-хорошему не нужно
> скэйлить спрайт, он должен быть х1 по всем осям...
Ну по идее для этого есть pixel per unit параметр тогда, но и поскейлить по-моему можно, не должно быть проблемой, но лучше параметр этот покрутить :)

> И сразу такой вопрос, ведь логично сразу делать весь контент оптимизированным
> по объёму? Или же всё таки, на практике, оптимизируешь билд в этом плане в
> конце?
Нужно как минимум потестить производительность под максимальной нагрузкой и сразу чётко понять как и что придётся оптимизировать. В противном случае внезапно перед релизом придётся всё урезать и переделывать на скорую руку.

SadovnikПостоялецwww4 июня 201812:25#6
arte_de_mort
> Ну по идее для этого есть pixel per unit параметр тогда

ммм, то есть получается, что плотность изображение увеличится?
sasas
> хз.. лучше сразу задумывать и оптимизировать.. на стадии прототипа можно все
> затестить. а потом начистовую..
arte_de_mort
> Нужно как минимум потестить производительность под максимальной нагрузкой и
> сразу чётко понять как и что придётся оптимизировать. В противном случае
> внезапно перед релизом придётся всё урезать и переделывать на скорую руку.
так и думаю, спасибо)

arte_de_mortПостоялецwww4 июня 201816:23#7
Sadovnik
> ммм, то есть получается, что плотность изображение увеличится?
что-то вроде того :)

/ Форум / Графический Дизайн / Общее

2001—2018 © GameDev.ru — Разработка игр