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

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

КОМЕНТАРІ • 164

  • @T1m0the0S
    @T1m0the0S 4 роки тому +111

    Чуть мозг не бомбанул) Обязательно посмотрю продолжение. На уровне Sebastian Lague канал, только по русски. Даёшь ликбез в массы! Процветания каналу.

    • @adamlain5979
      @adamlain5979 4 роки тому +7

      Это как минимум, контент Бомба :)

    • @istpmncrft
      @istpmncrft 4 роки тому +2

      ТРЕБУЮ ЗАКРЕПИТЬ КОМЕНТ!!!

    • @user-vr4fc1rb7e
      @user-vr4fc1rb7e 3 роки тому +3

      Я: кто такой Sebastian Lague?
      * вбиваю в поиск *
      Мне показывает канал с надписью: вы подписаны.
      Если что, я мало на какие каналы подписан.

    • @jamiearyan9058
      @jamiearyan9058 3 роки тому

      pro tip: watch series on Flixzone. Me and my gf have been using it for watching a lot of movies lately.

    • @majorkeanu3882
      @majorkeanu3882 3 роки тому

      @Jamie Aryan Yea, have been watching on Flixzone for years myself :D

  • @Koaalla
    @Koaalla 4 роки тому +21

    Наконец-то! Годный и качественный канал по Unity. Где разбираются интересные задачи. А не миллионный раз создают платформер.

  • @akstis4183
    @akstis4183 4 роки тому +9

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

  • @brudanin
    @brudanin 4 роки тому +11

    Огромное спасибо, сегодня сделал свои моделки в воксели и настроил генерацию с помощью вашего канала и проекта! Теперь хочется строить города)

  • @stasonick
    @stasonick 3 роки тому +1

    Очень интересная и актуальная для меня тема. Спасибо за подробную информацию!

  • @petrhelbin8183
    @petrhelbin8183 3 роки тому

    прекрасный канал с интересными задачами и таким же интересным решением

  • @PawaPepeGemabody
    @PawaPepeGemabody 4 роки тому +12

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

  • @user-lf4uo1lq9e
    @user-lf4uo1lq9e 2 роки тому

    Парень ты вывел меня на другой уровень представления)) Спасибо, что ты есть)

  • @5_funger
    @5_funger 4 роки тому +1

    Генератор уникального контента!

  • @inetto84
    @inetto84 4 роки тому +26

    Блин, прям в точности то, что меня интересует последние время, словно мысли прочитали.) Будем смотреть.)

    • @maldok4087
      @maldok4087 3 роки тому +1

      Кстати генерация майна наверно такая же

    • @user-wj5xb2eo6s
      @user-wj5xb2eo6s 3 роки тому +5

      @@maldok4087, нет

    • @sefo0ks
      @sefo0ks 3 роки тому +1

      @@maldok4087 нет, там не заготовленые тайлы, а рандомная генерация

    • @bebezyanovi4
      @bebezyanovi4 9 місяців тому

      @@maldok4087 Там шум Перлина используется

  • @grimseal
    @grimseal 4 роки тому

    Отдельное спасибо за шорткаты в райдере :)

  • @Koaalla
    @Koaalla 4 роки тому

    Спасибо огромное! Продолжай!

  • @zotovvr
    @zotovvr 3 роки тому

    Все впитал, спасибо за контент !

  • @mrminecrafter3829
    @mrminecrafter3829 3 роки тому

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

  • @Martix181
    @Martix181 4 роки тому +1

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

  • @WannaSleap
    @WannaSleap 3 роки тому

    просто лучший спасибо за туториал

  • @user-lx1vg9hv8g
    @user-lx1vg9hv8g 4 роки тому +26

    Спасибо тебе за такие полезные видео! Продолжай снимать, многим этим помогаешь) Удачи в развитии канала!

    • @kellerkey
      @kellerkey 4 роки тому

      Какой шустрый

  • @HeroPancake
    @HeroPancake 4 роки тому

    Очень интересно увидеть вторую часть

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +1

      Спасбио, в следующее воскресенье выйдет

  • @minvotto1262
    @minvotto1262 4 роки тому +20

    Если чесно,то ничего в программировании не смыслю но коммент пишу для продвижения в масы) лайк тоже поставил

  • @marvincolex9237
    @marvincolex9237 4 роки тому

    Лайк, это интересно

  • @andrexxelles
    @andrexxelles Рік тому

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

  • @spasatilex-1280
    @spasatilex-1280 4 роки тому +11

    Пожалуйста, сделай больше шрифт кода!

  • @itzhellcod3r-developer609
    @itzhellcod3r-developer609 4 роки тому +1

    Спасибо!)

  • @user-vi2qp5um3f
    @user-vi2qp5um3f 4 роки тому

    Однозначно лайк

  • @a_and_s9964
    @a_and_s9964 4 роки тому +2

    Ну лайк!

  • @manro_2780
    @manro_2780 4 роки тому

    Спасибо ты гений

  • @DeadRabbitCanDance
    @DeadRabbitCanDance 3 роки тому

    Вдруг попалось твоё видео. Алилуйя! Я тут пытаюсь по словарю (grammaly template rnd gen) что то-то приемлемое построить, пока получается только полная дичь или примитивизмЪ.
    Но просто посмотрев твой ролик, где ты очень ясно излагаешь свои мысли, я придумал еще один вариант. Код - ничто. Идея - всё! Но идея без понимания, как это реализовать - тоже ничто! Рабочий код - это всё! Но рабочий код без понимания почему и как он работает - это опять ничто. Спасибо тебе за отличный ролик! Тут и идея и реализация.

  • @lerstq4132
    @lerstq4132 Рік тому

    оч круто🙂

  • @KoliaBoroda
    @KoliaBoroda 2 роки тому

    хорошее видео, толково говорите

  • @alexeyrival
    @alexeyrival 4 роки тому

    Коллапс волновой функции! Буквально пару недель назад про него статью писал!)
    Спасибо за видос, как всегда информативно)

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

      Что за статью? Я что-то про эту тему уже статьи четыре на хабре прочитал, вот и решил что точно нужно самому разобраться и другим рассказать)

    • @alexeyrival
      @alexeyrival 4 роки тому

      @@EmeraldPowder я вконтакте пишу, отдельный мелкий паблик завёл, "Процедурный Вестник".
      Статья называется "Не так страшен, как звучит: Коллапс волновой функции"
      В основном там сверхпростым языком объясняются какие-то вещи из процедурной генерации. Поскольку я продаю софт тем людям, которые не сильно понимают, как это всё вообще работает, нужно как-то повышать образованность населения, так сказать)
      На самом деле я собирался даже сделать видос про коллапс волновой функции, ибо видео про город зашло на ура вопреки низкому качеству, но раз уж ты(вы?) всё равно сделаешь видео на эту тему, и оно гарантированно будет лучше моего, то я выберу что-нибудь другое:D

    • @alexeyrival
      @alexeyrival 4 роки тому

      @@EmeraldPowder upd:
      только что проверил, паблик по поиску не бьётся, ибо мелкий, нужно смотреть по адресу /procedural_herald

  • @user-wv8vz6kt7z
    @user-wv8vz6kt7z 4 роки тому +13

    Это конечно интересно все(без иронии), но как сделать облака в HDRP как динамический skybox -это да-это та тема видоса которую я хочу увидеть. И вообще хочу и жду видосы с HDRP

  • @OnTheWayToTheDirection
    @OnTheWayToTheDirection 2 місяці тому

    Лучший

  • @finerace
    @finerace 4 роки тому +1

    Ну ты крутой блин блинский!!

  • @user-hk1lk6ty6v
    @user-hk1lk6ty6v 4 роки тому

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

  • @nikto5878
    @nikto5878 4 роки тому

    Круть!

  • @yura-hh6be
    @yura-hh6be 4 роки тому

    я афигел спасибо

  • @captaincross980
    @captaincross980 4 роки тому +2

    Ничего не понял, но очень интересно :)

  • @unPhine
    @unPhine 3 роки тому

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

  • @silentage6310
    @silentage6310 3 роки тому +6

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

    • @user-di6gh8oq1p
      @user-di6gh8oq1p 3 роки тому +1

      Для поиска совпадения можно же использовать нижний (невидимый) слой тайла, так же тоже можно)

  • @useruuuuuuyyy
    @useruuuuuuyyy 3 роки тому +1

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

  • @iamskoi
    @iamskoi 4 роки тому

    Отличные уроки, отличный контент! Я правильно понял, что после сбора цветовой информации по сторонам, ты хочешь вставить этот рассчитаный массив уже в префаб? Чтобы каждый раз не вычислять цвета?

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

      Спасибо!
      Да, можно этот массив сохранить в префаб чтобы потом не считать, думаю в одном из следующих видео добавлю это. Но вообще эти вычисления не такие сложные, можно оставить в процессе загрузки сцены, то есть в Start'e, если конечно тайлов не под сотню и оно не тормозит

  • @nivalius
    @nivalius 4 роки тому +22

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

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +7

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

    • @BlackWhite-gp8oz
      @BlackWhite-gp8oz 3 роки тому

      @@EmeraldPowder На каком языке писал игру?

    • @zandkcsgo1040
      @zandkcsgo1040 3 роки тому

      @@BlackWhite-gp8oz на Юнити только c#

    • @BlackWhite-gp8oz
      @BlackWhite-gp8oz 3 роки тому

      @@zandkcsgo1040 мог сказать "на c#", я бы понял, а так у тебя не правильно сформулированное предложение

    • @user-ck2re9ex5v
      @user-ck2re9ex5v 3 роки тому +2

      @@BlackWhite-gp8oz я бы так не сказал. Автор работает в юнити, а юнити поддерживает только язык с#

  • @TANDEROIDandMrBasterTheTAB
    @TANDEROIDandMrBasterTheTAB 4 роки тому +4

    Привет, смотрю с интересом, и дальше буду смотреть части. Но есть пару моментов.
    1) Не кажется ли тебе, что многовато хардкода с UV координатами? То что там не более 256 пикселей, то что смотрим только на x?
    2) У тебя функция с рейкастом возвращает номер пикселя, и если не находит, вернет 0. Мне кажется, это не очень хорошо, ведь если точки на uv координате будет стоять в самом центре первого пикселя, то при усножении на 256 все равно даст 0. И тогда можно возникнуть путаница. Можно конечно сделать возвращать -1, если ничего не нашлось, но ещё лучше возвращать null(для этого нужно преобразовать тип возвращаемого значения в нулебл тайп, private !int...)
    3) не очень хорошая идея сравнивать вектора. Дело в том, что они состоят из float, а сравнивать их опасно. Под сравнеием Я имею ввиду только операции == и != . Это из-за того, что float может в люой момент скакнуть с 1 на 0.99999 или 1.00001, и тогда == выдаст false. Так что, Я бы тут лучше сделал enum
    4) Это уже мелочь совсем, но все же. Не думаю, что эта экономия на спичках с байтами, даст хоть какой-то прирост в производительности. А вот проблемы потенциально создать может.

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +2

      Привет. Спасибо за замечания! Все по существу
      Хардкода немало, да, но если модельки из MagicaVoxel то эти вещи не будут меняться. А если какие-то другие - то в принципе несложно зайти и поменять. Хардкода в видосах вообще получается больше чем в обычном коде, чтобы не тратить время видео на вынос всех переменных
      Про 0 - да, наверное стоило об этом в видео сказать. Я нулевой цвет не использую, но можно поменять на int и сделать -1 для пустого цвета, если нужны все 256 из палитры. Nullable тоже можно, но он потяжелее будет. byte vs int - на 10 тайлов будет 2.5KB vs 10KB, в любом случае совсем не страшно
      С векторами тоже сделал бы enum, но в видосе торопился и сделал так. Работать будет, они скачат только если с ними математические операции выполнять, если просто записать (0,1,0) то там всегда (0,1,0) и будет. Но если вот разделить на 2 и потом умножить то скакнёт, или вычесть и прибавить одно и то же число

    • @TANDEROIDandMrBasterTheTAB
      @TANDEROIDandMrBasterTheTAB 4 роки тому +1

      @@EmeraldPowder Я понимаю, что эти замечания актуальны скорее для реального кода, чем для туториала. А про флоат - это просто личная боль, и Я уже просто боюсь его сравнивать напрямую) Кстати, в MagicaVoxel нельзя выставить, чтобы она экспортировала не 1*256, а 16*16?

    • @DeadRabbitCanDance
      @DeadRabbitCanDance 3 роки тому

      float дает погрешность непредсказуемо. Даже не на очень то больших или маленьких числах. Поэтому... Кстати причина такого поведения флоата кроется в его реализации, а не в "размерности", это никак не связано с переполнением битового пространства отведенного под хранение.

    • @TheC418
      @TheC418 3 роки тому

      Несколько замечаний.
      2) В целом верно, но вместо возврата null лучше использовать Try Pattern
      3) float сам по себе не может скакнуть с 1 на соседнее число. Енам тут, очевидно, стоит делать, но ваше утверждение насчёт float не совсем верно, просто есть числа, которые невозможно представить типом float, соответственно там может возникнуть погрешность, но само по себе это не происходит)

  • @user-op4hi1uk3q
    @user-op4hi1uk3q 4 роки тому +2

    ого, всего лишь 8к подписчиков, я нашёл тебя

  • @glimpixels
    @glimpixels 4 роки тому +3

    0:00 похоже на настольную игру "Каркасон". Что-то типа домино, но с дорогами, стенами, полями и т.п.

    • @glimpixels
      @glimpixels 4 роки тому +1

      Как здесь 0:01 короче.

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +2

      Да, есть небольшое сходство. Настолка кстати неплохая, играл)

    • @user-wj5xb2eo6s
      @user-wj5xb2eo6s 3 роки тому +2

      Я спустился в комменты только чтобы найти комментарий о каркассоне

    • @glimpixels
      @glimpixels 3 роки тому

      @@user-wj5xb2eo6s Копец)

  • @user-tw9oz4ee9v
    @user-tw9oz4ee9v 3 роки тому

    На порядок сложнее лабиринтов и чанков из прошлых видео.) Убил часа 3, наверное, но разобрался что в этих 20 минутах творится.)

  • @jusii458
    @jusii458 3 роки тому

    Супер!!! Только шрифт мелковат.

  • @Totallygeekdom
    @Totallygeekdom 3 роки тому +1

    Why was this recommended to me? Video looks cool though even if a can't understand it.

    • @rayhansatrio7475
      @rayhansatrio7475 3 роки тому +1

      i think this is that algorithm where world tiles have certain rules, like a beach tile has to be between sea and land, not 100% sure tho

  • @esnaglfar4437
    @esnaglfar4437 3 роки тому

    Привет!
    Не замерял, насколько требователен такой подход к генерации уровня к системе?
    Почему для генерации ты выбрал рейкасты для определения цветов и соответствий тайлов вместо преднастроенной матрицы соответствия + правила размещения?

    • @EmeraldPowder
      @EmeraldPowder  3 роки тому +1

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

  • @styrbo
    @styrbo 4 роки тому

    разве не лучше получать самые крайние точки меша чем пускать кучу рейкастов? да и оно будет странно работать если тайлы вплотную будут стоять друг к другу.
    а так спасибо за урок) очень понятно и доступно объясняешь материал

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +1

      Про крайним точкам меша цвет средних вокселей не определишь так просто, а если тайл 8*8 то они важны. Если вплотную то да, но я их тут расставляю сам, и потом скорее всего этот код будет вызываться только в редакторе, а массив цветов сохраняться где-нибудь в тайле

    • @stepanshnder1850
      @stepanshnder1850 10 місяців тому

      @@EmeraldPowder а как сделать рзменение высоты???

  • @inji4579
    @inji4579 4 роки тому

    Мудрота.
    Офтопный вопрос, что за текстовой редактор? Никак не привыкну к VS, оч хотелось бы что-то еще попробовать адекватное, с поддержкой Юнити-подсказок.

  • @SevarJer
    @SevarJer 4 роки тому

    Во время видео.
    - 8? Б** откуда 8? А это площадь стороны!
    - 0.5 откуда? ААА Это размер вокса на 2 деленое.
    - Тайл? Что за тайл такой? ААА я все забыл. А это квадратик в моделе.)
    Спасибо. С отречества так мозг не напрягал. Удачи, и не останавливайся )

  • @anatoliy9696
    @anatoliy9696 4 роки тому +2

    Привет, будут видосики "Все о DOTS" ?

    • @DeadRabbitCanDance
      @DeadRabbitCanDance 3 роки тому

      А зачем тебе DOTS? ПишЫ мне на почту, я тебе курс скину.

  • @shellypeng8855
    @shellypeng8855 3 роки тому

    Hi emerald, great tutorial again! I am wondering why the raycasthit's tetuxreCoord.x gives the colorIndex.

    • @EmeraldPowder
      @EmeraldPowder  3 роки тому +1

      Hi, thanks! You can see the texture used on my meshes around 7:37, that's the way MagicaVoxel exports all textures. basically it's 256px*1px line, where each pixel is one color from palette. As the X coordinate in UV changes from 0 to 1, if we multiply it by 256, then values from 0 to 1 means it is first pixel, and hence first color from palette. 1 to 2 is second pixel-color, and so on

    • @shellypeng8855
      @shellypeng8855 3 роки тому

      @@EmeraldPowder I am also wondering why the ray to get the pixel of the right side is shooting from the left(rayStart: -half on the x axis) to the left side of the tile, doesn't this give the left side pixels?

  • @manro_2780
    @manro_2780 4 роки тому

    ты можешь сделать материал невидимка который скрывает даже часть модель? Я понятия не имею, как это сделать!

  • @konstantinpavlov7100
    @konstantinpavlov7100 4 роки тому

    0:27 - «о коллапсе волновой функции много говорят» Где говорят?) Собственно вопрос что/кого читать чтоб быть в курсе? Посоветуй плиз источники, где всякие такие штуки обсуждают, ну или вообще что-нить интересное.

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

      Я в основном много статей на хабре видел:
      habr.com/ru/post/475188/
      habr.com/ru/post/437604/
      habr.com/ru/post/461323/
      habr.com/ru/post/488336/

    • @konstantinpavlov7100
      @konstantinpavlov7100 4 роки тому

      @@EmeraldPowder Благодарствую

  • @jasonbrain1585
    @jasonbrain1585 3 роки тому

    Вопрос, а можно это делать с не воксельными элементами

  • @leastexpected3115
    @leastexpected3115 4 роки тому

    а почему ты используешь старую версию блендера? Ведь уже есть 2.83 версия

  • @stepanshnder1850
    @stepanshnder1850 10 місяців тому

    Как сделать процедурную генерацию леревьев на этих обьектах??

  • @user-uc5wn3nu1i
    @user-uc5wn3nu1i 3 роки тому

    Привет, карта будет генерироваться безконесно?

    • @EmeraldPowder
      @EmeraldPowder  3 роки тому

      Привет, в моем проекте только заданного размера, но можно его расширить, и когда игрок двигается к краю генерировать следующий кусок

  • @user-wy6ly1sr3c
    @user-wy6ly1sr3c 4 роки тому +1

    Привет, помоги мне пожалуйста, как экспортировать анимацию в unity , а я делал в MagicalVoxel

  • @user-pm2ru6ir6n
    @user-pm2ru6ir6n 4 роки тому +1

    Классная идея ) но есть же textureCoord у хита ua-cam.com/video/iG_n23W952Y/v-deo.html , зачем так все усложнять ))

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +1

      Хм, а ведь и правда. Я когда искал как получить координаты как-то эту фичу проглядел)

  • @stepanshnder1850
    @stepanshnder1850 10 місяців тому

    А как сделать большую разницу в высотах??

  • @user-hp2cg6px8c
    @user-hp2cg6px8c 4 роки тому

    А как по нагрузке?
    Столько циклов и проверок

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

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

  • @user-bo5eb1ou4r
    @user-bo5eb1ou4r 4 роки тому

    Как сделать сетку? Чтобы объекты магнитились на центр каждой клетки?

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

      Если при установке скриптом магнитились - делить координаты на размер клетки, округлять к целому, и обратно умножать. Если в редакторе - удерживать ctrl при перемещении, в Edit->Snap Settings настраивается размер сетки

    • @user-bo5eb1ou4r
      @user-bo5eb1ou4r 4 роки тому

      @@EmeraldPowder Хорошо, спасибо!

  • @jackgreen9917
    @jackgreen9917 4 роки тому

    А что за коллапс волновой функции?

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

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

  • @iceshott8506
    @iceshott8506 2 роки тому

    Мне вот интересно как это синхронизировать в мультиплеерной игре

    • @EmeraldPowder
      @EmeraldPowder  2 роки тому

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

  • @JorgeGrapa
    @JorgeGrapa 2 роки тому

    Наверное, странный вопрос, я переписывал код по видео, у меня появлялись ошибки с названием переменных. Решил скопировать код скрипта. Но теперь почему-то не видно лучей

  • @user-ng2wm3ti1o
    @user-ng2wm3ti1o 4 роки тому

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

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

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

    • @evggg
      @evggg 4 роки тому +1

      Я не пробовал, но могу предположить, что это дело можно прям в юнити доводить до ума тулзой ProBuilder. Ну то есть открывать на редактирование модель и объединять/удалять полигоны. Раньше от этой же команды была тулза QuickEdit, не знаю, жива ли она сейчас.

  • @neem_off
    @neem_off 4 роки тому

    жду 2 часть. Поэтому сделал свой TileMap - ua-cam.com/video/-s_cwjTdibE/v-deo.html

  • @--.--
    @--.-- 4 роки тому

    Как изменить размер сетки для CTRL? Я искал, нигде не нашел, пишут невозможно

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

      В верхнем меню Edit - Snap settings

  • @user-zm4sz1vz5f
    @user-zm4sz1vz5f 3 роки тому

    Чувак, где и как обучится программированию, я сколько не пытаюсь, не понимаю структуру

  • @bigwhiskey9380
    @bigwhiskey9380 2 роки тому

    меджикт воксель где ее лучше скачать?

  • @istpmncrft
    @istpmncrft 4 роки тому

    О

  • @admenmod
    @admenmod 4 роки тому

    Шрифт побольше

  • @MILANZERG
    @MILANZERG 4 роки тому

    можешь исходный код скинуть на диск, а не на сайт, куда платить надо?

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому

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

  • @daskmc4444
    @daskmc4444 4 роки тому

    No entiendo como terminó viendo estas cosas

  • @evggg
    @evggg 4 роки тому

    А нельзя этот цвет как-то без физики определять? Тут же фиксированные размеры и ты знаешь, где каждый воксель находится.

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +1

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

    • @evggg
      @evggg 4 роки тому

      @@EmeraldPowder если один раз, то можно наверно и в эдитор вообще вынести и сохранять в каком-нибудь поле префаба. Правда, не уверен насчёт физики в эдиторе.

  • @KrutaMan
    @KrutaMan Рік тому

    почему 8*8 а не 10 * 10 , чтобы в юнити был размером 1*1 ?

  • @lordjamesf6644
    @lordjamesf6644 3 роки тому

    а как это в 2д реализовать?

    • @user-dz7ep4oe4l
      @user-dz7ep4oe4l 3 роки тому

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

  • @istpmncrft
    @istpmncrft 4 роки тому

    Д

  • @fingerboard79
    @fingerboard79 Рік тому +1

    что за хоткей в 8:30?

    • @fingerboard79
      @fingerboard79 Рік тому +1

      а то не могу так сделать

    • @fingerboard79
      @fingerboard79 Рік тому +1

      прийдетсья переписовать?

    • @fingerboard79
      @fingerboard79 Рік тому +1

      :(😟

    • @fingerboard79
      @fingerboard79 Рік тому +1

      не какой скрипт нормально не могу сделать(

    • @fingerboard79
      @fingerboard79 Рік тому +1

      что за хот кей?

  • @istpmncrft
    @istpmncrft 4 роки тому

    Е

  • @istpmncrft
    @istpmncrft 4 роки тому

    В

  • @ximikTVshow
    @ximikTVshow 4 роки тому +1

    Что за скриптовый редактор юзаеш?

    • @EmeraldPowder
      @EmeraldPowder  4 роки тому +1

      Jetbrains Rider, всем советую

    • @TrupDaVinci
      @TrupDaVinci 4 роки тому

      @@EmeraldPowder никак не могу найти крякнутую версию. Раньше стояла, после переустановки винды не могу снова найти и не помню где брал

  • @istpmncrft
    @istpmncrft 4 роки тому

    П

  • @istpmncrft
    @istpmncrft 4 роки тому

    Н

  • @istpmncrft
    @istpmncrft 4 роки тому

    Ж*

  • @istpmncrft
    @istpmncrft 4 роки тому

    Р

  • @mr.antonder9170
    @mr.antonder9170 4 роки тому +2

    Сделай туториал, как сделать мульте плеер в 3D игре ПЖ

  • @_axe_4374
    @_axe_4374 4 роки тому +2

    Привет, очень крутые видео! Но, очень не хватает толкового урока, как сделать всё "K P A C U B O", то есть, НОРМАЛЬНО настроить пост обработку, освещение, сделать эффекты и т.д.

  • @RunBull
    @RunBull 2 роки тому

    я программирую 3 дня я ещё язык не знаю только до циклов дошёл. зачем я это смотрю

  • @istpmncrft
    @istpmncrft 4 роки тому

    И

  • @igorgrischenko6518
    @igorgrischenko6518 4 роки тому

    Достаточно проверять три цвета: два угловых и центральный, вместо того, чтобы писать всю строку.

  • @boing30000
    @boing30000 9 місяців тому

    у меня этот код тупо выдаёт несколько критических ошибок

  • @grevel1376
    @grevel1376 3 роки тому

    why is this in my recommended

  • @BlackWhite-gp8oz
    @BlackWhite-gp8oz 3 роки тому

    На каком языке пишешь?

    • @EmeraldPowder
      @EmeraldPowder  3 роки тому

      В юнити сейчас все на C# пишут

  • @user-ys6ud4bk5n
    @user-ys6ud4bk5n 2 роки тому

    Видео я слишком глуп для такого, как не пытался всё ровно ничего не понял...

  • @istpmncrft
    @istpmncrft 4 роки тому

    Д

  • @istpmncrft
    @istpmncrft 4 роки тому

    Е