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

Поделиться
HTML-код
  • Опубликовано: 10 июн 2024
  • Пятое видео из плейлиста по созданию клона 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...

Комментарии • 143

  • @igorfedorovskiy799
    @igorfedorovskiy799 Год назад +48

    После фразы "многопоточность" - жду отдельное видео по многопоточности в Unity

    • @afonia3573
      @afonia3573 Год назад +1

      Отличный урок про jobs от максима крюкова

    • @igorfedorovskiy799
      @igorfedorovskiy799 Год назад

      @@afonia3573 спасибо!

    • @neril2097
      @neril2097 Год назад

      @@afonia3573 Спасибо большое!

  • @stingerfingerr1599
    @stingerfingerr1599 Год назад +11

    Серия таких видео лучше всяких ит курсов! спасибо

  • @svidrex2000
    @svidrex2000 Год назад +8

    Почему только 71к. Подписчиков? Ты стараешься, объясняешь как все правильно сделать, и все отлично понятно. Ты заслуживаешь большего!

    • @OOOumvita
      @OOOumvita Год назад +2

      Скучно для тех, кто вообще ничего не понимает в программирование. Мне кажется там средняя длина просмотра вообще меньше 10 минут

  • @petrovskyV
    @petrovskyV Год назад +9

    Очень жду продолжение. Заметил что когда Z координата нас, как персонажа становится меньше 0, то копать уже нельзя. Пишет, что выход за границу массива.

    • @EmeraldPowder
      @EmeraldPowder  Год назад +3

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

    • @Storm_VY
      @Storm_VY Год назад +3

      @@EmeraldPowder когда следующая серия?

  • @AsdfgAsdfg12363
    @AsdfgAsdfg12363 Год назад +2

    Мне очень нравятся твои видео и идеи в целом. Спасибо.

  • @user-gi9bg9rm5j
    @user-gi9bg9rm5j Год назад +1

    Новая часть. Новый лайк. Новый комент. Спасибо за видео!

  • @user-xt7ky5qj9k
    @user-xt7ky5qj9k Год назад +16

    Каждая серия выглядит интересно, ждём продолжение!

    • @DaS_10
      @DaS_10 Год назад

      Да познавательно

  • @Shineglow
    @Shineglow Год назад +2

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

  • @ergdt644
    @ergdt644 Год назад +7

    Лайк однозначно.
    Всегда жду с нетерпением выход новой части.

  • @rexlian8768
    @rexlian8768 Год назад +26

    Может блоки больше сделать? Просто при добычи их будет ощущение пинцета, но можно и радиусом их ломать но тогда при построенных блоках будет не очень, ну можно тогда другой инструмент который ломает по одному, и если подумать то сколько уйдет времени на один дом или другую постройку, подумай

    • @madness_a
      @madness_a Год назад +11

      Стоп, твой канал создан 7 месяца назад, подписчиков 7, коммент написал 7 минут назад

    • @rexlian8768
      @rexlian8768 Год назад +8

      @@madness_a 777 фортуна

    • @EmeraldPowder
      @EmeraldPowder  Год назад +10

      Ага, я примерно так и думал, что если из этого делать реальную игру, а не демку, то можно разные инструменты добавить. Которые копают большими кривыми радиусами, и точные которые по одному или линией убирают или строят. Но про это видео наверное не особо интересное получится, там просто будут всякие циклы по блокам, так что пока про это не снимал

    • @user-mh5dh3sf7y
      @user-mh5dh3sf7y Год назад

      @@madness_a а ты 7 часов назад

    • @nikitasvorin9504
      @nikitasvorin9504 Год назад

      для строительства стен и полов (всего протяжённого) можно сделать специальный инструмент, похожий на прямоугольное выделение
      если запариться, можно даже добавить рандома используемых блоков (типа чтобы были вкрапления других блоков, для красоты)

  • @theoctan8569
    @theoctan8569 Год назад +2

    Лайк за продолжение!

  • @kebhalo9921
    @kebhalo9921 Год назад +1

    Интересно, и познавательно, спасибо за видео

  • @andrey-eo6jg
    @andrey-eo6jg Год назад +1

    тот самый майнкрафт которого мы так ждали, через пару лет будет человеческий майнкрафт на нормальном движке, а не какой-то там Джаве)

    • @xephosbot
      @xephosbot Год назад

      А там вроде рендер майнкрафта написан на какой-то смеси самописного движка Blaze3D и библиотеки GLFW. Это просто скомпилированный код на плюсах, а на Джаве там просто *дергают* нужные функции из dll-шек.

  • @nantaur123
    @nantaur123 Год назад +2

    Интересно глянуть на подход к освещению всей этой штуки, потому что с динамическим светом, как мне кажется, далеко не уедешь)

  • @jimmyster
    @jimmyster Год назад +2

    После просмотра, прям чувствую как становлюсь умнее

  • @hm-ij9gz
    @hm-ij9gz Год назад +1

    Я прям чувсвтвую продолжение

  • @Shodbadger
    @Shodbadger Год назад +6

    Продолжай в том-же духе, надеюсь ты сделаешь майнкрафт гораздо лучше, не бросай проэкт

  • @vaskrol
    @vaskrol Год назад

    С генерацией мешей офигенно помогает Burst, обычно даёт ускорение построения меша раз в 100.

  • @smarthedgehog3185
    @smarthedgehog3185 Год назад +1

    Лайкос от меня. Очень много узнал.

  • @KoliaBoroda
    @KoliaBoroda Год назад +1

    Продолжение той части где вы делаете игру, спасибо

  • @user-io5qf8om5g
    @user-io5qf8om5g Год назад +1

    Хорошая работа👍

  • @mrmelog4320
    @mrmelog4320 Год назад +1

    Безумно круто получается! Я как раз делаю игру, и только столкнулся с вопросом генерации, и тут твоё видео) всё очень доходчиво и понятно!

  • @yaksolo
    @yaksolo Год назад

    Думаю многим не понятно, но очень интересно!

  • @good_game3588
    @good_game3588 Год назад +1

    Я рад, твоему возвращению! Давно ждал новые видеоролики.

  • @erhundvimmbseowde2918
    @erhundvimmbseowde2918 Год назад +1

    ЭТО ВЕЛИКИЙ КАНАЛ...

  • @Pipka_888
    @Pipka_888 Год назад +2

    крутой бедрок в виде досок

  • @hidusa
    @hidusa Год назад +1

    Ооо я ждал

  • @vivoxti
    @vivoxti Год назад +1

    Очень интересно

  • @OfStrong555
    @OfStrong555 Год назад +1

    Неплохо)

  • @BockJlucuii
    @BockJlucuii Год назад +1

    Круто!

  • @NexysStormcloud
    @NexysStormcloud Год назад +4

    при генерации нового чанка надо регенерить его соседей, потому что внутренние стенки остаются

    • @user-rn5gb4wp9b
      @user-rn5gb4wp9b 10 месяцев назад

      У вас есть пример кода, до самого как-то не доходит как сделать.

  • @tim_developer
    @tim_developer Год назад +1

    Классая превьюха у видео

  • @nighteen124
    @nighteen124 Год назад

    Классные видео мужик продолжай , если честно изза таких маленьких блоков кажется что либо мир и биом очень маленькие либо человек гигантский, идея со сторительством в виде маленьких блоков отличная, но я бы на твоем месте бы сделал как в оригинальном майне большие блоки, но с возможностью строить еще и такими маленькими блоками, т.е я хочу сказать что для дополнения к игре они очень классные но как основа лучше взять стандартные блоки

  • @KrutaMan
    @KrutaMan Год назад

    В цикл генерации чанков можно добавить условие, что бы чанки вокруг создавались не квадратом 10х10, а аккуратным кругом:
    if (Vector2.Distance(currentPlayerChunk, chunkPosition) >= ViewRadius) continue;

  • @nikshet4057
    @nikshet4057 Год назад +1

    Спасибо!

  • @nekokira5596
    @nekokira5596 Год назад +1

    Спасибо)

  • @user-hv1mf2hi7v
    @user-hv1mf2hi7v Год назад +2

    Хах думал то что это старые какие то видео а потом увидел дату выхода..

  • @vadimivanov3000
    @vadimivanov3000 Год назад +2

    Всем Привет ! Мира и добра всем !

  • @mcmm4419
    @mcmm4419 Год назад

    Расскажи про базы данных для хранения информаций о блоке, думаю будет очень полезно

  • @RimuruDev
    @RimuruDev Год назад +1

    Настало время напрячь свой мозг по полной)

  • @viktorkuznetsov1617
    @viktorkuznetsov1617 3 месяца назад +1

    Возможно, я что-то пропустил, но как вы убрали стенки между чанками? Когда добавляется новый чанк, нужно ведь обновлять соседние, иначе останутся их стенки, которые они создавали, когда нынешний чанк отсутствовал.

  • @milkiskis332
    @milkiskis332 Год назад +2

    Урааа

  • @Denispro173
    @Denispro173 Год назад +1

    👍👍

  • @user-qq1xb6ic3l
    @user-qq1xb6ic3l Год назад +1

    Гайд зачётный! Автору респект.
    Повторил, получилось хорошо.
    Можно правда некоторые детали доработать:
    1. пофиксить артефакты "пустующих сегментов" (обычно возникают в самом низу или самом верху склонов и от них распространяются). смотреть сквозь эти отверстия во внутреннее устройство чанка - не хорошо, проваливаться сквозь них персонажу не хорошо совсем. Подбором значений констант почти нивелируется, но всё же.
    2. между чанками стенки. в том числе при до-создании примыкающих новых чанков.
    3. копать мелкие блоки по 1 муторно, что легко исправляется карутиной с задержкой в 0,2сек на удержание кнопки мыши -- if (Input.GetMouseButton(1)) StartCoroutine(ModBlock(true));
    Касаемо выбора способа (например, тайлмапу проще нарезать мультиплом и выбирать готовое обрезанное изображение) - это дело Автора (возможно, на выбор повлияли иные факторы, например, простота последующей оптимизации)...

  • @fitamas1006
    @fitamas1006 Год назад +1

    дождался

  • @nintend01337
    @nintend01337 Год назад

    еще интересно как хранить выгруженные чанки затем возобновлять их если мы туда возвращаемся, сохранение всей карты

  • @whitesparrow7109
    @whitesparrow7109 Год назад

    Можно сделать доп. сетку для добычи блоков (добывается более крупными и именно по крупной сетке, а выпадаемый ресурс, если как в игре смотреть, будет высчитываться из количества маленьких блоков)

  • @humgy
    @humgy Год назад +4

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

    • @EmeraldPowder
      @EmeraldPowder  Год назад +4

      Оптимизация обязательно будет в следующих сериях

    • @tox1cozZ
      @tox1cozZ Год назад +1

      Это называется Frustrum Culling

  • @TTe4eHbke
    @TTe4eHbke Год назад +1

    как же он хорош

  • @MoronicSoul
    @MoronicSoul 4 месяца назад

    ничего себе.. 2070 супер загрузил на 100%.. есть какой то вариант ограничить фпс в редакторе?

  • @stepanshnder1850
    @stepanshnder1850 10 месяцев назад

    Как сделать так, чтобы изменения сохранились в юнити?? Например ты уничтожил немколько блоков и видишь изменения в окне юнити

  • @MoronicSoul
    @MoronicSoul 4 месяца назад

    хм а если собрать билд под винду то спавнБлок и дестройБлок не работают. только перемещение персонажа и генерация мира. хотя нет. работают, но в определённом диапазоне координат.

  • @_BENDY659_
    @_BENDY659_ Год назад

    А она когда нибудь в будущем выйдет в открытый доступ?

  • @_mirai
    @_mirai Год назад +1

    Жду видео про многопоточность
    Впрочем как и другие видео

  • @VitegO4
    @VitegO4 Год назад

    а теперь тоже самое с мультиплеером на dedicated server хех

  • @pukpukpuk794
    @pukpukpuk794 8 месяцев назад

    1:08 я думаю легче было бы offset закинуть в функцию abs

  • @DANILIAMMO
    @DANILIAMMO Год назад +2

    Когда будет открыт исходный код?

  • @___maga___
    @___maga___ Год назад +1

    Можешь тогда ещё модинг вкрутить?

  • @mirages797
    @mirages797 Год назад +1

    Здравствуйте, хотелось бы задать вопрос как у проффесионал в гейм деве, дело в том что я начинаю программировать свои игры и хотелось бы подобрать ноутбук для программирования, что бы вы посоветовали? И чем пользуетесь сами?

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Привет. На самом деле любой ноутбук на винде подойдёт, но конечно лучшее на самый слабый. Мне на компе с i5-2550 и 16ГБ оперативки было довольно комфортно, но это прямо примерно

    • @Storm_VY
      @Storm_VY Год назад

      Ноутбуки от Хуавей или Xiaomi смотри
      Они прям шикарные
      Сам такой хочу

  • @nintend01337
    @nintend01337 Год назад +1

    как на счет растительности ? Слой травы захардкожен, как быть с пустыней либо зимой либо биомами где нет травы ?

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Можно вынести поле с типом блока в генератор, в следующем видел про это немного будет упоминаться. Но разные переходящие друг в друга биомы не уверен что в этих видел будем делать, это уже не так просто

  • @Se_Mech_Ka
    @Se_Mech_Ka Год назад +1

    Сделай генерацию пещер и руд под землей

  • @stanislav615
    @stanislav615 Год назад

    На вид просто, но это пока сам не начал что-то делать

  • @uso2484
    @uso2484 Год назад +1

    комментарий для продвижения канала

  • @kuellhyk
    @kuellhyk Год назад +1

    Для продвижения

  • @fleiflad2359
    @fleiflad2359 Год назад +1

    Я считаю топ главно оставь пж персонажа такова размера это очень много возможностей даст творить прям из пикселей

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Спасибо, да, наверное пока такой размер оставлю, выглядит как раз как то что я хотел. И геймплейно тут можно придумать прикольных вещей, вроде разных инструментов с разными радиусами и формами, и хитрых блоков с текстурой на несколько тайлов

  • @RazielSoule
    @RazielSoule Год назад

    Вспоминаю как делал свой генератор, во были деньки, я тогда написал свой "шум", ибо угарал в оптимизацию. Перегорел на инструментах редактирования, всё таки размер вокселя я взял слишком малый для своей первой работы, мой ноут не выдерживал, я не выдерживал, юнити нафиг слал... И теперь я в анриле, мдя xD

    • @EmeraldPowder
      @EmeraldPowder  Год назад +1

      Такие штуки как шум наверное хорошо могут работать в анриале, если там написать всё на плюсах, должно быстрее быть чем эта либа. Но будем дальше в видосах оптимизацией заниматься, посмотрим)

  • @Jone_501
    @Jone_501 Год назад +1

    Как вам идея сделать простенький редстоун?

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Идея хорошая, но думаю если и сделаю, то не в этом Майнкрафте, а на примере отдельной игры

  • @ATtiny13a-PU
    @ATtiny13a-PU Год назад +1

    а когда я успел пропустить 4-тую часть....

  • @world_without_mistakes
    @world_without_mistakes Год назад +3

    да сделай уже блоки по больше...

  • @user-gu7dc5nj1g
    @user-gu7dc5nj1g 8 месяцев назад

    почему ты перестал показывать изменения кода, теперь нечего нельзя повторить. С 4 видео в конце когда добавил верх как траву. И почему не выложишь не гитхаб или подобное если это обучающий материал

  • @tim_developer
    @tim_developer Год назад +1

    Такие генерации мешей лучше делать через ComputeShader. Это будет быстрее чем многопоточность. Почему ты не использовал это?

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Возможно можно как-то через него, но я с ними особо не разбирался, так что пока сделал просто через многопоточность

    • @dansts6114
      @dansts6114 11 месяцев назад

      ​​@@EmeraldPowderак в новой FNL нету WarpNoiseX и Y, что делать...

  • @vladushonok64
    @vladushonok64 Год назад

    Фига, много просмотров, вторую часть даже обогнали.

  • @Kostya_Stark
    @Kostya_Stark Год назад

    блоки не ставятся в отрицательных координатах и выдает ошибку

  • @russiangod
    @russiangod Год назад +1

    Если из генерации меша и коллайдера убрать list'ы, то скорость генерации увеличится в сотни раз. И не нужны будут игры с бубном.

    • @user-yg5xm3ct7p
      @user-yg5xm3ct7p Год назад

      А как ты это без листов реализуешь?

    • @russiangod
      @russiangod Год назад +1

      @@user-yg5xm3ct7p Основное для чего нужен лист, это потому что длина массива неизвестна заранее. Поэтому создаем две функции, первая рассчитывает конечную длину массива, а вторая собственно заполняет массивы вертексов и треугольников уже известной длины. И даже учитывая что это две функции, они будут работать во много сотен раз быстрее, чем одна функция с листами делающая тоже самое.

    • @nicojam1493
      @nicojam1493 Год назад

      Ну он же сказал займемся оптимизацией позже, чтож, будем поглядеть.

  • @IvanFollow
    @IvanFollow Год назад

    писать код оказывается довольно легко, вон я вижу какие то public, for, var, private, float

  • @thehuman2968
    @thehuman2968 Год назад

    Когда релиз?))

  • @TTe4eHbke
    @TTe4eHbke Год назад

    а где часть 6? BibleThump

  • @allon1083
    @allon1083 Год назад

    горы прикольные но по сравнению с персонажем они не большие либо игрока уменьшить надо либо горы больше сделать

  • @satanyta
    @satanyta Год назад

    У меня у одного в этом видео звук только в правом ухе?

  • @user-mi2zn4lo7m
    @user-mi2zn4lo7m Год назад +1

  • @maidasmini8827
    @maidasmini8827 Год назад +1

    Сделай лучше человека типа чтоб он был как в Minecraft с размером 2 блока

  • @Mr.Twitti
    @Mr.Twitti Год назад

    Я задам несколько вопросов 1) Если игра выйдет то будет в нём онлайн 2)И как сделать онлайн в игре?

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Пока онлайн сюда точно не планирую добавлять, и так хватает сложных идей что ещё можно сделать. У меня есть старенький плейлист про онлайн, хоть он и устарел морально, но основные идеи там описаны

  • @wullyfox
    @wullyfox Год назад

    Разработчики делают обновление целый год.
    Парень который решил создать Майнкрафт с нуля:
    Путин: отечественный Майнкрафт!

    • @user-um4ve8cz6t
      @user-um4ve8cz6t Год назад +2

      спасибо кринжанул

    • @wullyfox
      @wullyfox Год назад

      @@user-um4ve8cz6t так в этом и смысл коммента)

  • @chromo_cat
    @chromo_cat Год назад

    Мне, как разработчику плагинов и многих утилит в оригинальном Майнкрафт, очень больно смотреть на такой код.
    Само ядро крайне неоптимизировано, но даже там нет таких "детских ошибок" как у тебя.
    В целом прикольно, но жду глобального реворка кода.

    • @illia8783
      @illia8783 Год назад

      А какие "детские ошибки" здесь есть?

    • @Storm_VY
      @Storm_VY Год назад

      Что за ошибки тут такие ужасные?

    • @chromo_cat
      @chromo_cat Год назад

      @@illia8783 как минимум дублирование кода, не соблюдение ООП

  • @g.i.f7838
    @g.i.f7838 Год назад

    А ты говорил в видео о карутине, что она не повышает производительность. А оно вон как. Ждумс следующие видео про производительность.

    • @_mirai
      @_mirai Год назад +1

      Так она и не повышает производительность. Просто то, что выполнялось за один кадр, теперь выполняется за несколько кадров

  • @seelairu
    @seelairu Год назад

    fps < 60 ? fps = 60 : fps
    Я написал оптимизацию, пользуйтесь

  • @vicitacal11
    @vicitacal11 Год назад

    Datas? У слова данные как в русском так и в английском есть только множественное число. Так что datas на русском будет "данныеы".

    • @EmeraldPowder
      @EmeraldPowder  Год назад

      Может быть и не совсем корректно с точки зрения английского, но зато понятно по названию сразу что это список или массив

  • @dynam1k463
    @dynam1k463 Год назад

    Когда новая часть? )

    • @user-xw1wp5on9p
      @user-xw1wp5on9p Год назад

      Тоже хочется знать

    • @EmeraldPowder
      @EmeraldPowder  Год назад +1

      В ближайшие выходные выйдет)

  • @ionegamer
    @ionegamer Год назад +4

    Почему это выглядит лучше оригинального Майнкрафта?

    • @ionegamer
      @ionegamer Год назад +2

      А понял, потому что на С#

    • @rubiks7196
      @rubiks7196 Год назад

      Это не лучше

    • @baTapeR
      @baTapeR Год назад

      @@rubiks7196 это его мнение

    • @rubiks7196
      @rubiks7196 Год назад

      @@baTapeR а это моё мнение)

  • @user-te6bm6gl3i
    @user-te6bm6gl3i Год назад

    что за IDE

  • @ProVatan2
    @ProVatan2 6 месяцев назад

    Lol, 4 days and 1 years a the video

  • @MultiMasterRMX
    @MultiMasterRMX Год назад

    Я 3 дня качал игры, вчера решил поиграть. Много игр оказались на Юнити, все они тормозили нереально. Остальные игры быстрые (без юнити), это радует. Юнити и раньше тормозил, сейчас правда стал побыстрее, но все равно фризит заметно. И эти люди хотят продавать свои игры, ну-ну... Так что фигня это все, ужос...

  • @beworld_pasha
    @beworld_pasha Год назад

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

  • @7_HERZOG_7
    @7_HERZOG_7 Год назад +1

    По КД ставлю дизы ибо нефиг Стим говном заполнять

  • @huggy_wuggy818
    @huggy_wuggy818 Год назад

    я создал фан версию Evil Nun TheBrokenMask на unreal

  • @fudotsukiko2284
    @fudotsukiko2284 Год назад +1

    дождался