Skip to content
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

Tracking: Game-readiness of @react-three/rapier #92

Open
10 of 13 tasks
hmans opened this issue Sep 21, 2022 · 1 comment
Open
10 of 13 tasks

Tracking: Game-readiness of @react-three/rapier #92

hmans opened this issue Sep 21, 2022 · 1 comment

Comments

@hmans
Copy link
Contributor

hmans commented Sep 21, 2022

I'm using this ticket as a high-level overview of things that are still missing for the library to be "game-ready". Please ready this merely as a tracking issue, not a wishlist. :-) I will be implementing some of these myself, and submitting them via PR. Also please consider this a living document, I will probably add a thing or two to this list over time.

Must Have:

Should Have:

  • Allow for per-collider collision callbacks. (WIP: Collisions Upgrade! #83)
  • Easy convex collider generation from any geometry, including loaded GLTFs.
  • Allow the user to specify the density of colliders (or a default value on RigidBody.) (Rapier is nice in that it will automatically calculate the mass from the density and the volume of the colliders.)
  • Allow the user to access a rigidbody's scene object through the ref/API. (RigidBodies wrap their children in an <object3D> scene object, but don't expose them through their API. Systems that need to interact with the scene object currently only have the option of establishing their own wrapper object and storing the ref to that separately.)
  • The RigidBodyApi should not force bodies that it interacts with to wake up. This decision should be left to the user (but it would be fine to default this to true.) (fix: allow control of wakeUp #125)
  • The scene object created by RigidBodies and Colliders should default to matrixAutoUpdate={false}, and have their matrices updated explicitly (or this attribute toggled) when the owning rigidbody is awake (ie. not sleeping).
    • Sleeping bodies will never move, so disabling their automatic matrix recalculations is a good optimizations for scenes with larger amounts of rigid bodies (a large portion of which might be sleeping.)
    • It'd be okay to make this optimization opt-in

Nice to Have:

@firtoz
Copy link
Contributor

firtoz commented Sep 28, 2022

Made #101 before seeing this, I guess that will satisfy one of the checkboxes here? :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants