Наследование сцен в Godot Engine

Поделиться
HTML-код
  • Опубликовано: 12 окт 2024
  • Система узлов Godot Engine это очень мощный инструмент. Но в полной мере он раскрывается только при использовании наследования. В этом видео мы изучим систему наследования сцен в Godot Engine, что позволит лучше организовать код проекта и ускорить разработку.
    Полный курс по Godot 4: stepik.org/a/1...
    Мой дискорд сервер: / discord
    Мой канал в телеграмм: t.me/frontend_...
    Я на Twitch: / frontend_pashtet

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

  • @Limon4ikChannel
    @Limon4ikChannel 2 года назад +29

    Отличное видео, максимальное сжатое и без воды. Хотелось бы еще услышать про наследование скриптов.

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +3

      Спасибо. Оно уже на 60% готово)

  • @minimalstory
    @minimalstory 2 года назад +5

    рад снова вас видеть и слышать)

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Приветствую Руфус. Спасибо за комментарий и поддержку)

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

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

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Спасибо за комментарий, Deliz. Очень рад это слышать. Может RUclips хочет, чтобы ты перешёл на Godot)

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

    Надо будет потом поподробнее про наследование в Godot изучит
    Базис благодаря паштетику поняла, остались лишь подробности и условности
    Спасибо за такое вдохновение к изучению движка Godot!

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

    Спасибо за видео, теперь я понял, что не нужно плодить кучу одинаковых сцен)

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

    кружок вокруг мышки мне напомнили эти туториалы из 2014 :D

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      пиксельарт, кружок из 2014 - ретро)

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

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

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +2

      Это очень хорошее замечание. Я так раньше делал, но потом пришел к тому, что графика различных дочерних сцен может сильно отличаться. Кому-то достаточно animatedsprite, а кому-то может понадобиться что-то другое. Может несколько спрайтов + tween. Поэтому я обычно графику в родительскую сцену не выношу. Но для примера из видео, вынос бы animatedsprite подошел бы отлично, Мыслишь в ООП)

  • @Хаято-з2и
    @Хаято-з2и 2 года назад +3

    Кста ты раньше или сейчас не занимался веб разработкой? просто раньше не знал что такое фронтенд в названии твоего канала думал просто странное название связанное с паштетом щя веб разработка заинтересовала и понял что такое beckend и frontend

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

      Да, паштет фронтенд разработчик

  • @p.o.l.i.s3150
    @p.o.l.i.s3150 2 года назад +1

    Хорошая статистика каждый 2 человек лайкнул этот видос

  • @lol-et1fz
    @lol-et1fz 2 года назад

    НАКОНЕЦ-ТО)))))
    Довно тебя не слышал )))
    Твои видосы как всегда ТОП
    Твои объяснение лучше всех
    СПАСИБО ЗА ВИДЕО ))))

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Спасибо за поддержку, Хейтер)

    • @lol-et1fz
      @lol-et1fz 2 года назад

      @@frontend-pashtet Не за-что ))))

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

    Привет от Волонда и спасибо за видео

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Привет Воланд) Спасибо за комментарий

  • @crazy-man
    @crazy-man 2 года назад

    по годот редко такие понятные видео зачет )

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Спасибо за фидбэк. Буду стараться держать планку.

  • @RusAnarcho-Ball
    @RusAnarcho-Ball 2 месяца назад

    Можно просто перед нужными переменными написать @Export
    то бишь:
    @Export Var name = "Vladlen"
    @Export var speed = 10
    @Export var animatedsprite = $Animated spriteRED_SLIME
    Теперь, если ставить его на сцену с уровнем, то это будет Владлен со скоростью 10 и анимациями красной слизи. Однако, он будет иметь дополнительные настройки в инспекторе (Настройки переменных где мы добавили @Export) И эти переменные теперь можно заменять. При этом - изменённая переменная - будет только у той слизи, которую ты изменил.

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

    Что у тебя за курсор? Очень прикольный! Я бы хотел себе такой поставить)
    Надеюсь ты ответишь ;)

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Привет. Это на маке программа ScreenCursor. В следующем видео я уже понял, что QuickTime умеет тоже выделять курсор. Не так ярко, но умеет.

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

      @@frontend-pashtet Спасибо за ответ. Только поздно посмотрел ;/

  • @Кейро-д3ц
    @Кейро-д3ц 2 года назад

    Видео топ
    Огромное спасибо

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      О, Кейро. Привет. Спасибо за комментарий.

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

    Лучший!

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

    Это. Просто. Круто (мат ютуб блокает, поэтому без мата. На позитивчике).
    Быстро, полезно, без воды, а главное на русском. Подписка, лайк. Буду следить за твоим каналом. Удачи в развитии!

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Спасибо большое за такие теплые слова. Это меня очень мотивирует. Постараюсь почаще выпускать ролики.

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

      @@frontend-pashtet кстати, я вот хотел спросить: можно ли как то сделать так, чтобы area2D давал сигнал не только когда body/area входят в него, но и когда стоят там? Я попытался что-то сделать, но ничего не получилось :(

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      @@notagamedeveloper3805 сигнала нет, но есть несколько вариантов. Когда тело войдет, то сигнал полюбому полетит. Кажется, даже если тело было в Area на момент создания сцены. Также можно проверять наличие тел в области через get_overlapping_bodies, который вернет массив всех тел в Area2d. Или если есть ссылка на конкретное тело, то можно проверить через overlaps_body. Плюс есть сигнал на выход тела из зоны. Все это в связке дает возможность проверить что угодно. Но я бы предпочел сигналы, и не стал бы проверять каждый фрейм, находится ли тело в зоне. Если сигнал входа отрботал, то можно где-то отметить, что тело в зоне, а потом на сигнал выхода, эту отметку убрать. Так будет дешевле всего по производительности. Но overlaps_body и get_overlapping_bodies тоже опция. Я использовал для чего-то.

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

      ​@@frontend-pashtet блин, оказывается легко. Я что-то не додумал сделать, чтобы отмечать вошло тело, и вышло. То есть я могу просто сделать булевую переменную, например "is_in_area", присвоить ей false. Затем, когда тело, находящееся в группе игрок например, входит в эту арею, присваивать true переменной, а когда выходит - false?

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      @@notagamedeveloper3805 Да, это, пожалуй, самый простой способ)

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

    Конечно, видео старое, да и не про это совсем, чисто примеры, все дела... Но мне кажется, что имя легче поместить в center container или как его там, hbox, чтобы можно было не заморачиваться с центрированием. А так видео топ

  • @Kekosaur
    @Kekosaur 7 дней назад

    Привет, твое видео попалось в реки. Позволь спросить - у меня проблема с многими видосами изза того что Годот время от времени меняется и гайды для таких новичков как я становятся неактуальными. Как быть? 99% видео на ютубе о годоте старее 6 месяцев и написаны для 3 версии

    • @frontend-pashtet
      @frontend-pashtet  5 дней назад

      Привет. Гайды с годо 3 частично актуальны, сейчас народ активно пилит материалы под 4ку. Хорошая новость, что годо 5 пока даже не планируется, так что ближайшие 5 лет врядли что-то мегарадикально изменится.
      Лучший вариант присоединиться к какому-нибудь сообществу и стараться там информацию добывать. Можешь к нам в дискорд зайти, там много приятных и опытных людей discord.gg/NqF45TKBD7

  • @СлонМармон
    @СлонМармон 2 года назад

    шикарно

  • @MaxstallfishDenton
    @MaxstallfishDenton 4 месяца назад +2

    Ни*уя не понятно, но очень интересно -))

  • @Кукодим
    @Кукодим 2 года назад

    Крутой видось!

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Спасибо) и за комментарий отдельное спасибо:)

  • @p.o.l.i.s3150
    @p.o.l.i.s3150 2 года назад

    Круто

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

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

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

    Хорошее видео, только вот не пойму что такое := и чем он отличается от =
    Искал инфу по нему, так ничего и не нашел. Ответь, пожалуйста, спасибо.

    • @frontend-pashtet
      @frontend-pashtet  Год назад

      Привет. Спасибо за оценку. := это присваиванием с автоматическим выведением типа из значения справа от оператора присваивания. В общем, написать
      var damage := 5 равносильно
      var damage: int = 5
      Типы помогаеют отловить ошибки на этапе компиляции. Гарантируют, что в коде не будет число на строку умножено, например. Я использую := всегда, когда это возможно.
      Вот статья из документации с лучшим описанием docs.godotengine.org/en/stable/tutorials/scripting/gdscript/static_typing.html

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

      @@frontend-pashtet спасибо большое за ответ

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

    тракторина топ как можно с ней связаться?

  • @Хаято-з2и
    @Хаято-з2и 2 года назад

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

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Лучше всего git. Придётся потратить время на изучение, но это лучший инструмент

    • @Хаято-з2и
      @Хаято-з2и 2 года назад

      @@frontend-pashtet спасибо помог буду гит изучать

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

    Привет а сможешь помочь с вопросом:
    А как обращятся к методам из инспектора
    Например я сделал условие и при этом условие будет Visible из инспектора включатся

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Если мышью навести на свойство в инспекторе, то во всплывающем окне будет видно название свойства в коде. В данном случае оно так и называется visible. Выставить его в true или false

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

      @@frontend-pashtet спасибо, помог👍

  • @Xray555fgfc
    @Xray555fgfc 5 месяцев назад

    Какой язык нужно знать для годот?

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

    Когда релиз игры?

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

    А как сохранить целую сцену все что там игрок натворил и его инвентарь? И ещё вопрос как оптимизировать передвижение игрока в плане отгрузки и подгрузки чанков локации, как это вообще работает?

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Про сохранение можно целую статью написать. В документации есть пример сохранения, но он запутанный немного. В самом простом случае, ты просто сохраняешь в файл какие-то переменные, которые тебе важны, а при загрузке их восстанавливаешь. Так можно, например, на чекпоинтах или уровнях рестартовать игру. Если тебе прям сцены целиком надо по какой-то причине восстанавливать, то в доке как раз пример из этой серии. docs.godotengine.org/en/stable/tutorials/io/saving_games.html
      Про подгрузку чанков. Ну тут надо код писать. Если у тебя чанк- это сцена, то делаешь это стандартными механизмами load/preload.

  • @ДмитрийРоманцев-з7й

    всё очень быстро.приходилось перематывать несколько раз.))) хотя без воды это плюс.

    • @frontend-pashtet
      @frontend-pashtet  Год назад

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

  • @Axil-ww
    @Axil-ww 11 месяцев назад +1

    А в 4-м Godot нельзя писать export var

    • @entwickler2212
      @entwickler2212 8 месяцев назад +1

      @export var вот и ты сможешь менять значения скорости не влезая затем в код 1:43

  • @user-fyoresjsethp
    @user-fyoresjsethp 2 месяца назад

    О моём перерождении в слизь)

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

    А Даздраперма почему в состав гонки не вошла?:)

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Допинг контроль не прошла)

  • @lol-et1fz
    @lol-et1fz 2 года назад

    У меня вопрос.....
    А как сделать игру как Getting Over it ?
    Я имею ввиду , как этот персонаж из этой игры используя палку перемещается ?

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

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

    • @lol-et1fz
      @lol-et1fz 2 года назад

      @@frontend-pashtet А ты можешь сделать подобную игру ?)))

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      @@lol-et1fz может и могу технически, но вряд ли когда буду. Мне просто другие игры по душе.

    • @lol-et1fz
      @lol-et1fz 2 года назад

      @@frontend-pashtet Ясно.....

  • @KENISEG
    @KENISEG 8 месяцев назад

    я в годот всё еще путаю сцены-сцены со сценами-префабами
    я понимаю что это одно и тоже в годоте
    но надо как то разделить понятия)
    не понимал зачем наследовать сцену пока не посмотрел первые 30сек

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

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

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Сори, мои художественные навыки не позволяют пока давать какие-то дельные советы по этой теме =(

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

      @@frontend-pashtet я начал изучать юнити и с# а сильно ли различается механика от твоего движка , почекал твои видео довольно легкий функционал ,чтото есть в нем прикольное)

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      @@Hawk6895 дело говоришь. Есть что-то в Godot. Легкий (менее 100мб), весь движок - один файл, gdscript (язык внутренний) сильно проще C#. Но и недостатки тоже есть. Стоит попробовать.

  • @darkhunter777
    @darkhunter777 2 месяца назад +2

    ПЛОХОЙ ПРИМЕР ! Чтобы чтото наследовать сначала надо разобраться в типах присоединяемых нодов. Уних могут быть совершенно РАЗНЫЕ ФУНКЦИИ по сравнению с родительской сценой !

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

    Кто же использует RigidBody для слизней. В доках Godot чётко описано, что если надо реализовывать кастомное движение, то используешь KinematicBody. А RigidBody используешь, для вещей типа ящиков и прочей такой ереси.

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Тот, кто делает урок про наследование сцен

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

    Го такой видос про скрипты

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Обязательно будет. Будет вообще серия таких видосов про различные фишки Godot.

  • @leitenant-1545
    @leitenant-1545 Год назад

    Что делать если текстура 3д объекта размытая?

    • @frontend-pashtet
      @frontend-pashtet  Год назад +1

      Нужно изменить фильтрацию текстур на Nearest. Можно как в blender, так и godot это сделать, отредактировав материал

    • @frontend-pashtet
      @frontend-pashtet  Год назад

      На такие вопросы проще отвечать в discord. Так что, если будут еще вопросы, заходи

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

    Как сделать рывок для игрока

    • @frontend-pashtet
      @frontend-pashtet  2 года назад

      Примерно также как и прыжок, но по горизонтали. Можешь взять код прыжка и изменить его направлние

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

    Капец, я про наследование сцен вообще не слышал

    • @frontend-pashtet
      @frontend-pashtet  2 года назад +1

      Мощная штука. Я когда узнал, то мне сильно проще стало организовывать код. А вот когда выйдет видос про наследование скриптов, то совместно с наследованием сцен можно будет такое творить. Магия, короче) Спасибо за комментарий, кстати!

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

      @@frontend-pashtet незачто. А я до сих пор чтобы сделать оружие использовал наследование скриптов ,но приходилось заново создавать сцену, копировать туда ноды,добавлять базовый скрипт... а так намного проще получается

  • @kholodokM
    @kholodokM 19 дней назад

    Я гоблин!😂

  • @СавваЧерепянский

    Префабы….

  • @PechenkaHD
    @PechenkaHD Год назад +14

    Я слизь кста

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

      Я тоже

    • @Просто-в6о
      @Просто-в6о 6 месяцев назад

      Прикольно! А давно ты такой?