Система строительства зданий [Unity 3D] [Tutorial]

Поделиться
HTML-код
  • Опубликовано: 1 июн 2024
  • Делаем систему для строительства зданий по сетке в Unity 3D. Она подойдёт для строительства зданий в вашей стратегии, сити билдере, ферме, а если применить фантазию то можно сделать из неё например инвентарь сеткой, как в сталкере или resident evil, или ещё что-нибудь необычное и интересное
    0:00 - Введение
    0:31 - Настраиваем здание и скрипт Building
    6:39 - Начинаем писать BuildingGrid
    14:17 - Проверки на границы
    17:54 - Ещё два типа зданий
    20:42 - Проверка пересечений
    24:04 - Заключение
    Готовый проект - github.com/emeraldpowder/Buil...
    Patreon канала - / emeraldpowder
    Наш Discord - / discord
    На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
    Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео

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

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

    Ой, была кривая ссылка на проект, теперь всё работает
    Старался в этом видосе более подробно всё объяснять, и показывать побольше всяких хоткеев-советов. В общем более beginner-friendly. Как вам такие видео?

    • @user-kp8db4nz6n
      @user-kp8db4nz6n 3 года назад +2

      В планах сделать реалтайм тени в 2,5D top-down игре (с видом как будто под 30•) очень хочется услышать совет от опытного человека. Что лучше всего подойдёт для реализации таких теней? Хочется добиться эффекта как в Smart Lightning 2D. Из ассетстора

    • @DS-cn7uh
      @DS-cn7uh 3 года назад +1

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

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

      Спасибо, круто. Когда про ECS что-то будет?

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

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

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

      А ты можешь сделать цикл роликов про программирование на Unity с нуля (для новичков, почти как в этом ролике) со всеми объяснениями? (хотя бы через пол года)

  • @user-by2zb2oi6y
    @user-by2zb2oi6y 3 года назад +48

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

  • @flashpaperdotru
    @flashpaperdotru 3 года назад +10

    Отличные уроки! Всё понятно, просто и без лишних разглагольствований.

  • @yorymotoru
    @yorymotoru 3 года назад +7

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

  • @mdmm_yt
    @mdmm_yt 3 года назад +21

    Обязательно продолжай! Очень приятные, понятные и качественные уроки. Однозначно лайк

  • @Pro1ooPlayer
    @Pro1ooPlayer 3 года назад +31

    Да ну!) Помню просил об этом туториале примерно пол года назад) дождался) спасибо!

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

      Да, помню что откуда-то из комментов это идею в список добавлял)

    • @Kopnu
      @Kopnu 3 года назад +6

      @@EmeraldPowder Давай теперь туториал по генерации террейна квадратами, как например в OpenTTD x)

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

      @@Kopnu жди пол года ХD

    • @s.g.a.s5107
      @s.g.a.s5107 2 года назад

      @@EmeraldPowder как добавить сохранение сцены ?

  • @gameviewer5693
    @gameviewer5693 3 года назад +2

    Спасибо за видео, очень информативное, хотелось бы продолжения этой темы

  • @kafif28
    @kafif28 3 года назад +32

    Ура!!! Размер шрифта больше!!

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

      Да, наконец-то я про это не забыл)

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

    Урок просто супер. Повторил и сделал сейчас буду более подробно углубляться в код.

  • @SergeyRuJoker
    @SergeyRuJoker 3 года назад +2

    Автор, ты красавчик! Продолжай в том же духе!

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

    Ты лучший! Ни у кого не видел такого простого и удобного туториала.

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

    Спасибо за обручающий контент! Интересная фишка с хранением не всего объекта, а только скрипта на нем (я про переменную flyingbuilding). Возьму на заметку

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

    Самый уникальный по механикам и контенту канал по Unity на всем русскоязычном RUclips! Instant like!

  • @Studio-hj8hy
    @Studio-hj8hy 2 года назад

    Спасибо за видео!!! очень долго искал что-то вроде этого!

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

    Прекрасный урок, огромное спасибо!)

  • @user-lo2dp3lc9n
    @user-lo2dp3lc9n 3 года назад

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

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

    Спасибо большое за твои видеоролики!

  • @Ghost_Paladin
    @Ghost_Paladin 3 месяца назад

    Спасибо за урок! Всё понятно)

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

    Я развил эту идею, и смог сделать свою стратегию, большое тебе спасибо! Давно тебя смотрю, пересмотрел почти все твои видео :)

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

      Спасибо что смотрите)

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

    Однозначно лайк. Если не затруднит - хотелось бы увидеть про поиск пути юнитами

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

    Настолько крутые видео на этом канале. Я в шоке

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

    Спасибо за видео! Полезно!)) Подписался.

  • @Marson5
    @Marson5 2 года назад

    Ролик с нормальным понятным объяснением. Респект.

  • @user-hs2fc7iv4y
    @user-hs2fc7iv4y 3 года назад +1

    делай продолжение!!! топ видео!!! Также было бы интересно посмотреть видео про сравнение Rider и VSCode и их настройку. Я модернизировал твой урок по следам на снегу в модификатор ландшафта, поэтому мне ещё интересно посмотреть про изменение Y координат у зданий при размещении на неровной поверхности, а также последующей изменениии геометрии этой поверхности.

  • @user-no2di3to6p
    @user-no2di3to6p 3 года назад +2

    Чел, в раю для забронирована VIP-ложа. Огромное спасибо за твои труды)

  • @ELTN
    @ELTN 3 года назад +25

    Как же я обожаю этого челика )))

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

    Спасибо, все понятно и легко!

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

    Спасибо за уроки и пояснения работы с Юнити

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

    из всех каналов, что я видел этот самый полезный. Даже не немного полезнее, а НАМНОГО, чем другие. Понасмотрелся разных приколюх, даже залил уже в плеймаркет игрульку.(правда мусор вышел, но первая что поделать.)) Крч спасибо тебе огромное.)

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

    Отлично! Автор - профи

  • @user-pc8ks5ju7s
    @user-pc8ks5ju7s 3 года назад +1

    Требую продолжения))

  • @YasnaKo
    @YasnaKo 2 года назад

    Изумрудик, твой канал в списке любимых школ на Ютубе.

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

    Благодарю за видео!

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

    Следующая часть нужна!!!

  • @neverworld8815
    @neverworld8815 2 года назад +2

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

  • @user-vv2vz2tl1n
    @user-vv2vz2tl1n 3 года назад +1

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

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

    Огонь 🔥 спасибоооо

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

    Крутотень, влом было думать над подобной реализацией, и искать тоже влом =) А тут само пришло =)))

  • @Slava.Hizhnyak
    @Slava.Hizhnyak Год назад

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

  • @user-mn7rb7fq4e
    @user-mn7rb7fq4e 3 года назад +5

    За Готовый проект
    Спасибо

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

      Привет Кирилл Некирилл а фуга тв и не пятерка.

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

    Очень крутые видео

  • @aleks_gavs
    @aleks_gavs 2 года назад

    Пока лайк и подписка, посмотрю потом, когда будет необходимость.

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

    Классный урок. Подскажи как долго ты вникаешь и пишешь код? Или прям на лету всё приходит?

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

    Спасибо я поставиль лайк ! Мне очень хочется чтоб ты сделал продолжения как сделать стратегия

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

    Ну теперь можно создать свой RTS. Спасибо за труды.

  • @ves3219
    @ves3219 3 года назад +3

    Лай поставил. Продолжи пожалуйста по теме.

  • @Nyyaaan
    @Nyyaaan 3 года назад +3

    годнота

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

    Видео супер информативное. Спасибо. У меня только возникли трудности с поворотом. Поворачивается сам мэш относительно нулевых координат а сама область под ним остается на месте.

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

    опа, годный контент

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

    Попробуем)

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

    несколько раз пересмотрел

  • @Kot-fy4dv
    @Kot-fy4dv 3 года назад

    Топовый видосик, когда продолжение ???

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

    Лайк не глядя

  • @Dumkras_old
    @Dumkras_old 3 года назад +5

    Видео топ, спасибо)
    Есть только один вопрос - как сделать место под здание не квадратное как у тебя ( 1х1 клетки, 3х3 клетки), а как в тетресе напрмер, буквой П или Г ? буду очень благодарен твоему ответу!

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

      2 мерный bool массив, как вариант

  • @fakhriev9346
    @fakhriev9346 3 года назад +3

    Это очень круто!
    Также, думаю, хорошая практика некоторые ошибки на время оставлять, чтобы мы их поискали

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

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

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

    подписываюсь на канал!)

  • @imhere1.
    @imhere1. 3 года назад +1

    Вау спасиба

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

    Очень крутое видео! Можешь подсказать, как сделать возможность размещать несколько BuildingsGrid, в сцене, а не чтобы был один привязанный к точке?

  • @brunskiy
    @brunskiy 2 года назад

    Спасибо

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

    лучший

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

    Приветствую. Подскажи каким образом используя твою систему можно еще и в сцене строить по сетке соответственно.

  • @user-qg1kd4zi3g
    @user-qg1kd4zi3g 3 года назад

    Отличный урок, спасибо. А вот ты взял и сам предложил, никто за язык не тянул, добавить юнитов и немного экономики ;-)

    • @prodavezzz2962
      @prodavezzz2962 3 года назад +2

      помоги сделать здания за ресурсы

  • @SchlachtschiffBismarck-gf3fi
    @SchlachtschiffBismarck-gf3fi 3 года назад

    Лучший

  • @user-ti2ei5ms4y
    @user-ti2ei5ms4y 3 года назад +1

    Как всегда ТОП! Можешь запилить плейлист работы с Motion Controller от ootii?

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

    Спасибо мэн)

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

    Спасибо за интересный урок! Такой вопрос как можно сделать постройку здания ТОЛЬКО рядом с другими проверкой гизмо? При этом запретить строить в других местах если объекта вплотную нету.

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

    Супер

  • @francek3892
    @francek3892 2 года назад +1

    Большое спасибо за помощь в завершении моего проекта, но не могли бы вы показать мне, как заставить объект вращаться с помощью колесика мыши?

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

    механика TBS передача хода и трата очков действия будет ли ?
    спс

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

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

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

      Я сейчас ещё и работаю в мобильном геймдеве, да. Но довольно долго занимался этим для себя

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

    А можно проверку пересечения с другими объектами делать просто box-collider'ом?

  • @user-ie6tu5tz8r
    @user-ie6tu5tz8r 3 года назад +3

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

  • @cheatcodezzz
    @cheatcodezzz 2 года назад +1

    хаха, жаль что это видос месяц назад не смотрел. Свою реализацию гексов делал, но полезно!

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

    Было бы интересно про то, как назначить разную стоимость каждом зданию. И юниты. И, кстати, на ютубе полно уроков про AI врага, но буквально почти нет про AI рабочего, который, например, таскал бы предметы из здания в здание. Было бы здорово, если бы Вы сделали такой урок)

    • @bistrec
      @bistrec 3 года назад +3

      Ты шо там новый Warcraft III создаешь? :)

    • @shiraorihiiro224
      @shiraorihiiro224 7 месяцев назад

      римворлд@@bistrec

  • @dimasource8414
    @dimasource8414 3 года назад +5

    Как сделать что-бы сетка была по центу объекта

  • @alexandrmechanic8001
    @alexandrmechanic8001 2 года назад

    Отличный урок! Но есть вопрос, как реализовать вращение здания?

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

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

  • @august713
    @august713 2 года назад +1

    Есть проблема: если позади UI кнопки находится plane, то при повторном нажатии на неё здание не удаляется ( Destroy(flyingBuilding.gameObject) - не срабатывает ), а здание ставится за кнопку. Как можно решить эту проблему?
    Нужно наверное как-то проверить: нажимает ли пользователь на элемент UI и если это так, то не давать размещать здание. Но как? Подскажите, пожалуйста

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

    Как всегда математику понял туго, я бы сделал колайдерами, но думаю твой способ куда эффективней

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

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

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

      @@EmeraldPowder Я в своем проекте объединял технологию сетки и коллайдеров. Сетка влияла на сам принцип можно/нельзя строить, а коллайдер использовался для удаления камней/деревьев/травы из под строящегося здания.

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

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

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

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

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

      Если, что разобрался. Код на киберфоруме в теме "Работа с Mesh префабов"

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

    Привет! Будет продолжение с поворотом зданий и поиском пути юнитов?

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

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

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

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

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

      @@EmeraldPowder как продолжение было бы шикарно

  • @user-yb6vk2tg9u
    @user-yb6vk2tg9u 3 года назад

    Отличное видео!
    Дружище, расскажи очень важную вещь кусаемую RTS - деформация терраина/меша под постройкой
    Всм. создание простой плоскости (деформации) на неровной поверхности под постройкой
    Да, речь идёт о нормалях, ну я думаю ты меня понял, это было бы здорово и полезно, думаю для многих

    • @dkvChannel
      @dkvChannel 2 года назад

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

    • @khanuralgo4329
      @khanuralgo4329 2 года назад

      @@dkvChannel можно сохранять информацию об измененых высотах, а при сносе здания откатывать

  • @thedrunk5407
    @thedrunk5407 2 года назад

    Все уроки бомбезные, при чем по ютубу ищу и постоянно на этот канал выхожу =D начинаю думать, что проще сначала здесь поискать) ток ни где не слышал, можно ли юзать код в рамках свободного распространения\использования?

    • @EmeraldPowder
      @EmeraldPowder  2 года назад +2

      Спасибо! Мой код из видосов и с гитхаба точно можно, для того я это всё и делаю, чтобы люди пользовались

  • @francek3892
    @francek3892 2 года назад

    Вы можете сделать то же самое, что и уничтожить объект, щелкнув правой кнопкой мыши после его настройки?

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

    А можно рассказать про систему сохранения игры?

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

    требую продолжения банкета

  • @hockman_
    @hockman_ 2 года назад

    📈

  • @august713
    @august713 2 года назад

    Здравствуйте, подскажите, пожалуйста, почему у меня сетка (gizmos, если я правильно разобрался в терминологии), рисуется не под объектом, а на его половине. Т.е. она "разрезает" объект посередине. Код скопирован в точности, но почему-то есть такая неприятная особенность.
    Unity 2020.3.12f1

  • @d3dx259
    @d3dx259 2 года назад

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

  • @ruslanmikhailov2844
    @ruslanmikhailov2844 2 года назад

    Блин! Как такому научиться? Порядку мышления и скорости написания со всем пониманием. Ну круто же!

    • @EmeraldPowder
      @EmeraldPowder  2 года назад +6

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

  • @44i61
    @44i61 3 года назад +1

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

  • @user-um2tz8oe9p
    @user-um2tz8oe9p 2 года назад +2

    А как "нарисовать" сетку в самой игре? Я же не могу вручную сделать огромною сетку. Я сейчас конечно подумаю, и наверное пойму) Но всё-таки комментарий оставлю)

  • @user-ki6ec9qz1s
    @user-ki6ec9qz1s 3 года назад +1

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

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

      Привет, идея интересная, возможно сделаю когда-нибудь

    • @user-ki6ec9qz1s
      @user-ki6ec9qz1s 3 года назад

      @@EmeraldPowder а есть возможность как то в личке переписатья?

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

    А как задать начало координат откуда начинается сетка?(допустим я хочу чтобы сетка начиналась в конкретных коориданат как это сделать)У plane нету ни трансформ ничего. Пытаюсь использовать эту систему в 2д. И ни как не получается нормально адаптировать чтобы все так же просто работало.

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

    Продолжение!

  • @dedzuka
    @dedzuka 3 года назад +2

    🎆

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

    8:36 Уничтожается компонент Building, а не весь gameObject. Правильно будет: Destroy(flyingBuilding.gameObject);

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

    Gizmos это что то вроде инструментов управления:)

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

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