⚡⚡⚡ Полезные ссылки ⚡⚡⚡ 🔎 t.me/yakovlev_advanced_bot - бот с информацией о вебинаре и подарками для обучения 🔎 yakovlevgamedev.ru - курс по архитектуре игр в Unity 🔎 t.me/yakovlev_gamedev - ссылка на мой telegram канал
@@-it394Приветствую есть вопрос. Регистрация на яндекс маркете как физ лицо для продажи инди продуктов, сейчас как обстоит дело с этим? Требуют фото с паспортом как в средние века или все цивильнее стало?
а какие игры тебе приходилось выпускать? вот бы поиграть. интересуют и удачные и неудачные релизы, и интересует разбор причин удачных игры и причин неудачных,
Нужно БОЛЬШЕ, БОЛЬШЕ ТАКОГО КОНТЕНТА, СЛИШКОМ МАЛО! ИЛЬЯ ГОНИ НОВУЮ ПАРТИЮ ВИДОСИКОВ. Ребят знаю многим обычно лень, но пишите комментарии и ставьте лайки, помогите продвигать канал.
Правило POT для оптимизации довольно условно. В плане того, что не обязательно размер картинки должен быть степенью двойки. Можете сами проверить: -картинка подходящая под "POT" размером 128х128 будет весить 16кб (чисто примерно). -картинка нарушающее правило размером 126х126 NPOT = 64кб. т.е. хоть картинка и меньше размером, но весит оно в 4 раза больше. Что ужасно! Однако: -картинка 132х132 - так же будет иметь аббревиатуру NPOT, но ее размер будет 17кб. И в Unity оно будет восприниматься движком именно как Pot (в плане оптимизации), а не как npot, даже не смотря на надпись. :D Почему? :)) Потому, что юнити не важно, будет ли картинка степенью двойки. Юнити важно, чтобы стороны картинки делились нацело на 4. Просто в эдиторе разрабы юнити схалтурили :)) Им лень добавлять новые аббревиатуры... менять устоявшиеся определения. Даже если они не совсем актуальны. К чему это я?.. Просто иногда тебе можно сделать 1 картинку 768х768, чем пихать ее в атлас или растягивать на 1024х1024 ради надписи pot. При этом она и весить будет значительно меньше, да и атласы из этих картинок так же будут попадать под это правило)) Особенно если не хочется заморачиваться с сжатием и пр.
На самом деле все аббревиатуры указаны. Если ширина и высота текстуры делится на 4 (DXT1/BC1), то это совсем другой формат компрессии, нежели POT (ETC1 или ETC2, не помню). Картинка все еще NPOT, даже если скомпрессировалась в другом формате. Но замечание хорошее, иногда доводить до POT текстуры выходит дороже чем довести текстуру до делимости на 4 :)
Про сжатие текстур до байтов огромнейшее спасибо просто. Про правило сжатия ни разу не слышал, но при этом постоянно делаю спрайты кратные 2 Не тех работников юнитеки всё нанимают)
Не нужно бежать переделывать все звуки в ogg так как юнити переделывает аудио в wav, чтобы применить компрессию. Если у вас есть длинные аудио, то лучше сначала подумать и выбрать между весом билда и скоростью загрузки игры\оптимизаций
@@hopperlopip Я перепроверил инфу, действительно, немного неправильно помнил, но в целом смысл тот же - импортировать в wav, вот текст из статьи: При импорте файлов в Unity они всегда должны быть в несжатом формате, например в WAVE (.wav) или AIFF (.aiff). Многие сжатые форматы являются форматами с потерями, то есть при их кодировании информация теряется. Если импортировать в Unity сжатый файл, например MP3 или Vorbis, то Unity сначала декодирует его в несжатый формат, а затем повторно закодирует в выбранный вами формат, даже если этот тот же формат, с которого вы начинали. Это может добавлять новые артефакты сжатия, что в общем случае нежелательно.
Очень годно! Было бы интересно узнать про Addressables, как в их используете в проектах, бест практиклс) Так же про что нибудь более низкоуровневое было бы интересно послушать, аля замена компилятора)
Спасибо за труд. Такой вопрос: в Build Report есть такое чудо Other Assets. Занимает 20%. Что это такое и можно ли это сократить. Заранее спасибо за ответ
Очень полезно, спасибо большое!) А вот что насчет fps на андроидах? Вот мой пример: Сделал счетчик fps для своей игрушки, посмотрев на stackoverflow. Включаю билд на андроиде, а он показывает не больше 30 кадров, иногда даже тоже показывает, хотя проект маленький и ничего не должно нагружать. А когда смотрю частоту кадров в самой юньке на пк, то там все отлично показывает. Я так понимаю надо как-то настраивать отдельно для андроида, чтобы частота кадров была больше. Такое чувство, что что-то ограничивает и не даёт больше 29-30 кадров. Или 30 это максимум, что можно сделать для андроида? Хотелось бы, чтобы все было хотя бы в 60 кадрах. Спасибо за такие познавательные ролики!)
Спасибо:) По поводу телефона: Фпс лочится на 30 по умолчанию. Попробуй прописать на старте что - то вроде этого: QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; Тут отключается вертикалка и фпс на 60 целевой выставляется
@@СеменМоисеев-л8в это в первую очередь зависит от телефона. Бюджетный телефон с частотой экрана 30, не может выдавать 60 кадров! На хороших телефонах с 120, можно разлачивать через Application.targetFrameRate, все будет ок
Отличный гайд, как его мне не хватало пару месяцев назад. Не знаю, может у меня такой глюк, но бывает, что при создании повторного билда не создаётся новый файл с результатами билда. И приходится выходить из Юньки.
Интересное видео! Мне понравился совет с атласом и POT, не знал, что так работает. Интересно, как это достигается с программной точки зрения. Если уже был на курсе, то получится выиграть доступ ещё раз?) Уж очень хочется повторить 😅
Очень рад новости о мероприятие 6-го апреля! Но возможности прийти не будет в связи с большой разницей во времени... Подскажите, останется ли это мероприятие в записи?
Правило POT обязательно только для некоторых вариантов компрессий. Есть хорошие, проверенные варианты сжатия, которые принимают NPOT текстуры (например ETC2 для андроид и очень крутой ASTC для iOS). Либо не использовать сжатие вообще, но и вес соответствующим будет. Если не ошибаюсь, то POT текстуры быстрее обрабатываются GPU
Кстати на счет шейдеров: Юнити меня бесит в этом плане :D Если проект под URP, 80% гайдов и пр. материала по шейдерам можно выкидывать, в зависимости от версии движка. Пытался, помню, сделать эффект мокрого стекла для панельки UI. Чтобы когда игрок открывал настройки звука, в приложении, игра красиво "оттенялсь" и блюрилась ЗА настройками. Убил неделю и для конкретного проекта ничего сделать не смог. Пытался и шейдерами сделать, и постэффектами - нифига. Мучил ChatGPT и его аналоги :D глухо... т.е. открываю новый проект, чистый, на др. версии движка - получается. А в готовом проекте - нет. А менять настройки, профили и пр. я в нем не могу, т.к. проект чужой. Да и, если честно, на знаю, что именно надо менять, чтоб все заработало... :"(
@@quane209 2020.0.f1 установил, но версия 202x.3 позволяет перенести глобальный кэш юнити с системного диска на любой другой. А занимает этот кэш, не мало места (несколько гигов).
Может кто поможет. Вот в атласы загнал спрайты. Атлас сам меньше весит, но в нем же ссылки на эти спрайты все равно есть. Почему будет меньше весить тогда?
@@-it394 Это всё понятно, это база, но мне интересно как это работает на более низком уровне, дело в том что на работе мой коллега рассказывал что создание экземпляра когда у тебя он хранится в инспекторе - это одно и там используется вычислительная память. А когда ты подгружаешь его через Resources - это уже загрузка с жесткого диска. Не знаю так ли это но профайлер показывает более благоприятные показания при загрузке через Resources.
250÷50= 50 МБ Бзр (3 символа) 18÷3= 6 эффективности У тебя эффективность = 5 а у меня 6. 😂😂😂😂😂. Я написал новый комментарий и оптемизировал его. Я победил 🤣🤣🤣🤣🤣. 🎖️🎖️🎖️🎖️🎖️ )))))
⚡⚡⚡ Полезные ссылки ⚡⚡⚡
🔎 t.me/yakovlev_advanced_bot - бот с информацией о вебинаре и подарками для обучения
🔎 yakovlevgamedev.ru - курс по архитектуре игр в Unity
🔎 t.me/yakovlev_gamedev - ссылка на мой telegram канал
А как поставить больше 1 лайка, а то вторую часть уже охота)
@@skryidoov3951 С двух аккаунтов:)
@@-it394 О точно!
@@-it394Приветствую есть вопрос. Регистрация на яндекс маркете как физ лицо для продажи инди продуктов, сейчас как обстоит дело с этим? Требуют фото с паспортом как в средние века или все цивильнее стало?
а какие игры тебе приходилось выпускать?
вот бы поиграть.
интересуют и удачные и неудачные релизы,
и интересует разбор причин удачных игры и причин неудачных,
Нужно БОЛЬШЕ, БОЛЬШЕ ТАКОГО КОНТЕНТА, СЛИШКОМ МАЛО! ИЛЬЯ ГОНИ НОВУЮ ПАРТИЮ ВИДОСИКОВ. Ребят знаю многим обычно лень, но пишите комментарии и ставьте лайки, помогите продвигать канал.
Согласен с тобой
Крайне полезный ролик. Попал в точку)
Ожидаю вторую часть
Ты даже не посмотрел
Как же вовремя вышел этот видос)
Правило POT для оптимизации довольно условно. В плане того, что не обязательно размер картинки должен быть степенью двойки.
Можете сами проверить:
-картинка подходящая под "POT" размером 128х128 будет весить 16кб (чисто примерно).
-картинка нарушающее правило размером 126х126 NPOT = 64кб. т.е. хоть картинка и меньше размером, но весит оно в 4 раза больше. Что ужасно!
Однако:
-картинка 132х132 - так же будет иметь аббревиатуру NPOT, но ее размер будет 17кб. И в Unity оно будет восприниматься движком именно как Pot (в плане оптимизации), а не как npot, даже не смотря на надпись. :D
Почему? :))
Потому, что юнити не важно, будет ли картинка степенью двойки. Юнити важно, чтобы стороны картинки делились нацело на 4.
Просто в эдиторе разрабы юнити схалтурили :)) Им лень добавлять новые аббревиатуры... менять устоявшиеся определения. Даже если они не совсем актуальны.
К чему это я?.. Просто иногда тебе можно сделать 1 картинку 768х768, чем пихать ее в атлас или растягивать на 1024х1024 ради надписи pot. При этом она и весить будет значительно меньше, да и атласы из этих картинок так же будут попадать под это правило))
Особенно если не хочется заморачиваться с сжатием и пр.
На самом деле все аббревиатуры указаны. Если ширина и высота текстуры делится на 4 (DXT1/BC1), то это совсем другой формат компрессии, нежели POT (ETC1 или ETC2, не помню). Картинка все еще NPOT, даже если скомпрессировалась в другом формате. Но замечание хорошее, иногда доводить до POT текстуры выходит дороже чем довести текстуру до делимости на 4 :)
Очень полезный ролик, редко встретишь настолько годные гайды, да ещё и с такой хорошей подачей
Имбааа, крайне годно, глоток качественного контента. Нужно больше.
Ждемс ледующую частИ.
Спасибо! Точно сказал про "сражаемся за каждый байт"
Советую купить Build Report Tool с ассет стора, визуализирует и позволяет удобно сразу находить самые большие файлы в и вне билда.
Про сжатие текстур до байтов огромнейшее спасибо просто. Про правило сжатия ни разу не слышал, но при этом постоянно делаю спрайты кратные 2
Не тех работников юнитеки всё нанимают)
Спасибо за интересный совет с возможность создавать круглые спрайты прямо в Юнити! (лайк + подписка)
Не нужно бежать переделывать все звуки в ogg так как юнити переделывает аудио в wav, чтобы применить компрессию. Если у вас есть длинные аудио, то лучше сначала подумать и выбрать между весом билда и скоростью загрузки игры\оптимизаций
Разве? На уровне билда он вообще все звуки в FSB упаковывает.
@@hopperlopip Я перепроверил инфу, действительно, немного неправильно помнил, но в целом смысл тот же - импортировать в wav, вот текст из статьи:
При импорте файлов в Unity они всегда должны быть в несжатом формате, например в WAVE (.wav) или AIFF (.aiff). Многие сжатые форматы являются форматами с потерями, то есть при их кодировании информация теряется. Если импортировать в Unity сжатый файл, например MP3 или Vorbis, то Unity сначала декодирует его в несжатый формат, а затем повторно закодирует в выбранный вами формат, даже если этот тот же формат, с которого вы начинали. Это может добавлять новые артефакты сжатия, что в общем случае нежелательно.
Класс! Я узнал из видео пару моментов, о которых не знал. Спасибо!
Больше видео по оптимизации, это довольно редкий контент!
Имба хочу продолжение ))
🤗 Годнота😁
Очень годно! Было бы интересно узнать про Addressables, как в их используете в проектах, бест практиклс) Так же про что нибудь более низкоуровневое было бы интересно послушать, аля замена компилятора)
Спасибо за труд. Такой вопрос: в Build Report есть такое чудо Other Assets. Занимает 20%. Что это такое и можно ли это сократить. Заранее спасибо за ответ
Было интересно, спасибо)
Очень полезно, спасибо большое!) А вот что насчет fps на андроидах?
Вот мой пример: Сделал счетчик fps для своей игрушки, посмотрев на stackoverflow. Включаю билд на андроиде, а он показывает не больше 30 кадров, иногда даже тоже показывает, хотя проект маленький и ничего не должно нагружать. А когда смотрю частоту кадров в самой юньке на пк, то там все отлично показывает. Я так понимаю надо как-то настраивать отдельно для андроида, чтобы частота кадров была больше. Такое чувство, что что-то ограничивает и не даёт больше 29-30 кадров. Или 30 это максимум, что можно сделать для андроида?
Хотелось бы, чтобы все было хотя бы в 60 кадрах.
Спасибо за такие познавательные ролики!)
Спасибо:)
По поводу телефона:
Фпс лочится на 30 по умолчанию.
Попробуй прописать на старте что - то вроде этого:
QualitySettings.vSyncCount = 0;
Application.targetFrameRate = 60;
Тут отключается вертикалка и фпс на 60 целевой выставляется
@@-it394 Прописывал и ничего не менялось. Все так же 30 кадров было.
Спасибо за ответ!
@@СеменМоисеев-л8в Попробуй чистый проект собрать и этими строчками прописанными и протестить на телефоне
Для андроида 60 фпс предел и то такая возможность не во всех телефонах вроде работает. А по умолчанию 30.
@@СеменМоисеев-л8в это в первую очередь зависит от телефона. Бюджетный телефон с частотой экрана 30, не может выдавать 60 кадров! На хороших телефонах с 120, можно разлачивать через Application.targetFrameRate, все будет ок
Спасибо!
Отличный гайд, как его мне не хватало пару месяцев назад. Не знаю, может у меня такой глюк, но бывает, что при создании повторного билда не создаётся новый файл с результатами билда. И приходится выходить из Юньки.
Видос пушка!
расскажи про картинки в формате webp переименованные в png.
не вредит ли такой подход общей производительности?
Интересное видео! Мне понравился совет с атласом и POT, не знал, что так работает. Интересно, как это достигается с программной точки зрения.
Если уже был на курсе, то получится выиграть доступ ещё раз?) Уж очень хочется повторить 😅
Очень рад новости о мероприятие 6-го апреля! Но возможности прийти не будет в связи с большой разницей во времени... Подскажите, останется ли это мероприятие в записи?
Думаю в течении нескольких дней запись останется:)
@@-it394, рад слышать)
7:23 Достаточно просто не указывать спрайт в компоненте image, и не нужен спрайт 1х1 пиксель.
Очень Крутой канал надеюсь ты не остановишься!
Ребят не ленитесь пишите комментарии!
Привет! Подскажи пожалуйста, уровень твоих знаний - это сеньер?
Будут ролики про ECS? Было бы интересно посмотреть
Правило POT обязательно только для некоторых вариантов компрессий. Есть хорошие, проверенные варианты сжатия, которые принимают NPOT текстуры (например ETC2 для андроид и очень крутой ASTC для iOS). Либо не использовать сжатие вообще, но и вес соответствующим будет. Если не ошибаюсь, то POT текстуры быстрее обрабатываются GPU
Кстати на счет шейдеров:
Юнити меня бесит в этом плане :D Если проект под URP, 80% гайдов и пр. материала по шейдерам можно выкидывать, в зависимости от версии движка.
Пытался, помню, сделать эффект мокрого стекла для панельки UI. Чтобы когда игрок открывал настройки звука, в приложении, игра красиво "оттенялсь" и блюрилась ЗА настройками.
Убил неделю и для конкретного проекта ничего сделать не смог. Пытался и шейдерами сделать, и постэффектами - нифига. Мучил ChatGPT и его аналоги :D глухо...
т.е. открываю новый проект, чистый, на др. версии движка - получается. А в готовом проекте - нет. А менять настройки, профили и пр. я в нем не могу, т.к. проект чужой. Да и, если честно, на знаю, что именно надо менять, чтоб все заработало... :"(
С кнопками очень сильно сэкономил время. Я не знал о таком способе и в фотошопе вручную для каждой кнопки нового размера делал спрайт
Наконец то 😊🎉
Кто бы хотел помочь в создании моей игры? Или же можем вместе сделать какую то новую игру.
Правило POT необязательно, как я понимаю. Так размер текстурки должен делиться на 4 и необязательно быть POT
Покланяюсь и подписываюсь
Интересно хватит ли 1,5Гб на системном диске для установки Unity 2022.3 на SSD... Интересно какая там версия C#
1,5 гб не хватит, это уж точно.
@@quane209 2020.0.f1 установил, но версия 202x.3 позволяет перенести глобальный кэш юнити с системного диска на любой другой. А занимает этот кэш, не мало места (несколько гигов).
Может кто поможет. Вот в атласы загнал спрайты. Атлас сам меньше весит, но в нем же ссылки на эти спрайты все равно есть. Почему будет меньше весить тогда?
У меня вопрос есть по instantiate, разница между instantiate(gameobject) и instantiate(resources.Load), на сколько знаю это очень разное под капотом
Ну сам метод создания один и тот же, но в первом случае ты префаб сразу по ссылке берешь, а во втором ты префаб подгружаешь из ресурсов
Первое просто создает еще один экземпляр указанного объекта, а второе тоже самое, только он этот объект загружает из папки ассетов Resources
@@-it394 Это всё понятно, это база, но мне интересно как это работает на более низком уровне, дело в том что на работе мой коллега рассказывал что создание экземпляра когда у тебя он хранится в инспекторе - это одно и там используется вычислительная память.
А когда ты подгружаешь его через Resources - это уже загрузка с жесткого диска.
Не знаю так ли это но профайлер показывает более благоприятные показания при загрузке через Resources.
Ведь есть же разница когда ты указываешь камере RenderTexture и когда ты её подгружаешь из ресурсов, там прям хорошая разница в оптимизации@@-it394
Спасибо
Ураааа🎉🎉🎉🎉
У тебя в эдитор логе куча больших текстур от URP Post Processing (grain), в итоге ничего про это не сказал
Контент нормальный, но надо отучиться мельтешить мышкой.
И в куске про NPOT у слитков компрессия была разная.
Б з р (5 символов)
(Благодарю за ролик 18 символов)
18÷5= 3.6 оптимизация
😂😂😂😂😂😂😂😂
Аахахахах:)
4:32 это же не первоапрельская шутка?
Нет:)
+
250÷50= 50 МБ
Бзр (3 символа)
18÷3= 6 эффективности
У тебя эффективность = 5 а у меня 6. 😂😂😂😂😂. Я написал новый комментарий и оптемизировал его. Я победил 🤣🤣🤣🤣🤣. 🎖️🎖️🎖️🎖️🎖️ )))))
Кмнт дл прдвжн
Цена за коммисию
Сверхполезное видео. Вторую точно надо делать.