You've gotta love any engine which you can tear open and look at the code of, when something seems off.
@Vaximous
9 ай бұрын
Godot Jolt actually has functioning springs, would like to see a remake of this using Jolt as its performance is so much better than GodotPhysics3D actually.
@delqyrus2619
Жыл бұрын
I can't appreciate enough how much i like your "Do-It-Yourself"-Mentality. It isn't implemented in the Engine? Just implement it yourself! That's one of the great features of Godot. Still i would recommend impementing it directly in the engine via C. Such tiny calculations in GDScript can be pretty slow. And while you have access to the source you can have huge performance improvements by just using native code.
@FinaISpartan
Жыл бұрын
Wow, this is the best character animation I've seen in godot so far! Good stuff!
@mantequilladev
Жыл бұрын
Your channel has been huge for me for my latest project using active ragdolls and IK. Keep it up!
@rafaeljm3204
Жыл бұрын
If I may ask, did you get it to work when colliding to walls?
@bryanleebmy
8 ай бұрын
Crazy that it's not yet implemented in the engine but you went ahead and did it anyways!
@yvanvan3729
Жыл бұрын
Awesome tutorial ! Great great work. Thanks you for sharing your knowledge with the Godot community !
@generrosity
Жыл бұрын
This is AMAZING!! 😲 If you are looking for ideas - seeing how characters act being hit with a sword or bullet instead of balls? Could you use this to merge in a stance Delta - someone who is hobbled over or stands with chest more open? So cool!
@ThefamousMrcroissant
4 ай бұрын
This is actually genius! It looks so good while being so simple. It takes a smart person to figure out an easy solution to a hard problem.
@ivailoburov1295
Жыл бұрын
I never thought I'd see this working in Godot anytime soon. Thanks!
@porkyorcy1715
8 ай бұрын
SO AMAZING AND SIMPLE THANK YOU!
@BenUttecht
Ай бұрын
thankyou so much for the github link, so incredibly helpful, one thing i think you could add (I will be adding quite a few features but for different reasons) would be making it so limbs stay in their sockets, i might update this comment if i do end up implementing that, but its really not needed for most things
@misterprickly
Жыл бұрын
I'm so glad that you made this! Thank you so very much.
@thomasmaier7053
8 ай бұрын
Superb mate! Thank you for the comprehensive tutorial and code on GH. I'll try and tinker with it during GGJ. Cheers!
@soudi1684
Жыл бұрын
wow. the availability of this information is amazing.
@Smaxx
Жыл бұрын
Looks great. Also tempted me to take some time looking into the Skeleton3D source to maybe get this functioning out of the box without copies, because it feels unnecessary complicated.
@boroborable
Жыл бұрын
really nice tutorial. I think after a forcefull collision or a leg shot, swapping to ragdoll and lose control then blending back to standing controller would definitely improve this, but those require more manual animation work I suppose? maybe keypose blending perhaps?
@chrisnevermorebotha3040
Жыл бұрын
Thank you, this looks great. You making Godot look AAA ready!! Motion Matching system in Godot ? wink wink nudge nudge
@sanyi9667
Жыл бұрын
your approach is amazing. would you consider making a beginner tutorial series? 4-5 videos? I saw your previous work on the axe throwing feature or card display, any of those types of games (hackNslash/card game) would be greatly in demand
@gonderage
9 ай бұрын
Gosh, we could use this for things like responsive animations to entities being attacked at specific body parts. I vividly remember how colossal Elden Ring enemies react like this, like their knee shakes when attacked at the leg for example.
@rubixkyoob2
Жыл бұрын
Awesome tutorial!
@WretchedEgg528
Жыл бұрын
Thank you, thank you, thank you!
@BlenderhilfeDe
11 ай бұрын
very good tutos my friend, cheers!
@devilblackdeath
Жыл бұрын
Funny enough I noticed FF16 probably did something similar for hit feedback (probably to avoid having enemies flashing red in their realistic environments). At least as far as using springy bones, not the actual reaction to the environment.
@leep_
6 ай бұрын
So I was actually working on something completely unrelated but this actually helped me with that problem. 😂
@feversection9713
Жыл бұрын
You're the absolute best at this
@Polygarden
Жыл бұрын
This is genius!
@hackenshaw
Жыл бұрын
Very cool. Have you considered contributing your implementation to the godot source code? You would have to implement it in C++, but the maths will be exactly the same
@_PiCode
Жыл бұрын
This is probably better than what I made 👍
@ppppppplanet
22 күн бұрын
Been struggling with applying hookes law to rotation. Have you thought about making a separate video for that? It's tough to find a good explanation for it and most guides I've found don't match every axis of rotation well.
@spielville5087
Жыл бұрын
It's probably a wierd request, but could you come up with a video on the way to implement a character dismemberment in Godot 4?
@botulin1443
Жыл бұрын
Amazing work. My suggestion is to make the neck stiffer.
@johann2518
Жыл бұрын
looks great, how are u keeping the modell upright ?
@woohoo2491
7 ай бұрын
Dude just remade Euphoria in Godot
@AnggaFurasesa
Жыл бұрын
Thanks dude... It still hard to understand even if you share the source.. As far as I know : 1. If your character has blend_shapes in mesh, then, don't blindly change root type as Character3DBody. it will write big array in your tscn and your system become very slow. Suggestion : Just export armature only for physical_bones, and animated_bone. And armature with mesh for interpolated_skeleton. 2. Interpolated model cannot play exact animation? Maybe because "Interpolated". it make sense to make smooth animated of which following animation bones, but it will lack target positions end to end. To see what happen, create BoneAttachment -> create basic mesh, and attach it. In my case, All bones (in physics, animation, and interpolated skel) have exact positions in rest pose. Some idle animations, have different position of bones, and interpolated bone in median vector position. I hope someone give direction and suggestion. thanks
@rafaeljm3204
Жыл бұрын
This is a really cool tutorial. Would you mind sharing a bit more on how to make it so that the ragdoll appears less stiff? When adding my simple rigged humanoid and simulating him fall he just looks kind of like a plastic doll, not crumbling all funny like I'd like him to do :)
@ld2studio675
Жыл бұрын
Thanks
@Relivino
Жыл бұрын
Would you be able to make a tut on how to stop character movement when they collide with a wall?
@mōellctie
Жыл бұрын
Hey thanks for the tutorial.
@giggio1747
Жыл бұрын
That's wonderful! Thanks a lot. I'm curious to understand how does it impact on performance...Does anyone already have tried it on a complete project?
@D.E.Nicolas.Goncalves
Жыл бұрын
I'm curious too, i'll be glad to know about it
@hidemat5141
Жыл бұрын
Nice dude
@itseems7173
Жыл бұрын
I dont think you should be using hookes law for this, IMO character should apply the same force to return to initial state from any other state, because character isnt a spring. Like when you're doing push ups, you're applying the same force no matter how low you get during a push up.
@rafaeljm3204
Жыл бұрын
One thing I don't get is how do you make it so that the collided ragdoll doesn't keep trying to move until it eventually catches up to the animation model and essentially blinks through a wall?
@question_mark
Жыл бұрын
noice
@jamaalsineke2405
4 ай бұрын
Out of curiosity, how does this impact performance if you had say 20 characters with this system? Because to my understanding you'd be running 40 rigs in total?One physics and one nimation rig?.........Secondly do you ave any idea how I'd reverse engineer this for unreal engine?
@samuraikina5908
Жыл бұрын
Cheers 🤣 we all doing rig videos today ❤️
@rthypoo
Жыл бұрын
Thank you for the excellent guide. I'm curious how you think you would have translated the rotation difference if angular spring had worked? It does work if you use Jolt, btw, but my head is spinning from trying to figure out how to translate the target rotation into the joint's local space. I don't really understand how GODOT actually sets up the physical skeleton, either. You would assume from the node layout that each physical bone's original transform is equal to the Skeleton3D bone's get_global_rest, but that is not the case.
@JourtCester
Жыл бұрын
Cool work! I am trying to recreate the active rag doll for the walking player charterer you showed. However, I cant get it to work. After configuring all joints and colliders Godot crashes for me. Any chance you can release your version of it? I think your repo only has the standing character, not one controlled by the player.
@luffymonkey6523
7 ай бұрын
cool!
@drawtheword7590
10 күн бұрын
anyone know if they implemented those 6Dof joint in later versions??? if so it would be nice to see a tutorial update using those joints. thanks for the tutorial hoping to use this in my project
@pelatho
Жыл бұрын
Genius!
@ClipsAndTips255
6 ай бұрын
Thanks, really helped. Is there any way to make an active ragdoll without needing an external collider that's not part of the body?
@darknetworld
Жыл бұрын
Great work! still to work on it to learn it. I wonder if the for easy to deal with weapon aim or interacting object like door or rope or ladder. But guessing it a lot of work.
@EeVeE3D
Жыл бұрын
Cool
@bertangokalp9002
Жыл бұрын
Please do multiplayer tutorial you are my savior if you do this!
@Eirenband
Жыл бұрын
You make cool stuff.
@so_easy23
Жыл бұрын
holy shi
@vd3876
11 ай бұрын
You mentioned that there is a way to prevent the physics of bones from being trapped by the geometry of the world. Could you explain how this can be done? Which direction should I go?
@DimensionDoorTeam
Жыл бұрын
Prepare for unforeseen followers
@bramweinreder2346
Жыл бұрын
Is it possible to set them up like bowling pins and they fall down if their colliders are triggered? Think Storm Trooper Bowling but you're using The Force to throw heavy objects.
@matthewlewis757
3 ай бұрын
Is there a way to do this in godot 3.5? I tried doing it, but I was unable to implement it. It was heartbreaking
@internettrash00
8 ай бұрын
i couldnt get it right. its been 3 days. my model keep getting crazy after putting ragdoll code
@chedev
Жыл бұрын
hey i try to run the physics bone start simulation but when i run the game the game just freeze
@R1fleman
6 ай бұрын
how can you add more animations like a punch
@AdamsAGD
6 ай бұрын
im somewhat of a total noob but i thought that the physicsbone would act a collision shape for the characterbody3D. is that possible? i saw another person video and he doesnt have a collision shape for his root node, not sure what hsi root node was tho, it was just a 3dNode icon and it was for an NPC not main characte. i implemented the physical_bones_start_simulation() and that made my bones ragdoll around, but they arnt staying on my character, so i walk around and my body is just lying on the ground.
@luc0
2 ай бұрын
Do you figure out a solution?, I am trying in the CharacterBody3D too, and moved the main CollisionShape3D accidentaly and ragdoll works, but I need the main collision shape because is a CharacterBody...
@luc0
2 ай бұрын
the reason I think is because the bones collides with the CharacterCollisionShape, but I dont find a solution
@AdamsAGD
2 ай бұрын
@@luc0 sadly it jsut doesnt work like that. wow, 3 months ago feels more like a year, anyways a character3d needs ONE collision shape, MAYBE you can put the collision shape under the characterbody3d and then with code have it follow the bones, not sure if thats what i did or not.
@AdamsAGD
2 ай бұрын
@@luc0 it doesnt work like how i wanted it to. The characterbody3d needs a collision shape and that im assuming inherits all the characterbody3d "stuff" IE, collides with static objects. Im not sure if i put the collision shapes under the cchracterbody3d and then used code to follow the bone, or if i had them as children of the bones..
@demian5631
Жыл бұрын
Now we can recreate the Euphoria Engine. GTA 6, here I come! /s
@D.E.Nicolas.Goncalves
Жыл бұрын
This video is amazing, thanks man! Im getting an error and dont know why 🤔, "Invalid get index 'global_transform' (on base: 'Nil')." in this line: "var target_transform: Transform3D = target_skeleton.global_transform * target_skeleton.get_bone_global_pose(b.get_bone_id())" i would like to know why, if it happend for you that are reading, and you got through, share with me, i'll be glad.
@D.E.Nicolas.Goncalves
Жыл бұрын
Now it is working, there was the target_skeleton that i didnt assigned one to the var
@werd1274
5 ай бұрын
@jonstephenson3786 did u get it to work? same issue here
@starboy_2322
Ай бұрын
Can i edit rdr2 ragdoll?
@thinkinggrin165
Жыл бұрын
NICE! This reminded me of a GDC Talk: kzitem.info/news/bejne/taN3u2yXiZeceKQ For example: After an enemy dies, Play its death-animation but Switch To physical Animation, If it bumps into Something. So to prevent clipping. Or parts of the skeleton become physical animated while climbing.
@maniksharma9736
Жыл бұрын
Make a punch a bunch clone please...
@crigz
Жыл бұрын
Funny you say that, it was @Pontypants devlogs that inspired this video! Nevertheless, us Brits know better than to piss off a Viking.
@maniksharma9736
Жыл бұрын
@@crigz i was inspired too you know ,but my popo brain can't do stuff like that that 😅. Are u going to make another episode on this topic (i am looking forward to it)? I was extremely excited when I saw it on reddit , so much that I forgot to study for my physics exams. Have u studied physics or maths in higher studies?
@crigz
Жыл бұрын
@@maniksharma9736 Nah mate my brain is as smooth as a pebble, you can definitely do it if you just give it your best. I haven't! I studied Games Programming, which did cover some basic physics, but we never got much deeper than F = M * A. Thankfully the internet is full of fantastic resources for self study.
@Sina_Qadri
Жыл бұрын
@@crigz can you make this work with godot 3??
@MrStarlightt
9 ай бұрын
great tutorial but i have problems with the bones i created and i dont have understanding on how they work so now my enemy when i start the game is just mess
@BenUttecht
23 күн бұрын
in 4.3 its not working... Looks like the physical_bones_start_simulation() was moved to the PhysicalBoneSimulator3D node
@szybre
4 күн бұрын
In 4.3 the physical_bones_start_simulation() got moved to the PhysicalBoneSimulator3D node, it should spawn in your hierarchy when you automatically create physical bones
@BenUttecht
16 сағат бұрын
@@szybre I think i figured that out i just forgot to update this comment, thankyou
@2and3d_com
Ай бұрын
Is there a way of doing this now, with the new Godot 4.3?
Пікірлер: 88