[SDK 3.9.1 Beta] Allow sending parameters from a world contact to an avatar.
tracked
Desmoulins
Fairly simple request. Half of what makes Contacts what they are is currently missing. We can only contact from Avatar to World to trigger something in the World. What we need is the ability to send parameters from World to Avatar to trigger effects on the Avatar.
An example of this would be a weather system. You stand inside a contact for rain and it will send a inRain parameter to the Avatar which then can implement something in their animator layer to do something with this, such as enabling shader effects to look rained upon or wet.
This could be used for many effects, sandy in the desert, muddy in swamp, wet in rain/water, damaged/bloody in games with health and so on. Allowing communication from the World to an Avatar would open up endlessly more ways to interact with the World in a variety of ways.
Log In
This post was marked as
tracked
Dexvoid
marked this post as
needs more information
Thanks for your feedback. I'd like to make sure I understand your issue.
It should be possible to add a contact receiver to an avatar, and a contact sender to a world, such that the avatar can respond when its receiver enters the world's sender. If I'm reading your request correctly, this seems to already cover what you're asking for?
Is there a particular case you're trying to achieve that isn't covered by that approach?
Desmoulins
Dexvoid
The issue is that with the current implementation and the "lack of configuration" how the SDK puts it, there is only a specific way to do this and its very limited.
Right now we can set up a sender and receiver and have the avatar handle all the logic. That is the Avatar registers the contact collission then sends a parameter to itself (the animator) to work with. This limits the way we can use this to simple booleans essentially. We can only check for a collision (contact) and whether its currently true or not.
What i'd like is the world sending the parameter directly to the avatar, this would allow sending more than a boolean, such as a float (for distance to center) or even fixed values that could be taken from somewhere else (UDON script for instance). Distance to center (aka Proximity) is a good example of this use case, the closer the avatar gets to the center of the contact (let's say its a black hole anomaly) the higher the float parameter gets, the more damage (on the avatar side) it will do.
What i want is:
Contacts to be able to send any float value from the world, gotten from various sources (via UDON scripting, via proximity, randomness, time or whatever else could be implemted) directly to the avatar to have it react to it depending on the severity (float).
- The Black Holy damage is one example.
- Another example would be rain that grows stronger the further you go into an area or over time.
- Hot/Cold example parameters could have a severity rather than only on/off.
- Damage examples can contain severity matching the actual damage received, which could be used to do health/damage visuals based on the accumulated damage.
What i currently have to do:
I want a weather system that differentiates between rain severities ranging from a small little bit of rain to a full on storm. The only way to achieve this right now is have different contacts for each severity level, which need to be implemented both in the world and the avatar, this makes both parts unnecessarily complex in execution and requires world creators to "know" the extra parameters (outside of the default one given)