Тёмный

⛏️Minecraft на Unity3D. Часть 5 

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

Пятое видео из плейлиста по созданию клона Minecraft в Unity 3D. В этом проекте мы разберёмся с генерацией 3D моделей из кода, шейдерами, оптимизацией, и ещё множеством аспектов разработки игр. В этом видео сделаем систему загрузки чанков на ходу, сделаем генератор мира на основе библиотеки FastNoiseLite, добавив её в Unity проект. Разберёмся с разными типами шумов, Perlin Noise, Simplex Noise, добавим к генератору Domain Warp, и ещё и успеем пофиксить баг в шейдере из прошлого видео
Плейлист со всеми сериями: • ⛏️ Minecraft на Unity
Следующая серия: • 📜Scriptable Object (Mi...
Содержание:
0:00 - Вступление
0:23 - Фиксим баг в шейдере
1:39 - Загрузка чанков на ходу
6:53 - Переходим на FastNoiseLite
14:11 - Настраиваем шумы
17:35 - Domain warp
20:04 - Заключение
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Поддержать канал:
ltc: ltc1qylp2xnj8v6hwhclr9ju59ppse0nllcf0qqmy3q
trc20 usdt/trx: TCfLyJZJ67Q99QbLNqny9YLXpqTpD7SHcC
Другие сопосбы: emeraldpowder.github.io/ru/do...

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

 

20 июн 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 143   
@igorfedorovskiy799
@igorfedorovskiy799 Год назад
После фразы "многопоточность" - жду отдельное видео по многопоточности в Unity
@afonia3573
@afonia3573 Год назад
Отличный урок про jobs от максима крюкова
@igorfedorovskiy799
@igorfedorovskiy799 Год назад
@@afonia3573 спасибо!
@neril2097
@neril2097 Год назад
@@afonia3573 Спасибо большое!
@stingerfingerr1599
@stingerfingerr1599 Год назад
Серия таких видео лучше всяких ит курсов! спасибо
@petrovskyV
@petrovskyV Год назад
Очень жду продолжение. Заметил что когда Z координата нас, как персонажа становится меньше 0, то копать уже нельзя. Пишет, что выход за границу массива.
@EmeraldPowder
@EmeraldPowder Год назад
Спасибо, лайк за внимательность, в начале следующего видео поправим баг) Там похожая ошибка на шейдер, что при отрицательных числах не в ту сторону целочисленное деление округляет в функции получения чанка по координатам блока
@Storm_VY
@Storm_VY Год назад
@@EmeraldPowder когда следующая серия?
@AsdfgAsdfg12363
@AsdfgAsdfg12363 Год назад
Мне очень нравятся твои видео и идеи в целом. Спасибо.
@svidrex2000
@svidrex2000 Год назад
Почему только 71к. Подписчиков? Ты стараешься, объясняешь как все правильно сделать, и все отлично понятно. Ты заслуживаешь большего!
@OOOumvita
@OOOumvita Год назад
Скучно для тех, кто вообще ничего не понимает в программирование. Мне кажется там средняя длина просмотра вообще меньше 10 минут
@user-gi9bg9rm5j
@user-gi9bg9rm5j Год назад
Новая часть. Новый лайк. Новый комент. Спасибо за видео!
@user-xt7ky5qj9k
@user-xt7ky5qj9k Год назад
Каждая серия выглядит интересно, ждём продолжение!
@DaS_10
@DaS_10 Год назад
Да познавательно
@ergdt644
@ergdt644 Год назад
Лайк однозначно. Всегда жду с нетерпением выход новой части.
@Shineglow
@Shineglow Год назад
Мне при просмотре вспомнилась буфферизация. Можно также создавать блоки последовательно из корутины, но спавнить их неактивными, когда всё заспавниться отобразить разом. Создаст иллюзию одновременной загрузки)
@theoctan8569
@theoctan8569 Год назад
Лайк за продолжение!
@kebhalo9921
@kebhalo9921 Год назад
Интересно, и познавательно, спасибо за видео
@rexlian8768
@rexlian8768 Год назад
Может блоки больше сделать? Просто при добычи их будет ощущение пинцета, но можно и радиусом их ломать но тогда при построенных блоках будет не очень, ну можно тогда другой инструмент который ломает по одному, и если подумать то сколько уйдет времени на один дом или другую постройку, подумай
@madness_a
@madness_a Год назад
Стоп, твой канал создан 7 месяца назад, подписчиков 7, коммент написал 7 минут назад
@rexlian8768
@rexlian8768 Год назад
@@madness_a 777 фортуна
@EmeraldPowder
@EmeraldPowder Год назад
Ага, я примерно так и думал, что если из этого делать реальную игру, а не демку, то можно разные инструменты добавить. Которые копают большими кривыми радиусами, и точные которые по одному или линией убирают или строят. Но про это видео наверное не особо интересное получится, там просто будут всякие циклы по блокам, так что пока про это не снимал
@user-mh5dh3sf7y
@user-mh5dh3sf7y Год назад
@@madness_a а ты 7 часов назад
@nikitasvorin9504
@nikitasvorin9504 Год назад
для строительства стен и полов (всего протяжённого) можно сделать специальный инструмент, похожий на прямоугольное выделение если запариться, можно даже добавить рандома используемых блоков (типа чтобы были вкрапления других блоков, для красоты)
@jimmyster
@jimmyster Год назад
После просмотра, прям чувствую как становлюсь умнее
@andrey-eo6jg
@andrey-eo6jg Год назад
тот самый майнкрафт которого мы так ждали, через пару лет будет человеческий майнкрафт на нормальном движке, а не какой-то там Джаве)
@xephosbot
@xephosbot Год назад
А там вроде рендер майнкрафта написан на какой-то смеси самописного движка Blaze3D и библиотеки GLFW. Это просто скомпилированный код на плюсах, а на Джаве там просто *дергают* нужные функции из dll-шек.
@hm-ij9gz
@hm-ij9gz Год назад
Я прям чувсвтвую продолжение
@user-io5qf8om5g
@user-io5qf8om5g Год назад
Хорошая работа👍
@smarthedgehog3185
@smarthedgehog3185 Год назад
Лайкос от меня. Очень много узнал.
@mrmelog4320
@mrmelog4320 Год назад
Безумно круто получается! Я как раз делаю игру, и только столкнулся с вопросом генерации, и тут твоё видео) всё очень доходчиво и понятно!
@KoliaBoroda
@KoliaBoroda Год назад
Продолжение той части где вы делаете игру, спасибо
@yaksolo
@yaksolo Год назад
Думаю многим не понятно, но очень интересно!
@Pipka_888
@Pipka_888 Год назад
крутой бедрок в виде досок
@nantaur123
@nantaur123 Год назад
Интересно глянуть на подход к освещению всей этой штуки, потому что с динамическим светом, как мне кажется, далеко не уедешь)
@Shodbadger
@Shodbadger Год назад
Продолжай в том-же духе, надеюсь ты сделаешь майнкрафт гораздо лучше, не бросай проэкт
@good_game3588
@good_game3588 Год назад
Я рад, твоему возвращению! Давно ждал новые видеоролики.
@vaskrol
@vaskrol Год назад
С генерацией мешей офигенно помогает Burst, обычно даёт ускорение построения меша раз в 100.
@vivoxti
@vivoxti Год назад
Очень интересно
@BockJlucuii
@BockJlucuii Год назад
Круто!
@erhundvimmbseowde2918
@erhundvimmbseowde2918 Год назад
ЭТО ВЕЛИКИЙ КАНАЛ...
@user-hv1mf2hi7v
@user-hv1mf2hi7v Год назад
Хах думал то что это старые какие то видео а потом увидел дату выхода..
@nighteen124
@nighteen124 Год назад
Классные видео мужик продолжай , если честно изза таких маленьких блоков кажется что либо мир и биом очень маленькие либо человек гигантский, идея со сторительством в виде маленьких блоков отличная, но я бы на твоем месте бы сделал как в оригинальном майне большие блоки, но с возможностью строить еще и такими маленькими блоками, т.е я хочу сказать что для дополнения к игре они очень классные но как основа лучше взять стандартные блоки
@not_even_tim
@not_even_tim Год назад
Классая превьюха у видео
@OfStrong555
@OfStrong555 Год назад
Неплохо)
@hidusa
@hidusa Год назад
Ооо я ждал
@nikshet4057
@nikshet4057 Год назад
Спасибо!
@nekokira5596
@nekokira5596 Год назад
Спасибо)
@RimuruDev
@RimuruDev Год назад
Настало время напрячь свой мозг по полной)
@fitamas1006
@fitamas1006 Год назад
дождался
@TTe4eHbke
@TTe4eHbke Год назад
как же он хорош
@KrutaMan
@KrutaMan Год назад
В цикл генерации чанков можно добавить условие, что бы чанки вокруг создавались не квадратом 10х10, а аккуратным кругом: if (Vector2.Distance(currentPlayerChunk, chunkPosition) >= ViewRadius) continue;
@milkiskis332
@milkiskis332 Год назад
Урааа
@NexysStormcloud
@NexysStormcloud Год назад
при генерации нового чанка надо регенерить его соседей, потому что внутренние стенки остаются
@user-rn5gb4wp9b
@user-rn5gb4wp9b 10 месяцев назад
У вас есть пример кода, до самого как-то не доходит как сделать.
@mcmm4419
@mcmm4419 Год назад
Расскажи про базы данных для хранения информаций о блоке, думаю будет очень полезно
@Denispro173
@Denispro173 Год назад
👍👍
@_mirai
@_mirai Год назад
Жду видео про многопоточность Впрочем как и другие видео
@user-qq1xb6ic3l
@user-qq1xb6ic3l Год назад
Гайд зачётный! Автору респект. Повторил, получилось хорошо. Можно правда некоторые детали доработать: 1. пофиксить артефакты "пустующих сегментов" (обычно возникают в самом низу или самом верху склонов и от них распространяются). смотреть сквозь эти отверстия во внутреннее устройство чанка - не хорошо, проваливаться сквозь них персонажу не хорошо совсем. Подбором значений констант почти нивелируется, но всё же. 2. между чанками стенки. в том числе при до-создании примыкающих новых чанков. 3. копать мелкие блоки по 1 муторно, что легко исправляется карутиной с задержкой в 0,2сек на удержание кнопки мыши -- if (Input.GetMouseButton(1)) StartCoroutine(ModBlock(true)); Касаемо выбора способа (например, тайлмапу проще нарезать мультиплом и выбирать готовое обрезанное изображение) - это дело Автора (возможно, на выбор повлияли иные факторы, например, простота последующей оптимизации)...
@VitegO4
@VitegO4 Год назад
а теперь тоже самое с мультиплеером на dedicated server хех
@humgy
@humgy Год назад
жду оптимизацию, интересная тема когда ты допустим убираешь то что не видит игрок, так чтобы это было незаметно
@EmeraldPowder
@EmeraldPowder Год назад
Оптимизация обязательно будет в следующих сериях
@tox1cozZ
@tox1cozZ Год назад
Это называется Frustrum Culling
@whitesparrow7109
@whitesparrow7109 Год назад
Можно сделать доп. сетку для добычи блоков (добывается более крупными и именно по крупной сетке, а выпадаемый ресурс, если как в игре смотреть, будет высчитываться из количества маленьких блоков)
@vadimivanov3000
@vadimivanov3000 Год назад
Всем Привет ! Мира и добра всем !
@nintend01337
@nintend01337 Год назад
еще интересно как хранить выгруженные чанки затем возобновлять их если мы туда возвращаемся, сохранение всей карты
@uso2484
@uso2484 Год назад
комментарий для продвижения канала
@Se_Mech_Ka
@Se_Mech_Ka Год назад
Сделай генерацию пещер и руд под землей
@viktorkuznetsov1617
@viktorkuznetsov1617 3 месяца назад
Возможно, я что-то пропустил, но как вы убрали стенки между чанками? Когда добавляется новый чанк, нужно ведь обновлять соседние, иначе останутся их стенки, которые они создавали, когда нынешний чанк отсутствовал.
@pukpukpuk794
@pukpukpuk794 9 месяцев назад
1:08 я думаю легче было бы offset закинуть в функцию abs
@kuellhyk
@kuellhyk Год назад
Для продвижения
@___maga___
@___maga___ Год назад
Можешь тогда ещё модинг вкрутить?
@stanislav615
@stanislav615 Год назад
На вид просто, но это пока сам не начал что-то делать
@fleiflad2359
@fleiflad2359 Год назад
Я считаю топ главно оставь пж персонажа такова размера это очень много возможностей даст творить прям из пикселей
@EmeraldPowder
@EmeraldPowder Год назад
Спасибо, да, наверное пока такой размер оставлю, выглядит как раз как то что я хотел. И геймплейно тут можно придумать прикольных вещей, вроде разных инструментов с разными радиусами и формами, и хитрых блоков с текстурой на несколько тайлов
@_BENDY659_
@_BENDY659_ Год назад
А она когда нибудь в будущем выйдет в открытый доступ?
@mirages797
@mirages797 Год назад
Здравствуйте, хотелось бы задать вопрос как у проффесионал в гейм деве, дело в том что я начинаю программировать свои игры и хотелось бы подобрать ноутбук для программирования, что бы вы посоветовали? И чем пользуетесь сами?
@EmeraldPowder
@EmeraldPowder Год назад
Привет. На самом деле любой ноутбук на винде подойдёт, но конечно лучшее на самый слабый. Мне на компе с i5-2550 и 16ГБ оперативки было довольно комфортно, но это прямо примерно
@Storm_VY
@Storm_VY Год назад
Ноутбуки от Хуавей или Xiaomi смотри Они прям шикарные Сам такой хочу
@DANILIAMMO
@DANILIAMMO Год назад
Когда будет открыт исходный код?
@RazielSoule
@RazielSoule Год назад
Вспоминаю как делал свой генератор, во были деньки, я тогда написал свой "шум", ибо угарал в оптимизацию. Перегорел на инструментах редактирования, всё таки размер вокселя я взял слишком малый для своей первой работы, мой ноут не выдерживал, я не выдерживал, юнити нафиг слал... И теперь я в анриле, мдя xD
@EmeraldPowder
@EmeraldPowder Год назад
Такие штуки как шум наверное хорошо могут работать в анриале, если там написать всё на плюсах, должно быстрее быть чем эта либа. Но будем дальше в видосах оптимизацией заниматься, посмотрим)
@nintend01337
@nintend01337 Год назад
как на счет растительности ? Слой травы захардкожен, как быть с пустыней либо зимой либо биомами где нет травы ?
@EmeraldPowder
@EmeraldPowder Год назад
Можно вынести поле с типом блока в генератор, в следующем видел про это немного будет упоминаться. Но разные переходящие друг в друга биомы не уверен что в этих видел будем делать, это уже не так просто
@world_without_mistakes
@world_without_mistakes Год назад
да сделай уже блоки по больше...
@Koshatka_Lana
@Koshatka_Lana Год назад
++
@ATtiny13a-PU
@ATtiny13a-PU Год назад
а когда я успел пропустить 4-тую часть....
@MoronicSoul
@MoronicSoul 4 месяца назад
ничего себе.. 2070 супер загрузил на 100%.. есть какой то вариант ограничить фпс в редакторе?
@thehuman2968
@thehuman2968 Год назад
Когда релиз?))
@MoronicSoul
@MoronicSoul 4 месяца назад
хм а если собрать билд под винду то спавнБлок и дестройБлок не работают. только перемещение персонажа и генерация мира. хотя нет. работают, но в определённом диапазоне координат.
@IvanFollow
@IvanFollow Год назад
писать код оказывается довольно легко, вон я вижу какие то public, for, var, private, float
@not_even_tim
@not_even_tim Год назад
Такие генерации мешей лучше делать через ComputeShader. Это будет быстрее чем многопоточность. Почему ты не использовал это?
@EmeraldPowder
@EmeraldPowder Год назад
Возможно можно как-то через него, но я с ними особо не разбирался, так что пока сделал просто через многопоточность
@dansts6114
@dansts6114 11 месяцев назад
​​@@EmeraldPowderак в новой FNL нету WarpNoiseX и Y, что делать...
@vladushonok64
@vladushonok64 Год назад
Фига, много просмотров, вторую часть даже обогнали.
@stepanshnder1850
@stepanshnder1850 10 месяцев назад
Как сделать так, чтобы изменения сохранились в юнити?? Например ты уничтожил немколько блоков и видишь изменения в окне юнити
@russiangod
@russiangod Год назад
Если из генерации меша и коллайдера убрать list'ы, то скорость генерации увеличится в сотни раз. И не нужны будут игры с бубном.
@user-yg5xm3ct7p
@user-yg5xm3ct7p Год назад
А как ты это без листов реализуешь?
@russiangod
@russiangod Год назад
@@user-yg5xm3ct7p Основное для чего нужен лист, это потому что длина массива неизвестна заранее. Поэтому создаем две функции, первая рассчитывает конечную длину массива, а вторая собственно заполняет массивы вертексов и треугольников уже известной длины. И даже учитывая что это две функции, они будут работать во много сотен раз быстрее, чем одна функция с листами делающая тоже самое.
@nicojam1493
@nicojam1493 Год назад
Ну он же сказал займемся оптимизацией позже, чтож, будем поглядеть.
@allon1083
@allon1083 Год назад
горы прикольные но по сравнению с персонажем они не большие либо игрока уменьшить надо либо горы больше сделать
@TTe4eHbke
@TTe4eHbke Год назад
а где часть 6? BibleThump
@g.i.f7838
@g.i.f7838 Год назад
А ты говорил в видео о карутине, что она не повышает производительность. А оно вон как. Ждумс следующие видео про производительность.
@_mirai
@_mirai Год назад
Так она и не повышает производительность. Просто то, что выполнялось за один кадр, теперь выполняется за несколько кадров
@user-mi2zn4lo7m
@user-mi2zn4lo7m Год назад
@AsdfgAsdfg12363
@AsdfgAsdfg12363 Год назад
🙃
@maidasmini8827
@maidasmini8827 Год назад
Сделай лучше человека типа чтоб он был как в Minecraft с размером 2 блока
@wullyfox
@wullyfox Год назад
Разработчики делают обновление целый год. Парень который решил создать Майнкрафт с нуля: Путин: отечественный Майнкрафт!
@user-um4ve8cz6t
@user-um4ve8cz6t Год назад
спасибо кринжанул
@wullyfox
@wullyfox Год назад
@@user-um4ve8cz6t так в этом и смысл коммента)
@user-gu7dc5nj1g
@user-gu7dc5nj1g 9 месяцев назад
почему ты перестал показывать изменения кода, теперь нечего нельзя повторить. С 4 видео в конце когда добавил верх как траву. И почему не выложишь не гитхаб или подобное если это обучающий материал
@chromo_cat
@chromo_cat Год назад
Мне, как разработчику плагинов и многих утилит в оригинальном Майнкрафт, очень больно смотреть на такой код. Само ядро крайне неоптимизировано, но даже там нет таких "детских ошибок" как у тебя. В целом прикольно, но жду глобального реворка кода.
@illia8783
@illia8783 Год назад
А какие "детские ошибки" здесь есть?
@Storm_VY
@Storm_VY Год назад
Что за ошибки тут такие ужасные?
@chromo_cat
@chromo_cat Год назад
@@illia8783 как минимум дублирование кода, не соблюдение ООП
@dynam1k463
@dynam1k463 Год назад
Когда новая часть? )
@user-xw1wp5on9p
@user-xw1wp5on9p Год назад
Тоже хочется знать
@EmeraldPowder
@EmeraldPowder Год назад
В ближайшие выходные выйдет)
@Jone_501
@Jone_501 Год назад
Как вам идея сделать простенький редстоун?
@EmeraldPowder
@EmeraldPowder Год назад
Идея хорошая, но думаю если и сделаю, то не в этом Майнкрафте, а на примере отдельной игры
@satanyta
@satanyta Год назад
У меня у одного в этом видео звук только в правом ухе?
@Kostya_Stark
@Kostya_Stark Год назад
блоки не ставятся в отрицательных координатах и выдает ошибку
@Mr.Twitti
@Mr.Twitti Год назад
Я задам несколько вопросов 1) Если игра выйдет то будет в нём онлайн 2)И как сделать онлайн в игре?
@EmeraldPowder
@EmeraldPowder Год назад
Пока онлайн сюда точно не планирую добавлять, и так хватает сложных идей что ещё можно сделать. У меня есть старенький плейлист про онлайн, хоть он и устарел морально, но основные идеи там описаны
@vicitacal11
@vicitacal11 Год назад
Datas? У слова данные как в русском так и в английском есть только множественное число. Так что datas на русском будет "данныеы".
@EmeraldPowder
@EmeraldPowder Год назад
Может быть и не совсем корректно с точки зрения английского, но зато понятно по названию сразу что это список или массив
@seelairu
@seelairu Год назад
fps < 60 ? fps = 60 : fps Я написал оптимизацию, пользуйтесь
@ionegamer
@ionegamer Год назад
Почему это выглядит лучше оригинального Майнкрафта?
@ionegamer
@ionegamer Год назад
А понял, потому что на С#
@rubiks7196
@rubiks7196 Год назад
Это не лучше
@baTapeR
@baTapeR Год назад
@@rubiks7196 это его мнение
@rubiks7196
@rubiks7196 Год назад
@@baTapeR а это моё мнение)
@ProVatan2
@ProVatan2 6 месяцев назад
Lol, 4 days and 1 years a the video
@user-te6bm6gl3i
@user-te6bm6gl3i Год назад
что за IDE
@EmeraldPowder
@EmeraldPowder Год назад
Jetbrains Rider
@MultiMasterRMX
@MultiMasterRMX Год назад
Я 3 дня качал игры, вчера решил поиграть. Много игр оказались на Юнити, все они тормозили нереально. Остальные игры быстрые (без юнити), это радует. Юнити и раньше тормозил, сейчас правда стал побыстрее, но все равно фризит заметно. И эти люди хотят продавать свои игры, ну-ну... Так что фигня это все, ужос...
@beworld_pasha
@beworld_pasha Год назад
У вас огромная проблема с логикой, принципами построения кода, он небрежен, малооптимизирован и глуп. Вам бы теоритических знаний, птмучт на умении презентовать себя далеко не уедешь...
@7_HERZOG_7
@7_HERZOG_7 Год назад
По КД ставлю дизы ибо нефиг Стим говном заполнять
@huggy_wuggy818
@huggy_wuggy818 Год назад
я создал фан версию Evil Nun TheBrokenMask на unreal
@fudotsukiko2284
@fudotsukiko2284 Год назад
дождался
Далее
ПОЧЕМУ ВСЕ ТРЯСЕТСЯ в UNITY ?
39:14