Build your Godot characters like AAA titles do | Part 2

Поділитися
Вставка
  • Опубліковано 21 вер 2024

КОМЕНТАРІ • 29

  • @choraboidotcom1022
    @choraboidotcom1022 Місяць тому +1

    This is absolute genius my friend, I am so grateful ❤

  • @lucapagano3685
    @lucapagano3685 4 місяці тому +4

    You are melting my brain, love your videos!

  • @neurolancer81
    @neurolancer81 4 місяці тому +2

    Buddy, this stuff is gold. TBH, once you say what you say it seems obvious but I would’ve never thought of that myself. Thanks for these videos.

  • @Legit_SuperFall
    @Legit_SuperFall 2 місяці тому +1

    I just want to leave this here in case someone needs it:
    If you have logic in the ready func in your base state, then you add a ready func to a state, that will override the base state's ready func.
    To make sure the base state ready func still runs in your state, just add 'super._ready()' to the state ready func.

  • @leotorres2121
    @leotorres2121 Місяць тому

    If you would have time to spare, there is one thing I’m curious about:
    if you were to implement a “toggled” Move ie. Crouching, etc. how would you integrate it into this Model architecture?
    Or would you expand the Model architecture to include a state-like enumeration, enabling “toggle” Moves?
    Your tutorials have more depth and utility than ANY other I’ve come across. Thank you so much for your knowledge and unique contribution to the community!

    • @PointDown
      @PointDown  Місяць тому

      The system evolves in the 3d episode of the series, in which I talk more broadly about actions and interpretation layers, but short answer - if your crouch is toggleable, that means enter_crouch and exit_crouch are two different actions.
      Similar to the weapon action mapping (one button - attack, roll attack, plunge attack and several weapons), there can be a locomotion mapping, that maps crouch_toggle action into two different commands depending on the model state. This code is in model. Input just gets the toggle_crouch command and forwards it, model thinks.
      Thanks for the kind words ^_^.

  • @vegameta
    @vegameta 3 місяці тому +1

    Чел как же ты прав. Спасибо за раскрытие глаз на то что такое реальная архитектура.

  • @bessinblue1343
    @bessinblue1343 4 місяці тому +5

    this series has been my salvation, as i constantly asked myself about how to manage input queuing, adding logic within the frames of an animation, and how to gracefully encapsulate the information that other scripts need. Keep it up you're the goat!

  • @FrankStonefield
    @FrankStonefield 3 місяці тому

    Thanks so much. gonna need to watch all your videos.

  • @gonderage
    @gonderage 4 місяці тому +2

    ah, now i see what you meant by my lazy ass wants to use booleans.

  • @dre0dru
    @dre0dru 5 місяців тому +2

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

    • @PointDown
      @PointDown  5 місяців тому +3

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

    • @dre0dru
      @dre0dru 5 місяців тому

      @@PointDown Я про "простой" как раз в рамках небольшого демо проекта/фичи. Я бы тогда исправил "простой" на "быстрый". Большинство таких видео туториалов показывают рабочий вариант механики не задумываясь о том, как ее будут потом маштабировать/интегрировать с другими фичами. За что собственно тебе большой респект)
      Тоже пилю контроллер персонажа с упором на модульность/архитектуру и независимость от вьюшки, поэтому твои видео - источник вдохновения и интересных идей)

    • @PointDown
      @PointDown  5 місяців тому +4

      @@dre0dru Следующее видео взорвет мозг). За 13-15 минут планирую осветить полный контроллер боевой системы, поддерживающий оружия и комбинации. Код выложу завтра-послезавтра, но с видео нужно будет запариться.

  • @JeffThePoustman
    @JeffThePoustman 4 місяці тому +2

    Thanks for posting. Part 1 Github link was working. Part 2 Github link is 404.

    • @PointDown
      @PointDown  4 місяці тому +1

      Uh oh, thanks for pointing out!) I moved from spamming repos to spamming branches in the third episode. Episodes 1, 3 and 4 are in one repository as branches, and then there is a cursed 2d episode that I forgot to make visible and deleted the code. And am to lazy to download-then-put-in-a-branch. Made public again.

  • @artsmit9545
    @artsmit9545 3 місяці тому +1

    You have documented your methods or video content anywhere? I not able to understand much with video 😅

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

      In the form of something textual, no, only the video and the code on github, you can find the link in the description, then switch branches to see progress per episode (2nd episode is missing though, sadly). What part of the video you didn't understood? Is it my pronunciation, or my pace, or the script itself? If the piece troubling you can be compressed into several concrete questions, I'd be happy to answer them here, and the comment will be left for generations to explore, feel free to ask ^__^.

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

      @@PointDown I just having problem in charbody3d script it ,how you use update method from state for physics update in charecer ? I am just learning coding ,so I having problems 😅

    • @PointDown
      @PointDown  2 місяці тому +1

      @@artsmit9545 Each frame CharacterBody3D calls it's Model's update method. The Model's update method then does some support work and calls it's current state's update method.

  • @atticuskelem347
    @atticuskelem347 4 місяці тому

    absolutely loving the bikini bottom style cover of the persona song

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

    I have no idea why the animation won't play.
    It doesn't play with that test at 6:00, it doesn't play later after setting the animation on each state, and it doesn't work in the editor.
    There are no debug errors and i'm pretty sure i copied everything i saw

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

      @@Legit_SuperFall Two questions, did you set the root node for your animator? And did you applied mixamo bonemap when importing animations? Thats two most frequently met problems.

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

      It's working now. I am going to scream lol.
      I never had to to any of that. I used the xbot before and other characters/animations from mixamo and it always worked before without doing that
      I feel stupid, but at least it works now
      I guess i got to see the holy grail of errors at least:
      Too many errors! Ignoring errors for up to 1 second.
      Thanks again man, you're my hero lol

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

      Also, i love one piece. I watched the start of this video about... 20 times? at least. And it doesn't get repetitive.

  • @l4l01234
    @l4l01234 4 місяці тому +1

    I keep getting stuck at 6:00. After making the changes to separate the visuals from the Skeleton and AnimationPlayer, the animations stop working at all. I can't get any animation to play. The model just stands there in a T-pose

    • @l4l01234
      @l4l01234 4 місяці тому

      OK I figured it out. Turns out the AnimationPlayer doesn't like it when you change the relative path of the Skeleton3D. I had to re-add the Node3D named "Armature" that contains the Skeleton3D node in order for the AnimationPlayer to find it. I also re-factored the model into a scene and set the Root Node on the AnimationPlayer to the Model node. After these two changes, the animation works

    • @asdfghjkl-jk6mu
      @asdfghjkl-jk6mu 3 місяці тому

      it's asserting its dominance over you

    • @mrguy124
      @mrguy124 13 днів тому

      @@l4l01234 Came here to say this... I ran into same issue, I probably have some settings that I need to change on the import. Regardless, matching the original import structure works and matches all of my models so far so not much of a pain to update if needed.