Как ОПТИМИЗИРОВАТЬ ИГРЫ в Unreal Engine | ГАЙД

  Рет қаралды 9,809

MakeYourGame!

MakeYourGame!

5 ай бұрын

Хочешь попасть в закрытый Telegram-чат по Unreal Engine, играм и 3D, где опытные и новички помогают друг другу?
За любой донат от 100 рублей на Бусти: boosty.to/makeyourgame я пришлю ссылку на закрытый Telegram-канал, куда ты сможешь вступить и присоединиться к единомышленникам. Доступ - навсегда;)
=================================
Группа в ВКонтакте: makeyourgameunreal
=================================
Подписка на канал - только приветствуется!
=================================
#games #unreal #unrealengine

Пікірлер: 62
@Feas_games
@Feas_games 2 ай бұрын
Я не могу это слушать, слишком много сказано неправильно. 1. Тик можно выключать и включать так же как и таймер, эвентом например, (set actor tick) но это выключает тик у всех компонентов актора, можно выключать тик и отдельно у каждого компонента (set component tick). 2. В акторе можно задавать как часто будет происходить тик (tick interval) и это тоже можно менять динамически, необязательно каждый кадр должен выполняться тик тогда и просадок серьезных не будет. 3. Cast можно делать, они для этого и созданы и никакой груз это не тащит это чуть по другому работает, допустим вы в виджете делаете cast на персонажа за которого играете, он не будет его дублировано загружать ещё раз, так как он уже в памяти и вы за него играете повторяюсь и в основном так и происходит, когда вы делаете каст на какой то объект он уже есть на уровне и загружен в память, лишнего там вряд ли что прогрузит. Я это всё говорю из своего опыта, у меня есть игра на Nintendo Switch (на самую слабую консоль с телефонным железом) которую я разрабатывал будучи новичком и там вся игра сделана из кастов и куча логики на тике, я тогда даже не знал что такое Inteface, игра там там работает хорошо, даже с такой плохой логикой как говорит автор. Перебарщивать с кастами конечно не стоит, лучше сделать через интерфейс если это возможно, это даже не про производительность, а про удобство, кучу кастов кастов лупить это тупо, проще 1 интерфейс сделать, если что внтури интерфейса тоже происходит каст, просто этого не видно. 4. Не нужно выбирать рандомные категории для метода сжатия текстур лишь бы весили по меньше, каждая категория нужна для своего, в видео автор выбрал Alpha компрессию и у него выключились все каналы текстуры кроме R, если бы эта текстура была в материале и использовала другие каналы которые вы выключили, была бы ошибка, если не знаете лучше оставьте категорию по стоку. 5. Лодов много лупить не нужно максимум 5-6, они тоже занимают приличное количество памяти, в зависимости от модели конечно. 6. Нанит нужен только для сеток с большим количеством вершин, не стоит включать его на сетку 15к -100к треугольников. Нанит только сожрёт ваш фпс и визуально разницы особо не будет, ещё если кто не знал сетка с нанитом никогда не исчезнет на расстоянии и я считаю это косяком т.к. на супер большом расстоянии объект будет всегда видно и очевидно что это сжирает производительность. Но вот если нанит включен на растительность и расставлен инструментом Foliage, то там почему он пропадает на расстоянии, в общем нанит это пока сырая фигня для ваших игр это не нужно, это больше подходит для синематиков и трейлеров, чем для игр.
@yegorlapin7870
@yegorlapin7870 2 ай бұрын
Он полный идиот, и у меня бомбит когда такие придурки снимают видео в серьёз, он даже базовых терминов незнает; Рекурсивные функции, Компиляция и т. д. Как этот неуч вообще появился на свет?! Даже ответить за слова эта ляля ни сможет. КАК ОН МОЖЕТ КОГОТО УЧИТЬ ЕСЛИ ОН НИЖЕ АНРИЭЛА НИ КУДА НЕ ОПУСКАЛСЯ?!! СИДИТ ХРЕНН В ПАЛЬТО И ХЕРНЮ ГОРОДИТ...!!!🤬
@daytanminecraft327
@daytanminecraft327 17 күн бұрын
Ещё надо прибавить что NANITE не работает на андроид и айос
@K1NG111
@K1NG111 3 күн бұрын
Можно пожалуйста узнать как называется игра на Nintendo Switch?
@DevilDaggersFan
@DevilDaggersFan 3 ай бұрын
5:36 Накопление каждый тик - Event tick - Set timer by (Function/Trigger) 6:32 Блюпринт в квадрате - Избегание кастов - Blueprint Interface 8:37 Solid программирование - Single Responssibility - Один блюпринт отвечает за одно (Виджет показывает, программа в компоненте) 10:32 Short and Simple - Движок не всегда интуитивно понятен, но он всегда логичен - Пишем код используя предоставленные разрабом интрументарий 13:05 Don't Repeat Yourself (DRY) 13:50 Не держите все объекты на карте - Оптимизирует LevelStreamin, WorldPartition, LODs 15:00 Не боимся пробовать, ошибемся в любом случае (графон больше жрёт ресурсов, чем программная часть) Графическая Часть 16:00 Коллизии 17:40 Физика - про Carmageddon :) - SetSimulatePhysic - все зависит от количества физики в игре 21:00 Текстуры и Материалы - Compession (Default/Normal/Masks) 22:00 LODs - Starfield - Cities Skyline 25:00 Nanite - Static vs Skeletal Mesh (Примитивы и пропсы / анимации и персонажи) -возможно в будущем добавят Skeletal Nanite 25:40 Materials и Shaders 27:00 Particle System
@user-kl8rj6ql3z
@user-kl8rj6ql3z 5 ай бұрын
Мне так нравится, как вы объясняете, всё глобально разжёвываете. Смотришь видео и отдыхаешь. Так приятно вас слушать. Ещё нравится, что выдаёте перевод английских слов.
@bigwolf3110
@bigwolf3110 5 ай бұрын
Спасибо за урок
@XeonX__ASMR__METAL-experiments
@XeonX__ASMR__METAL-experiments 5 ай бұрын
Спасибо!
@XeonX__ASMR__METAL-experiments
@XeonX__ASMR__METAL-experiments 5 ай бұрын
c 2015 жду такого видео, нормального, достаточно полного.
@irinaberd0388
@irinaberd0388 5 ай бұрын
Ещё хотелось бы подробный урок по оптимизации света в люмене.
@curator7
@curator7 5 ай бұрын
*Сделай видео , как подключить к проекту Memory Insights и отслеживать в нём утечки памяти , либо же весящие указатели. Было бы интересно посмотреть.*
@BOOMER_T_V
@BOOMER_T_V 5 ай бұрын
имеем в виду)
@XeonX__ASMR__METAL-experiments
@XeonX__ASMR__METAL-experiments 5 ай бұрын
СПАСИБО ЗА ВИДЕО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@MasonObjora
@MasonObjora 20 күн бұрын
25:20 привет из 2024 года 😊 уже работает ))
@makeyourgame2210
@makeyourgame2210 5 ай бұрын
Хочешь попасть в закрытый Telegram-чат по Unreal Engine, играм и 3D, где опытные и новички помогают друг другу? За любой донат от 100 рублей на Бусти: boosty.to/makeyourgame я пришлю ссылку на закрытый Telegram-канал, куда ты сможешь вступить и присоединиться к единомышленникам. Доступ - навсегда;) Игра на обложке - The Day Before ================================= Группа в ВКонтакте: vk.com/makeyourgameunreal ================================= Подписка на канал - только приветствуется! ================================= #games #unreal #unrealengine
@threeworlds4114
@threeworlds4114 5 ай бұрын
По поводу кастов, очень интересно. Что если у меня в сотне блупринтов есть каст на главного персонажа в котором много логики, но который и так всегда загружен в память потому что игра ж за него. Это создаст какуето внушительную загрузку или нет, так как он всеравно загружен?
@noobig
@noobig Ай бұрын
большое спасибо за твои уроки! подскажи по своему опыту, можно ли полностью настроить все механики, интеллект и анимации врага для игры на шаблонном манекене, не дожидаясь окончания разработки игровой модели, а потом просто заменить манекен на готовую модель? или это будет двойная работа и может возникнуть ряд ошибок?
@vHLAMM
@vHLAMM 4 ай бұрын
кривой лод из Старфилда - это был фейк от реддитора ради хайпа. в реальности там все норм было. стоит проверять конечно матчасть
@YarGolubev
@YarGolubev Ай бұрын
Лоды - увеличивают число моделей которые нужно хранить в движке то есть размер игры растет А наниты НЕПРАВИЛЬНо используют. Они для массового дублирования небольшого числа повторяемых ассетов
@BPGames
@BPGames 5 ай бұрын
это лишь малая часть о там как оптимизировать игры, но все по делу
@timbrazh8512
@timbrazh8512 5 ай бұрын
Код быстрее в 30 раз. БП не заменяет код, БП это прямое следствие системы рефлексии и использование БП зависит от сложности абстракций (функций, классов и т.д.), слишком объемные абстракции требуют большей скорости работы и БП просто снизят производительность, .К тому же БП нагружены визуально. Наример юай легче и нагляднее сделать на плюсах. Буквально пять строчек кода. Также одна из ключевых особенность БП, прежде всего кастомных, это взаимодействие дизайнера с кодом без необходимости влезать в код и перезапускать движок. Пример - изменение меша БП-ассета. Еще на плюсах можно написать абсолютно все, а на бп нельзя. Например отрыв плоти при выстреле в зомби на БП не напишешь. - Ваш кодовый душнила PS: забыл, БП не совместимы с гитхабом, а гитхаб это один из аспектов проф. разработки.
@kuroro4085
@kuroro4085 4 ай бұрын
разве нельзя в бп заставить условный меш руки удалять и заменить на меш оторванной руки? Или просто удалить простым бп руку а под ним уже оторванная часть?
@rostislav3470
@rostislav3470 4 ай бұрын
Ну для справедливости в анриле есть инструмент для мёрджа блупринтов
@nikby7301
@nikby7301 5 ай бұрын
Ещё как вариант кастомные ивенты
@kiraaa80
@kiraaa80 5 ай бұрын
А будет поподробнее видео ? Типа если какой то объект переведен в мувабл у него становится динамическая коллизия, а это жрёт и довольно не мало, потому по возможности надо отключать коллизию у всех подвижных объектов или делать феейковую коллизию. Про текстуры, что есть виртуальые текстуры и они обязаны быть с нанитами. Ну и как бы ещё очень очень много нюансов в видео не рассказано
@makeyourgame2210
@makeyourgame2210 5 ай бұрын
На то они и нюансы, что их нужно обсуждать отдельно. Главное, что это видео задает вектор, куда смотреть.
@kiraaa80
@kiraaa80 5 ай бұрын
@@makeyourgame2210 да, определённо, видео хорошее, особенно как вы сказали в первые секунды видео-"если вы заинтересовались уже хорошо ", но в планах есть сделать подробно про оптимизацию ?:) я просто нигде не находил нормального разбора про оптимизацию :)
@makeyourgame2210
@makeyourgame2210 5 ай бұрын
@@kiraaa80 думаю, что да, сделаю такое видео, где включу командную строку с фпс и буду показывать, как фпс уменьшается)
@kiraaa80
@kiraaa80 5 ай бұрын
@@makeyourgame2210 спасибо огромное! Буду ждать :) без шуток очень интересно что за 10 лет работы в движке я ещё не знаю
@dshiolton
@dshiolton 4 ай бұрын
А как оптимизировать меню игры? Система даже без коллизий и графики нагружается просто так в пустую. А хотелось бы, чтобы меню было статичным полностью как в отключенном режиме реал-тайме. Возможно ли так сделать для меню игры чтобы был отключенный режим реал-тайма уже у упакованной игре?
@ArsMar
@ArsMar 2 ай бұрын
Если не ограничить, движок старается рисовать максимальное количество кадров. Поэтому в менюшках можно включать ограничитель где-то на 30 FPS - вполне будет достаточно, а мир можно поставить на паузу соответствующей нодой(искать по слову pause). Ещё по умолчанию стоит включать vSync, чтобы движок не рисовал больше кадров чем может отобразить монитор, и не было разъезжающейся картинки по вертикали, хотя эту опцию стоит давать возможность отключить игрокам, ато есть особо одарённые любящие лишние отрисовки в пустоту, да и просто для тестов.
@ivan-_-8577
@ivan-_-8577 5 ай бұрын
К сожалению, когда тебе нужно процедурно анимировать например покачивание ствола оружия - без тика никак. Каст просто обязывает держать в памяти экземпляр объекта того типа, ссылку на который мы получаем, ресурсов приведение типа особо не потребляет а вот интерфейс - штука в исполнении куда более тяжелая. Врядли разумно например в анимблупринте обходиться без каста - он и так будет висеть в памяти с персонажем, так что жесткие ссылки вполне уместны. А вот с выключателем на уровне нужно работать интерфейом, особенно если мы грузим контент асинхонно. Вообще, большую часть ресурсов вашего проэкта кушает не логика а графоний. Вот там оптимизировать не переоптимизировать. Вообще полезные основы для новичков.
@ARH
@ARH 4 ай бұрын
крути в аним бп, там многопоток и в теории оно дешевле обходится, чем блупринты гонять) По факту в бп крутить надо лишь базовые переменные для передвижения (примерно раз 10 в секунду), и каст для абилити системы (как раз чтобы взаимодействовать со всякими лампочками), но можно и триггеров натыкать в каждый выключатель или шкаф (но это васянский метод), хотя в ААА любят такое дерьмо.
@tvaytor5662
@tvaytor5662 5 ай бұрын
Так ето,что делать если нету set text? когда нпс с квестами делаешь.я на 4.27 делаю.
@makeyourgame2210
@makeyourgame2210 5 ай бұрын
Я не помню что было на 4.27. Я уже больше года на пятерке. Если нет Set Text, но попробуйте Format Text.
@tvaytor5662
@tvaytor5662 5 ай бұрын
@@makeyourgame2210 не сработало (
@tvaytor5662
@tvaytor5662 5 ай бұрын
@@makeyourgame2210 может есть ещё какие-то варианты?
@tvaytor5662
@tvaytor5662 5 ай бұрын
@@makeyourgame2210 пж ответь если можешь
@fitisof1234
@fitisof1234 4 ай бұрын
А так понимаю что Юнити больше фпс выдает для средних и маленьких проектов но в больших анрил лучше?
@paulunreal8526
@paulunreal8526 3 ай бұрын
юнити лучше для мобильных и 2д игр.. в Анриле все лучше и производительность и обработка изображений/материалов а особенно многополигональных моделей с поддержкой нанитов а это вообще революция в гейминдустрии
@yegorlapin7870
@yegorlapin7870 2 ай бұрын
ЕСЛИ НЕ ЗНАЕШ ЧТО ВЫБРАТЬ, ВОТ МОЙ СОВЕТ: 1) иди учи C. 2) потом учи С++ 3) потом учи openGL на С++ 4) Создавай свой игровой движок он состоит из: Графический движок openGL либо Vulkan API, Физический движок обычно это PhysX, ну и для окна: WINAPI. И на своём движке делай что хочешь.
@ilyazakharau
@ilyazakharau 5 ай бұрын
ставь таймкоды. время экономит
@i_created_this
@i_created_this 4 ай бұрын
Чёт воды многовато, побольше бы примеров как правильно
@tvaytor5662
@tvaytor5662 5 ай бұрын
Format text его нету
@XeonX__ASMR__METAL-experiments
@XeonX__ASMR__METAL-experiments 5 ай бұрын
Вся логика в игре НЕОБЫЧНО ТЯЖЁЛАЯ и сделана на Евент Тик, и касты тоже есть немного. Более 100 объектов одновременно высчитывают каждый свою тяжёлую логику... Ничего НЕ тормозит вообще до 250 объектов. Процессор i3 9000. 16GB RAM. 3060 12GB. Буду оптимизировать всё равно. Пару месяцев займёт. Выпущу игру в Steam в 2024 - напишу название сюда, если не забуду. Игра любопытная. P.S: C++ это прошлый век как и Ассемблер, относительно C++... С удовольствием НЕ использую C++ и делаю на блупринтах. Быстрее игра делается. Прям кайф. F*ck old coding.
@PixelKun
@PixelKun 5 ай бұрын
Как может C++ быть прошлым веком? Это же предкомпилированный код. Виртуальная машина сжирает колоссальное количество ресурсов по сравнению с нативной компиляцией. Самые тяжелые места по любому надо переводить на плюсы.
@ivan-_-8577
@ivan-_-8577 5 ай бұрын
Я очень люблю блупринт, но если профайлер покажет мне что они много на себя берут, перепишу на крестах не задумываясь. Просто аккуратная работа с блупринтом очень производительна. Даже слабые мобилки прекрасно с ними работают.
@user-sp8nh1jc5k
@user-sp8nh1jc5k 5 ай бұрын
c++ прошлый век xD. Быстрее - может быть, производительнее - нет. И расскажешь как будешь GAS подключать на БП) без негатива
@ivan-_-8577
@ivan-_-8577 5 ай бұрын
@@user-sp8nh1jc5k «c++ прошлый век» - ты написал это на операционке, написанной на C++ и С и на софте который собирал компилятор, написанный на С++. Продолжай верить в прохладу. Без негатива.
@PixelKun
@PixelKun 5 ай бұрын
@@user-sp8nh1jc5k быстрее = производительнее. Это же нативный код.
@1107hell
@1107hell 5 ай бұрын
Привет !, подскажи пожалуйста делаю ли я правильно - Для будущей игры я создаю запросы например - как сделать гранату или же как сделать систему оружия, и все это я добавляю в отдельную папку некоторым видео по 1-2 года, и будет ли это работать например на версии 4.7 когда гайд сделан на 4.2 ?.
@kiraaa80
@kiraaa80 5 ай бұрын
Будет но возможно с некоторыми оговорками, надо смотреть ченжлоги если че то не работает или чего то нет
@williamshannon4274
@williamshannon4274 Ай бұрын
рофлю с челов у которых плюсы головного мозга доказывают мне в каждой конфе что я ОБЯЗАН на них писать )))) Спасибо за урок бомба
@rakutin3
@rakutin3 5 ай бұрын
Про материалы бы поподробнее, никак не могу понять как правильно текстурить, либо атласы юзать либо многослойные материалы с масками
@makeyourgame2210
@makeyourgame2210 5 ай бұрын
материалы - это жирнющая тема. Можно переборщить с каким-нибудь отражением и всё, ФПС говорят "прощай".
@rakutin3
@rakutin3 5 ай бұрын
@@makeyourgame2210 какое оптимальное количество уникальных материалов должно быть примерно?)
@kuroro4085
@kuroro4085 4 ай бұрын
атласы хороший вариант для мелких деталей того же окружения, для стен и больших объектов лучше делать модули и собирать их них, но если что то очень большое, то лучше обойтись rgb масками, условно церковь большая и делать сплошные стены её проще будет и лучше для оптимизации тайлом/тримом растянуть в одном uv сете, а потом украсить rgb масками и вертекс пейнт накинуть, декали возможно
@zloiser
@zloiser Ай бұрын
Спасибо!
ПЕЙ МОЛОКО КАК ФОКУСНИК
00:37
Masomka
Рет қаралды 10 МЛН
YouTube's Biggest Mistake..
00:34
Stokes Twins
Рет қаралды 77 МЛН
Introducing EasyMapper for Unreal Engine 5
28:47
William Faucher
Рет қаралды 199 М.
ЧТО НОВОГО ДОБАВИЛИ В UNREAL ENGINE 5.4?
19:44
СGSENSEI ™
Рет қаралды 35 М.
Как ОПТИМИЗИРУЮТ ИГРЫ
11:00
Atix
Рет қаралды 347 М.
How to Optimize Performance in Unreal Engine 5
17:40
Nu Makes Games
Рет қаралды 14 М.
Lumen + Nanite why not so good?
8:05
iOzz
Рет қаралды 8 М.
Қорқынышты Майнкрафт - 3 бөлім ✅
33:07