Генерация мира из 3D тайлов: часть 2

Поделиться
HTML-код
  • Опубликовано: 28 фев 2020
  • Существует много идей и алгоритмов для процедурной генерации различных уровней и миров, в этом видео я начну разбирать алгоритмы связанные с созданием мира из воксельных тайлов. Особенность этого генератора будет в том что для создания уровня не нужно будет настраивать никаких правил, только нарисовать в воксельном стиле 3D модели тайлов, из которых будет автоматически генерироваться уровень. В этой второй части мы сделаем базовую версию генератора - и он уже будет создавать выглядящие естественно уровни из любых тайлов что получит на вход
    Плейлист про генерацию из тайлов: • Генерация мира из тайлов
    Следующее видео: • Генерация мира из 3D т...
    Готовый проект из всех пяти видео: github.com/emeraldpowder/Voxe...
    Patreon канала - / emeraldpowder (там уже есть проект из этого видео)
    Наш Discord - / discord
    На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
    Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео

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

  • @drseedon
    @drseedon 4 года назад +58

    Я думаю это лучший канал по геймдеву на unity. Спасибо за такие видосы

  • @elakh
    @elakh 4 года назад +4

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

  • @LoLgatunzo
    @LoLgatunzo 4 года назад +7

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

  • @deman2490
    @deman2490 4 года назад

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

  • @dozzza4053
    @dozzza4053 4 года назад +1

    Очень интересно, ждём продолжение ;)

  • @radiomojavestudios3319
    @radiomojavestudios3319 4 года назад

    Супер классно! Спасибо тебе, вдохновляет заниматься!)

  • @alexivanov1809
    @alexivanov1809 4 года назад +2

    Нигде такого не нашел, очень интересный скрипт
    Спасибо автор

  • @T1m0the0S
    @T1m0the0S 4 года назад +2

    Шикардос! А как генерятся тайлы вообще залипательно.

  • @mrminecrafter3829
    @mrminecrafter3829 3 года назад

    Спасибо большое автору !!!

  • @GekogaWishnya
    @GekogaWishnya 4 года назад +16

    Почему так мало просмотров? Это же ШЕДЕВР

  • @alexeyrival
    @alexeyrival 4 года назад

    Как всегда отличный видос!

  • @user-rh8ut2lf8o
    @user-rh8ut2lf8o 4 года назад +1

    Ждём продолжение!

  • @Vorono4ka
    @Vorono4ka 4 года назад

    ВАУ! ЮТУБ ПОРЕКОМЕНДОВАЛ ГОДНОТУ! Суперский канал, продолжай далее, скоро хочу учить Си-Подобные языки думал первым будет Java, но уже передумал)))

  • @slava7522
    @slava7522 4 года назад

    Как всегда топ)
    Будут ли видосы про дебаггинг и кастом эдитор?

  • @user-pm2ru6ir6n
    @user-pm2ru6ir6n 4 года назад

    Классно, молодец )

  • @alexsklyarov6792
    @alexsklyarov6792 4 года назад +1

    Привет, работал ли ты с ECS? Было бы интересно посмотреть про это ролик ))

  • @Creativeeart
    @Creativeeart 4 года назад +1

    Лайк не глядя)

  • @epiphansmolyanov4020
    @epiphansmolyanov4020 4 года назад +1

    жду продолжения

  • @artinstroukeprod
    @artinstroukeprod 3 года назад +1

    Есть хоть пару шансов пояснить в парочку слов как будет работать генерация обычного тайла, не воксельного? А именно:
    Как лучше задать параметр стороны без кучи Raycast-ов, вручную, без получения данных о цвете стороны. Присвоить вместо public byte[] ColorsRight и остальные три стороны другой параметр? и потом сравнивать existingTile.ColorsRight == tileToAppend.ColorsLeft ? Сделать обычный int вместо генерируемого массива байт не получилось сходу...
    (тайл, который подразумевает стыковку, имеет лишнию геометрию, которая будет не видна при стыковке и самое главное - плодить OverDraw. О идее воксельности я понимаю. В целом же, для производства более детализированных тайлов вне редактора MagicVoxel надо делать постоянно "шов" стыковки геометрией, чтобы RayCast смог получить цвет для параметров стороны - а это выглядит лишней работой. Ощущается, что менее затратно выставить стороне префаба вручную параметр стыковки, этакий ColorsRight/Left/Forward/Back)

  • @inkotuk
    @inkotuk 4 года назад +10

    о май гад.... как всему этому научиться((((((
    придумал игру и начал все изучать.. и тут пипец...

    • @alexanderscrichenko2787
      @alexanderscrichenko2787 4 года назад +1

      Практикой занимайся

    • @stikulzon801
      @stikulzon801 4 года назад

      На практике не всё так уж и сложно, если всё делать постепенно

    • @silentage6310
      @silentage6310 3 года назад +1

      когда сделаешь первые 10 игр и выкинешь их то 11ая может получится ничего.

  • @TrupDaVinci
    @TrupDaVinci 4 года назад

    Привет! Я сейчас начал работу над проектом и хочу реализовать поддержку пользовательских модификаций. И, на самом деле, так мало информации на эту тему. Скажи, пожалуйста, ты представляешь как это реализовать и какой подход в разработке должен быть? Можешь ли осветить эту тему, или возможно ли с тобой лично пообщаться, ибо ждать роликов нет времени, так как работу над проектом я уже начал и пытаюсь найти ответ вот сейчас)

  • @user-uh5qc6ep7r
    @user-uh5qc6ep7r 4 года назад +1

    Ля, шо так годно?

  • @stikulzon801
    @stikulzon801 4 года назад +1

    Отличное видео!) Было-бы ещё интересно узнать больше про "красивую" камеру (плавное перемещение, потряхивание с помощью скрипта) в 3D, уроков по 2D пруд пруди, а по 3D - код наплакал

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

      У меня наоборот по 3д пруди а по 2д наплакал код, но я делаю 3д игры и я подписан на этого автора. Мне нужна была рандомная генерация для игры.

  • @user-cu5ky8qz2n
    @user-cu5ky8qz2n 4 года назад

    Ты бомбезный, чуваааак)))

  • @dasha_in_vibe
    @dasha_in_vibe 3 года назад +1

    Можно было ещё нейросеть подключить чтоб определял какой тайл к какому присоединить)

  • @ValeGoG
    @ValeGoG 4 года назад +1

    10/10

  • @fliks7662
    @fliks7662 4 года назад +1

    Можно ссылку на диск с скриптом?

  • @quae6843
    @quae6843 4 года назад

    Что на счёт туториала по созданию управления и физики автомобиля?

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

    А как сделать изменение высоты?? И как сразу сгенерировать карту допустим 9 на 3 км??

  • @neverworld8815
    @neverworld8815 3 года назад

    Из полезного узнал что Vector2 и Vector3 (Int) это по сути индекс "grid items" в пространстве редактора

  • @user-cx5my2zh2m
    @user-cx5my2zh2m 2 года назад

    Пожалуйста подскажите почему у меня иногда один тайл спавнится в другом ???

  • @SAKURTM
    @SAKURTM 4 года назад

    Привет а у тебя можно заказать рекламу?

  • @user-nj6ne2ze5b
    @user-nj6ne2ze5b 4 года назад +1

    Все прекрасно только, у меня unity крашится, при тайлах размером 32 на 32)))

  • @MILANZERG
    @MILANZERG 4 года назад

    Жду исходняк

  • @vilkillian
    @vilkillian 4 года назад +1

    время застыло на 13:37))

  • @DygDyg1000
    @DygDyg1000 4 года назад +1

    Сюда бы ещё сид генерации приколхозить и по сути "хуяк, хуяк и в мультиплеер"

    • @EmeraldPowder
      @EmeraldPowder  4 года назад +1

      Сид прикрутить совсем несложно, вызвать initstate перед генерацией, а вот мультиплеер это уже отдельная тема совсем)

    • @DygDyg1000
      @DygDyg1000 4 года назад

      @@EmeraldPowder ну фотон вродь тож не особо сложно накинуть, по крайней мере что я там увидел...

  • @BlackWhite-gp8oz
    @BlackWhite-gp8oz 3 года назад

    Можете скинуть весь код?)

    • @EmeraldPowder
      @EmeraldPowder  3 года назад

      По ссылке на готовый проект в папке Assets лежат скрипты, а весь проект можно скачать нажав зелёную кнопку в углу и Download ZIP, и потом открыть в Unity

    • @BlackWhite-gp8oz
      @BlackWhite-gp8oz 3 года назад

      @@EmeraldPowder спасибо что отвечаете

  • @user-to2bs1dq6y
    @user-to2bs1dq6y 4 года назад

    Зачем использовать While если можно использовать For и явно ограничить цикл, потом еще все еще удивляются - а почему у меня игра зависла???
    Если правильно помню for к тому-же жрет меньше вычислительных ресурсов.

    • @EmeraldPowder
      @EmeraldPowder  4 года назад

      Совершенно согласен, с while надо быть аккуратнее, и точно быть уверенным что он не зациклится, если использовать. Но я ближе к концу его как раз и заменил на for по всем клеткам

  • @evgentereshchuk7698
    @evgentereshchuk7698 4 года назад +5

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

    • @EmeraldPowder
      @EmeraldPowder  4 года назад +1

      На следующем видео увеличу масштаб! Все забываю переключить, когда начинаю видос записывать

    • @Creativeeart
      @Creativeeart 4 года назад

      @@EmeraldPowder а можешь записать видео, где ты научился программировать? Может или тут какие курсы посоветуешь

  • @_-_960
    @_-_960 4 года назад

    Я в шоке

  • @StealerSlain
    @StealerSlain 4 года назад

    На часах всегда одно и то же время monkaHmm

    • @deman2490
      @deman2490 4 года назад

      StealerSlain топ аватарка непрогрузившейся картинки, оригинально ;D

  • @gamechecker4
    @gamechecker4 4 года назад

    Цвет редактора, будто в глазах размыто, а также некоторые элементы кода сливаются. Даже в HD смотреть тяжело