Очень крутое видео, спасибо, сохраню и буду пересматривать по необходимости Про occlusion culling и объединение мешей: надо вместе использовать их с большой осторожность, ибо если объединить большие меши то они будут обрисовываться даже тогда, когда камера смотрит на маленький кусочек этого меша. То есть надо всегда учитывать то, куда камера будет смотреть. Например, можно объединить внешние части дома, такие как стена крыша и тд., но внутренние части в каждой комнате надо объединять отдельно, чтобы occlusion culling корректно работал. Поправьте меня если я не прав
о, да, это очень интересная тема. Помню, как сильно удивился, когда узнал, что отражение думгая в зеркалах в первом и втором Думе - это не отражение персонажа, а копия точно такого же персонажа, которого поставили в точно такой же комнате и который двигался вместе с игроком, создавая эффект отражения. Сейчас, конечно, такие простые и действенные ухищрения мало где можно увидеть. Тем не менее тема очень увлекательная
Оптимизировать модели советую вручную, так как Decimate в 7/10 случаев сильно исказит вашу модельку - иногда это влияет только на удобство её UV-развёртки, а иногда эти косяки даже видно. Не поленитесь потратить 2-10 минут и растворите лишние рёбра (dissolve).
Я бы не рекомендовал отключать: Cook For Faster Simulation - предварительная обработка сетки для ускорения физической симуляции. Enable Mesh Cleaning - удаляет лишние вершины и грани, оптимизируя количество данных, которые нужно обрабатывать. Тут на усмотрение. Weld Colocated Vertices - уменьшает количество вершин, которые нужно учитывать при расчетах. Тоже не рекомендовал бы :)
Про звук не совсем корректно, wav необходимо использовать для звуков которые будут зациклены, это предотвратит микропаузу между повторением цикла, экспортировать аудиофайлы с DAW также лучше в несжатом виде. Так же стоит понимать что звуки будут перекодированы в указанный вами формат для сжатия и декодированы при загрузке сцены или при первом вызове или непосредственно во время воспроизведения, поэтому в каком формате исходный файл на производительность почти не влияет, а если указать что бы юнити перезаписывал семпл рейт, то и вовсе не влияет)
Полезное видео, правда я работаю с 2D проектами, так что из всех советов полезны оказались только те что про ui. Кстати, можно было бы сделать видео о оптимизации ui, будет полезно для игр на телефоны.
Нельзя использовать зацикленную кроутину которая будет вызывать сама себя, это будет приводить к ошибке StackOverflow и игра со временем будет зависать, её в Unity очень сложно отследить))) Если нужно повторение например каждую секунду то лучше InvokeRepeating("Название метода", таймер до первого вызова, таймер для циклического вызова)
кстати еще вид оптимизации, если у тебя масивные обьекты с которыми нельзя взаемодействовать и они находятся далеко(для красоты, типо горы), то можно их запечь в скайбокс через reflection probe
Очень познаательно! Вот только в андроид билдах совсем беда с батчами: если их мало, то и фпс будет низкий, а если их слишком много, то фпс будет ещё ниже... И угадать нужное количество батчей не удастся, т.к. на каждом телефоне их должно быть своё количество. Больше всего такая пробелма наблюдается на телефонах с чипами Mali, а с Adreno всё гораздо лучше...
Чел просто харош, я лазил по всему ютубу когда мне надо было найти способ оптимизации и всеравно я не нашел на ютубе методов оптимизации сколько ты нашел, я вообще в начале так подумал "Этот нн расскажет мне больше чем популярные программисты?" оказывается рассказал. Кстати еще я бы тебе по советовал по говорить о v sync на телефоне, потому что когда я запустил свою игру на телефоне там было стабильно 30 фпс, проблема оказалась в v sync, сними видео как ее отключить и наврено очень многим поможешь
насколько я знаю vsync отключать может быть не очень полезно или даже опасно для устройства у устройства есть стандартный фреймрейт (условные 30 кадров), и если ваше устройство успевает показывать 30 кадров в секунду, то у него остается лишнее время, в которое он не выполняет операции а просто ждет. да, если само устройство позволяет выдать 60 кадров, то это можно изменить в настройках (см. Application.targetFrameRate), но если для вашей игры достаточно 30 FPS, то лучше так и оставить + не выключать vsync, потому что время ожидания (как раз то, что vsync делает) тратится на какие-то полезные вещи, типа защита от перегрева или вроде того короче я к чему: 30 FPS не всегда значит плохая производительность! это наоборот может быть хорошим показателем, что ваш телефон успевает все просчитать и у него даже время остается (на эту тему можно загуглить Massive CPU Usage by WaitForTargetFPS in the Profiler, ссылку не кидаю, вдруг комментарий удалится из-за этого). то есть то, что показывает профайлер/stats в редакторе (например 200+ FPS) это просто то, насколько быстро в теории (!) устройство может просчитать всё, что ему нужно, но это не значит, что ему стоит в таких условиях работать. так что если у вас в профайлере ровный график без пиков на 30 FPS, то это хорошо если владеете английским, можете почитать форумы Unity, поищите по ключевым словам типа performance, vsync, android, там есть парочка тредов про это, где как раз описывается то, о чем я написала. если в чем-то ошиблась, то поправьте меня
Видос супер , некоторый моменты редко встречал т.к. просто не встречался с подобным . Был бы рад если бы ты скинул /cделал видос для оптимизации побольше, это вечно проблема если проекты не твои (у меня так) и нужно или резать качество или искать утечки памяти или кучу времени логать что и где..... Был бы рад более подробному видосы =) P.s меш комбайнер ( бесплатный) плохо отрабатывает (( лично мне он не помог в свое время , то что он объединил все объекты норм , но производительность не получил , проблема была в количестве мешей+ материалах -- кароч так себе решение , редко когда поможет ( возможно не встречал просто такое у себя)
5:06 тут неверно. проц с одинаковой скоростью считывает целочисленные данные и числа с плавающей запятой, поэтому это вообще не даст никакого эффекта для оптимизации. можно, разве что, использовать просто для того, чтобы там не было куча чисел для своего удобства. 9:56 вообще, даже аудио в формате .wav не такое тяжеловесное. его спокойно можно использовать для воспроизведения коротких звуков. а вот для длинных песен и т.п. его лучше не использовать. да и ты почему-то не рассказал про способы сжатия звуков, ведь они тоже помогают оптимизировать ресурсы проца и оперативы.
Видос топ! Посмотрел с удовольствием! Кстати, я недавно создал свой канал, и на нем выходят видео о создании 3д моделей для игр на юнити и не только, вот только его пока никто не замечает😢
Привет,я делаю фнаф пародию по твоему гайду,и хотел спросить как мне сделать мигание лампочки в офисе, просто я добавил темный прозрачный фон, а скрипт написать не получается, не работает, мне просто нужно чтобы этот темный фон в рандомные моменты появлялся чтобы был эффект будто лампочка моргает.
@@viacheslavdev вот кстати Simple code хорошо рассказывает, я когда проект делал по Информатике, тоже его смотрел, но вот гайды на ютубе я что-то не находил полезных, в основном просто показывают код, а как он работает самому надо разобраться
Привет, я делаю игру и у меня проблема с сценами. я не знаю как сделать меню с кнопкой по которой можно переключаться в сцену с игрой . Сделаешь видос?.
За видео спасибо, много интересного узнал. Но реализация коррутины на 16:11 это пиздец. По сути ты создаешь бесконечную рекурсию, которая никогда не закончится, а значит StackOverflowException через N количество времени обеспечен.
На сколько я знаю, если ты запускаешь корутину в корутине, то это не рекурсия. Хотя может и правда будет лучше просто сделать цикл внутри корутины, вместо того, чтобы ее так вызывать.
Gray Samurai Studio: t.me/GraySamuraStud
Мой тг канал: t.me/viacheslavdevelop
Привет. Я недавно выпустил демо версию своей игры, и очень хотел бы чтобы ты в неё поиграл(Если не сложно, и если ты хочешь конечно же)
А как сделать так чтобы в игре не было задержек если что она одиночная там не нужен интернет
Очень крутое видео, спасибо, сохраню и буду пересматривать по необходимости
Про occlusion culling и объединение мешей: надо вместе использовать их с большой осторожность, ибо если объединить большие меши то они будут обрисовываться даже тогда, когда камера смотрит на маленький кусочек этого меша. То есть надо всегда учитывать то, куда камера будет смотреть. Например, можно объединить внешние части дома, такие как стена крыша и тд., но внутренние части в каждой комнате надо объединять отдельно, чтобы occlusion culling корректно работал.
Поправьте меня если я не прав
Бомба!) Было бы еще интересно послушать про уловки разработчиков в играх. Как делали красиво с помощью ухищрений в графике, например)
о, да, это очень интересная тема. Помню, как сильно удивился, когда узнал, что отражение думгая в зеркалах в первом и втором Думе - это не отражение персонажа, а копия точно такого же персонажа, которого поставили в точно такой же комнате и который двигался вместе с игроком, создавая эффект отражения. Сейчас, конечно, такие простые и действенные ухищрения мало где можно увидеть. Тем не менее тема очень увлекательная
Оптимизировать модели советую вручную, так как Decimate в 7/10 случаев сильно исказит вашу модельку - иногда это влияет только на удобство её UV-развёртки, а иногда эти косяки даже видно. Не поленитесь потратить 2-10 минут и растворите лишние рёбра (dissolve).
Наконец-то вернулся! Я уже начал скучать по-твоим видео😊
Я бы не рекомендовал отключать: Cook For Faster Simulation - предварительная обработка сетки для ускорения физической симуляции. Enable Mesh Cleaning - удаляет лишние вершины и грани, оптимизируя количество данных, которые нужно обрабатывать. Тут на усмотрение. Weld Colocated Vertices - уменьшает количество вершин, которые нужно учитывать при расчетах. Тоже не рекомендовал бы :)
Про звук не совсем корректно, wav необходимо использовать для звуков которые будут зациклены, это предотвратит микропаузу между повторением цикла, экспортировать аудиофайлы с DAW также лучше в несжатом виде. Так же стоит понимать что звуки будут перекодированы в указанный вами формат для сжатия и декодированы при загрузке сцены или при первом вызове или непосредственно во время воспроизведения, поэтому в каком формате исходный файл на производительность почти не влияет, а если указать что бы юнити перезаписывал семпл рейт, то и вовсе не влияет)
Какое совпадение. Только смотрел видео про batching, и сразу уведомление на твоё видео пришло😊
за 18 минут рассказал больше чем в курсах по 10 часов
Благодаря тебе понял, что разработка и программирование моё. Ты дал старт, спасибо большое!
Гляньте еще ntc, много полезного
Наконец-то видео! Ура!
Именно тебе я и начал делать игры, спасибо тебе большое
Спасибо большое , реально помогло ! Смотрю твои туториалы ещё с фнафа в покет код
Я его тоже с этих роликов стал смотреть
Полезное видео, правда я работаю с 2D проектами, так что из всех советов полезны оказались только те что про ui. Кстати, можно было бы сделать видео о оптимизации ui, будет полезно для игр на телефоны.
Ух что в ютубе минуту назад застукал, сразу знаю наперед что ролик будем крутым.
Привет, подскажи пожалуйста после оптимизации в blender через decimated не придётся ли по новой делать развёртку и текстурить модельку?
Четко 👍 ссылку кидаю людям
Откуда такие познания 😮
НОВОЕ ВИДЕ УРААА, ТЫ ЛУЧШИЙ ❤❤❤❤
Урааааа вернулся
Спасибо, реально полезная инфа, а то я как на иголках сижу, боюсь что 3д проект сожрëт компьютер😂
Нельзя использовать зацикленную кроутину которая будет вызывать сама себя, это будет приводить к ошибке StackOverflow и игра со временем будет зависать, её в Unity очень сложно отследить))) Если нужно повторение например каждую секунду то лучше InvokeRepeating("Название метода", таймер до первого вызова, таймер для циклического вызова)
12:19 жто либо из-за GPU лайтмаппера, либо из-за недостатка семплов, хотя их по-дефолту даже больше чем нужно
кстати еще вид оптимизации, если у тебя масивные обьекты с которыми нельзя взаемодействовать и они находятся далеко(для красоты, типо горы), то можно их запечь в скайбокс через reflection probe
16:25
TF2 moment
Очень познаательно! Вот только в андроид билдах совсем беда с батчами: если их мало, то и фпс будет низкий, а если их слишком много, то фпс будет ещё ниже... И угадать нужное количество батчей не удастся, т.к. на каждом телефоне их должно быть своё количество. Больше всего такая пробелма наблюдается на телефонах с чипами Mali, а с Adreno всё гораздо лучше...
Очень крутое видео и очень полезное! Спасибо большое, очень пригодится! 🔥
Чел просто харош, я лазил по всему ютубу когда мне надо было найти способ оптимизации и всеравно я не нашел на ютубе методов оптимизации сколько ты нашел, я вообще в начале так подумал "Этот нн расскажет мне больше чем популярные программисты?" оказывается рассказал. Кстати еще я бы тебе по советовал по говорить о v sync на телефоне, потому что когда я запустил свою игру на телефоне там было стабильно 30 фпс, проблема оказалась в v sync, сними видео как ее отключить и наврено очень многим поможешь
насколько я знаю vsync отключать может быть не очень полезно или даже опасно для устройства
у устройства есть стандартный фреймрейт (условные 30 кадров), и если ваше устройство успевает показывать 30 кадров в секунду, то у него остается лишнее время, в которое он не выполняет операции а просто ждет. да, если само устройство позволяет выдать 60 кадров, то это можно изменить в настройках (см. Application.targetFrameRate), но если для вашей игры достаточно 30 FPS, то лучше так и оставить + не выключать vsync, потому что время ожидания (как раз то, что vsync делает) тратится на какие-то полезные вещи, типа защита от перегрева или вроде того
короче я к чему: 30 FPS не всегда значит плохая производительность! это наоборот может быть хорошим показателем, что ваш телефон успевает все просчитать и у него даже время остается (на эту тему можно загуглить Massive CPU Usage by WaitForTargetFPS in the Profiler, ссылку не кидаю, вдруг комментарий удалится из-за этого). то есть то, что показывает профайлер/stats в редакторе (например 200+ FPS) это просто то, насколько быстро в теории (!) устройство может просчитать всё, что ему нужно, но это не значит, что ему стоит в таких условиях работать. так что если у вас в профайлере ровный график без пиков на 30 FPS, то это хорошо
если владеете английским, можете почитать форумы Unity, поищите по ключевым словам типа performance, vsync, android, там есть парочка тредов про это, где как раз описывается то, о чем я написала. если в чем-то ошиблась, то поправьте меня
Видос супер , некоторый моменты редко встречал т.к. просто не встречался с подобным . Был бы рад если бы ты скинул /cделал видос для оптимизации побольше, это вечно проблема если проекты не твои (у меня так) и нужно или резать качество или искать утечки памяти или кучу времени логать что и где..... Был бы рад более подробному видосы =) P.s меш комбайнер ( бесплатный) плохо отрабатывает (( лично мне он не помог в свое время , то что он объединил все объекты норм , но производительность не получил , проблема была в количестве мешей+ материалах -- кароч так себе решение , редко когда поможет ( возможно не встречал просто такое у себя)
Я думал от тебя видео больше не будет
По поводу коллайдеров
порядок нагрузки по возрастанию другой: сфера, бокс, капсула, мешь
Нет, все правильно. Посмотри в интернете
@@viacheslavdev я и посмотрел в интернете
@@HitsarOrig плохо значит смотрел
Потрясный гайд, прям топ
Хороший ролик, автору спасибо и подписчиков побольше!
5:06 тут неверно. проц с одинаковой скоростью считывает целочисленные данные и числа с плавающей запятой, поэтому это вообще не даст никакого эффекта для оптимизации. можно, разве что, использовать просто для того, чтобы там не было куча чисел для своего удобства.
9:56 вообще, даже аудио в формате .wav не такое тяжеловесное. его спокойно можно использовать для воспроизведения коротких звуков. а вот для длинных песен и т.п. его лучше не использовать. да и ты почему-то не рассказал про способы сжатия звуков, ведь они тоже помогают оптимизировать ресурсы проца и оперативы.
Ура, новое видео
Спасибо большое
У меня вопрос а будет туториалы в gamaker studio 2
Их не будет
@@viacheslavdev понятно
Когда видео про мишку фреддэ на юнити?
Летом
Да! Я это узнал из рекомендаций! Чаще делай видео! Кто согласен лайкни комент!
Спасибо за полезный урок
О. Сяб за видос)
Видос топ! Посмотрел с удовольствием! Кстати, я недавно создал свой канал, и на нем выходят видео о создании 3д моделей для игр на юнити и не только, вот только его пока никто не замечает😢
Кого ты посмотрел, 12 минут только прошло
Можно вопрос? Будет ли продолжение фнаф на юнити очень хочу сделать свою фнаф пародию
Думаю нет, посмотри ролики на ютубе про сохранения
@@viacheslavdev хорошо спасибо
Где скачать фулл версию clickteam fusion
в моем телеграм канале
@@viacheslavdevспасибо чувак. Везде искал и везде вирусняк. Чуть комп не заруинил
Привет, слушай, можешь снять видео про адекватную настройку hdrp? Более подробно, чем у других и на примере желательно.
Думаю гайдов в ближайшее время не будет
@@viacheslavdev а жаль
покажите это facepunch
Привет,я делаю фнаф пародию по твоему гайду,и хотел спросить как мне сделать мигание лампочки в офисе, просто я добавил темный прозрачный фон, а скрипт написать не получается, не работает, мне просто нужно чтобы этот темный фон в рандомные моменты появлялся чтобы был эффект будто лампочка моргает.
Забыл написать, что в покет коде.
@@sergomixever2732 анимацией
@@viacheslavdev спасибо, все получилось
А причем тут оптимизация игры на юнити и Doom Ethernal ?
Здравствуй, где учился на Юнити, как ты учился программировать?
Гайды на ютубе и курс по c# от simple code
@@viacheslavdev вот кстати Simple code хорошо рассказывает, я когда проект делал по Информатике, тоже его смотрел, но вот гайды на ютубе я что-то не находил полезных, в основном просто показывают код, а как он работает самому надо разобраться
@@pecenuska5182 в этом и прикол, что сам разбираешься и учишься
Будут видосы по Godot?
Нет
Видео отличное, очень помогло, только почему-то нельзя сохранить в плейлист :c
можно вопрос а будешь ли продолжать создавать фнаф в 3д и где меню в этом фнафе
Он говорил же в видосе. Вероятно выйдет последнее видео летом
@@LU1Wee спасибо понял
Привет Слава не мог бы пожалуйста сделать тутор по покет код фнаф на систему открывания дверей и чтобы они защищали от маскотов
Благодарю!
Кто бы хотел помочь в создании моей игры? Или же можем вместе сделать какую то новую игру.
12:03 а если я на андроид делаю игру там же все упирается в процессор
Привет, я делаю игру и у меня проблема с сценами. я не знаю как сделать меню с кнопкой по которой можно переключаться в сцену с игрой . Сделаешь видос?.
Надеюсь шутка с прошлого видео
17:00 Внимание!!! Аккуратно, после такого и развертка полететь может
еба я юзал в mp3 звуки и где-то даже почему-то не срабатывали звуки а поменял на ogg через конвертер и сразу стало все в разы лучше
очень поверхностно
Сделай ролик как сделать что то в its magic на телефон это 3д движок на джаве.
За видео спасибо, много интересного узнал. Но реализация коррутины на 16:11 это пиздец. По сути ты создаешь бесконечную рекурсию, которая никогда не закончится, а значит StackOverflowException через N количество времени обеспечен.
На сколько я знаю, если ты запускаешь корутину в корутине, то это не рекурсия. Хотя может и правда будет лучше просто сделать цикл внутри корутины, вместо того, чтобы ее так вызывать.
Пж можно про попи плейтайм🥺🥺
я люблю тебя
Спасибо
11:00
13:15
13:45
16:13
16:55
спасибо чел
спасибо
Спасибо пупс
что за игра на фоне?
Дум. Это знать надо)
Искал медь, а нашёл золото👍
Подсветка клавы и мышки = 100 fps
Слив новаво офиса?
Это одна из моих игр
Я знал про спрайты
Не понравилось! Нет конкретных примеров по оптимизации рендера. Все очень абстрактно😢😢😢
Перейти на анрил?)
Привет! Можешь оценить мою игру?
Привет! Нет, не могу
Пон
первый, Асорти топ
кликбейт за рдр2, ставлю диз
У меня очень сильно грузит процесс: semaphore.waitforsignal
У меня игра для пк, как мне исправить это? Потому что-то больше 30%+
что за игра на фоне?
Doom