Active Ragdoll / Physics Animations in Godot 4.0

  Рет қаралды 52,505

Crigz Vs Game Dev

Crigz Vs Game Dev

Күн бұрын

Пікірлер: 88
@4mb127
@4mb127 Жыл бұрын
You're the wizard we all need but don't deserve.
@micmacha
@micmacha Жыл бұрын
You've gotta love any engine which you can tear open and look at the code of, when something seems off.
@Vaximous
@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
@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
@FinaISpartan Жыл бұрын
Wow, this is the best character animation I've seen in godot so far! Good stuff!
@bryanleebmy
@bryanleebmy 8 ай бұрын
Crazy that it's not yet implemented in the engine but you went ahead and did it anyways!
@mantequilladev
@mantequilladev Жыл бұрын
Your channel has been huge for me for my latest project using active ragdolls and IK. Keep it up!
@rafaeljm3204
@rafaeljm3204 Жыл бұрын
If I may ask, did you get it to work when colliding to walls?
@yvanvan3729
@yvanvan3729 Жыл бұрын
Awesome tutorial ! Great great work. Thanks you for sharing your knowledge with the Godot community !
@ivailoburov1295
@ivailoburov1295 Жыл бұрын
I never thought I'd see this working in Godot anytime soon. Thanks!
@generrosity
@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
@ThefamousMrcroissant 5 ай бұрын
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.
@porkyorcy1715
@porkyorcy1715 9 ай бұрын
SO AMAZING AND SIMPLE THANK YOU!
@misterprickly
@misterprickly Жыл бұрын
I'm so glad that you made this! Thank you so very much.
@soudi1684
@soudi1684 Жыл бұрын
wow. the availability of this information is amazing.
@hackenshaw
@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
@Smaxx
@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.
@devilblackdeath
@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.
@boroborable
@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?
@thomasmaier7053
@thomasmaier7053 8 ай бұрын
Superb mate! Thank you for the comprehensive tutorial and code on GH. I'll try and tinker with it during GGJ. Cheers!
@BenUttecht
@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
@sanyi9667
@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
@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
@rubixkyoob2 Жыл бұрын
Awesome tutorial!
@Polygarden
@Polygarden Жыл бұрын
This is genius!
@feversection9713
@feversection9713 Жыл бұрын
You're the absolute best at this
@leep_
@leep_ 6 ай бұрын
So I was actually working on something completely unrelated but this actually helped me with that problem. 😂
@chrisnevermorebotha3040
@chrisnevermorebotha3040 Жыл бұрын
Thank you, this looks great. You making Godot look AAA ready!! Motion Matching system in Godot ? wink wink nudge nudge
@giggio1747
@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
@D.E.Nicolas.Goncalves Жыл бұрын
I'm curious too, i'll be glad to know about it
@BlenderhilfeDe
@BlenderhilfeDe 11 ай бұрын
very good tutos my friend, cheers!
@spielville5087
@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?
@WretchedEgg528
@WretchedEgg528 Жыл бұрын
Thank you, thank you, thank you!
@botulin1443
@botulin1443 Жыл бұрын
Amazing work. My suggestion is to make the neck stiffer.
@hidemat5141
@hidemat5141 Жыл бұрын
Nice dude
@AnggaFurasesa
@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
@ppppppplanet
@ppppppplanet Ай бұрын
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.
@rafaeljm3204
@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 :)
@woohoo2491
@woohoo2491 7 ай бұрын
Dude just remade Euphoria in Godot
@itseems7173
@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.
@_PiCode
@_PiCode Жыл бұрын
This is probably better than what I made 👍
@Relivino
@Relivino Жыл бұрын
Would you be able to make a tut on how to stop character movement when they collide with a wall?
@johann2518
@johann2518 Жыл бұрын
looks great, how are u keeping the modell upright ?
@mōellctie
@mōellctie Жыл бұрын
Hey thanks for the tutorial.
@Eirenband
@Eirenband Жыл бұрын
You make cool stuff.
@pelatho
@pelatho Жыл бұрын
Genius!
@rthypoo
@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
@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.
@darknetworld
@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.
@ld2studio675
@ld2studio675 Жыл бұрын
Thanks
@rafaeljm3204
@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?
@vd3876
@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?
@EeVeE3D
@EeVeE3D Жыл бұрын
Cool
@goldengoblinX
@goldengoblinX Жыл бұрын
Please do multiplayer tutorial you are my savior if you do this!
@samuraikina5908
@samuraikina5908 Жыл бұрын
Cheers 🤣 we all doing rig videos today ❤️
@ClipsAndTips255
@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?
@question_mark
@question_mark Жыл бұрын
noice
@so_easy23
@so_easy23 Жыл бұрын
holy shi
@drawtheword7590
@drawtheword7590 20 күн бұрын
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
@luffymonkey6523
@luffymonkey6523 8 ай бұрын
cool!
@DimensionDoorTeam
@DimensionDoorTeam Жыл бұрын
Prepare for unforeseen followers
@bramweinreder2346
@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.
@demian5631
@demian5631 Жыл бұрын
Now we can recreate the Euphoria Engine. GTA 6, here I come! /s
@jamaalsineke2405
@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?
@R1fleman
@R1fleman 7 ай бұрын
how can you add more animations like a punch
@internettrash00
@internettrash00 8 ай бұрын
i couldnt get it right. its been 3 days. my model keep getting crazy after putting ragdoll code
@matthewlewis757
@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
@chedev
@chedev Жыл бұрын
hey i try to run the physics bone start simulation but when i run the game the game just freeze
@D.E.Nicolas.Goncalves
@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
@D.E.Nicolas.Goncalves Жыл бұрын
Now it is working, there was the target_skeleton that i didnt assigned one to the var
@werd1274
@werd1274 5 ай бұрын
@jonstephenson3786 did u get it to work? same issue here
@thinkinggrin165
@thinkinggrin165 Жыл бұрын
NICE! This reminded me of a GDC Talk: kzbin.info/www/bejne/ip6khmuXhcqee9E 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.
@AdamsAGD
@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
@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
@luc0 2 ай бұрын
the reason I think is because the bones collides with the CharacterCollisionShape, but I dont find a solution
@AdamsAGD
@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
@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..
@starboy_2322
@starboy_2322 Ай бұрын
Can i edit rdr2 ragdoll?
@maniksharma9736
@maniksharma9736 Жыл бұрын
Make a punch a bunch clone please...
@crigz
@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
@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
@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
@Sina_Qadri Жыл бұрын
​@@crigz can you make this work with godot 3??
@MrStarlightt
@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
@BenUttecht Ай бұрын
in 4.3 its not working... Looks like the physical_bones_start_simulation() was moved to the PhysicalBoneSimulator3D node
@szybre
@szybre 14 күн бұрын
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
@BenUttecht 10 күн бұрын
@@szybre I think i figured that out i just forgot to update this comment, thankyou
@2and3d_com
@2and3d_com Ай бұрын
Is there a way of doing this now, with the new Godot 4.3?
TAGS Revolutionize Your Gameplay Ability System in UE5.4!
10:20
Stargames Studio
Рет қаралды 512
Godot 4 - Online Multiplayer FPS From Scratch
45:40
DevLogLogan
Рет қаралды 249 М.
Inside Out 2: ENVY & DISGUST STOLE JOY's DRINKS!!
00:32
AnythingAlexia
Рет қаралды 16 МЛН
pumpkins #shorts
00:39
Mr DegrEE
Рет қаралды 74 МЛН
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2,4 МЛН
I Made a Cleaning Sim in Godot in 48 Hours...
9:19
Lukky
Рет қаралды 16 М.
Jiggle Physics in Godot
13:31
CoderNunk
Рет қаралды 83 М.
Active Ragdolls in Unity
10:02
Sergio Abreu García
Рет қаралды 140 М.
I Wish I Knew About This Asset Sooner
7:03
Clydiie
Рет қаралды 15 М.
Path Based Mesh Generation in Godot 4
7:27
Crigz Vs Game Dev
Рет қаралды 29 М.
Immersive Sim in Godot 4: COGITO - Overview
8:22
Philip D
Рет қаралды 42 М.
Making an animation system for Hack and Slash Game | Godot 4.1
9:45
Active Ragdolls; What Are They And How They Work
9:41
Birdmask Studio
Рет қаралды 43 М.
Active Ragdoll in Godot 4
3:21
PiCode
Рет қаралды 5 М.