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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 พ.ย. 2024

ความคิดเห็น • 59

  • @insaneone-7220
    @insaneone-7220  4 ปีที่แล้ว +35

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

    • @Hot-Coffee
      @Hot-Coffee 4 ปีที่แล้ว +7

      Мне как тридешнику в сфере геймдева, было бы очень интересно углубиться в оптимизацию касательно всего, что связано с моделями. Но боюсь это инфа не всем может быть полезна, а следовательно актуальна.
      С другой стороны, вы всегда можете показать эти видео своим 3D художникам и поддержать автора лайком. :)

    • @Gladiusspb
      @Gladiusspb 4 ปีที่แล้ว +1

      "было бы вам интересно увидеть более длинный ролик, где более наглядно показана последовательность действий, необходимых для решения этих задач? :)" Ответ - Да... Нет, не так. Вот так: ДА!!!. Нет-нет, вот так: ДААААААААААА!!!!!! :-))

    • @rustamgalaktion8338
      @rustamgalaktion8338 4 ปีที่แล้ว

      Я бы посмотрел такой ролик. Как ты объясняешь лучше понимается.

    • @tonicoders991
      @tonicoders991 4 ปีที่แล้ว +1

      Вопросы оптимизации всегда важны. И мне как новичку очень важно знать и понимать что из своих проектов я могу выжать. Так что,да. Более длинный урок мало кого спугнёт.

  • @EmeraldPowder
    @EmeraldPowder 4 ปีที่แล้ว +30

    Серия видео отличная!
    А вот про SkinnedMeshRenderer или несколько обычных мешей как раз недавно думал - скинули модельку где просто вращалась антенна непрерывно, и было сделано через SkinnedMeshRenderer со скелетом и аниматором. И я удивлялся что не двумя мешами сделано, почему-то интуитивно казалось что скелет больше оверхеда добавлять должен. Но тестов не проводил, так что не знаю :)

    • @insaneone-7220
      @insaneone-7220  4 ปีที่แล้ว +5

      Один из проектов, где я работаю - RTS в милитари-сеттинге. Там десятки юнитов на экране одновременно, поэтому выбор между оверхедом от SkinnedMeshRenderer и сотнями дроу коллов в принципе был не очень сложный. :D Ну а бонусом даёт гибкости тем же деталям вроде антенн)

    • @AlexStraga
      @AlexStraga 4 ปีที่แล้ว +2

      Какие люди)

    • @Kot-Alenya
      @Kot-Alenya 4 ปีที่แล้ว +2

      Emerald ,а ты тут откуда )

    • @EmeraldPowder
      @EmeraldPowder 4 ปีที่แล้ว +6

      Да, в некоторых случаях выбор очевиден
      Так я ведь и чужие видео тоже частенько смотрю)

    • @unitynavigator3328
      @unitynavigator3328 4 ปีที่แล้ว +3

      Мужики продолжайте радовать нас видосами, вам цены нет.

  • @ОлексійВискворкін
    @ОлексійВискворкін 4 ปีที่แล้ว +6

    Я для себя в Gimp объединил текстуры досок,кирпича,железа,верёвок и в блендере сделал UV развёртку и назначил на каждый меш соответствующий кусок текстуры.

  • @Arko698
    @Arko698 4 ปีที่แล้ว +8

    Пока есть два толковых канала по Unity на русском : ты и Emerald. Очень полезные ролики делаешь

    • @grinvich2304
      @grinvich2304 4 ปีที่แล้ว

      А Гоша?

    • @bohdan5289
      @bohdan5289 4 ปีที่แล้ว

      @@grinvich2304 Не очень. Как по мне, он делает затянуто и СЛИШКОМ разжёванно. Да и не всегда правильно

    • @youpubeqwer
      @youpubeqwer 10 หลายเดือนก่อน

      Emerald Powder ?

  • @AlexStraga
    @AlexStraga 4 ปีที่แล้ว +7

    Спасибо за полезную инфу)

  • @Sovereing2027
    @Sovereing2027 ปีที่แล้ว

    Один из самых полезных роликов на канале по этой теме. Спасибо.

  • @liroxyplay8068
    @liroxyplay8068 4 ปีที่แล้ว +4

    Отличный видос. Ты сделал мой день!)
    Это то, что я искал долгое время. Надеюсь твой канал быстро вырастет ;)

  • @Natharcheck
    @Natharcheck 4 ปีที่แล้ว +2

    Мне понравилось и всё было понятно !

  • @АлексейТерно
    @АлексейТерно 4 ปีที่แล้ว +3

    Отличные видео! Спасибо!
    Объединять меши можно и в самом Unity - Mesh.CombineMeshes()

    • @insaneone-7220
      @insaneone-7220  4 ปีที่แล้ว +2

      Да, кстати, это тоже хороший способ, особенно полезен для процедурно-генерируемых во время игры уровней, в такой ситуации никакого 3D-редактора в помощь не будет)

  • @Priboy313
    @Priboy313 4 ปีที่แล้ว

    Отличные видосы, большое спасибо за них!

  • @makasin2393
    @makasin2393 2 ปีที่แล้ว

    Спасибо тебе огромное!)

    • @vicktoriashepard
      @vicktoriashepard 2 ปีที่แล้ว

      Замечательная серия видео уроков, жаль так и не дождалась темы по оптимизации звука 😔 Надежда умирает последней, буду ждать и верить 😉👍

  • @user24235
    @user24235 3 หลายเดือนก่อน

    потому что это не последнее видео по оптимизации....видео 4 года назад)

  • @mr.dandomi
    @mr.dandomi 4 ปีที่แล้ว

    А сними отдельное видео по "общим материалам" и т.д.

  • @voldexgray
    @voldexgray ปีที่แล้ว

    посмотрев все твои ролики я радостно оптимизировал игру с 80 фпс до 30) и теперь хз как вернуть обратно🤣

  • @trader_iks
    @trader_iks 3 ปีที่แล้ว +1

    Народ, рассказываю как я делал дорогу в Unity 3D и вместо 3000 батчей получил 4 батча)
    Это немного усложнит создание текстур, но результат производительности улучшиться чуть ли не в 1000 раз, а также секономит дофига времени.
    В общем, что бы получить 3К батчей нам нужно сделать один материал с текстурой дороги и кинуть его на Plane, в настройках материала там можно настроить количество повторений текстур (Tiling в настройках материала называется). Окей, настроили, дальше копируем так дорогу, на 1КМ дороги у меня вышло 140 объектов Plane. Потом создаём отдельный Plane, который сделает полосы на дороге и двойную сплошную. Тут опять выйдет 100500 объектов. В итоге материал с текстурой один, производительность упала, время потратили дофига.
    Как убить двух зайцев, то есть увеличить производительность и потратить меньше времени, но есть маленький нюанс. В общем, я сравнил объект Plane и Cube, короче, плейн жрет в 5 раз больше производительности, так что используем Cube. Дальше, мы не создаём 100500 объектов, а просто отрисовываем один, но длинный. И теперь создаём в Фотошопе одну текстуру дороги уже вместе с полосами, но нужно сделать ее бесшовную. Дальше закидываем в Unity и создаём материал где в Tiling растягиваем текстуру под длинну дороги. Воуля. Единственное это материалы, если у вас много разных дорог разной длины, то нужно для каждой отдельной дороги создавать отдельный материал, который нужно растягивать индивидуально для каждой дороги.

  • @meowguuy
    @meowguuy 10 หลายเดือนก่อน

    Допустим, у меня есть один меш. Нужно сделать несколько вариантов его покраски текстурным атласом. Получается, сколько вариантов покраски, столько и мешей с уникальной UV развёрткой? А если таких вариантов требуется 100 и больше? (гипотетически).

  • @ЕвгенийНеваш
    @ЕвгенийНеваш 4 ปีที่แล้ว +2

    А можете рассказать об оптимизации открытых миров? А то у меня один плагин карт есть...(mapbox) и он очень долго подгружает карту, из-за чего лагает. Хотелось бы подгружать второстепенно, но не знаю как(.

    • @insaneone-7220
      @insaneone-7220  4 ปีที่แล้ว +1

      По возможности постараюсь рассказать. Насчёт плагина не знаю, возможно он не очень хорошо реализован и поэтому возникает такая проблема.

  • @GamePlayGoGoGo
    @GamePlayGoGoGo 2 ปีที่แล้ว +1

    Подскажите, а какие оптимальные размеры должны быть у текстур, для хорошей оптимизации? И они всё ещё должны быть кратны 16, как в старых играх, когда использовались текстуры размером 256х256 и 512х512?

    • @МаксимРадюш-ч6т
      @МаксимРадюш-ч6т ปีที่แล้ว +1

      По сути да, но не обязательно чтобы они были именно квадратные.

  • @VsevolodPankratov
    @VsevolodPankratov 2 ปีที่แล้ว

    Спасибо за объяснение! Значит, если даже у сложной постройки есть стены, крыша, двери, окна, лестницы, то лучше также использовать один атлас на конкретную модель для мобильной игры в Unity? И какой размер атлас посоветуете для мобильной игры? 2048x2048 много? 1024 оптимальнее?

    • @insaneone-7220
      @insaneone-7220  2 ปีที่แล้ว

      Для крупных моделей может быть несколько атласов, 2048 думаю приемлемо, особенно если объекты его использующие, большую часть времени находятся на виду у игрока (атлас не будет заново загружаться в память).

  • @_T-800_
    @_T-800_ 4 ปีที่แล้ว +1

    интересная серия видео)! Спасибо!) Ребят, если использовать для 3D модели обычную политуру цветов в материала Юнити без текстур на производительности скажется положительно или отрицательно? у кого какие мнения? Например, сделал 3D модель ы
    в Блендере и там же назначил материалы, а после переноса такой модели в Юнити создаешь материалы и подбираешь обычные цвета к модели в самой Юнити

    • @insaneone-7220
      @insaneone-7220  4 ปีที่แล้ว +2

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

    • @_T-800_
      @_T-800_ 4 ปีที่แล้ว

      @@insaneone-7220 Спасибо за ответ👍🏻👍🏻👍🏻:)

  • @strikenoise
    @strikenoise 3 ปีที่แล้ว

    Не знаю затрагивали ли тему данную. Года 2 использую юнити. Всегда оптимизирую партайклы они же частицы, они же эффекты. Можно ещё и физику затронуть. Если тема не раскрыта..

  • @skovorodka1867
    @skovorodka1867 3 ปีที่แล้ว +1

    Блин, почему ты закончил снимать про оптимизацию? (

    • @insaneone-7220
      @insaneone-7220  3 ปีที่แล้ว

      Так получилось. :) В планах есть ещё несколько видео по этой теме, но пока нет никаких сроков их выхода на канале.

    • @youpubeqwer
      @youpubeqwer 10 หลายเดือนก่อน

      @@insaneone-7220 Сними плиз про оптимизацию html5

  • @syberman1102
    @syberman1102 3 ปีที่แล้ว

    А про Lod'ы будет?

  • @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 деревьев.Это так должно быть ?насколько я понял

  • @gregorykl2317
    @gregorykl2317 3 ปีที่แล้ว

    Вообще ничего не понятно... буду разбираться.. спасибо за видео

  • @Ganin-Alexander
    @Ganin-Alexander 3 ปีที่แล้ว

    облегчИть! 5:40 мою жену бесит когда говорят не правильно, и она свои психи на мне вымещает. Ставьте ударение правильно пожалуйста.

  • @waltage
    @waltage 2 ปีที่แล้ว +1

    учитывая как хуево грузится этот ролик на фоне остальных то оптимизация действительно важна