Box Contact "Face Proximity" is scale dependent and very inaccurate
needs more information
BruceKnight
I am trying to create a touch screen of sorts using the new box contacts.
Unfortunately with the current system, the "Face Proximity" seems to calculate the distance from the Z face to the closest point in of the sender instead of its center. This makes it impossible to use in this case as scaling a capsule contact will change what value the face proximity will report, even if it stays in the same position
Additionally, there seems to be some sort of a smoothing curve applied to the end result which makes the reported value very inaccurate.
These options make sense for most contacts, but face proximity should not force this behavior. There should be an option to calculate the distance of from the senders center point to make the calculations scale-agnostic and not use the smoothing curve for accuracy.
SDK Version 3.10.4
Log In
Dexvoid
updated the status to
needs more information
Hi, thanks for your report.
Sorry for unmerging your issue from another similar one, but we're struggling to reproduce the issue you're showing in your video clip. To help us with debugging, please consider uploading an avatar with this setup on it and then sharing the ID of that avatar here. The avatar doesn't need to be public, and you don't need to worry about setting up animator controls to move the capsule sender around - we can move it manually.
To clarify, proximity is intended to be calculated from the nearest point inside the sender to the receiver's positive Z face as the docs describe. So while your video does seem to show proximity behaving in the wrong way, the expected value would be the right edge of the capsule, not its center point. This is the intended behavior and probably won't change - if you need the middle of the shape specifically, you could consider reducing the capsule's radius instead.
Dexvoid
In fairness, the documentation could be clearer about this point. We'll get the docs updated to be more specific.
BruceKnight
Dexvoid Hello! No worries, I'm happy my report is being looked at.
I figured some more stuff out while looking at it again. This is quite embarrassing but it turns out I completely forgot about the curves in the animation clip so that's where the inaccuracy was coming from in the original video clip and since the proximity is supposed to calculate from the edge then there is not really a bug here, everything tested in the clip works as intended.
I made this test setup when I realized my contact tracker with 3 box receivers doesn't work as well as the version with 6 spheres. That one is actually super inaccurate for me. Depending on the angle of a capsule sender, it positions the receiver very differently and I’m fairly sure I did everything correctly this time. I attached a video clip showing off the inaccuracy but from my understanding, that is a different issue (the one I got merged with) that is already being fixed?
Sphere ID: avtr_97a770e7-f6eb-4590-8dc7-ba6faba50bf7
Box ID: avtr_3a43fb8b-cc92-42f9-bfd8-abd25e2e07a2
As for the proximity stuff, I now see that I should have filed this under a feature request rather than a bug report. I do agree with the current implementation and I think it's correct, I'm not asking to change that. It would still be nice to have an option of calculating from the center of a sender as this would make it work more predictably with differently sized fingers on avatars for things like a touch screens, possibly even the contact tracker could work better with that setup.
Thanks for checking out my report, sorry for the trouble!