Система строительства зданий [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
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Ой, была кривая ссылка на проект, теперь всё работает
Старался в этом видосе более подробно всё объяснять, и показывать побольше всяких хоткеев-советов. В общем более beginner-friendly. Как вам такие видео?
В планах сделать реалтайм тени в 2,5D top-down игре (с видом как будто под 30•) очень хочется услышать совет от опытного человека. Что лучше всего подойдёт для реализации таких теней? Хочется добиться эффекта как в Smart Lightning 2D. Из ассетстора
Спасибо за очень классные видео,они действительно помогают разобраться в тех или иных "механиках" ,правда у меня возникли ошибки связанные с генерацией подземелий,я не совсем понимаю как делать разные размеры комнат с помощью скрипта,или допустим, при генераций комнат, чтобы одна определенная комната генерировалась только один раз за "этаж" или например,вводить "категорию" комнат,чтобы на первом этаже была одна "локация" ,а на втором другая,ну или чтобы вещи генерировались только в определенных комнатах.Хотелось бы продолжения уроков о генераций комнат так как многое было не сказано,а на RUclips мало русскоязычных источников по данной теме.
Спасибо, круто. Когда про ECS что-то будет?
Спасибо, побольше бы таких туториалов!
А ты можешь сделать цикл роликов про программирование на Unity с нуля (для новичков, почти как в этом ролике) со всеми объяснениями? (хотя бы через пол года)
*Комментарий со второго аккаунта для того, чтобы это видео чаще всплывало у людей в рекомендуемых*
Отличные уроки! Всё понятно, просто и без лишних разглагольствований.
У тебя очень крутые туториалы, я безумно рад что предложка ютуба сработала как надо, продолжай в том же духе, у тебя обязательно должно быть больше подписчиков
Обязательно продолжай! Очень приятные, понятные и качественные уроки. Однозначно лайк
Да ну!) Помню просил об этом туториале примерно пол года назад) дождался) спасибо!
Да, помню что откуда-то из комментов это идею в список добавлял)
@@EmeraldPowder Давай теперь туториал по генерации террейна квадратами, как например в OpenTTD x)
@@Kopnu жди пол года ХD
@@EmeraldPowder как добавить сохранение сцены ?
Спасибо за видео, очень информативное, хотелось бы продолжения этой темы
Ура!!! Размер шрифта больше!!
Да, наконец-то я про это не забыл)
Урок просто супер. Повторил и сделал сейчас буду более подробно углубляться в код.
Автор, ты красавчик! Продолжай в том же духе!
Ты лучший! Ни у кого не видел такого простого и удобного туториала.
Спасибо за обручающий контент! Интересная фишка с хранением не всего объекта, а только скрипта на нем (я про переменную flyingbuilding). Возьму на заметку
Самый уникальный по механикам и контенту канал по Unity на всем русскоязычном RUclips! Instant like!
Спасибо за видео!!! очень долго искал что-то вроде этого!
Прекрасный урок, огромное спасибо!)
С меня лайк и подписка, урок очень классный все четко и грамотно показано, хотелось бы удивить еще видео по созданию стратегии.
Спасибо большое за твои видеоролики!
Спасибо за урок! Всё понятно)
Я развил эту идею, и смог сделать свою стратегию, большое тебе спасибо! Давно тебя смотрю, пересмотрел почти все твои видео :)
Спасибо что смотрите)
Однозначно лайк. Если не затруднит - хотелось бы увидеть про поиск пути юнитами
Настолько крутые видео на этом канале. Я в шоке
Спасибо за видео! Полезно!)) Подписался.
Ролик с нормальным понятным объяснением. Респект.
делай продолжение!!! топ видео!!! Также было бы интересно посмотреть видео про сравнение Rider и VSCode и их настройку. Я модернизировал твой урок по следам на снегу в модификатор ландшафта, поэтому мне ещё интересно посмотреть про изменение Y координат у зданий при размещении на неровной поверхности, а также последующей изменениии геометрии этой поверхности.
Чел, в раю для забронирована VIP-ложа. Огромное спасибо за твои труды)
Как же я обожаю этого челика )))
Спасибо, все понятно и легко!
Спасибо за уроки и пояснения работы с Юнити
из всех каналов, что я видел этот самый полезный. Даже не немного полезнее, а НАМНОГО, чем другие. Понасмотрелся разных приколюх, даже залил уже в плеймаркет игрульку.(правда мусор вышел, но первая что поделать.)) Крч спасибо тебе огромное.)
Отлично! Автор - профи
Требую продолжения))
Изумрудик, твой канал в списке любимых школ на Ютубе.
Благодарю за видео!
Следующая часть нужна!!!
Сейчас смотрю это видео и понимаю насколько же это базовый урок
Это реально самый качественный контент по Юнити. Спасибо тебе огромное человечище...
Сагутин даже не рядом нервно курит, за сотни миль от тебя))))
Огонь 🔥 спасибоооо
Крутотень, влом было думать над подобной реализацией, и искать тоже влом =) А тут само пришло =)))
чувак...
Во-первых: Спасибо огромное за видео, оно нереально бустит в программировании + повышает к этому делу интерес, потому что в воздухе витает дух творчества)
Во-вторых: Сколько лет нужно было учится, чтобы так на лету писать код?
За Готовый проект
Спасибо
Привет Кирилл Некирилл а фуга тв и не пятерка.
Очень крутые видео
Пока лайк и подписка, посмотрю потом, когда будет необходимость.
Классный урок. Подскажи как долго ты вникаешь и пишешь код? Или прям на лету всё приходит?
Спасибо я поставиль лайк ! Мне очень хочется чтоб ты сделал продолжения как сделать стратегия
Ну теперь можно создать свой RTS. Спасибо за труды.
Лай поставил. Продолжи пожалуйста по теме.
годнота
Видео супер информативное. Спасибо. У меня только возникли трудности с поворотом. Поворачивается сам мэш относительно нулевых координат а сама область под ним остается на месте.
опа, годный контент
Попробуем)
несколько раз пересмотрел
Топовый видосик, когда продолжение ???
Лайк не глядя
Видео топ, спасибо)
Есть только один вопрос - как сделать место под здание не квадратное как у тебя ( 1х1 клетки, 3х3 клетки), а как в тетресе напрмер, буквой П или Г ? буду очень благодарен твоему ответу!
2 мерный bool массив, как вариант
Это очень круто!
Также, думаю, хорошая практика некоторые ошибки на время оставлять, чтобы мы их поискали
Спасибо!
Да, раньше старался пропускать на монтаже моменты где я такого рода ошибки делаю, но потом подумал что научить людей фиксить и не бояться таких багов может даже важнее чем научить самой теме видео
подписываюсь на канал!)
Вау спасиба
Очень крутое видео! Можешь подсказать, как сделать возможность размещать несколько BuildingsGrid, в сцене, а не чтобы был один привязанный к точке?
Спасибо
лучший
Приветствую. Подскажи каким образом используя твою систему можно еще и в сцене строить по сетке соответственно.
Отличный урок, спасибо. А вот ты взял и сам предложил, никто за язык не тянул, добавить юнитов и немного экономики ;-)
помоги сделать здания за ресурсы
Лучший
Как всегда ТОП! Можешь запилить плейлист работы с Motion Controller от ootii?
Спасибо мэн)
Спасибо за интересный урок! Такой вопрос как можно сделать постройку здания ТОЛЬКО рядом с другими проверкой гизмо? При этом запретить строить в других местах если объекта вплотную нету.
Супер
Большое спасибо за помощь в завершении моего проекта, но не могли бы вы показать мне, как заставить объект вращаться с помощью колесика мыши?
механика TBS передача хода и трата очков действия будет ли ?
спс
Подскажи пожалуйста, геймдев это хобби или ты занимаешься и коммерческой разработкой в какой-то студии в том числе?
Я сейчас ещё и работаю в мобильном геймдеве, да. Но довольно долго занимался этим для себя
А можно проверку пересечения с другими объектами делать просто box-collider'ом?
Сделай туториал по тому как построить здания, и что бы пошел счётчик когда оно построится.
хаха, жаль что это видос месяц назад не смотрел. Свою реализацию гексов делал, но полезно!
Было бы интересно про то, как назначить разную стоимость каждом зданию. И юниты. И, кстати, на ютубе полно уроков про AI врага, но буквально почти нет про AI рабочего, который, например, таскал бы предметы из здания в здание. Было бы здорово, если бы Вы сделали такой урок)
Ты шо там новый Warcraft III создаешь? :)
римворлд@@bistrec
Как сделать что-бы сетка была по центу объекта
Отличный урок! Но есть вопрос, как реализовать вращение здания?
можно спросить, как можно уменьшить шаг движения зданий по сетке, чтобы так сказать она не так сильно скакала
Есть проблема: если позади UI кнопки находится plane, то при повторном нажатии на неё здание не удаляется ( Destroy(flyingBuilding.gameObject) - не срабатывает ), а здание ставится за кнопку. Как можно решить эту проблему?
Нужно наверное как-то проверить: нажимает ли пользователь на элемент UI и если это так, то не давать размещать здание. Но как? Подскажите, пожалуйста
Как всегда математику понял туго, я бы сделал колайдерами, но думаю твой способ куда эффективней
Коллайдерами способ имеет право на жизнь, с ним можно ставить здания в дробных координатах, как во многих играх, и целиться поворачивая по 1 градусу чтобы впихнуть очередную башню, это тоже может интересно быть в геймплее. Но я тут хотел сделать именно по сетке, чтобы всё точно было
@@EmeraldPowder Я в своем проекте объединял технологию сетки и коллайдеров. Сетка влияла на сам принцип можно/нельзя строить, а коллайдер использовался для удаления камней/деревьев/травы из под строящегося здания.
Спасибо за видео, благодаря Вам начал писать свою игрушку)
Подскажите пожалуйста как стоит реализовать апгрейд зданий?
Я это сделал одним скриптом в котором хранятся все меши здания и при изменении уровня меш меняется на необходимый.
Не думаю, что это самое то, но лучше пока ещё ничего не придумал.
Также мой способ нифига не помогает сделать лёгкий универсальный скрипт. Добавил ещё в скрипт типы зданий, и теперь приходится менять материал и добавить ещё кучу мэшей к префабу
Если, что разобрался. Код на киберфоруме в теме "Работа с Mesh префабов"
Привет! Будет продолжение с поворотом зданий и поиском пути юнитов?
Да, было бы очень интересно увидеть поворот и перенос построенных зданий, продажу. И наверное одну из самых тяжёлых и непонятных для меня вещей это магазин зданий сделанный с помощью ScriptableObject, если это вообще правильно, делать магазин на ScriptableObject, возможно есть вариант получше.
Про ScriptableObject вообще хочу как минимум одно видео снять, очень уж полезная вещь. Для всяких элементов магазина, инвентаря, заклинаний, способностей, и цветовых схем отлично подходит. Может быть сделаю его как продолжение этой системы строительства
@@EmeraldPowder как продолжение было бы шикарно
Отличное видео!
Дружище, расскажи очень важную вещь кусаемую RTS - деформация терраина/меша под постройкой
Всм. создание простой плоскости (деформации) на неровной поверхности под постройкой
Да, речь идёт о нормалях, ну я думаю ты меня понял, это было бы здорово и полезно, думаю для многих
Там вроде как проблема в том, что при изменении карты высот она не откатывается к исходному состоянию. То есть как только ты поменял высоту терраина в игре она такой и останется. Это как я понял из англ туториулов. Может я грачина, но вроде как-то так.
@@dkvChannel можно сохранять информацию об измененых высотах, а при сносе здания откатывать
Все уроки бомбезные, при чем по ютубу ищу и постоянно на этот канал выхожу =D начинаю думать, что проще сначала здесь поискать) ток ни где не слышал, можно ли юзать код в рамках свободного распространения\использования?
Спасибо! Мой код из видосов и с гитхаба точно можно, для того я это всё и делаю, чтобы люди пользовались
Вы можете сделать то же самое, что и уничтожить объект, щелкнув правой кнопкой мыши после его настройки?
А можно рассказать про систему сохранения игры?
требую продолжения банкета
📈
Здравствуйте, подскажите, пожалуйста, почему у меня сетка (gizmos, если я правильно разобрался в терминологии), рисуется не под объектом, а на его половине. Т.е. она "разрезает" объект посередине. Код скопирован в точности, но почему-то есть такая неприятная особенность.
Unity 2020.3.12f1
Привет, можете сказать как повернуть нашу плоскость так, чтобы она смотрела перпендикулярно камере, если это вообще возможно?
Блин! Как такому научиться? Порядку мышления и скорости написания со всем пониманием. Ну круто же!
С опытом все приходит. Но на скорость вы сильно не смотрите, это же я все монтирую, и удаляю скучные моменты где я 30 минут ищу баг в коде)
Было бы классно сделать разрушения как в teardown, я пробовал разные способы. У меня либо сильно лагало хотя комп не слабый, либо работало не так как хотелось, например воксели летали в воздухе или разрушалось всё сразу
А как "нарисовать" сетку в самой игре? Я же не могу вручную сделать огромною сетку. Я сейчас конечно подумаю, и наверное пойму) Но всё-таки комментарий оставлю)
Привет, а есть ли возможность записать тутор по конструктору к примеру для созданию карабля из запчастей....(какие варианты есть) Спасибо.
Привет, идея интересная, возможно сделаю когда-нибудь
@@EmeraldPowder а есть возможность как то в личке переписатья?
А как задать начало координат откуда начинается сетка?(допустим я хочу чтобы сетка начиналась в конкретных коориданат как это сделать)У plane нету ни трансформ ничего. Пытаюсь использовать эту систему в 2д. И ни как не получается нормально адаптировать чтобы все так же просто работало.
Продолжение!
🎆
8:36 Уничтожается компонент Building, а не весь gameObject. Правильно будет: Destroy(flyingBuilding.gameObject);
Gizmos это что то вроде инструментов управления:)
все супер, тока я на шел баг. В случаи если у тебя строение движется за мышкой и находится в зеленой зоне, то при нажатии на кнопку смены строительства или того же самого. Объект создается на карте а только потом меняется и появляется новый обьект.