Оптимизация игр на unity. Material instancing

Sdílet
Vložit
  • čas přidán 29. 08. 2020
  • Тема оптимизации в играх всегда была ограничивающим фактором для разработки игр. В этом видео мы рассмотрим material instancing как один из наиболее эффективных способов уменьшить количество draw call.
    Видео про FPS - • Как сделать счетчик FP...
    Видео про генерацию меша - • Процедурная генерация ...
    Поддержка канала:
    Patreon - www.patreon.com/user?u=32502669
    В крипте:
    BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
    ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
    XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
    LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
    #unity #оптимизация #material

Komentáře • 31

  • @ranger2703
    @ranger2703 Před rokem +11

    Огромное тебе спасибо, такого контента ппц как мало

  • @AlexStraga
    @AlexStraga Před 3 lety +15

    С оптимизацией полезная тема. Можно достаточно хреново прогать, пихать в апдейты гетКомпоненты и заполнение ИЮ с хп и маны, но драуКоллы убьют больше фпс из-за кривости рук )

  • @AlexPlayer1000
    @AlexPlayer1000 Před 3 lety

    Супер подача материала

  • @alexkokarew1574
    @alexkokarew1574 Před 2 lety +2

    Я новичок в Unity, и просто хотел выразить благодарность, очень помогла информация про unlit shader, так как без UNITY_SETUP_INSTANCE_ID(v) у меня все отображалось в одном объекте ))) СПАСИБО!!!😊

  • @igorshlyakov9321
    @igorshlyakov9321 Před 2 lety

    мужик, ты нереально крут!

  • @unitynavigator3328
    @unitynavigator3328 Před 3 lety +7

    Спасибо за качественные видосы!

  • @MrFtik
    @MrFtik Před 2 lety

    Спасибо за видео :)

  • @easycodeunity3d14
    @easycodeunity3d14 Před 2 lety +5

    Очень все круто, но для меня пока слишком много новой информации. Плавного входа не получилось =(

  • @rdragon587
    @rdragon587 Před 3 lety

    Cool) thanks

  • @Korollo
    @Korollo Před 3 lety

    Спасибо

  • @rusytop4910
    @rusytop4910 Před 2 lety +2

    Видос очень полезный.
    Но у меня есть проблемка, когда пытаюсь объединить просто mech то норм, а когда skin mesh - то не работает instancing

  • @Andredy89
    @Andredy89 Před 2 lety +1

    удивлен но реально полезное видео. 2 дня по блокам этим искал...почему-то зарубежный ютуб как-то не порадовал видосами на эту тему...
    А вообще конечно материалы в юнити через жопу реализованы.. какие-то очевидные фишки нужно дописывать в скриптах, когда подобная вещь должна в целом "из коробки" уже быть сделана (GPU Instancing + MaterialPropertyBlock) по логике вещей...
    Вопрос, если шейдер делается в шейдерграфе, а не кодом, как эти же самые переменные активировать?

  • @shadowtmyt
    @shadowtmyt Před 3 lety +1

    Привет! Все действительно круто. Но почему сферы в последнем примере имеют разный цвет? Как провильно передать цвет при использовании Graphics.DrawMeshInstanced.

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +2

      Я использую материал, который меняет цвет в зависимости от позиции. Под этим видео (czcams.com/video/jS7BRCZtw3g/video.html) есть исходный код

  • @SergeyPatuk
    @SergeyPatuk Před 3 lety

    Да подход хороший. Но проблема теперь на CPU. Один из юнитеков говорил что инстансинг грузит процессор. Да и в вашем видео в конце видно нагрузку на проц.

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +5

      Всегда нужно учитывать проблемы проекта и возможности железа. Проц для одного, а видюха для другого)

  • @igorpidgayniu6069
    @igorpidgayniu6069 Před 3 lety

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety

      Сейчас сильно загружен, но проконсультировать смогу
      Вот фейсбук мой - facebook.com/maksym.kriukov

  • @malvislightfadynightgames2925

    Не понял прикола в конце про ОПТИМИЗИРУЙТЕ СВОИ ВИДЕО. Это как?

  • @alicewithalex
    @alicewithalex Před 3 lety

    Привет, не подскажешь как теперь сделать кастомный post processing э́ффект для URP. Там вроде pps V3 стоит, но инфы мало по этому. Пытался edge detection шейдер с твоего канала сделать кастомным

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +1

      Привет, если честно, то мало работал с URP. Как нибудь разберусь и запишу видео)

    • @alicewithalex
      @alicewithalex Před 3 lety

      @@gaitavr1992,буду благодарен, спасибо) В любом случае жду новых видео)

  • @tiktaktv7596
    @tiktaktv7596 Před 2 lety

    А можно инстансинг произвести на разных мешах? Главное чтобы один материал был?

  • @dimmduh
    @dimmduh Před 3 lety +2

    Спасибо. А как получить кол-во draw calls из кода?

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +8

      UnityStats.drawCalls, но это работает только в редакторе, в билд не добавляйте

  • @saurontheblack6566
    @saurontheblack6566 Před rokem

    Удивительно как Юнити по умолчанию не делает эту оптимизацию и то когда даже если она и делает то все равно коряво, хотя должен был быть 1 вызов отрисовки, а не около 600-700, а параметры металика должны были передаваться через буфер

  • @MrArtrynk
    @MrArtrynk Před 3 lety +3

    Виват от отдела техарта гейминсайта) занятно, что техартиста днем с огнем ищут, а техартовые темы - никому не интересны)

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +4

      Да, я когда канал начал, то понял что большинству интересно - как сделать игру за 2 дня и получать бабос уже завтра)

    • @MrArtrynk
      @MrArtrynk Před 3 lety

      @@gaitavr1992 буквально намедни мне пишет один студент(преподаю разрабортку в Screramschool) "мы тут год собирали проект(UE4), на следующей неделе надо выпускать, а оно на RTX еле ворочается, приехайте поправте"..... эххххх

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +1

      П - Планирование)