Godot 4 - Easy Animation Retargeting In Minutes

Sdílet
Vložit
  • čas přidán 19. 09. 2023
  • The workflow, start to finish, passing a Mixamo animation between models. I'll explain the concepts behind what you're doing so you can make your own universally compatible animations to pass between your models.
    I take some liberties in the explanation, but my intent is to make it easier to understand, so you can troubleshoot issues that come up on your own, and can more easily identify where you may have gone wrong.
    Godot 4.1 Stable
    Blender 3.6.2

Komentáře • 142

  • @victorvatalakis5118
    @victorvatalakis5118 Před 4 měsíci +10

    This is like the 7th retargeting / add animation video I watched.. and during all the others I was thinking "really? all this workflow just to retarget? how inefficient and prone to error, surely there's a better way"
    And then I found yours, and it makes all the sense. Big thanks :)

    • @catprisbrey
      @catprisbrey  Před 4 měsíci +2

      Thanks! It's complicated and not complicated at the same time. But knowing what you're doing, and why, makes the whole process easier. And if you stick to Godot ready skeletons, it's all super easy and Godot will likely map it all for you.
      For perfect skeletons, Mixamo makes good ones or I wrote a free Blender plugin called 'Rigodotify' which allows Rigify to make Godot ready rigs.

    • @victorvatalakis5118
      @victorvatalakis5118 Před 4 měsíci

      @@catprisbrey Yeah! I just got one of those synty character bundles, and I'll throw them into mixamo for rigging and then use this approach for godot skeles :)

  • @MoondreamGaming
    @MoondreamGaming Před 2 měsíci +2

    I jut had the revelation of my life and solved 600% of my problems in8 minutes. amazing, a living legend.

    • @catprisbrey
      @catprisbrey  Před 2 měsíci

      You just wait....I've been working on making animal retargeting maps :)
      nearly done.

  • @jeroenh2470
    @jeroenh2470 Před měsícem +1

    Finally, a video that explains this topic🙏
    Thank you so much, it works like a charm!

  • @yvanvan3729
    @yvanvan3729 Před 9 měsíci +4

    Thank you for this great tutorial and these clear explanations. This will save many people a lot of work.
    Have a wonderful day.

    • @catprisbrey
      @catprisbrey  Před 9 měsíci +1

      Thanks, hopefully it'll give people the answers they're looking for on the topic.

  • @Keanine
    @Keanine Před 2 měsíci +1

    Thank you for this tutorial, I'm used to Unity's mecanim system so this is pretty similar. And especially thank you for explaining everything clearly too, I'm doing some runtime model imports so understanding the underlying mechanics of each action you did is very important for me to mould it into something that works for my situation

    • @catprisbrey
      @catprisbrey  Před měsícem

      Glad it was informative and clear. It can be confusing, so i'm glad you found it helpful

  • @vast634
    @vast634 Před 3 měsíci +2

    You can also manually edit the bones map (saved to file) in a Text editor, if you need to quickly adjust the names or find bugs. Its just a text file that maps godot bone names to model bone names.

  • @jasonea95
    @jasonea95 Před 8 měsíci +3

    Great tutorial, I tried this out and the only hiccup I had was that on the models I used, one of the models imported having the toes at the bottom green dots instead of the balls of the feet. Once I figured that out and changed them to the correct bones, everything imported without a hitch! So just to add if the dots are green it doesn't necessarily mean that everything automatically mapped correctly.

    • @catprisbrey
      @catprisbrey  Před 8 měsíci +3

      Exactly, definitely double check!

  • @mch43856
    @mch43856 Před 2 měsíci +1

    awesome ty!

  • @Khytau
    @Khytau Před 9 měsíci +1

    Thanks!

  • @almirpask
    @almirpask Před 2 měsíci +1

    Thanks a lot!

    • @catprisbrey
      @catprisbrey  Před měsícem

      Hope it helps clarify the whole process

  • @Mushele
    @Mushele Před 25 dny

    To people who make their own animations/rigs - You can just save your animations to seperate file, then in import settings load that file as animation library which can be loaded in animation player, that way you have 100% control over the process instead of hoping for good results :3

  • @jaimimcentire99
    @jaimimcentire99 Před měsícem

    From a high level view, it's seems like it's basically a clone of Mecanim from Unity. Awesome job. Can't wait to check it out. Thanks for the video!

    • @catprisbrey
      @catprisbrey  Před měsícem

      Yeah, as I understand, Godot isn't doing anything crazy different than other engines or software used for retargeting.

  • @nyx3m
    @nyx3m Před 8 měsíci +1

    Brooooo you are so underrated

  • @firerunnew
    @firerunnew Před 4 měsíci +1

    Спасибо, помогли наконец-то в этом разобраться!

    • @catprisbrey
      @catprisbrey  Před 4 měsíci +1

      Рад, что смог помочь. Поначалу это кажется трудным, но становится легче, когда вы узнаете, чего хочет Годо.
      Надеюсь, с этим русским все в порядке. Я использую Google Translate

    • @firerunnew
      @firerunnew Před 4 měsíci

      ❤@@catprisbrey

  • @travh98_
    @travh98_ Před 4 měsíci +1

    Amazing tutorial, this feels like when humans discovered fire for me. This works on Godot 4.2, an issue I had was the animation looked weird after retargeting, turns out I had exported my model in Rest Position instead of Pose Position.

    • @catprisbrey
      @catprisbrey  Před 4 měsíci

      That's a model specific problem. In blender you need/can apply the new rest pose so it's set permanently to the preferred position

    • @travh98_
      @travh98_ Před 3 měsíci

      @@catprisbrey Does that need to be done on the model we are using, or on the mixamo animation we download? I made a video explaining the issue I'm having on my channel, to summarize my model is doing half of the retargeted animation and half of the T-pose (or whichever animation it had when I exported it). I appreciate the help!
      czcams.com/video/VO_UjLm4NWI/video.htmlsi=h9--WSkQ-Wiyf9GE

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      @@travh98_ sounds like the green dots on the imported character in Godot are not actually pointing to the correct bones.
      It needs to be done on every model. Any new ones you bring in, and Amy you plan to save the animations into a library to use elsewhere. So EVERY model. And DOUBLE CHECK every time that the green dots when making the bone map aren't lying to you, showing green but have the wrong bone selected ( a hip instead of a spine, etc

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      @@travh98_ looking over your video, my diagnosis is I think the hip/early spine bone may be incorrectly mapped on import.
      I don't think it's blending your animations, I think that one bone low in the rig isn't mapped right, so now it's transforms aren't passing to it's children, so the legs sort of wiggle and appear incorrectly offset.
      Some Mixamo models have a root bone, some don't and only have hips, and it can trick you when importing where they get used in the wrong spots. It can also place moevment intended for the hips to the root, or root to the hips.
      Another thing you can try, I just posted a soulslike game template, it also contains a animation library that should be perfectly compatible with both mixamo/unity/standard/rigidoify skeletons. In a video from yesterday I did, I put those animations on a Maxima model doing the whole process again.
      There's also a massive animation library in that template, you could try adding that template to your models and see which one takes it perfectly, and which of your models is buggy.
      And a final option, you're just passing Maximo animations to mixmo animations, you should do that in blender first, pack all the animations onto a single model in blender. It's much faster that way, I show that in my video from yesterday too

    • @travh98_
      @travh98_ Před 3 měsíci

      @@catprisbrey thanks for the advice, I've made a to-do list of things to try and I'll let you know how it goes. I'll definitely try your souls like template, I was already thinking of using it for my current game, it looks awesome.

  • @AshironDerigarStudios
    @AshironDerigarStudios Před 7 měsíci

    ive got a suggestion for the 3d action adventure kit, 3d metroid prime style maps i have some ideas and theories on how to do it but the one issue ive had is the im not sure how to get the separate map working correctly. It just sounds like a great feature to add

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      A good feature but sort of out of scope. A map system, especially one like that is almost an entirely UI driven concept, and each 3D level area would only have a detector area 3D to update where you were on that UI element, and likely an Array to keep track of what areas you'd already discovered to keep visible on the 2D map.
      A good feature for some games, but out of scope i feel for the template.

  • @grinja7955
    @grinja7955 Před 9 měsíci

    If animation is shared, should animation player load data only for frame it plays? Not sure why is bad if same animation is used for multiple characters as I guess it will be cached anyway. It should take less RAM and shouldn't impact speed while different animation players on each character are reading different frame states. Didn't try for now. Thoughts?

    • @catprisbrey
      @catprisbrey  Před 9 měsíci +1

      You'll see what I mean if you have multiple animation players on multiple models trying to run from the same file. Only one model will animate, all the other ones won't move.
      I don't know what's going on on the backend to make that happen, but it seems to be the issue. Hardly a big deal though, just make sure in your packed scene character that the animation player has those animations set to unique. Then you can have a thousand of the same enemy/character at once and it won't be a problem, they'll animate fine.
      It's only unique per packed scene, not per instance. So RAM isn't such a big deal.

  • @ThanhLongLe1410
    @ThanhLongLe1410 Před 8 měsíci

    Thank you for the great video.
    Do you know how to retarget aniamtion between difference poses?
    Not sure why, but I can't find any information about this

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      I'm not sure what you mean?

    • @ThanhLongLe1410
      @ThanhLongLe1410 Před 8 měsíci

      @@catprisbrey I mean how to retarget of meshes have difference poses, such as A pose to T pose?
      But I have read the below comments, and you replied that currently, only way to do that is using a 3D tool to match the rest pose, correct? So, is there a plugin supports that or we have to adjust the pose manually?

    • @catprisbrey
      @catprisbrey  Před 8 měsíci +1

      @@ThanhLongLe1410 not necessarily. The other user said their model didn't have an A pose or a T pose.
      If your model DOES have an A-pose, then at the import menu you'll want to turn on the "fix silhouette" checkbox, and as I recall there is a threshold number you experiment with to find the best result for that model.
      The CZcamsr FinePointCGI has a bike retargeting video that talks about it. Its a video from last year as i recall, talking about the new Godot 4 bone festures

    • @ThanhLongLe1410
      @ThanhLongLe1410 Před 8 měsíci

      @@catprisbrey thanks a lot for the information

  • @GrixM
    @GrixM Před 5 měsíci

    Awesome tutorial, but I have one problem. When importing the animation into Godot, the character is fixed in place when he shouldn't be. The animation plays, but for example if he is supposed to take some steps forward, he moonwalks in place rather than doing actually moving forward with his steps. It's like the root armature node is missing a position animation track. I don't think the animation is meant to do this, because in Blender it plays perfectly (I even re-imported the exported glb animation into Blender to verify that it still plays well). Any ideas?

    • @catprisbrey
      @catprisbrey  Před 5 měsíci

      Sounds like the root animation node isn't being mapped right, and so that animation track is being dropped (but the others animation tracks are fine it sounds like?)
      So I'd make sure in the import menu that you have the root bone mapped to the correct bone..could be worth double checking in blender that your model has that forward directional movement happening on the root bone, and that it isn't on a different bone or bones.
      Since Godot expects to see it on root, it could be an issue if in blender that forward movement is on the hips for example

    • @GrixM
      @GrixM Před 5 měsíci

      @@catprisbrey Thanks. I finally found a workaround. Long story short, what I needed to do was upload my character to Mixamo, but as .obj instead of .fbx, and go through Mixamo's auto rigger to generate a new armature for it, and use that as the vessel for the animations I export.

  • @FileTh1rt3en
    @FileTh1rt3en Před 9 měsíci +1

    Hey I watched a few of your other videos and I've run into some issues with this workflow. I'm pretty sure I understand most of it but the animations I want to use are not from Mixamo, they are ones that I've purchased and unfortunately the root pose of the animations is not t-pose or a-pose and it's causing horrible results. I tried using a few things in Blender to remedy this but was unable to get the root pose to be a-pose or t-pose, without basically manually positioning bones and since that's a ton of work I haven't tried it. I did try the Fix Silhouette stuff in Godot for the animation and also the model but found I don't need it for the model. The animation mostly works with the fix in place but it looks incredibly janky and the toes move really strangely. The animation and model combination work perfectly in Unity and I was hoping to figure this out because of the Unity Exodus... Any tips would be appreciated.

    • @catprisbrey
      @catprisbrey  Před 9 měsíci +2

      Unfortunately this workflow won't likely help you until you get that Rest pose fixed. This is less of a Godot issue as it is a model issue to be solved in Blender alone. You will likely need to do somewhat of what you described: Physically move the bones and reposition them into a proper T pose, and then, in Blender, assign that new Tpose as the official rest post. Once that is done, try the Godot process fresh again and see how it goes.
      I've had similar issues with models brought in that were made in Maya, as i understand they don't use Rest Poses in the same way as Blender, and anytime i brought it into Godot, thing sgot really weird, even with just it's regular animations, Not even talking about retargetting.
      Hopefully some of this helps you find what you're looking for to solve it.

    • @FileTh1rt3en
      @FileTh1rt3en Před 9 měsíci

      I appreciate the quick response. I think that it probably was made in maya actually so that makes sense. I think there's metadata on there that says as much so this makes sense. I am assuming you don't know of any quick and easy way to force any rig into a t-pose? I was hoping for a quick fix instead of having to just do a manual t-posing. I found some resources that recommend the alt+r, alt+g etc but because the rest pose is not right those are obviously not solutions.
      I tried using Rokoko's plugin for animation retargeting and I think it has similar issues, worse even cause the resulting animation had one of the knees bending backwards and the arms permanently in a t-pose shape, funny looking but not the results I hoped for. I wonder though if I perhaps had a t-pose "animation" and tried to retarget that onto the armature with the animation, then as you said set that as the rest pose.
      Well thanks again I guess I'll try to keep at it. Your content is helpful and impressive.

    • @catprisbrey
      @catprisbrey  Před 9 měsíci

      @@FileTh1rt3en unfortunately I think your best results might be to turn on mirroring on the x axis in blender, and then in pose mode, pose them to a T. Consider bringing in a T posed character (from mixamo?) or add a rigify boneset into the blender scene to help you line things up. Then delete it when you're done.
      Shouldn't take more than a few minutes, hopefully

    • @FileTh1rt3en
      @FileTh1rt3en Před 9 měsíci +1

      Hmm well, I did manually try to t-pose it and that does in fact break the animation in the same way that retargeting it onto another rig, backwards knee etc. I read somewhere that the rest post is what everything is animated off of using deltas so modifying the rest pose will break your animations. I think there may be some solution out there that can retain the animation while updating the rest pose and the deltas but I'm not sure what it would be.

    • @FileTh1rt3en
      @FileTh1rt3en Před 8 měsíci +1

      The solution is to duplicate your armature, modify the original into a t-pose and then apply it as a rest pose, then use bone constraints or a script to iterate over your animation frames and copy the positions and rotations from the duplicated armature, then delete the duplicated armature at the end. I haven't been able to get it to work but I found some scripts other people used for it none of which work for me. I feel like this might be something a dedicated addon could be created for.

  • @KaletheQuick
    @KaletheQuick Před 3 měsíci +1

    My generic mannequin is also named "Manny"
    Lol

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      I think the Unreal one is too. What's more funny is I think I learned that later. It's like we all think we're uniquely clever as we 'invent' the same name. It's just so perfect for him.

  • @vast634
    @vast634 Před 3 měsíci

    Can Those Godot bone format handle additional bones, as for weapons, attachments, waving hair etc? Or is this retargeting limited to a fixed Godot hirarchy?

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      That's sort of a trick question. The answer is both "definitely!" and also, "no!".
      The standard godot bone map for a humanoid is the same as other game engine default skeletons (unity etc), and so only has the normal human bones. No hair, no sword bone, etc.
      So if you map your extended skeleton animations into godot, it will not see those bones as something to include in the mapping and they'll be ignored. So in this case, the answer is "no"
      BUT, you can make your own bone maps, so if you wanted you could learn up how (the docs give the basics but it's some uncharted waters are far as tutorials go). If you make a bone map with the extra bones, and then map your fancy skeletons to that fancy map, then YES those will carry over.
      My suggestion though, would be to NOT do it that way.
      I'd suggest, keep to the standard game dev skeleton that most engines use for the core body. then make hair, weapons/bones etc DIFFERENT objects with their own skeletons that you don't bring in and map over. This would let you use any normal animations you come across, and then whatever extra animations you want to add onto subsets of body parts like tails, weapon animations, etc. You'd attach those sections of bones to the main characters's skeleton using a BoneAttachment3D, rather than have them baked into the body. This is also an easy way to use a standard animation set on a standard skeleton, but then add bone-rigged hair as a BoneAttachment3D child, and give that hair JigglePhysics. Saving you needing to animate hair at all (which sucks), and let's physics take over for the hair instead.

    • @vast634
      @vast634 Před 3 měsíci

      @@catprisbrey Thanks, I will look into it. Im currently looking at various systems to transition development over from Unity.

  • @catafest
    @catafest Před 8 měsíci

    I don't test these steps, good tutorial. If you remap the bones and animation, godot save these changes? if the answer is yes then you can reuse the GLB file with Blender to make more changes. Using Blender 3D and Python can let us write an addon for export to Godot with a proper armature. What do you think?

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      Yes it saves it, and yes you can keep adding animations both in godot, or to the GLB in blender. That is my workflow generally.
      What you say sounds logical, but i'm not sure if I understand why though. Why move it from Godot back out to blender?

    • @catafest
      @catafest Před 8 měsíci

      @@catprisbrey to have a proper armature and add more features to the model, for example: new animation, new textures, and make a duplicate model that can be easily used in Godot.

    • @catprisbrey
      @catprisbrey  Před 8 měsíci +1

      @@catafest I guess I still don't understand why your source model itself wouldn't be that already? A custom mesh, with an armature you can animate, and once you pass it to godot it can receive even more animations from an animation resource file.
      Once you've made the animation library, if you need to update your character, do it. Import your updated character model again, and just add the animation resource file you saved before.
      There was no need to keep bringing that animation info in and out of godot over and over again. It's already at the final destination. And when you need to change your model, just change it and import fresh again.

    • @catafest
      @catafest Před 8 měsíci

      @@catprisbrey ok, thank you for sharing!

  • @TheIronicRaven
    @TheIronicRaven Před 3 měsíci

    Great tutorial! Easy to follow!
    Only issue I am having right now though, I am making sure to follow all the steps exactly as you have them listed here, but the animations don't stick and I'm not sure why. I've imported my model and checked to make sure the rig was correct, and it is, and then I imported the mixamo model properly with the animation. I even see the animation as the .res file and everything. But when I hit the play button, my model never animates. The mixamo imported model does animate, so I know its not an error with the animation itself, but I can't for the life of me find where the error could be. Any suggestions?

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      Kind of too many possibilities to help you. My current thought is that your bones still aren't mapped properly on your model. How is your character rigged? Did he use Mixamo, Rigodotify? Rigify, something else?

    • @TheIronicRaven
      @TheIronicRaven Před 3 měsíci

      @catprisbrey that's fair, there are a ton of possibilities here.
      I checked the bone mapping and everything is green, and mapped to the correct bones. I did the rigging by using mixamo to create the rig (awesome service they offer!) So it should all be the same rig. But no movement at all. Maybe I'll try rigging it again? With fewer parts.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      @@TheIronicRaven try grabbing the MeleeLib.res file from my recent souls like project I posted, and add that link to your model and see if that animates properly. That'll show you real quick if the issue is with your model's rig or just an incompatibility with your current Mixamo animation.

    • @TheIronicRaven
      @TheIronicRaven Před 3 měsíci

      MeleeLib appears to be working just fine! I can bring that into my player model that I open with a new inherited scene, load the animation library, and can access all the animations and watch them animate. So there's that!
      I tried, without closing the inherited scene I just used to test your animations, to import the animation I made going from mixamo. Not working.
      Just no idea why the other animations aren't working, I guess maybe there is a problem with my mixamo animations. Perhaps I just imported them incorrectly?@@catprisbrey

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      @@TheIronicRaven mixamo bones aren't always the same and can trick you when you import..for example some use a root bone and some don't and use a hip bone as their base. It kind of makes things odd. At least you know for sure your character model is good and it's just the Mixamo one with the issue

  • @saikatpaine1085
    @saikatpaine1085 Před 3 měsíci

    How to export gltf / glb along with the animation from godot?

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      Push down any animations you make in the NLA editor, and then export to GLB with the default settings.
      Consider watching a video about the NLA editor. I think I've even done a speedy one with a focus on Godot

    • @saikatpaine1085
      @saikatpaine1085 Před 3 měsíci

      @@catprisbrey I was asking about the gltf 2.0 exporter in Godot ,I am trying Godot mobile version .I make models in nomad sculpt with layers ,then I was animating them using blendshapes in godot .but I don't know how to export the vertex morph data in gltf format.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      @@saikatpaine1085 not sure if I cns help there. I make all models/assets/animations in Blender, and bring them over to Godot. Not the other way around.
      I only export out scenes as GLTF when I export level block outs and want to use the blockout as base shapes for creating the art assets in Blender.
      My video here won't cover anything related to what you're asking about. And I don't know anything related to it either.

    • @saikatpaine1085
      @saikatpaine1085 Před 3 měsíci

      @@catprisbrey ok ,thanks anyway

  • @Trooololololllolollo
    @Trooololololllolollo Před 8 měsíci

    ETA for your souls like project incurious and probably need a ghiuide for bosses and it sounds perfect

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      It's on a pause until Godot 4.2 comes out at least. So far, a bunch of the announced features and changes to the animation tree and player (refactoring them into a new class AnimationMixer) are likely going to be breaking changes for everything I've done haha.
      I'm still going to release it, but it seems silly to release an example code template when half the code won't work for a more modern version of godot

    • @AshironDerigarStudios
      @AshironDerigarStudios Před 7 měsíci

      @@catprisbrey hmmm id still def like to see a wip of what is currently out id like to also potentially collab as i have a lot of ideas. Im also wondering how to have animated faces cause i have addons for that to in blender

    • @catprisbrey
      @catprisbrey  Před 7 měsíci

      There's just too much I'd want to change at the moment. Sorry I won't publish until I like what I've done.
      Faces are a good idea. I've done nothing with them. The stock bones for Godots default humanoid is just 2 eye bones and a jaw bone. 3 bones isn't great, but better than nothing. It may mean making your own bone templates which I haven't explored, and honestly don't have much experience with.
      I'm too busy with game jam dev right now to take on anything else but maybe later on

    • @AshironDerigarStudios
      @AshironDerigarStudios Před 7 měsíci

      @@catprisbrey so the best way to get faces working is blendshapes then? Or is it like blender and you can add your own stuff. Ngl getting good animations in is much more of a roadblock then i thought it would be.

    • @catprisbrey
      @catprisbrey  Před 7 měsíci

      @@AshironDerigarStudios bones are fine, it's just good to know the "standard skeleton" (the one used by default for Godot, Unity, and Unreal) as i understand typically only has 3 bones in the face. So if the question is about making multipurpose animation libraries or something, the standard one isn't quite going to be enough.
      And so you'd likely want to make a better, more complete face skeleton, as well as a more complete face bone template used by Godot.
      If I'm being honest, it's more work than I want to do haha.

  • @TheRealFame
    @TheRealFame Před 8 měsíci

    I must have problems with godot or my model itself.. Did you ever get the chance to try this with random human sketchfab models?

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      I don't use sketch fab much. What step isn't working?

    • @TheRealFame
      @TheRealFame Před 8 měsíci

      @@catprisbreyHmmm, Still just loading animations.. The main model is set as an unique animation library. With its own bonemap (for some reason saying miximo even though it's a new one.) And my models bonemap is still using the miximo bonemap but not really saying miximo_(bonename) like the other.

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      @@TheRealFame did you make these bone maps by mapping the bones yourself? Or did you map each bone into godot to make sure it actually has the bones in there correctly?

    • @TheRealFame
      @TheRealFame Před 8 měsíci

      @@catprisbrey Godot had both the bonemap data saved it seemed. Cause as I quick loaded the miximo bonemap for my target model, My bones were already fully setup and had a normal naming scheme. Now for the prefab model. I gave it a new bonemap and that bonemap was also already setup fully, As well as using the miximo naming scheme- like I stated earlier to help keep track..

    • @catprisbrey
      @catprisbrey  Před 8 měsíci

      @@TheRealFame are you getting any errors when the animation tries to run (in the editor you should see those errors too.) Anything relating to bone indexes or anything?

  • @krislution
    @krislution Před 6 měsíci

    Hi could you by any chance make a tutorial on how to make maps/terrain please.

    • @catprisbrey
      @catprisbrey  Před 6 měsíci +1

      That's not as much of my focus, i tend to focus more on code, physics, and animation related things than terrain and level design.
      What are your struggles? I may know tools or videos you may find helpful

    • @krislution
      @krislution Před 6 měsíci

      @@catprisbreyI’m just getting in to Godot 3D and have no idea where to start when it comes to map/terrain creation. I’ll take any suggestions. And thank you for the fast reply!!

    • @catprisbrey
      @catprisbrey  Před 6 měsíci +1

      @@krislution depending on the game, it will very a lot how you approach it..I'd suggest start making a basic platformer or something, and from there explore what your needs are. It'll get easier if you have something specific you're building and need an answer for.
      Focus on making small maps at first and explore how making those feels. Try out the CSGMesh instances to "grey box" build levels and areas. Basically make them using only those and text explore them with your character. You'll quickly find what works and what doesn't..once you built a CSG area, export it from Godot into blender and build a better looking version with details, color etc.
      Maybe watch some videos on level design and grey boxing (generally, not even in godot) and then try it out for yourself using godot

    • @krislution
      @krislution Před 6 měsíci

      @@catprisbreythank you for the tips! Hope to see more DevLogs from you in the future!

    • @catprisbrey
      @catprisbrey  Před 6 měsíci

      @@krislution you will, Ive just been busy working on a game for a game jam. I'll share a trailer for it here soon

  • @geams
    @geams Před 3 měsíci

    Really helpful, but no need to rush, you're almost out of breath.😅

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      We've only got 100 years max to do everything we want to do, so I gotta keep running or I won't finish in time 🏃

  • @LeDaytonpax
    @LeDaytonpax Před 3 měsíci

    I've been having issues, i almost certain i have followed step by step, i even got it working on another set of models, but now im working with different models, with slightly different body sizes, i made a new animation library with a ybot and got some animations from mixamo, but the mixamo bone map on my animation imported from blender and same for the new models, but when load the anim library they all become mangled trying to do the animation

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      Sounds like the bones aren't properly mapped at import. If even one bone is off, it'll mangle anything related to it, and any bone "downstream" from it in the skeleton heirarchy.
      I'd suggest not using a bone map file for the troublesome models. It's likely that there is just one bone off, and depending how mangled the whole animation is, it could be something like a spine or root bone screwing everything else up. Make sure that you map each bone yourself, EVERY bone manually to be sure the correct bones are in the correct places.

    • @LeDaytonpax
      @LeDaytonpax Před 3 měsíci

      @@catprisbrey its strange because i use the mixamo rigging tool to create the rigs and i check the bone map and all of the dots are green. im afraid because i plan on having many different types of npcs in the game 50+ and I want a way to streamline the proccess. Im also using active ragdoll which works fine but the idea of creating the ragdoll collision shapes and join angles on all of the npcs seems inefficient.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      So that's what i was saying before. Mixamo's animations and mixamos auto rigging too aren't always to be trusted to be the same. There are differences on some models and you're not the first person, or the last to find out that Godot has green dots for all the bones... but those bone aren't right. That the hips are on the root, and spine one is on the hips and everything is borked up. Ignore the dots. Do the check yourself manually, one at a time. make sure they're right because that's the step here things go wrong.
      Other options to troubleshoot. DOn't use Mixamo's rigger, use something else like Rigodotify (a blender rigging tool i wrote specifically to avoid Mixamo doing a shitty job: catprisbrey.itch.io/rigodotify). Or stick with you rmixamo method and try adding a "known good" animation libarary. one that has been tried and tested on lots of models. If you need one, my SoulsLike Template project has one in the player folder called MeleeLib.res (github.com/catprisbrey/Cats-Godot4-Modular-Souls-like-Template/tree/main/player/animation_libraries). Add that to your model inside of godot, and see if they take the animations correctly.
      If the model takes my library correclty in godot, then the skeleton is fine, and it's your other animations skeleton mapping for them is the culprit.
      But if they get all jumbled up too, you know your skeleton or your mapping is the culprit to your problems.
      As for more efficient ragdoll building. I agree, it is painstaking to set up manually for every creature. probably why a lot of indie's don't bother with it because they can't just devote staff to it to make it look good. You're best bets are either, don't bother. Or write a godot @tool to build the col setup for you. it could be as simple as a script that checks the length of each bone and adds a col child to each bone with a col shape height size to match it, and a set radius. And then you onlyneed to adjust head, chest, hip radius probably. That said... still a lot of work, that's the end of my support for you there.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      One benefit of using Rigodoty to rig, is i automate a bone rename so that in godot the names will auto detect 100% of the time correctly. So you you just add the humanoid profile at import, and it detects them perfect. no need for double checks. I'll never change them to create more work for us all.

    • @LeDaytonpax
      @LeDaytonpax Před 3 měsíci

      @@catprisbrey Thank you greatly for the support, i've downloaded you blender extension and as im trying to create the godot human armature i get this python error "armature has no attribute 'collections"

  • @gli7ch240
    @gli7ch240 Před 3 měsíci

    So I am able to do half of your tutorial I bonemaped a character which worked but now I am trying to bonemap a pair of arms with a gun I can't figure it out so you know a way to bonemap this or a way to attach my already rigged weapon and the animations to my character.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      If you plan on passing around animations for a non standard skeleton, You'll likely need to change your plan slightly.
      Bone map just your characters humanoid body. Just humanoid bones. No gun bones, no extras. So you back either NOT map this character body, and miss out on being able to transfer animations in engine, or you'd have to custom make a new nonstandard humanoid skeleton that includes your random gun bones...
      Or.... what I personally think you should do.
      Don't map the gun bone, don't map the gun, bail on having it be part of your humanoid.
      Instead the gun will be its own separate object, its own bones separate from this character. That you won't transfer around to every model. It stays with the gun.
      The gun you then add to the hand in engine using a Boneattachment 3D node. Tell it the hand, and if you have animations for it, trigger them to play in the characters animation player, or using something like timed signals

    • @gli7ch240
      @gli7ch240 Před 3 měsíci

      @@catprisbreyI have one small prob though the gun is an already rigged and animated scene so do I detach gun from the pair of arms and add to character but then how do I add the arms animation to my character animation without getting error because the animations have different bone names.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      @@gli7ch240 Indeed you do have a problem. You chose to use a nonstandard skeleton, but still want all the benefits of having used one.
      I still say it's less work mapping/transferring just the humanoid bones, and then needing to renamate your gun as a separate object in blender, creating new animations for it as it's own object rather than baked into your character. it's not as bad as it seems. I regularly do this sort of thing. Animate say two charcters, one maybe choking the other. They are two separate objects, two seprate animation players, but i keep the animations the same length for both models and trigger them to play at the same time so they are perfectly in sync. You could do the same thing for your gun.
      THAT, or again make a special bonemap profile that includes your special bones. There isn't much documenation for doing this easily though, and not many tutorials on the subject.
      THAT or, just accept, you chose not to use a standard skeleton. And so you don't get the benefits of sticking to standard skeleton like transferring animations in engine. You'll have to stick to transferring them in blender instead rather than having a stored library of animations to pass around. Your workflow bringing models into Godot will just skip entirely all the bone mapping aspects, you'll just use the models straight.

    • @gli7ch240
      @gli7ch240 Před 3 měsíci

      Ok well the first thing I tried to do was remap the character then take the original asset non remaped and add it to the character scene I deleted the skeleton selector in the side panel for the gun and arms then restarted them to the characters skeleton I then tried to use the gun animation now with the new targeted skeleton but it gave me 52 error because the animation names did not match the new skeleton bones. That is why I tried to remap the gun and arms to godos skeleton just like the character so everything was named the same do you know if there is any way to remap the bones using the godot reimport bone remapong like in the video just not using the humanoid one. If so how do I do it.

    • @gli7ch240
      @gli7ch240 Před 3 měsíci

      @@catprisbrey like the making a special bonemap and adding special bones how do I do that.

  • @Freee277
    @Freee277 Před měsícem +1

    invalid animationLibray file please help

  • @Chareidos
    @Chareidos Před měsícem

    I love your videos, but after a while of tinkering and forgetting half of the stuff that is spread among several videos with some different approaches, and leaving out a step that you might have teached on another, I find myself struggling on the way by seemingly mixing up the things.
    I am using your RiGodify Rig, but am failing with all the exporting stuff. In your respective clip you stop after only showing how to set up the rig for making animations, I guess?
    Are you supposed to re-parent the Model with the animation back to the metarig before export?
    In this video you show a direct way to import from Mixamo over Blender to Godot. Could not follow through since my model does not export correctly as mentioned above. Skeleton is missing on one trial or is unknown to godot (?) and the weightpaint correction does not go over when I overwrite the model... I even do not know if Godot does handle that well. I am pretty lost here.
    You skipped the configuration/export setting stuff in this clip, which might be helpful in my case. I dunno.
    Sorry if I sound annoyed or annoying with my confusion. I really do not want to bother you but I think a fresh video with the whole ordeal in one Go would clarify stuff.
    I am grateful for all you have done already. Great work so far.
    So please do not take this comment as an assault on your work but more a lament from me who can not structure themselves well!

    • @catprisbrey
      @catprisbrey  Před měsícem +1

      You'll generate a metarig. Adjust the size of the meta rig to match your model. Apply all transforms to the Meta rig. Generate and then convert to the real game rig. Parent, the model to the generated rig with automatic weights.
      You need at least one animation on that rig before exporting out to Godot. Or Godot will not see or create an animation player for you. Also when you export, you can select the checkbox to "export deformation bones only".
      This other video of mine might help you more:
      czcams.com/video/3XAIhZ_uhc8/video.htmlfeature=shared
      I do the entire process (?) of bringing a character in from Rigodotify, as well as the whole process for mixamo. And then I assign it some animations and bring it into game template

    • @catprisbrey
      @catprisbrey  Před měsícem +1

      Also, if it helps. It sounds like your issues aren't Godot or Rigodotify related. it sounds like the issue is entirely what you're doing in blender. Likely an incorrect process of rigging your model, or simply not giving it at least one NLA animation so that Godot creates an animation player for it.
      that's sort of good news for you. it means you aren't limited to just Godot related tutorials. You can look at any Blender video about how to rig a character. And then any video about using the NLA animation editor, and pushing down 1 animation into the rig.
      So silver lining in the storm?

    • @Chareidos
      @Chareidos Před měsícem

      @@catprisbrey I think I could find some of my mis-steps. Most of them are on me and mostly little stuff.
      In one case I forgot to select the right rig, which you already mentioned in your response.
      On the other part I did the mistake to load the bonemaps on the RiGidified Model in Godot which is unnecessary.
      I could now export the model correctly. It had a T-Pose. Had to remember the steps around the export settings.
      Now I am following your other tutorial to make an AnimationLibrary and hope I do not mess that up ^^
      Thanks for your quick response! I will now take on, and should make a new cleaner Godot-Project to not get confused again.

  • @radthadd
    @radthadd Před 4 měsíci

    The bones also have to be in a certain order

    • @catprisbrey
      @catprisbrey  Před 4 měsíci

      I say many times you need a heirarchal skeleton. If you stick to rigging with Mixamo or my 'Rigodotify' plugin for Blender, you won't have to worry about the bone order anymore since those will get it right

  • @GorblinRat
    @GorblinRat Před 9 měsíci +1

    Yoooo

    • @catprisbrey
      @catprisbrey  Před 9 měsíci

      Hope this helps get you through it

  • @sonnyobrien
    @sonnyobrien Před 3 měsíci

    why did you not just retarget in blender... why did you bother to go through this process of having two imported skeletons/character models.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci

      So if you look at some of my game dev projects, I show more why this can be handy.
      The short version is building libraries of animations, and animation trees that aren't tied to one model. Flexible and compatible allowing you to drag and drop in any model with a compatible skeleton and they'll animate with all the same logic almost immediately. It allows you to avoid needing Blender almost entirely after making the animation library that first time.
      This can save time in a big way when you're prototyping lots of models and characters but don't want to rig and transfer animations over and over again in blender. Instead you can do it once, save that library, and then iterate faster staying 100% in engine.

    • @sonnyobrien
      @sonnyobrien Před 3 měsíci

      @@catprisbrey
      Your manual process of remapping is insanely time consuming. I highly suggest you do this once in Blender to improve your pipeline and import more effectively into Godot and not get confused by having to have two models in your Godot project.

    • @catprisbrey
      @catprisbrey  Před 3 měsíci +1

      @@sonnyobrien so, my personal pipeline currently is about two mouse clicks. My bone names of my stock rig in blender auto match in Godot so I barely touch anything honestly.
      More importantly, your commenting at me like this is something I've done or created poorly. I'm just showing how the bone map feature works in Godot and showing a variety of common problem areas that I get asked. I honestly get messaged almost constantly everydy questions about all this stuff, so many folks don't even know where to begin and are completely lost and have the strangest workflows you can imagine.
      So, if you've got a workflow that you're happy with, that's awesome. And even better, If you have a better workflow, bug free and easy to follow, please please please, make a video! Show folks how to do it better, and get them to stop messaging me their questions. Please please do that.

    • @sonnyobrien
      @sonnyobrien Před 3 měsíci +1

      @@catprisbreyNice I agree

    • @sonnyobrien
      @sonnyobrien Před 3 měsíci +1

      @@catprisbreyWell written and said