Add a "Velocity" contact receiver type
WalooW
while we can do something "similar" with multiple proximity contacts and copious amount of animator Jank, which isn't very accurate or reliable, and very not user friendly and quite limited in use still, or use the On Enter velocity... which is even more limited in what it can do.
I think it would be very convenient to have it integrated into the contact receiver:
it would work just like a constant receiver, but the output Float is scaled by the relative velocity between the sender and receiver (instead of the distance like for proximity receivers)
you would need need to provide min and max velocities in the receiver script, (just like "On Enter" require a "Min Velocity" value) between which the value is mapped from 0 to 1 and beyond which it is clamped to those limits.
optionally having "directionality" fillers to only record velocity only on some axis and choosing between cartesian or polar local coordinates, (velocity contacts filtered to only record on 1 axis could also differentiate between positive and negative motion and output it from -1 to 1) this would bring even more granularity to this idea and unlock it's full potential.
an exemple use for this new feature would be to add more "physicality" to dynamic sound effects,
like a "hair_rub" sound effect, that would be triggered on proximity, and the playback speed be modulated to the tangential velocity of a sender relative to the contact receiver, and the volume modulated with a mix of both proximity and velocity.
and a "head_pat" sound effect that would be triggered On Enter and the volume modulated to the radial velocity
this is only one example of a dynamic setup that would make use of Velocity contacts but it's not hard to think of more uses for it for lots of other gimmicks ideas that are currently in technical limbo due to the absences of this feature
Log In
Are_
This is definitely needed and should not be too difficult. They are already able to check velocity with the OnEnter option, so instead of applying a true/false to the animator, just apply the velocity that was recorded.
Sure, it might not be consistent between clients, but that's already an issue with the OnEnter option anyway. If we need proper syncing we can just check collision locally and then use one of our synced parameters to ensure other clients get the same values when needed.
kawashirov
That's interesting but I afraid it's not that easy to implement.
Syncing is very bad in vrchat, especially for things with acceleration / non-constant speed, which often includes movements of ppl.
Not so long time ago I figured out that many of my dudes simple don't see how I nod my head when they ask something. Because I am doing that too fast and with small amplitude at the same time. On remote that being smoothed almost to zero.
Same happens for fast movements of limbs. What if all the head pats ppl gives us are actually more spread and faster?
So that's requires some under hood work, otherwise it will be too desynced.