Оптимизация игры на Unity, часть 4 - Интерфейс. Sprite Atlas

  Рет қаралды 28,408

Insane One - Разработка игр

Insane One - Разработка игр

4 жыл бұрын

Рассказываю про оптимизацию интерфейса и использование Sprite Atlas, а так же ключевые ошибки, которых стоит избегать при создании интерфейса для игры, чтобы он не снизил производительность игры.
Поддержать канал на русскоязычном Boosty: boosty.to/insaneone
Или на Patreon: / insaneone
Discord-сервер канала: / discord
Группа VK: insaneoneblog
У меня на канале регулярно выходят новые видео с уроками по Unity и разработке игр, а так же другими интересными темами, связанными с геймдевом. Подписывайся!
Не забывай оставлять комментарий, если у тебя появились вопросы или предложения по видео :)
#Unity #ОптимизацияUnity #РазработкаИгр

Пікірлер: 56
@victorkapustin629
@victorkapustin629 9 ай бұрын
Дружище, сколько же ты инсайтов объединил в одно видео. Прям кладезь знаний, очень многое структурировал в моей голове. Что было фрагментировано объединил в один большой атлас!)) Благодарствую!
@CringeBruhovski
@CringeBruhovski 4 жыл бұрын
Одна из самых полезных серий роликов по Юнити, спасибо
@tairinjane
@tairinjane 4 жыл бұрын
Хотелось бы, чтобы про всё было рассказано подробнее: как это работает, почему улучшает производительность и т.д. Понимание всегда полезнее, чем просто перечисление вариантов оптимизации. В любом случае, надеюсь, что по продвинутым темам будет больше видео, а то ютуб перенасыщен созданием 2д контроллеров персонажей :)
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Я сейчас ищу наиболее хорошие форматы видео и выстраиваю процесс создания новых роликов, чтобы можно было их стабильно выпускать. Формат подробных видео есть в планах на будущее, так что думаю всё будет)
@saintdark_
@saintdark_ 3 жыл бұрын
Как вариант упрощения работы с атласами - можно добавлять сразу папками. Тогда при добавлении в папку или подпапку новых текстур атлас ребилднется уже с новыми текстурами. Также, если есть спрайты с 0 прозрачностью в центре, лучше выключить Tight packing, иначе эти спрайты будут отрисовываться с запакованными внутренностями. И последнее про атлас - если в иконках не нужна прозрачность, лучше вообще ее убрать из атласа. Так размер билда будет поменьше.
@Cuwor
@Cuwor 4 жыл бұрын
О, не знал что layout group влияет на производительность, и правда нужно видео с ними, расскажи про него подробно
@KirillBreuss
@KirillBreuss 4 жыл бұрын
Тык конечно.) Он же каждый тик проверяет не изменилась ли ширина или высота и т.д.
@thebad7628
@thebad7628 4 жыл бұрын
Самая крутая серия роликов )))
@mr.dandomi
@mr.dandomi 4 жыл бұрын
Блин. Единственный ютубер, который качественно снимает и действительно мне помог! Благодарю!
@Hot-Coffee
@Hot-Coffee 4 жыл бұрын
Пересматриваю видео по несколько раз. Очень много полезной инфы и офигенная подача. Спасибо.)
@Lord_of_the_Fridge
@Lord_of_the_Fridge 4 жыл бұрын
Жду продолжение про интерфейс, и более подробное. Вам бы в пору более сложные ролики записывать, но на обыденные вещи.
@Vladislav-Listev
@Vladislav-Listev 4 жыл бұрын
Отличное видео, продолжай в том же духе, подписчики подтянутся)
@trell_7842
@trell_7842 3 жыл бұрын
Выскочило твоё видео в рекомендации, очень полезный контент
@user-kf4ye7zy4z
@user-kf4ye7zy4z 3 жыл бұрын
Очень полезная инфа, спасибо! лаконично, без растягивания времени, круто)
@liroxyplay8068
@liroxyplay8068 4 жыл бұрын
Спасибо тебе парень! Отличный звук, замечательный монтаж. Все ясно и понятно. Удачи в развитии канала! *Но! Хотелось бы очень увидеть оптимизацию объектов с magicavoxel в unity!* Я был бы на 7 небе от счастья :D
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Недавно работал с MagicaVoxel. Единственное решение, которое нашёл - ассет из ассетстора, вроде Magica Importer или что-то такое. Он очень сильно оптимизирует сетку и вообще позволяет более удобно работать с воксельными моделями, добавлять им скелет для скелетной анимации сразу в Unity. Самостоятельно писать решение для оптимизации выйдет дороже, чем купить этот ассет)
@liroxyplay8068
@liroxyplay8068 4 жыл бұрын
@@insaneone-7220 спасибо большое за совет! Обязательно посмотрю и изучу данный ассет. Но все же, я думаю не мешало бы выпустить видео по поводу данной программы, чтобы другие люди смогли хоть как-то решить свои проблемы ;) ИМХО.
@nurbolo
@nurbolo 4 жыл бұрын
Круто👍, было бы отлично теперь увидеть оптимизацию с несколькими материалами, пост-эффекты с шейдером, если оптимизировать такой проект возможно, простая 2d игра с пост-эффектами(шейдеры) реализованные для мобильные устройства отлично работает в устройствах с нормальными характеристиками (в сравнении с пост-процессингом который есть уже в юнити, картинка получается одинаковая, но с пост-процессингом просадки есть в устройствах с нормальными и более мощными характеристиками), а более в слабых устройствах с пост-эффектами (шейдеры) наблюдается просадки фпс, в сравнении с устройствой с нормальной характеристикой, без пост-эффектов просадки нет. Было бы не полохо посмотреть по оптимизации с этой точки зрения.
@user-kd9wz1bd8w
@user-kd9wz1bd8w 2 жыл бұрын
Вот и почему я увидел это только сейчас). Очень полезное видео👍
@StaniSoft
@StaniSoft 3 жыл бұрын
Отличный, но главное, вечный контент
@kitws
@kitws 2 жыл бұрын
Спасибо!
@igorshlyakov9321
@igorshlyakov9321 Жыл бұрын
Очень классные советы, хотелось бы больше уроков по оптимизации
@user-nl6rs8fy3k
@user-nl6rs8fy3k 3 жыл бұрын
Очень понравился стиль, формат подачи. Согласен с комментариями ниже, одно из самых качественных видео, встречающихся на KZfaq
@andreyscherbanev5152
@andreyscherbanev5152 3 жыл бұрын
Да, в одном из уроков услышал, что канвас при обновлении более 50 обьектов может подтормаживать. А нигде об этом не говорится. Большое бы таких уроков, спасибо!
@siwer1768
@siwer1768 4 жыл бұрын
Годно!!!
@artemfedorenko2608
@artemfedorenko2608 2 жыл бұрын
Огромное спасибо, любезнейший, спасли мои жизнь и дополнительные 50 FPS в главном меню
@matviisuslenko2336
@matviisuslenko2336 3 жыл бұрын
спасибо!
@WoolfStyle
@WoolfStyle 4 жыл бұрын
Лайк не глядя
@user-oh1eg9nz7c
@user-oh1eg9nz7c 3 жыл бұрын
Хотелось бы больше видео по оптимизации UI. Особенно Layout Group, использование 2х или 3х штук на сцене заставляет подвисать программу
@andreyscherbanev5152
@andreyscherbanev5152 3 жыл бұрын
И еще хотел попросить короткий, только по существу урок о том как создавать атласы (тут упоминается) как их менять в будущем, и как обновлять онлайн (без обновления всей игры) для мобильных приложений. И чтобы при этом не ломалось все приложение. Думаю многие скажут спасибо.
@akandyt
@akandyt 2 жыл бұрын
Есть вариант оптимизации ScrollRect? К примеру на libgdx scene2d, в легкую крутит 1к итемов в скролле. В юнити этого я не добился
@gregorymagid85
@gregorymagid85 Жыл бұрын
Great video . And a High production value . Thank . Dose any one know how to eliminate the refranced imagis visout so the project wont be clasterd ? For example , there is no such problem with Texture Packer .thanks you
@user-dp4zd6nf5n
@user-dp4zd6nf5n 2 жыл бұрын
Насчёт RectMask2D, недавно посмотрели в своем проекте через Profiler, на скроле с 50+ объектов, даёт большую просадку в ФПС, и через определенное время делает просадки(через вычисления) в ФПС, при этом ничего не делая на экране. Мы заменили ее на обычную маску которая использует Image и все просадки исчезли.
@Andredy89
@Andredy89 Жыл бұрын
а надо добавлять туда именно sprite или texture? я добавляю допустим картинку для UI и в окне выбора у меня их две получается (текстура и спрайт)
@JackFastGame
@JackFastGame Жыл бұрын
Спрайт атласы повышают скорость их загрузки в видеопамять?
@GarageCreativity
@GarageCreativity 2 жыл бұрын
Спасибо за очень полезный урок. Подскажи пожалуйста когда ты объединил все иконки в атлас 2:05 , то в нижнем правом углу экрана юнити показывает его вес 4.0мб это не много?(можно в юнити посмотреть сколько по итогу будет весить вся сцена)? И еще вопрос почему когда добавляю PNG весом 100кб в юнити, та же PNG становиться 700кб ?(иногда еще тяжелее становится). Очень бы хотелось увидеть на твоем канале урок про оптимизацию размера игры.
@user-dp4zd6nf5n
@user-dp4zd6nf5n 2 жыл бұрын
Чтобы картинка в юнити занимала меньше места она должна быть квадратной(128*128), даже если у вас получается прямоугольная то лучше сделать больше прозрачного фона сделав ее квадратной, а также сторон изображения должны быть в степени двойки(пример 128*128, 256*256). Ещё в настройках импорта можно настроить сжатые.
@GarageCreativity
@GarageCreativity 2 жыл бұрын
@@user-dp4zd6nf5n Спасибо, да нужно метод Power of Two применить, теперь всё сохраняю в 512х512.
@user-rp4yt9kb4l
@user-rp4yt9kb4l Жыл бұрын
Немного некропост, но может тем кто позже будет просматривать комментарии пригодится. Юнити игнорирует алгоритмы сжатия которые применяются к загруженным в неё текстурам/спрайтам. А если более простым языком - при сохранении картинки в том же фотошопе можно выбрать степень сжатия и ужать к примеру изначальные 700кб до 200кб, а потом найти какой ни будь сайт по сжатию картинок и пропустив картинку через этот сайт сжать до 100кб, но что после первого что после второго варианта загрузив файл в юнити получим в билде 700кб. Способы как уменьшать вес картинки в билде, уже описывали в другом комментарии. Могу добавить что в юнити есть логи, в которых после сборки проекта можно подглядеть что и сколько весит
@waldemP
@waldemP 2 жыл бұрын
Вопрос на счет разделения канвасов. Не подскажешь, а эта фишка распространяется на Scroll Rect. Допустим у меня есть куча элементов интерфейса, которые двигаются в scroll rect, есть ли смысл оптимизировать это.
@Sovereing2027
@Sovereing2027 9 ай бұрын
Нет, речь идёт только про отдельные канвасы с соответствующим компонентом.
@Sovereing2027
@Sovereing2027 9 ай бұрын
Какой ассет нужно загрузить что бы создать атлас, у меня 3д проект по умолчанию, но нужен атлас. Кнопки создания нет.
@zuzuBoba
@zuzuBoba 4 ай бұрын
Теперь он лежит в Create/2D/Sprite Atlas
@Sovereing2027
@Sovereing2027 4 ай бұрын
@@zuzuBobaНет там его
@WoolfStyle
@WoolfStyle 4 жыл бұрын
На счет прокручиваемых списков, видел интересную реализацию ввиде ограниченного пула обьектов. И когда пользователь прокручивает список до конца, то подружается следующий пул обьектов, а предыдущий позже выгружается из памяти. Заморочено, но это прям оптимизация уровень задрот.
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Да, это более качественный способ оптимизировать скролл, я пока что пытаюсь рассказать про способы, которые за минимальное время позволят получить максимальный результат. В инди зачастую не хватает именно вот таких вещей, чтобы игра вышла на более высокий уровень по оптимизации)
@zuzuBoba
@zuzuBoba 4 ай бұрын
2022.3.14F1 нет кнопки после включения в player prefs создания атласа :(
@zuzuBoba
@zuzuBoba 4 ай бұрын
Нашел теперь он лежит в Create/2D/Sprite Atlas
@kodest8017
@kodest8017 3 жыл бұрын
почему у меня растягиваются спрайты?
@HelloWorld-ln5cy
@HelloWorld-ln5cy 3 жыл бұрын
да, атласы вообще спасают
@ilhanilhanDev
@ilhanilhanDev 4 жыл бұрын
С каждым разлм появляются все больше и больше стоющих ютуберов на юнити, я то думал юнити умирает, и ютуберы перестали снимать видео на тему юнити имхо мы все рассказали дальше просто незачем. Как думаете из чего такой бум, новых амбициозных парней?
@insaneone-7220
@insaneone-7220 4 жыл бұрын
В моём случае никакого секрета нет, я уже несколько лет планировал запустить ютуб-канал, но было не до этого)
@256bobus
@256bobus Ай бұрын
Assets > Create > 2D > Sprite Atlas
@kokhoz
@kokhoz 3 жыл бұрын
Оптимизация, жто конечно хорошо. Главное не слишком далеко зайти, а то игра превратиться в супер оптимизированные 3 полигона в вакууме.
@AlexStraga
@AlexStraga 4 жыл бұрын
Я для оптимизации интерфейса не юзаю его )))
@SlothHuntOnYou
@SlothHuntOnYou Жыл бұрын
зачем 60fps для таких видео?
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 122 МЛН
ТЫ С ДРУГОМ В ДЕТСТВЕ😂#shorts
01:00
BATEK_OFFICIAL
Рет қаралды 6 МЛН
路飞太过分了,自己游泳。#海贼王#路飞
00:28
路飞与唐舞桐
Рет қаралды 39 МЛН
Оптимизация игры на Unity, часть 3 - Код. Profiler
6:37
Insane One - Разработка игр
Рет қаралды 35 М.
Optimizing a Unity game, Part 1. Batching
4:16
Insane One - Разработка игр
Рет қаралды 78 М.
Unity DOTS vs Bevy - A Performance Comparison #rust #bevyengine #unity
6:00
State Pattern - Advanced C# in Unity
6:55
Insane One - Разработка игр
Рет қаралды 38 М.
Texture Array как Оптимизация в Unity
8:16
KidCode
Рет қаралды 2,9 М.
Математика в играх на Unity. Библиотека Mathf
5:45
Insane One - Разработка игр
Рет қаралды 24 М.
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 122 МЛН