-
Notifications
You must be signed in to change notification settings - Fork 87
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
JoltGeneric6DOFJoint3D angular limit gizmo not correct #855
Comments
Thank you for reporting this. This has been in the back of my mind for a while now, but I never got around to it. I've spent a silly amount of time trying to make sense of these joint gizmos, ever since I first implemented them, which I realize in hindsight was largely a result of me getting tripped up by the way that single-body joints work in Godot Physics, which I for some reason felt the need to accommodate for (over two-body joints). With this behavior having changed in #725 I should rightfully have changed the gizmo accordingly, but forgot to. Anyway, this should be fixed when #862 is merged. It now seems to line up nicely with Jolt's own debug visualization, as well as Nvidia Omniverse, which happens to use a very similar visualization in its USD Composer editor. |
extremely cool and swift execution. nicely done. |
might be an issue with negative values - I just checked and it looks good with limits above 0° edit: nope, still weird. |
Would you mind sharing the scene/project? It's hard to tell from the screenshots how you've set it up. It seemed to make sense in the scene I tried it with. |
you get the same issue with the minimal project up above. The underlying problem seems to be with where 0° starts? I phrased this as having to rotate the joint by 90° but then you fix only one axis and it gets messy when you need more than one axis limited.As you just changed the sign in your calculation i don't think that fixed it. I will see if I can suggest a fix on my own over then weekend.Am 23.05.2024 21:36 schrieb Mikael Hermansson ***@***.***>:
Would you mind sharing the scene/project? It's hard to tell from the screenshots how you've set it up. It seemed to make sense in the scene I tried it with.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Oh, sorry, I had completely glossed over the original repro. I'd had this in my backlog for so long I didn't even bother to check it, so thank you for double-checking the fix. But yeah, it definitely looks weird/unintuitive in that scene, and now I'm having trouble recalling the setup I had where it made sense to me. Anyway, I'll need to take another look at this, clearly. I'm very curious what the gizmos in Nvidia Omniverse's USD Composer looks like with this setup. |
I'm pretty sure all we need is to add or substract half PI from the gizmo angle when calculating the points for it. |
sorry, bit pressed for time so I'll be sloppy. |
see suggested fix in #872 |
Yes, sorry, I saw it. I've been somewhat strapped for time when it comes to this extension in general lately, and this ended up pretty far down on my priority list when you in the PR mentioned that it wasn't a complete solution. Frankly I'm becoming more tempted to just copy-paste Godot's own (equally strange) gizmo and call it a day. The fact that I deviated to begin with was somewhat questionable, given that the substitute joints are largely meant to just augment the functionality of the built-in ones. I figure if someone wants it to be different it should rightfully be changed/fixed in Godot itself as well in any case. Thank you for the PR though. I'll see what I end up doing about this. I'll go ahead and close your PR for now though. |
With this extension now having been merged into Godot in the form of an engine module (see README), this extension will be considered to be in maintenance mode going forward, where only bug fixes will be considered for merging. While this issue could still be considered a bug, it's highly unlikely that I'll spend any time addressing this, so I'll go ahead and close this as |
while playing around with this addon, which I really like, I figured there is a small issue with the Jolt-version of the 6DOF joints.
The short version: The angular limit gizmos only show the actual limits correctly if the joint itself is rotated by 90 degrees.
steps to reproduce:
should be obvious, have a static body and a rigid body connected by a Jolt 6DOF joint, set an angular limit that's relatively narrow to see the effect AND the gizmo, add a camera and run the scene to see the angular limit is not solved as previewed by the gizmo.
minimal project to reproduce:
jolt_gizmo_minimal.zip
Godot-Jolt version: 0.12.
Godot version: 4.2.1 stable
The text was updated successfully, but these errors were encountered: