I plan on implementing the Physics Engine from Horizon Zero Dawn... I need help
Asked Answered
H

25

0

Hi, it's called Jolt:

https://github.com/jrouwe/JoltPhysics

I read this discussion: https://github.com/godotengine/godot-proposals/discussions/5161

I think its ragdoll animation system would be a VERY useful feature for building my game and maybe other people would want it as well...

I came across this post which helped point out where to start:
EDIT:
woops, my bad, here's the actual link to the post:

and I have prior experience in contributing to Godot's Bullet module:https://github.com/godotengine/godot/pull/64281

I plan on implementing Jolt as a "third-party" library for Godot 3.x just like how they did with Bullet.

For Godot 4 tho, I'm convinced that implementing Jolt to the in-house physics engine is a long shot but adding it in as a GDExtension plugin should work.

I want to know if anyone else is out there doing the same thing as me. Maybe we could share notes, ideas, help each other out to get this thing to the public and maybe work together on adding other physics engines to Godot as well.

Ultimately I would like to make it easier for people to learn how to add other physics engines.

I'm still new to all of this and I need all the help I can get.

Haywoodhayyim answered 31/8, 2022 at 12:58 Comment(0)
B
0

Very exciting project. The video is impressive.

Burnout answered 31/8, 2022 at 13:20 Comment(0)
H
0

Burnout oh, thanks. It was the wrong link, sorry about that. It was suppose to be another reddit post. I edited in the right link to the reddit discussion a bit late.

I dont want it to come off as a shameless plug but for the sake of context here's the actual link to the video:

Haywoodhayyim answered 31/8, 2022 at 15:18 Comment(0)
B
0

Haywoodhayyim …but for the sake of context here's the actual link to the video:

Yeah, that's interesting — I'll be keeping an eye on the project. I'm interested in the possibility of variable height character interactions. When two characters can shake hands or hug, but their height won't match. Probably would need to use inverse kinematics for that.

Burnout answered 31/8, 2022 at 15:58 Comment(0)
S
0

It doesn't seem like you are exactly asking a question about using godot as is nor do you really seem to be new to godot so I'll remove those couple of tags.

Cool project BTW. Very exciting.

Sherrer answered 31/8, 2022 at 16:13 Comment(0)
H
0

Sherrer I mean I am asking for help from anyone out there whose pro... and this is my first time working on adding this big of a PR...

Haywoodhayyim answered 31/8, 2022 at 22:37 Comment(0)
H
0

Burnout procedural animation. Don't worry, I got it covered.

Haywoodhayyim answered 31/8, 2022 at 23:8 Comment(0)
C
0

Saved

Conway answered 31/8, 2022 at 23:42 Comment(0)
I
0

Should be possible with GDExtension, but I would highly recommend you test with GodotPhysics, and see if it works well enough, or use that time and effort to improve GodotPhysics. You can do rag-dolls in Bullet or GodotPhysics just fine. Grand Theft Auto used Bullet, for example, as have many AAA games. I think in Godot the IK and procedural animation support is weak. You can do it, but it requires more work. However, all the basic features are there. So I doubt there is anything that simply can't be done with Godot out of box right now. Sure, you may need to code some things yourself, or maybe performance is not state of the art, but it's not like it can't be done.

Intrusion answered 1/9, 2022 at 1:37 Comment(0)
B
0

Intrusion Should be possible with GDExtension, but I would highly recommend you test with GodotPhysics, and see if it works well enough, or use that time and effort to improve GodotPhysics.

By the way, I guess so. It might be better to try to use the tools available in the engine. And if it fails to refine them to the necessary requirements, only then does it make sense to include third-party tools.

Burnout answered 1/9, 2022 at 8:8 Comment(0)
M
0

Certainly a cool project. No intention to be defeatist, and you probably have already thought that through. Why not just implement the ragdoll system if that's the main purpose (and can be isolated), and dedicate the rest of the time to making Godot better(tm) ?

Btw. do Godot physics make use of the graphics card ?

Motch answered 1/9, 2022 at 9:54 Comment(0)
I
0

Godot uses CPU physics AFAIK. GPU physics would be interesting, can could possibly be done with GDExtension.

Intrusion answered 1/9, 2022 at 10:5 Comment(0)
D
0

Jolt does sound interesting. I need to test how well it would work in a 2D environment (in my own engine, not Godot). I've already found PhysX 4.1 is much faster at 2D (via axis locking 3D) than Box2D.

Dann answered 1/9, 2022 at 10:5 Comment(0)
H
0

Ansley Tendinous Thanks for the advise. I'm actually after how jolt handles ragdoll animations. I need it's skeleton mapper, Twist&SwingMotors, Ragdoll mass&inertia recalculator and a bunch more stuff I found when I checked out the library's sample build.

Now I could, just remake what Jrouwe built ... OR open up the possibilities of gaining more traction for Godot, help people out in learning how to contribute to the repo and possibly attract more people to help with the in house physics engine... and this would make great content for my Youtube channel and portfolio 🙂

Speaking off the inhouse engine, I was looking at how I could help out in adding a constraint solver class. After a long assessment, I know that I don't know enough about physics engines and how to help out Godot just yet.

If I want to help, I want to do this properly. I'm doing this as a learning experience before diving into the inhouse engine. I also want to do good while doing it... sighs and get clout for my game.

Haywoodhayyim answered 1/9, 2022 at 10:26 Comment(0)
B
0

Haywoodhayyim I had the idea of doing a similar model for the ragdoll:

but I'm still at the beginning of my path.

You might be interested in looking at this: Cascadeur — 3D animation software.

Burnout answered 1/9, 2022 at 10:39 Comment(0)
I
0

I still have to work with character physics, I haven't got that far yet in Godot, but I've done rag dolls in older engines. This was one of my demos where I was trying to sort of recreate the gravity gun from Half Life 2. It was actually kind of a duct taped solution, but it works. That's what I was saying with Godot, it doesn't come with everything out of the box, but all the pieces are there.

Intrusion answered 1/9, 2022 at 10:52 Comment(0)
H
0

Burnout yeah, I know about it... but for now its mostly for humanoid rigs. I know they have plans for other forms like quadrupeds but I plan on giving my players the freedom to build how they'de like.

I've dealt with machine learning before and I really want to train something like what Nvidia did with that spartan rig of theirs but for something free form like a "Chimera" or something... that would actually be a dope name for an AI system like that.

My plan was to randomise rig shapes and forms ontop of randomising animation in a plausable way enough for it to be physically possible for the AI to successfully animate any form of rig.

That way, you wouldnt need to retrain the rig each time you need it to do something else heck you wouldnt even need to train a nonconventional rig. Just hook up your physics bones, give it an animated skeleton of itself and it would match it... or atleast thats the plan.

Im just going to put this out here in the hopes that someone else can do it cause I know its going to be a while for me to be able to. Mostly because I dont have the gpu power (or money) to do it myself.

But for right now... imma stick with the wallet friendly way of doing this...

Haywoodhayyim answered 1/9, 2022 at 15:24 Comment(0)
H
0

Intrusion it looks great! Whats so "duct taped" about this?

Haywoodhayyim answered 1/9, 2022 at 15:29 Comment(0)
B
0

Haywoodhayyim but for now its mostly for humanoid rigs.

no longer mostly:
A Step by Step Guide to Creating Rigs for Non-Humanoid Characters

Burnout answered 1/9, 2022 at 15:51 Comment(0)
H
0

Burnout ah, I stand corrected.

Haywoodhayyim answered 1/9, 2022 at 16:28 Comment(0)
H
0

Burnout you think that their AI can handle stuff like birds, insects and cephalopods? Im not really familiar with their AI system but if its anything close to Nvidia's, I can guess that they use a base rig and train the ai on that. So far I dont see any octopus, humingbirds or centipede being showcased yet.

Haywoodhayyim answered 1/9, 2022 at 17:1 Comment(0)
B
0

Haywoodhayyim you think that their AI can handle stuff like birds, insects and cephalopods?

It's better to ask them, I don't know their capabilities. But I suppose it's better to start with something simple.

Octopuses live in water, insects have slightly different physiology than mammals… in my opinion, AI which is supposed to be so universal, needs to take into account so many too different factors like habitat (water or air), body structure… etc. In my opinion such a project is cooler than an open world implementation

Burnout answered 1/9, 2022 at 17:25 Comment(0)
H
0

Burnout I hopped into their Discord and asked. Turns out they only use the neural network on humanoid rigs:

Haywoodhayyim answered 3/9, 2022 at 0:31 Comment(0)
B
0

Realistic character animation in games using AI:

AI4Animation: Deep Learning for Character Control

Burnout answered 6/9, 2022 at 12:34 Comment(0)
S
0

https://github.com/godot-jolt/godot-jolt

Samaniego answered 23/11, 2022 at 18:46 Comment(0)
H
0

Samaniego
Oh, looks like someone beat me to it... sorry for making you guys wait that long. I'll do what I can to help out in the repo.

Haywoodhayyim answered 8/1, 2023 at 12:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.