Система строительства зданий [Unity 3D] [Tutorial]
Вставка
- Опубліковано 19 чер 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. Из ассетстора
Спасибо за очень классные видео,они действительно помогают разобраться в тех или иных "механиках" ,правда у меня возникли ошибки связанные с генерацией подземелий,я не совсем понимаю как делать разные размеры комнат с помощью скрипта,или допустим, при генераций комнат, чтобы одна определенная комната генерировалась только один раз за "этаж" или например,вводить "категорию" комнат,чтобы на первом этаже была одна "локация" ,а на втором другая,ну или чтобы вещи генерировались только в определенных комнатах.Хотелось бы продолжения уроков о генераций комнат так как многое было не сказано,а на UA-cam мало русскоязычных источников по данной теме.
Спасибо, круто. Когда про ECS что-то будет?
Спасибо, побольше бы таких туториалов!
А ты можешь сделать цикл роликов про программирование на Unity с нуля (для новичков, почти как в этом ролике) со всеми объяснениями? (хотя бы через пол года)
*Комментарий со второго аккаунта для того, чтобы это видео чаще всплывало у людей в рекомендуемых*
Да ну!) Помню просил об этом туториале примерно пол года назад) дождался) спасибо!
Да, помню что откуда-то из комментов это идею в список добавлял)
@@EmeraldPowder Давай теперь туториал по генерации террейна квадратами, как например в OpenTTD x)
@@Kopnu жди пол года ХD
@@EmeraldPowder как добавить сохранение сцены ?
Ура!!! Размер шрифта больше!!
Да, наконец-то я про это не забыл)
Отличные уроки! Всё понятно, просто и без лишних разглагольствований.
У тебя очень крутые туториалы, я безумно рад что предложка ютуба сработала как надо, продолжай в том же духе, у тебя обязательно должно быть больше подписчиков
Спасибо за видео, очень информативное, хотелось бы продолжения этой темы
Обязательно продолжай! Очень приятные, понятные и качественные уроки. Однозначно лайк
Урок просто супер. Повторил и сделал сейчас буду более подробно углубляться в код.
Ты лучший! Ни у кого не видел такого простого и удобного туториала.
Спасибо за обручающий контент! Интересная фишка с хранением не всего объекта, а только скрипта на нем (я про переменную flyingbuilding). Возьму на заметку
Автор, ты красавчик! Продолжай в том же духе!
Я развил эту идею, и смог сделать свою стратегию, большое тебе спасибо! Давно тебя смотрю, пересмотрел почти все твои видео :)
Спасибо что смотрите)
С меня лайк и подписка, урок очень классный все четко и грамотно показано, хотелось бы удивить еще видео по созданию стратегии.
Прекрасный урок, огромное спасибо!)
Самый уникальный по механикам и контенту канал по Unity на всем русскоязычном UA-cam! Instant like!
Спасибо за видео!!! очень долго искал что-то вроде этого!
Спасибо большое за твои видеоролики!
Как же я обожаю этого челика )))
Это реально самый качественный контент по Юнити. Спасибо тебе огромное человечище...
Сагутин даже не рядом нервно курит, за сотни миль от тебя))))
Ролик с нормальным понятным объяснением. Респект.
Отлично! Автор - профи
Спасибо за видео! Полезно!)) Подписался.
Однозначно лайк. Если не затруднит - хотелось бы увидеть про поиск пути юнитами
Настолько крутые видео на этом канале. Я в шоке
Спасибо за урок! Всё понятно)
Спасибо за уроки и пояснения работы с Юнити
Спасибо, все понятно и легко!
из всех каналов, что я видел этот самый полезный. Даже не немного полезнее, а НАМНОГО, чем другие. Понасмотрелся разных приколюх, даже залил уже в плеймаркет игрульку.(правда мусор вышел, но первая что поделать.)) Крч спасибо тебе огромное.)
делай продолжение!!! топ видео!!! Также было бы интересно посмотреть видео про сравнение Rider и VSCode и их настройку. Я модернизировал твой урок по следам на снегу в модификатор ландшафта, поэтому мне ещё интересно посмотреть про изменение Y координат у зданий при размещении на неровной поверхности, а также последующей изменениии геометрии этой поверхности.
Требую продолжения))
Крутотень, влом было думать над подобной реализацией, и искать тоже влом =) А тут само пришло =)))
чувак...
Благодарю за видео!
За Готовый проект
Спасибо
Привет Кирилл Некирилл а фуга тв и не пятерка.
Следующая часть нужна!!!
Огонь 🔥 спасибоооо
Изумрудик, твой канал в списке любимых школ на Ютубе.
Сейчас смотрю это видео и понимаю насколько же это базовый урок
Очень крутые видео
годнота
опа, годный контент
Пока лайк и подписка, посмотрю потом, когда будет необходимость.
Попробуем)
Ну теперь можно создать свой RTS. Спасибо за труды.
Спасибо я поставиль лайк ! Мне очень хочется чтоб ты сделал продолжения как сделать стратегия
Вау спасиба
Это очень круто!
Также, думаю, хорошая практика некоторые ошибки на время оставлять, чтобы мы их поискали
Спасибо!
Да, раньше старался пропускать на монтаже моменты где я такого рода ошибки делаю, но потом подумал что научить людей фиксить и не бояться таких багов может даже важнее чем научить самой теме видео
Видео супер информативное. Спасибо. У меня только возникли трудности с поворотом. Поворачивается сам мэш относительно нулевых координат а сама область под ним остается на месте.
Лайк не глядя
Супер
лучший
несколько раз пересмотрел
подписываюсь на канал!)
Спасибо
Как всегда ТОП! Можешь запилить плейлист работы с Motion Controller от ootii?
Отличный урок, спасибо. А вот ты взял и сам предложил, никто за язык не тянул, добавить юнитов и немного экономики ;-)
помоги сделать здания за ресурсы
Лай поставил. Продолжи пожалуйста по теме.
Лучший
Спасибо мэн)
Во-первых: Спасибо огромное за видео, оно нереально бустит в программировании + повышает к этому делу интерес, потому что в воздухе витает дух творчества)
Во-вторых: Сколько лет нужно было учится, чтобы так на лету писать код?
Топовый видосик, когда продолжение ???
Классный урок. Подскажи как долго ты вникаешь и пишешь код? Или прям на лету всё приходит?
хаха, жаль что это видос месяц назад не смотрел. Свою реализацию гексов делал, но полезно!
Было бы интересно про то, как назначить разную стоимость каждом зданию. И юниты. И, кстати, на ютубе полно уроков про AI врага, но буквально почти нет про AI рабочего, который, например, таскал бы предметы из здания в здание. Было бы здорово, если бы Вы сделали такой урок)
Ты шо там новый Warcraft III создаешь? :)
римворлд@@bistrec
Очень крутое видео! Можешь подсказать, как сделать возможность размещать несколько BuildingsGrid, в сцене, а не чтобы был один привязанный к точке?
Отличное видео!
Дружище, расскажи очень важную вещь кусаемую RTS - деформация терраина/меша под постройкой
Всм. создание простой плоскости (деформации) на неровной поверхности под постройкой
Да, речь идёт о нормалях, ну я думаю ты меня понял, это было бы здорово и полезно, думаю для многих
Там вроде как проблема в том, что при изменении карты высот она не откатывается к исходному состоянию. То есть как только ты поменял высоту терраина в игре она такой и останется. Это как я понял из англ туториулов. Может я грачина, но вроде как-то так.
@@dkvChannel можно сохранять информацию об измененых высотах, а при сносе здания откатывать
Приветствую. Подскажи каким образом используя твою систему можно еще и в сцене строить по сетке соответственно.
Видео топ, спасибо)
Есть только один вопрос - как сделать место под здание не квадратное как у тебя ( 1х1 клетки, 3х3 клетки), а как в тетресе напрмер, буквой П или Г ? буду очень благодарен твоему ответу!
2 мерный bool массив, как вариант
Да, было бы очень интересно увидеть поворот и перенос построенных зданий, продажу. И наверное одну из самых тяжёлых и непонятных для меня вещей это магазин зданий сделанный с помощью ScriptableObject, если это вообще правильно, делать магазин на ScriptableObject, возможно есть вариант получше.
Про ScriptableObject вообще хочу как минимум одно видео снять, очень уж полезная вещь. Для всяких элементов магазина, инвентаря, заклинаний, способностей, и цветовых схем отлично подходит. Может быть сделаю его как продолжение этой системы строительства
@@EmeraldPowder как продолжение было бы шикарно
Чел, в раю для забронирована VIP-ложа. Огромное спасибо за твои труды)
Как всегда математику понял туго, я бы сделал колайдерами, но думаю твой способ куда эффективней
Коллайдерами способ имеет право на жизнь, с ним можно ставить здания в дробных координатах, как во многих играх, и целиться поворачивая по 1 градусу чтобы впихнуть очередную башню, это тоже может интересно быть в геймплее. Но я тут хотел сделать именно по сетке, чтобы всё точно было
@@EmeraldPowder Я в своем проекте объединял технологию сетки и коллайдеров. Сетка влияла на сам принцип можно/нельзя строить, а коллайдер использовался для удаления камней/деревьев/травы из под строящегося здания.
Сделай туториал по тому как построить здания, и что бы пошел счётчик когда оно построится.
📈
🎆
Спасибо за интересный урок! Такой вопрос как можно сделать постройку здания ТОЛЬКО рядом с другими проверкой гизмо? При этом запретить строить в других местах если объекта вплотную нету.
Большое спасибо за помощь в завершении моего проекта, но не могли бы вы показать мне, как заставить объект вращаться с помощью колесика мыши?
Вышел твой ролик сразу лайк, уверен пригодится. Ну и кста, напоминает политопию (игра которая невероятна!)
Все уроки бомбезные, при чем по ютубу ищу и постоянно на этот канал выхожу =D начинаю думать, что проще сначала здесь поискать) ток ни где не слышал, можно ли юзать код в рамках свободного распространения\использования?
Спасибо! Мой код из видосов и с гитхаба точно можно, для того я это всё и делаю, чтобы люди пользовались
А можно проверку пересечения с другими объектами делать просто box-collider'ом?
Как сделать что-бы сетка была по центу объекта
механика TBS передача хода и трата очков действия будет ли ?
спс
Блин! Как такому научиться? Порядку мышления и скорости написания со всем пониманием. Ну круто же!
С опытом все приходит. Но на скорость вы сильно не смотрите, это же я все монтирую, и удаляю скучные моменты где я 30 минут ищу баг в коде)
Продолжение!
Подскажи пожалуйста, геймдев это хобби или ты занимаешься и коммерческой разработкой в какой-то студии в том числе?
Я сейчас ещё и работаю в мобильном геймдеве, да. Но довольно долго занимался этим для себя
можно спросить, как можно уменьшить шаг движения зданий по сетке, чтобы так сказать она не так сильно скакала
Отличный урок! Но есть вопрос, как реализовать вращение здания?
А можно рассказать про систему сохранения игры?
Было бы классно сделать разрушения как в teardown, я пробовал разные способы. У меня либо сильно лагало хотя комп не слабый, либо работало не так как хотелось, например воксели летали в воздухе или разрушалось всё сразу
Спасибо за видео, благодаря Вам начал писать свою игрушку)
Подскажите пожалуйста как стоит реализовать апгрейд зданий?
Я это сделал одним скриптом в котором хранятся все меши здания и при изменении уровня меш меняется на необходимый.
Не думаю, что это самое то, но лучше пока ещё ничего не придумал.
Также мой способ нифига не помогает сделать лёгкий универсальный скрипт. Добавил ещё в скрипт типы зданий, и теперь приходится менять материал и добавить ещё кучу мэшей к префабу
Если, что разобрался. Код на киберфоруме в теме "Работа с Mesh префабов"
А если я в 2д всё это делаю, что и как поменять надо ?
Есть проблема: если позади UI кнопки находится plane, то при повторном нажатии на неё здание не удаляется ( Destroy(flyingBuilding.gameObject) - не срабатывает ), а здание ставится за кнопку. Как можно решить эту проблему?
Нужно наверное как-то проверить: нажимает ли пользователь на элемент UI и если это так, то не давать размещать здание. Но как? Подскажите, пожалуйста
Привет! Будет продолжение с поворотом зданий и поиском пути юнитов?
требую продолжения банкета
17:00 мне кажется, что такой код красивее выглядит, когда пишешь "available ? Color.green : Color.red" вместо ифоф
Там ещё что-то такое, вроде бы, было:
if (...) return true;
вместо
return (...);
Можно было и функции делать через лямбду, но он в начале видео сказал, что для новичков
@@user-ji4iy8db5k если бы написал return (...), то оно бы останавливалось сразу же при первом проходе цикла, такое работает только с "if(...) return true; else return false;"
@@cgytrus Вероятно, там так и было, не обратил особого внимания.
Ну совсем уж просто ... Впрочем , довольно полезно для новичков )
Призываю автора не слушать такие комментарии) Я занимаюсь юнити 2 недели и одно такое видео бустит меня просто в геометрической прогрессии)
Эх, создание системы конвейеров бы еще между домиками для перемещения ресурсов. Типа соединить лесопилку с пилорамой и дальше со складом
Гдшку не ожидал
давай запили ролик про траву, которая проминается, когда по ней ходишь(на юнити конечно)
Было же следы на снегу не много переделать и все
@@khanuralgo4329 снег и трава - вещи, как - никак, разные. Здесь ни к чему шейдер, а просто, я думаю, нужно разместить помятую траву по координатам.
@@Misha-775 нет, трава тоже шейдерами делается
@@TrupDaVinci я имел в виду траву на террейне
@@Misha-775 ну, а где трава ещё может быть? Я о ней же
Веселье начинается если делать терраин выше чем 0 и здания надо ставить выше чем 0))) Если просто вписать в flyingBuilding.transform.position = new Vector3(x, 40, y); будет веселье))) Вообще был бы хороший урок если бы всё что написано разбиралось подробнее. Мне как новичку половина из представленного не понятна. Что делать если высота больше ноля? От чего зависит скорость движения flyingBuilding? Как понять где инстанцируется сетка на плоскости и почему её размеры не совпадают с размерами такой-же плоскости? Что делать если материала на объекте 2 или 3, как менять цвет? В общем тема хорошая, реализация не очень. Слишком сложно не опытному применить эти навыки. Лучше было бы разделить на несколько уроков и всё подробно разжевать.
А как "нарисовать" сетку в самой игре? Я же не могу вручную сделать огромною сетку. Я сейчас конечно подумаю, и наверное пойму) Но всё-таки комментарий оставлю)