Оптимизация игры на Unity, часть 5 - 3D модели. Текстурный атлас. Объединение мешей

  Рет қаралды 29,642

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

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

4 жыл бұрын

Рассказываю про оптимизацию 3D моделей для Unity. В этом видео я затронул темы текстурных атласов, дублирования материалов объединения мешей и моделей с множеством подвижных составляющих. Будем всё это оптимизировать для снижения draw calls и повышения FPS игры.
Поддержать канал на русскоязычном Boosty: boosty.to/insaneone
Или на Patreon: / insaneone
Discord-сервер канала: / discord
Группа VK: insaneoneblog
У меня на канале регулярно выходят новые видео с уроками по Unity и разработке игр, а так же другими интересными темами, связанными с геймдевом. Подписывайся!
Не забывай оставлять комментарий, если у тебя появились вопросы или предложения по видео :)

Пікірлер: 60
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Привет! Попробовал чуть более подробно рассмотреть оптимизацию с точки зрения графических ресурсов, однако итоговое видео всё же не очень глубоко описывает непосредственно реализацию показанных способов оптимизации моделей. Поэтому вопрос у меня простой - было бы вам интересно увидеть более длинный ролик, где более наглядно показана последовательность действий, необходимых для решения этих задач? :)
@Hot-Coffee
@Hot-Coffee 4 жыл бұрын
Мне как тридешнику в сфере геймдева, было бы очень интересно углубиться в оптимизацию касательно всего, что связано с моделями. Но боюсь это инфа не всем может быть полезна, а следовательно актуальна. С другой стороны, вы всегда можете показать эти видео своим 3D художникам и поддержать автора лайком. :)
@Gladiusspb
@Gladiusspb 4 жыл бұрын
"было бы вам интересно увидеть более длинный ролик, где более наглядно показана последовательность действий, необходимых для решения этих задач? :)" Ответ - Да... Нет, не так. Вот так: ДА!!!. Нет-нет, вот так: ДААААААААААА!!!!!! :-))
@rustamgalaktion8338
@rustamgalaktion8338 4 жыл бұрын
Я бы посмотрел такой ролик. Как ты объясняешь лучше понимается.
@tonicoders991
@tonicoders991 4 жыл бұрын
Вопросы оптимизации всегда важны. И мне как новичку очень важно знать и понимать что из своих проектов я могу выжать. Так что,да. Более длинный урок мало кого спугнёт.
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Серия видео отличная! А вот про SkinnedMeshRenderer или несколько обычных мешей как раз недавно думал - скинули модельку где просто вращалась антенна непрерывно, и было сделано через SkinnedMeshRenderer со скелетом и аниматором. И я удивлялся что не двумя мешами сделано, почему-то интуитивно казалось что скелет больше оверхеда добавлять должен. Но тестов не проводил, так что не знаю :)
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Один из проектов, где я работаю - RTS в милитари-сеттинге. Там десятки юнитов на экране одновременно, поэтому выбор между оверхедом от SkinnedMeshRenderer и сотнями дроу коллов в принципе был не очень сложный. :D Ну а бонусом даёт гибкости тем же деталям вроде антенн)
@AlexStraga
@AlexStraga 4 жыл бұрын
Какие люди)
@Kot-Alenya
@Kot-Alenya 4 жыл бұрын
Emerald ,а ты тут откуда )
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Да, в некоторых случаях выбор очевиден Так я ведь и чужие видео тоже частенько смотрю)
@unitynavigator3328
@unitynavigator3328 4 жыл бұрын
Мужики продолжайте радовать нас видосами, вам цены нет.
@user-tb7yn5yy3g
@user-tb7yn5yy3g 4 жыл бұрын
Я для себя в Gimp объединил текстуры досок,кирпича,железа,верёвок и в блендере сделал UV развёртку и назначил на каждый меш соответствующий кусок текстуры.
@Arko698
@Arko698 4 жыл бұрын
Пока есть два толковых канала по Unity на русском : ты и Emerald. Очень полезные ролики делаешь
@grinvich2304
@grinvich2304 4 жыл бұрын
А Гоша?
@bohdan5289
@bohdan5289 4 жыл бұрын
@@grinvich2304 Не очень. Как по мне, он делает затянуто и СЛИШКОМ разжёванно. Да и не всегда правильно
@youpubeqwer
@youpubeqwer 6 ай бұрын
Emerald Powder ?
@user-gd6eg2ee6e
@user-gd6eg2ee6e 4 жыл бұрын
У тебя отличные уроки, продолжай в том же духе Только начал вкатываться в юнити, и на русском хорошего контента очень мало.
@AlexStraga
@AlexStraga 4 жыл бұрын
Спасибо за полезную инфу)
@liroxyplay8068
@liroxyplay8068 4 жыл бұрын
Отличный видос. Ты сделал мой день!) Это то, что я искал долгое время. Надеюсь твой канал быстро вырастет ;)
@Priboy313
@Priboy313 4 жыл бұрын
Отличные видосы, большое спасибо за них!
@Natharcheck
@Natharcheck 4 жыл бұрын
Мне понравилось и всё было понятно !
@Sovereing2027
@Sovereing2027 Жыл бұрын
Один из самых полезных роликов на канале по этой теме. Спасибо.
@makasin2393
@makasin2393 2 жыл бұрын
Спасибо тебе огромное!)
@vicktoriashepard
@vicktoriashepard 2 жыл бұрын
Замечательная серия видео уроков, жаль так и не дождалась темы по оптимизации звука 😔 Надежда умирает последней, буду ждать и верить 😉👍
@user-jr9xh5ej4c
@user-jr9xh5ej4c 4 жыл бұрын
Отличные видео! Спасибо! Объединять меши можно и в самом Unity - Mesh.CombineMeshes()
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Да, кстати, это тоже хороший способ, особенно полезен для процедурно-генерируемых во время игры уровней, в такой ситуации никакого 3D-редактора в помощь не будет)
@user24235
@user24235 5 күн бұрын
потому что это не последнее видео по оптимизации....видео 4 года назад)
@mr.dandomi
@mr.dandomi 4 жыл бұрын
А сними отдельное видео по "общим материалам" и т.д.
@glorytoukraine429
@glorytoukraine429 3 жыл бұрын
Народ, рассказываю как я делал дорогу в Unity 3D и вместо 3000 батчей получил 4 батча) Это немного усложнит создание текстур, но результат производительности улучшиться чуть ли не в 1000 раз, а также секономит дофига времени. В общем, что бы получить 3К батчей нам нужно сделать один материал с текстурой дороги и кинуть его на Plane, в настройках материала там можно настроить количество повторений текстур (Tiling в настройках материала называется). Окей, настроили, дальше копируем так дорогу, на 1КМ дороги у меня вышло 140 объектов Plane. Потом создаём отдельный Plane, который сделает полосы на дороге и двойную сплошную. Тут опять выйдет 100500 объектов. В итоге материал с текстурой один, производительность упала, время потратили дофига. Как убить двух зайцев, то есть увеличить производительность и потратить меньше времени, но есть маленький нюанс. В общем, я сравнил объект Plane и Cube, короче, плейн жрет в 5 раз больше производительности, так что используем Cube. Дальше, мы не создаём 100500 объектов, а просто отрисовываем один, но длинный. И теперь создаём в Фотошопе одну текстуру дороги уже вместе с полосами, но нужно сделать ее бесшовную. Дальше закидываем в Unity и создаём материал где в Tiling растягиваем текстуру под длинну дороги. Воуля. Единственное это материалы, если у вас много разных дорог разной длины, то нужно для каждой отдельной дороги создавать отдельный материал, который нужно растягивать индивидуально для каждой дороги.
@voldexgray
@voldexgray Жыл бұрын
посмотрев все твои ролики я радостно оптимизировал игру с 80 фпс до 30) и теперь хз как вернуть обратно🤣
@meowguuy8302
@meowguuy8302 7 ай бұрын
Допустим, у меня есть один меш. Нужно сделать несколько вариантов его покраски текстурным атласом. Получается, сколько вариантов покраски, столько и мешей с уникальной UV развёрткой? А если таких вариантов требуется 100 и больше? (гипотетически).
@VsevolodPankratov
@VsevolodPankratov 2 жыл бұрын
Спасибо за объяснение! Значит, если даже у сложной постройки есть стены, крыша, двери, окна, лестницы, то лучше также использовать один атлас на конкретную модель для мобильной игры в Unity? И какой размер атлас посоветуете для мобильной игры? 2048x2048 много? 1024 оптимальнее?
@insaneone-7220
@insaneone-7220 2 жыл бұрын
Для крупных моделей может быть несколько атласов, 2048 думаю приемлемо, особенно если объекты его использующие, большую часть времени находятся на виду у игрока (атлас не будет заново загружаться в память).
@_T-800_
@_T-800_ 3 жыл бұрын
интересная серия видео)! Спасибо!) Ребят, если использовать для 3D модели обычную политуру цветов в материала Юнити без текстур на производительности скажется положительно или отрицательно? у кого какие мнения? Например, сделал 3D модель ы в Блендере и там же назначил материалы, а после переноса такой модели в Юнити создаешь материалы и подбираешь обычные цвета к модели в самой Юнити
@insaneone-7220
@insaneone-7220 3 жыл бұрын
На модели желательно иметь только один материал. Чем больше на ней материалов, даже одноцветных, тем сложнее видеокарте будет это отрисовывать. Вместо этого лучше использовать палитру в одной текстуре, но редактировать придётся в графическом редакторе. Альтернативой может стать свой шейдер и текстуры-маски, которые будут накладываться на нужные части модели, которые должны менять цвет, а шейдер по ним нужным цветом будет рисовать, но это уже сложнее)
@_T-800_
@_T-800_ 3 жыл бұрын
@@insaneone-7220 Спасибо за ответ👍🏻👍🏻👍🏻:)
@user-il6kl9tg3v
@user-il6kl9tg3v 4 жыл бұрын
А можете рассказать об оптимизации открытых миров? А то у меня один плагин карт есть...(mapbox) и он очень долго подгружает карту, из-за чего лагает. Хотелось бы подгружать второстепенно, но не знаю как(.
@insaneone-7220
@insaneone-7220 4 жыл бұрын
По возможности постараюсь рассказать. Насчёт плагина не знаю, возможно он не очень хорошо реализован и поэтому возникает такая проблема.
@GamePlayGoGoGo
@GamePlayGoGoGo Жыл бұрын
Подскажите, а какие оптимальные размеры должны быть у текстур, для хорошей оптимизации? И они всё ещё должны быть кратны 16, как в старых играх, когда использовались текстуры размером 256х256 и 512х512?
@user-lv1le3oq6c
@user-lv1le3oq6c 9 ай бұрын
По сути да, но не обязательно чтобы они были именно квадратные.
@strikenoise
@strikenoise 3 жыл бұрын
Не знаю затрагивали ли тему данную. Года 2 использую юнити. Всегда оптимизирую партайклы они же частицы, они же эффекты. Можно ещё и физику затронуть. Если тема не раскрыта..
@syberman1102
@syberman1102 3 жыл бұрын
А про Lod'ы будет?
@insaneone-7220
@insaneone-7220 3 жыл бұрын
Возможно)
@KENISEG
@KENISEG 3 жыл бұрын
а что на счет лодов? как у вас на юнити с этим дела? я прост на анриле сижу, там лоды есть давно и бесплатно. в последний раз видел на юнити что они только у про есть, но добавили в бесплатную чтоли
@insaneone-7220
@insaneone-7220 3 жыл бұрын
Да, лоды есть бесплатно, уже довольно давно. Ну, особо по ним нечего сказать, они работают)
@Artem_Kapatsyna
@Artem_Kapatsyna 3 жыл бұрын
Пожалуйста объясните мне как новичку в этом деле. Делаю Лоу Поли модельки для игры , и накладываю на них материалы , потом делаю развертку каждой модельки (дерева , камня , куста и т.д) и запекаю на каждой модели эти материалы в одну текстуру. И таким образом получается что у каждой модели , один материал с этой текстурой, вместо , 3 на дереве допустим. Вопрос: я вообще правильно это делаю или нет ? Узнал вот что можно сделать uv атлас, и теперь думаю , можно ли взять и скинуть в один файл все модели окружения с их материалами допустим , и запечь все это , чтоб получить просто одну текстуру большую, которая в последствии будет на каждое это дерево или камень накидываться? Или и так нормально? Просто если логически подумать , то в любом случае получается что на модели будет один материал с текстурой, только в первом случае много текстур по отдельности для каждого дерева , а в другом одна и та же текстура , но ее можно применить к многим мешам. (Скажу сразу , я до движка ещё не добрался , пока делаю только модели в блендере , просто хочу чтоб модели были сделаны правильно , и это нормально в будущем сказывалось на оптимизации, чтоб потом не переделывать по 150 раз)
@insaneone-7220
@insaneone-7220 3 жыл бұрын
Лучше всего, если атласы не будут выходить за размеры 2048х2048, можно сделать и больше, но тогда будет идти больше нагрузки на память - компромисс всегда лучше. Так же хорошо, когда материал универсальный и используется один для нескольких разных моделей. Единственно верного правила нет, в разных ситуациях - разные подходы.
@Artem_Kapatsyna
@Artem_Kapatsyna 3 жыл бұрын
@@insaneone-7220 понял , спасибо большое за быстрый ответ)
@Artem_Kapatsyna
@Artem_Kapatsyna 3 жыл бұрын
@@insaneone-7220 Автор, снова здравствуйте ,можно как то с вами в личку связаться? Можете проверить пожалуйста правильно ли я сделал модели?(не у кого спросить).создал пак из 15 деревьев , накинул на все процедурные материалы , сделал одну общую развертку и запёк это все в текстуру 2048х2048 , таким образом получился один материал с этой текстурой для всех 15 деревьев.Это так должно быть ?насколько я понял
@skovorodka1867
@skovorodka1867 3 жыл бұрын
Блин, почему ты закончил снимать про оптимизацию? (
@insaneone-7220
@insaneone-7220 3 жыл бұрын
Так получилось. :) В планах есть ещё несколько видео по этой теме, но пока нет никаких сроков их выхода на канале.
@youpubeqwer
@youpubeqwer 6 ай бұрын
@@insaneone-7220 Сними плиз про оптимизацию html5
@gregorykl2317
@gregorykl2317 3 жыл бұрын
Вообще ничего не понятно... буду разбираться.. спасибо за видео
@Ganin-Alexander
@Ganin-Alexander 3 жыл бұрын
облегчИть! 5:40 мою жену бесит когда говорят не правильно, и она свои психи на мне вымещает. Ставьте ударение правильно пожалуйста.
@user-qs3uq2sq4t
@user-qs3uq2sq4t 2 жыл бұрын
Всем пофиг на твою жену, поставь ее на место.
@waltage
@waltage 2 жыл бұрын
учитывая как хуево грузится этот ролик на фоне остальных то оптимизация действительно важна
Optimizing a Unity game, Part 1. Batching
4:16
Insane One - Разработка игр
Рет қаралды 78 М.
MISS CIRCLE STUDENTS BULLY ME!
00:12
Andreas Eskander
Рет қаралды 21 МЛН
WORLD'S SHORTEST WOMAN
00:58
Stokes Twins
Рет қаралды 133 МЛН
Schoolboy - Часть 2
00:12
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 9 МЛН
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 521 М.
31 portals of impossible shape
35:50
optozorax
Рет қаралды 794 М.
Trim Sheets Texture Atlas Tutorial
6:39
PanRomanCG
Рет қаралды 4,1 М.
Оптимизация игры на Unity. Физика
14:45
Night Train Code
Рет қаралды 10 М.
Creating a texture Atlas in Blender
16:39
GR Modding Tutorials
Рет қаралды 26 М.
Как создаются игровые 3D модели
3:03
Andrew Florya
Рет қаралды 44 М.
Оптимизация игры на Unity. LOD Group
7:26
Night Train Code
Рет қаралды 14 М.
РАЗБОР собеседования на 4000$ - Unity Developer | Вопросы Hard и Soft, тестовое, livecoding
25:34
Мирошкин Олег | Состоятельный геймдев
Рет қаралды 9 М.
Improving graphics in Unity in a 3 minutes
3:19
Insane One - Разработка игр
Рет қаралды 53 М.
MISS CIRCLE STUDENTS BULLY ME!
00:12
Andreas Eskander
Рет қаралды 21 МЛН