Тёмный

⛏️Оптимизируем Minecraft на Unity3D (часть 7) 

Emerald Powder
Подписаться 77 тыс.
Просмотров 51 тыс.
50% 1

Сегодня мы на примере клона Minecraft рассмотрим как можно оптимизировать иргу в Unity 3D. В этих видео мы разбираемся с генерацией 3D моделей из кода, шейдерами, оптимизацией, и ещё множеством аспектов разработки игр
Плейлист со всеми сериями: • ⛏️ Minecraft на Unity
Содержание:
0:00 - Введение
1:37 - Специфика нашей игры
2:15 - Как замерять
3:14 - Замеряем первую версию
5:30 - Создаём табличку
6:02 - Оптимизация массива
8:58 - Оптимизация соседних чанков
12:05 - Оптимизация массива треугольников
16:48 - Неполучившаяся оптимизация
18:11 - Mesh bounds
20:54 - Оптимизация нижней грани
22:17 - Оптимизация боковых стенок
27:40 - Заключение
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Поддержать канал:
btc: bc1q5mycq8x9jr7s0r63xx00xt50tjepflyhlzc09q
eth/usdt(erc20): 0xa30F22fb9898fdc8801703723cd77BE7E678ee13
Другие сопосбы: emeraldpowder.github.io/ru/do...

Опубликовано:

 

19 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 197   
@worldforgamedev
@worldforgamedev Год назад
Ооочень прошу продолжи, не бросай, это одна из лучших серий на тему. Уверен она со временем принесет очень много просмотров. продолжи!
@kk-ji5fo
@kk-ji5fo Год назад
Пхахаха, и чел вместо того чтобы забросить рубрику, забрасывает канал на два месяца)
@worldforgamedev
@worldforgamedev Год назад
@@kk-ji5fo а который раз блин
@alexanderprudko5396
@alexanderprudko5396 Год назад
Чувак на фронте походу
@lev431
@lev431 10 месяцев назад
@@alexanderprudko5396 он вернулся!Како фронт?Вдруг он не в России или укроине?
@Shineglow
@Shineglow Год назад
Классный урок. Что самое крутое, так это разбор темы на реальном, пусть и учебном, проекте. Многие выпускают ролики на совсем никаких проектах, с полу пустыми сценами или на больших проектах, но в отрыве от контекста, а здесь и проект и контекст и сопричастность - просто замечательно.
@kpekep7597
@kpekep7597 Год назад
Вот вы смотрите, а у человека время остановилось... Снял получасовой ролик меньше, чем за минуту, получается. Именно так мой работодатель хочет видеть меня в работе.
@JohnnyHazz
@JohnnyHazz Год назад
очень интересная тема, а ещё более интересно как далеко ты сможешь зайти в этой серии уроков)
@nicojam1493
@nicojam1493 Год назад
да уж, лишь бы не остановился на полпути
@fralid95
@fralid95 Год назад
Так грустно, что ролики такие короткие)) Хочется слушать бесконечно! Спасибо за ролики!
@mks3782
@mks3782 Год назад
Очень интересно, с нетерпением ждал как раз темы оптимизации. Спасибо!
@jivoy8415
@jivoy8415 Год назад
Хорошая тема. На Ютубе много видео о разработке собственных игр, но про их оптимизацию, почему-то, все забывают. Автору респект.
@KaktusChannel1
@KaktusChannel1 Год назад
Ждем еще видео. Очень интересно наблюдать за развитием игры
@sergei-fil
@sergei-fil Год назад
Очень интересно будет посмотреть на работу с разными потоками. Особенно в контексте юнити. С нетерпением жду следующую часть)
@valera924
@valera924 Год назад
огромный респект! За общее правило - замерять показатели до\после, и особенно за пример неудавшейся оптимизации
@user-ft2fd4ug6q
@user-ft2fd4ug6q Год назад
Отличные видео, одни из лучших по теме Unity на русском ютубе Серии отлично упорядочены и структурированы, очень хороший способ подачи информации Ждём новые серии)
@goldgold594
@goldgold594 Год назад
Тема с потоками очень интересна) Очень жду!
@user-ye9ux5xc7y
@user-ye9ux5xc7y Год назад
Супер! Ждём следующий ролик.
@Slava.Hizhnyak
@Slava.Hizhnyak Год назад
Да, супер интересно, комментарий в поддержку рубрики
@trufflefried
@trufflefried Год назад
Когда новое видео? Уже 2 недели жду)))
@Storm_VY
@Storm_VY Год назад
Спасибо за новые видосы! Пожалуйста не забрасывай эту идею! Скоро начну делать 😀
@user-kc6uw7qw6j
@user-kc6uw7qw6j 9 месяцев назад
Это супер интересно, спасибо за эту серию видео!
@mr.fatherofinsanity6274
@mr.fatherofinsanity6274 Год назад
Спасибо за то что вы делаете, вы помогаете новичкам и создаете очень качественный контент ! Спасибо вам огромное
@rptpv
@rptpv Год назад
ты просто гений, достоин уважения
@OdemGeek
@OdemGeek Год назад
Очень интересно делаешь контент, ты наверно единственный русский разработчик, которого я смотрю. Хоть и программирую 3 года, но просто интересно послушать :)
@vstuts
@vstuts Год назад
я бы ещё прогружал чанки не квадратом, а кругом. А то получается, что когда игрок смотрит не строго параллельно осям, то у него дальность прорисовки больше. Тогда бы количество прогруженных чанков стало бы на ≈ 22% меньше (1 - (pi * r²) / (2r)²), где r - дальность прорисовки
@AsdfgAsdfg12363
@AsdfgAsdfg12363 Год назад
А ещё лучше загружать только те чанки, которые в поле видимости игрока, в теории это должно оптимизировать ещё на 10-20%
@erofes3833
@erofes3833 Год назад
А еще лучше прогружать сначала те, что ближе. тогда мир не перестанет генерироваться, когда ты резко повернешь камеру в сторону
@Adis2233
@Adis2233 Год назад
@@erofes3833 А ещё лучше не прогружать чанки. Тогда с оптимизацие проблем не будет
@alex_ra.
@alex_ra. Год назад
Спасибо автору за полезную тематику
@marksakhar1319
@marksakhar1319 Год назад
Надеюсь дойдешь до полной копии майна, очень интересно смотреть)
@grigoriyvs
@grigoriyvs Год назад
Спасибо! конечно интересно!
@pashafilenko1567
@pashafilenko1567 Год назад
Ждал видео
@sg1976sg
@sg1976sg Год назад
Большое спасибо !
@Vorono4ka
@Vorono4ka Год назад
Забавно, только зашел посмотреть выпустил ли ты ролик, а ты его выпустил пару секунд назад.
@darthsidiousfreenavalnynowar
Продолжение будет? Мне нужно(
@user-cp1sz4wx9z
@user-cp1sz4wx9z Год назад
Ааа! Я просто не могу! Сейчас 2 часа ночи, и я закончил пересматривать ваши старые видео Вы такой молодец! Невероятно интересная подача, а главное полезные видео! Спасибо вам огромное что делаете такой контент
@uniowl2320
@uniowl2320 Год назад
Метод RecalculateNormals() для меша можно тоже заменить ручным просчётом на этапе его генерации. А так как мир кубический, нормали могут принимать всего шесть разных значений, по одному на каждую грань) Говоря о ushort, для мешей год назад или около того появился новый API, более сложный. Там нужно руками указывать типы данных для позиции, нормалей, индексов (здесь этот ushort). Однако с помощью этого там можно настроить в том числе какие проверки движок должен проводить (выходы за границы массива в буферах вершин и индексов), и если самому всё просчитать, эти проверки можно выключить. Также вместо потоков можно использовать C# Job System и Burst, но, вероятно, для серии туториалов такое не подойдёт, потому что он накладывает множество ограничений (например, вместо обычных массивов необходимо использовать NativeArray). Ещё есть алгоритм генерации меша Greedy Meshing. Опять же, он сложнее текущего и делает так, что соседние вертексы, которые находятся в одной плоскости, он объединяет в более крупный. Например, если у нас есть большой куб 16х16х16 (идеальный такой вариант) блоков, при стандартном подходе будет использовано ~6к вершин (или ~1.7к, если делить общие вершины для соседних блоков и не дублировать их). А этот Greedy Meshing эти большие плоские стороны объединит в один большой квадрат, и вершин станет 24. Конечно, это идеальный вариант, и время генерации меша, возможно станет больше, но можно в некоторых случаях выиграть в памяти и снизить нагрузку на рендеринг (особенно будет заметно на каких-нибудь равнинах, где малюсенькие блоки соединяются в +- плоский ландшафт)
@EmeraldPowder
@EmeraldPowder Год назад
Прямо коммент-спойлер, новый API это следующая серия будет, потом ещё многопоточность и greedy meshing тоже уже сделал, надеюсь домонтирую в видео
@erofes3833
@erofes3833 Год назад
Если пойти еще дальше и затронуть освещение - самый тяжелый для чанков алгоритм То в худшем случае, всё превращается в бесконтрольную игру "жизнь"
@user-dy1zv3nb3b
@user-dy1zv3nb3b Год назад
@@EmeraldPowder а ігра на андройид
@DALBA4B
@DALBA4B Год назад
@@user-dy1zv3nb3b Нет
@rar24
@rar24 Год назад
я бы за такое деняк заплатил, но п-психология, зачем платить если в свободном доступе, а вот контент только для донатеров - звучит очень вкусно
@tox1cozZ
@tox1cozZ Год назад
В Minecraft "физические" чанки в генераторе как и тут (16х16х256), а вот "рендер" чанки разбиваются на кубики 16х16х16. Это даёт хороший прирост во время frustrum culling. Оно и логично: зачем рисовать весь огромный чанк до неба, если мы видим только пару блоков из него.
@chillcompany1028
@chillcompany1028 Год назад
Интересно было бы послушать про сохранение мира (и динамическую выгрузку в сохранение уже далёких чанков) и динамическую погрузку из сохранения ранее сгенерированных чанков
@Bushido_Cat
@Bushido_Cat Год назад
В Unity встроен JSON для сохранения и загрузки.
@-Ibrahim72-
@-Ibrahim72- Год назад
Сделай физика блока как песок или гравий из оригинала
@eTrutim
@eTrutim Год назад
Будет ли видос как сделать Geometry Dash? Желательно в 2D Кто хочет, просто лайк, и все)
@OnTheWayToTheDirection
@OnTheWayToTheDirection 3 месяца назад
Лучший
@silverwolfkjstudio
@silverwolfkjstudio Год назад
@EmeraldPowder относительно оптимизации с int/ushort, такая оптимизация бессмыслена, так как CPU (ну вот так сложилось - подробнее в вики, еще можно посмотреть почему NTFS работает также с 4 байтами), работает с 32 битными значениями. Т.е. считывание и запись, происходит блоками по 32 бита. Для чтения ushort (2 byte), цпу считывает 4 байта и по маске отделяет 2 лишних. Где, оптимизация относительно меньших типов данных работает хорошо. В первую очередь это структуры, там можно указать, что размер структуры задается программистом и соответственно, очень удобно подбивать размер структуры к размеру кратному 4 байтам. По этой причине, в некоторых протоколах, используются типы значения гораздо большие чем требуется. Ну и как пример, можно оптимизацию производить, на основ MSIL/IL кода и юзая, что-то получше чем базовый профилировщик, к примеру, что-то по типу jetbrains .NET Memory & .NET Trace.
@andreyas44
@andreyas44 Год назад
Странно что никто больше это не писал, сам был в поиске этого коммента. Смысл использовать меньшие типы данных есть только в отправке по интернету и в структурах, а в остальном не надо заморачиваться тупо из-за того что всё оптимизировано под инт/флоат и выдумывать бессмысленно
@slavaker
@slavaker Год назад
Когда следующая часть? Очень интересует альтернативный способ визуализации поставленного блока. Я по твоему гайду делаю, но на Godot
@Soprotivlenie_Bespolezno
@Soprotivlenie_Bespolezno Год назад
Я надеюсь Mojang посмотрят этот ролик, им это сейчас ооочень нужно...
@Krass-Gold
@Krass-Gold Год назад
Ты топ
@nekokira5596
@nekokira5596 Год назад
👍👍👍
@yokunade
@yokunade Год назад
Здравствуй, герой, есть просьба. можешь записать видос по оптимизации с помощью мультитрединга? очень интересная и полезная, в больших проектах, вещь
@KrutaMan
@KrutaMan Год назад
ломка по новым видео
@makar_ts
@makar_ts Год назад
Привет! Давно смотрю твой канал и есть одна просьба: в этих ваших интернетах очень мало статей про взаимодействие с мешами (удаление/создание вершин/треугольников). Очень хотелось бы об этом видео.
@LoneShadow-zn6yw
@LoneShadow-zn6yw Год назад
good one
@doffyso
@doffyso Год назад
эмеральд, идеи для след. видео: 1. Моды (C#, Python, Java, JS, Lua, в общем, просто АПИ для модов сделать) 2. Временнóе Изменение стейтов блоков (например у дёрна есть 2 вида, без травы и с травой, пусть земля под землёй с травой будет без травы) 3. Инструменты (к дополнению к 2 пункту, лопатой можно будет выкапывать ПКМом подзол, а мотыгой грядку) 4. Биомы и миры (снежный, саванна, пустыня и т.п., а также обычный мир, ад, энд) 5. Персонаж и его скины
@Priboy313
@Priboy313 Год назад
Чувак... каждая из этих тем размером с ЦИКЛ... отдельный...
@doffyso
@doffyso Год назад
@@Priboy313 Я не говорю что всё это нужно сделать за одно видео. Смысл был таков: Идеи для следующих видео
@noelka8134
@noelka8134 Год назад
Ну, другие измерения, очевидно, будут просто отдельными сценами, а скины как в майнкрафте это на самом деле дико костыльная фигня, и лучше уж делать какой нибудь редактор персонажа, чтобы все возможные варианты внешности уже были встроены в игру, а не вот эти вот свистопляски с загрузкой картинки для каждого игрока который зашёл на сервер
@MrVoronaExtra
@MrVoronaExtra Год назад
Ты просто перечислил то, что есть в майнкрафте. С таким же успехом можно "посоветовать" ему добавить: крафт, деревья, мобы и т. д.
@doffyso
@doffyso Год назад
@@MrVoronaExtra тогда в чём смысл делать МАЙНКРАФТ в юнити, если не добавлять туда, то что есть в оригинальном?
@4esterNightLive
@4esterNightLive Год назад
Куда ты делся?) В майнкрафт на юнити ушел играть? Очень жду еще полезных видео!)
@evgeny_54
@evgeny_54 Год назад
Куда делся автор? 🤔
@OleksiiDemanov
@OleksiiDemanov 11 месяцев назад
Автор видео перестал страдать херней и устроился на работу.
@user-dy1zv3nb3b
@user-dy1zv3nb3b 11 месяцев назад
Моболизовали😢😢
@Dumkras_old
@Dumkras_old Год назад
Привет) Отличное видео) Хотел бы узнать, будет про сохранение карты, построек и тд?)
@Bushido_Cat
@Bushido_Cat Год назад
В Unity встроен JSON для сохранения и загрузки.
@Dumkras_old
@Dumkras_old Год назад
@@Bushido_Cat что он есть я знаю, как его правильно использовать))
@user-ck8mr2gc2b
@user-ck8mr2gc2b Год назад
новое видео когда?
@koganboss4874
@koganboss4874 Год назад
Этот канал успел за короткое время стать самым лучшим по юнити и внезапно перестал пополняться контентом... 😢 Вообще печалька. Надеялся выпросить серию видосов по ECS, потому что нормального материала по этой теме вообще нет... Сейчас уже доступна версия 1.0.10 и по ней ничего нет кроме калечной официальной документации..
@uso2484
@uso2484 Год назад
комментарий для продвижения канала
@erofes3833
@erofes3833 Год назад
Еще один супер читерный вариант оптимизации, который применим конкретно к текущей реализации - это генерировать только поверхность на уровне шума перлина, таким образом можно ускорить работу алгоритма генерации в "height" раз
@EmeraldPowder
@EmeraldPowder Год назад
Это бы все ускорило, но у нас же уже можно копать блоки, так что игрок может выкопать пещеру, и тогда таким вариантом меш уже не сгенерируешь. Ну и возможно однажды пещеры даже будут генерироваться, но это не точно)
@erofes3833
@erofes3833 Год назад
@@EmeraldPowder Есть ещё один интересный момент - если генерировать таким образом только нетронутые игроком чанки, то они генерируются очень быстро, а как только игрок ломает блок у этого чанка - то начинаем рендерить именно этот чанк "по честному"
@J3ster1337
@J3ster1337 Год назад
из-за разделения текстуры у земли теперь не всегда появляется "челка" травы. на 27:54 видно, на вертикальных поверхностях трава только каждые 4 блока
@DoGGy1110
@DoGGy1110 Год назад
Так и до этого было, он текстуру не по блокам ставит а по координатам, следовательно при более мелких блоках текстура разделается на несколько блоков. Выглядит уродско, согласен
@J3ster1337
@J3ster1337 Год назад
@@DoGGy1110 выглядит то неплохо, просто для вертикальных нужно поставить чтобы каждый раз бралась верхняя часть текстуры, а так идея хорошая
@mipselqq3133
@mipselqq3133 Год назад
Похоже на простое сжатие видео
@theoctan8569
@theoctan8569 Год назад
Что что, а про многопоточность я с удовольствием послушаю. Надеюсь это не будет из разряда, что на каждый чанк создаём отдельный поток. Я так однажды добился того, что все потоки закончились, так как я их не подчищал и Unity просто зависла. А винда выдала ошибку, что больше не может выделить потоков. Я надеюсь эта тема будет хорошо освещена)
@hakyara5528
@hakyara5528 Год назад
Многопоточность можно на генерацию чанка сделать, так 4-8 чанков делать одновременно, а когда будет уже сгенерировано, тогда поток заканчивается, и начинает делать новый чанк если он создаётся А когда ничего не генерируется то потоки идут на рендер, или другую долгую операцию
@kxr3nn715
@kxr3nn715 Год назад
Я хочу продолжения! Но оно меня, похоже, не хочет..
@bagman2020
@bagman2020 Год назад
В дальнейшем, было бы неплохо посмотреть какая бы была производительность при включенной gpu instance у материалов, чтобы вызывать отрисовку материала один раз
@EmeraldPowder
@EmeraldPowder Год назад
Если я правильно помню, gpu instancing используется когда один и тот же меш несколько раз рисуется, а тут меши разные, так что не получится его использовать
@OXOTNIKZN
@OXOTNIKZN 11 месяцев назад
Эээ.. Нет.. Давай, продолжай выпускать видео. Не бросай всё на полпути. Сарафанное радио уже шикарно работает
@valuee5298
@valuee5298 Год назад
Преобразование типов в c# довольно ресурсоёмко, поэтому неудивительно, что (ushort) привело к снижению быстродействия P.S. По идее лайков под видео будет больше, если в конце видео выдерживать небольшую паузу перед его завершением, оставив в кадре некую заставку с напоминанием о лайках, колокольцах и подписке. Секунд в 10, так у зрителя будет больше времени на то, чтобы поставить лайк, перед тем, как запустится следующий ролик, при включенном автовоспроизведении. Ведь, когда уже запустился следующий ролик, нужно свернуть окно воспроизведения и нажать "назад" в браузере, чтобы иметь возможность поставить лайк под только что просмотренным роликом, а делать это бывает неудобно или просто лень)
@eennou
@eennou Год назад
А ещё можно было бы int в некоторых for’ах заменить на какой-нибудь unsigned, где начинается с 0
@valuee5298
@valuee5298 Год назад
@@eennou для переменных цикла? Это как раз снизит, хоть и несущественно, быстродействие, т.к. если переменные цикла участвуют в вычислениях внутри цикла, то их значения будут неявно преобразовываться в int или float. А преобразование типов не есть хорошо для производительности. Аааа, дошло это был сарказм! ))) Это был сарказм?
@eennou
@eennou Год назад
@@valuee5298 да)))
@alreadyhyux
@alreadyhyux Год назад
Occulusion Culling ставить будешь?
@anismaks
@anismaks Год назад
ничосе.. ещё и на pycharm! малоч 👍
@emimoky
@emimoky Год назад
где ты тут сишарп увидел, додик?))
@MTandi
@MTandi Год назад
Будешь переписывать под Entities?
@t0xangames207
@t0xangames207 Год назад
Твои туториалы прекрасны, но не мог ли ты оставлять исходный код под каждым новым туториалом? Я в каком то месте допустил ошибку, и теперь у меня больштие проблемы с генерацией. А пересматривать всё видео и сравнивать по символу как то не сильно хочется👉👈
@Mostwonted7
@Mostwonted7 Год назад
Поэтому нужно делать бечмарк из игры- прохождение фиксированного расстояния программно
@TTe4eHbke
@TTe4eHbke Год назад
где же новые видео? 😥
@IAmSnowstom
@IAmSnowstom Год назад
Я предлагаю держать все блоки и описание к ним в json файле(лах) это упростит добавление разных блоков
@drift_rodina7252
@drift_rodina7252 Год назад
Где видео? Мы ждём!
@arkaim2534
@arkaim2534 Год назад
А можешь показать, как grid meshing делать? Типа чтобы одинаковые блоки, стоящие рядом "сливались" и тратили меньше полигонов
@eennou
@eennou Год назад
Оно в первой части было
@arkaim2534
@arkaim2534 Год назад
@@eennou разве? Я пересмотрю, не помню просто
@Kitulous
@Kitulous Год назад
@@eennou greedy meshing это когда несколько полигонов в одной плоскости сливаются в один, чтобы меньше треугольников рисовать. этого ещё не было в серии.
@eennou
@eennou Год назад
@@Kitulous а, всё, понял про что вы. Да, действительно интересная тема
@user-qq1xb6ic3l
@user-qq1xb6ic3l Год назад
Автор молодец! Ещё лучше бы было, если под видео размещался итоговый набор скриптов по нему (ссылка на ГИТ в соответствующем состоянии проекта, коммит) для сверки. а то так и не нашёл отчего спамятся ошибки генерации меша (Например, Failed setting triangles. Some indices are referencing out of bounds vertices. IndexCount: 98304, VertexCount: 8564 UnityEngine.Mesh:set_triangles (int[])). вроде и размерность чанков такая как у Автора, и "волшебное число 65536)...
@OleksiiDemanov
@OleksiiDemanov Год назад
С твоими настроками меша может быть максимум 65536 вершин, так как ты, как и автор, используете 2 байтный индекс.
@user-qq1xb6ic3l
@user-qq1xb6ic3l Год назад
@@OleksiiDemanov не совсем понятно, как исправить - если сменить на long - то его не примет chunkMesh.SetTriangles (можно использовать int или ushort - а он ещё меньше). размер чанка меньше делать?... такое се6е
@OleksiiDemanov
@OleksiiDemanov Год назад
@@user-qq1xb6ic3l нужно изменить тип индекса на 4 байтный. chunkMesh.indexFormat = IndexFormat.UInt32
@TTe4eHbke
@TTe4eHbke Год назад
3 месяца без видосов :(
@scoolnik
@scoolnik Год назад
Удивительно, что смена размерности массива дала такое сильное снижение времени. Мне это обычно это дает кучу готовной боли и изменения на уровне погрешности.
@oygn2012
@oygn2012 Год назад
добрый вечер , есть предложение по моделированию , как связаться с вами изложить идею ?
@Storm_VY
@Storm_VY Год назад
Ну блин Последний видос был месяц назад 😒
@nedorozrab
@nedorozrab Год назад
чел вернись ми тебе любемо
@DanHack
@DanHack Год назад
а игра будет выпущена или нет?
@gmp14
@gmp14 Год назад
Го продолжение
@user-ou9rm3hb4f
@user-ou9rm3hb4f Год назад
Возможно кому поможет. 1 создается биом и там уже идет провекра какие мобы и сущьности могут размеаться. Так же для каждого биома своя проверка какие декорации там размещаются.
@imGof
@imGof Год назад
Сделай еще одно видео где ты создашь генерацию структур, по типу деревни
@user-ou9rm3hb4f
@user-ou9rm3hb4f Год назад
А это было бы кстати. Так как видео роликов про создания майкрафты куча а в итоге даже нет генерации биомов и размещения мобов и сущьностей.
@Anton-if7bv
@Anton-if7bv Год назад
Привет, стоит ли в 2023 годы врываться в геймдев? Как кодер. Актуально ли это и не потеряет ли актуальность? Возможно ли в перспективе иметь хороший доход в этом? Больше 3000$ например
@vaskrol
@vaskrol Год назад
Замена метода на SetTriangles(), скорее всего, на самом деле дала куда больший буст, чем виден в Экселе, потому, что убрала кучу мусора от .ToArray(). Я только не понимаю зачем ты не заменил все остальные методы и не сказал ничего про Garbage Collection в целом.
@LDC7
@LDC7 Год назад
А мультиплеер будет?
@_MaxyUM_
@_MaxyUM_ Год назад
Добрый вечер. Я решил создать игру, похожую на террарию и основанную на тайл мапах. Я столкнулся с проблемой реализации освещения (хотя бы, как в мобильной террарии 1.2). Тайл мап либо весь светлый, либо весь тëмный. Есть ли возможность реализовать освещение в тайл мапах, или нет?
@fortnitebestmoments368
@fortnitebestmoments368 Год назад
Можно, у ного даже видос есть про 2D освещение
@MeisterBoe
@MeisterBoe Год назад
для чистоты надо брать минимальные значения, потому что ни один процесс или приложение, работающее в фоне не может ускорить профилируемое приложение
@viruseg
@viruseg Год назад
Оптимизацию того что в ролике надо было начинать в первую с отказа от устаревшего api для работы с мешем. Переход на jobs + burst. И уменьшение garbage до 0. А то, что показано в ролике конечно интересно для новичков, но это тупиковые действия пока не сделано, что я написал выше.
@MRtheLAGERAT
@MRtheLAGERAT Год назад
Это перезалив? У меня почему-то ощущуение, что я уже смотрел это видео, ну либо у меня очень странное дежавю
@JoparezkinEMVI
@JoparezkinEMVI Год назад
Где же ты, бро?(
@notforvideoschannel
@notforvideoschannel Год назад
Если переписать на C++, во сколько раз вырастет производительность?
@Mif678
@Mif678 Год назад
Ждём уроки unity ) Genshin Impact
@uegamedev
@uegamedev Год назад
Когда будет оптимизационный переход на UE?)
@EmeraldPowder
@EmeraldPowder Год назад
Такого пока не планируется)
@user-qp5ou2kv8g
@user-qp5ou2kv8g Год назад
А следующая часть так и не вышла :(
@ilyuxa2261
@ilyuxa2261 Год назад
А в какой серии будут пещеры и руды?
@user-ou9rm3hb4f
@user-ou9rm3hb4f Год назад
Это создается в настройках шума путем создания функции трех мерного фрактального бруновского движения путем заменяя блоки воздухом. Тоесть из двух мерного шума перлина создаем трех мерный бруновский.
@user-lg9ok2jb7n
@user-lg9ok2jb7n Год назад
когда видео?
@grigoriyvs
@grigoriyvs Год назад
Надеюсь отсутствие к еще более классному ролику продолжению
@weilworld
@weilworld Год назад
А игра на телефоне будет?
@kotdath1252
@kotdath1252 Год назад
Не сферическое в вакууме, а кубическое в вакууме)
@Flyen256
@Flyen256 Год назад
а ты не хочешь персонажа там поменьше сделать а то он слишком большой
@Unknownhatter
@Unknownhatter Год назад
Продолжение?
@Soprotivlenie_Bespolezno
@Soprotivlenie_Bespolezno Год назад
Думаю, однажды ты выпустишь ролик по системе лодов в этом проекте, так как именно лодов в оригинальном Майнкрафте и не хватает, а разрабы вместо этого добавляют всякий хлам и изменяют в худшую сторону старых мобов...
@goldgold594
@goldgold594 Год назад
Какие лоды в майнкрафт ты себе представляешь? Там же сетка 2 треугольника на меш
@Sidiusz_
@Sidiusz_ Год назад
@@goldgold594 там есть лоды, не поверишь Например для кристалла края
@user-qf8ew3xr4i
@user-qf8ew3xr4i Год назад
Добрый день! Очень прошу вас о помощи, долго ищу и не могу найти информацию. У меня есть кубик созданный в блендере и налодаными текстурами. По задумке из таких кубов создаются локации в игре. Теребуется удалить грани, которые соприкасаются с другими кубами.
@chillcompany1028
@chillcompany1028 Год назад
Как по мне проще процедурно меш создавать, и для юнити написать расширение редактора для создания уровня
@safil747
@safil747 Год назад
А юнитевский Шарп не знает про статический конструктор (13:50) ? при первом обращении к класу - вызывается безусловно он. может, я фекалекодер и его использую )) про битовые сдвиги (int b = (int)a / 4 - то же самое что и int b = (int)a >> 2) - так оптимизатор в Визуал Студии (про Юнити не знаю) делает при Релиз-компиляции, конечно, как и константу 65536*6/4 предствляет в сразу вычесленном виде (но для красоты лучше на калькуляторе посчитать и законстачить). Битовая арифметика выполняется в памяти, гораздо быстрее, чем через "такты процессора", константы, которые лишний раз не высчитываются - рабочий вариант, но не проверял, отработает ли "const" быстрее. Я неуды на лабах за такие пропуски оптимизации получал ) про юшорты - базовый тип у шарпа для вычислений - инт32 (уинт32), в него и так переводит, это не плюсы ) Так что - погрешность вычислений, Но при высвобождении памяти под большооооой массив Инт16 - быстрее работает, так как памяти в два раза меньше таскает влево-право при инициализации массива Еще из хитростей - ++i работает быстрее чем i++ у Си и Си++. У шарпа такой тенденции не встречал (либо визуалка меня поправляла) )
@kin4stat
@kin4stat Год назад
Битовые сдвиги шарп сам умеет оптимизировать Про юшорты - разницы с обычными интами нет. У всех команд латенси = 1. Там скорее всего какие-то специфичные микроптимизации для гпу при рендеринге на юшортах. Ну и памяти они меньше отъедают, в отличие от интов Компилятор не настолько тупой, чтобы не заметить, что результат i++ не используется, и оптимизирует это. ++i имеет смысл для составных типов в C++, для интов разницы нет. В шарпе я уверен - то же самое
Далее
Final muy increíble 😱
00:46
Просмотров 8 млн
Stray Kids "ATE" Trailer
02:42
Просмотров 2,1 млн
Обзор ЛЮКС вагона в поезде
01:00
Giving Personality to Procedural Animations using Math
15:30
ПОЧЕМУ ВСЕ ТРЯСЕТСЯ в UNITY ?
39:14
Final muy increíble 😱
00:46
Просмотров 8 млн