We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
The current API for (impulse) joints is not idiomatic to ECS:
A body contains its joint data, and contains a reference to its other body. This leads to the following surprises:
RevoluteJoint::angle
Entity
RigidbodyHandle
parent
ImpulseJoint
I suggest moving the ImpulseJoint out of the body, to have a separate entity containing all information: joint data + the linked entities.
This way we could model multiple joints per body and have all joint data available in the same fashion.
To be noted this is also the choice of Avian (see https://docs.rs/avian3d/latest/avian3d/dynamics/solver/joints/struct.FixedJoint.html)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
The current API for (impulse) joints is not idiomatic to ECS:
A body contains its joint data, and contains a reference to its other body. This leads to the following surprises:
RevoluteJoint::angle
+ more detailed joints enum #530), because data is split between:Entity
or other componentRigidbodyHandle
parent
within the componentImpulseJoint
.Suggested change
I suggest moving the
ImpulseJoint
out of the body, to have a separate entity containing all information: joint data + the linked entities.This way we could model multiple joints per body and have all joint data available in the same fashion.
To be noted this is also the choice of Avian (see https://docs.rs/avian3d/latest/avian3d/dynamics/solver/joints/struct.FixedJoint.html)
The text was updated successfully, but these errors were encountered: