-
Notifications
You must be signed in to change notification settings - Fork 294
Ammo Physics (3D Physics Extension) #1974
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Wow! It's very cool and useful for people like me) |
Thank you! I've been making steady progress, but it probably won't be ready for a while (which is why this is a draft). |
Added partial support compound bodies - all child shape types. |
wow |
Finally got convex hulls working 🥳 🎉 video.mp4Still have to optimize and bug fix everything and add more features |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Also, Ammo.js seems to support wireframe debug rendering. I might want to add a layer to the canvas that can show contacts, convex hulls, velocities, etc. |
This looks like a faulty collision detection. Changing framerate, sub-steps and solver iterations is mostly useful when you have a lot of bodies interacting in a chain reaction, which isn't the case here.
Not sure exactly what you are referring to, because there isn't much documentation, but I asked ChatGPT how to correctly use |
I'm already registering the GImpactCollisionAlgorithm, but ChatGPT suggests using a more narrow phase parent collision algorithm... I don't really think that will affect anything. Looking at the official demos,
|
Oops sorry just trying to help |
this extension is super cool!! |
Thanks! Apparently though, it's too large, so I'll have to find some way to compress the library further |
Previous commit reduces the file size ≈0.2 MB |
that's really great! |
|
I feel like merging this with the simple3D extension might work, not sure |
Personally, it probably wouldn't work considering all of the custom transformations that Simple3D relies on. Additionally, it's a different category of extension, so instead of bloating it just keeping it independent will make it more accessible for integration into other 3D renderers. I highly considered accessing Simple3D's So I find it best that users integrate both extensions manually for a custom-tailored experience that they're familiar with their own code. |
Honestly I think I should just crank out getting constraints figured out and finishing documentation If all goes well this can be merged after that but there are several concerns that need to be addressed |
@CubesterYT @Xeltalliv How many users would require constraints for their projects? How many users could I expect to use this at all? Would it be safe/acceptable to put off advanced features (constraints, vehicles, kinematics, etc.) for later? |
Alright, I think this is ready for review now I don't have a sample project yet because they would all use localhost instead of extensions.turbowarp.org The gallery banner is mostly a placeholder but I found it "good enough," let me know if it needs more polish. @CubesterYT and @GarboMuffin Due to the size and complexity of this extension, I'd like the most in-depth reviews possible to guarantee stability and polish. Although faster is nicer, I'm not on a time crunch so take whatever time you need. @Xeltalliv due to your experience with this kind of thing I'd be nice if you could look at a few things as well like memory management or OBJ parsing Let me know if there's anything I can do to help. |
This comment was marked as resolved.
This comment was marked as resolved.
Added two blocks that detect if a body or any body is active (a.k.a. "fallen asleep") Previous commit makes this ready, no known issues that I'm aware of I'll be working on a slightly more professional banner |
Ammo Physics
A physics extension based on the ammo.js physics library, which is a direct port of the world-renowned C++ Bullet Physics SDK.
The goal is to provide feature-complete, advanced, and performant 3D physics in a simple-to-understand manner. This extension aims to be consistent with Box2D and Simple3D.
video.mp4
Task list:
[ ] Constraints (All types)Things I'm considering now or for a later update:
Debug rendering supportSoft BodiesMiscellaneous Notes Mainly for Moderators:
I'm not good at graphic design so if someone wants to make a banner/thumbnail that'd be greatStill have to incorporateScratch.Cast
where necessary, right now I'm just working on functionality thoughPut an emoji (👍, 🚀) if you like this extension