Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
132 stars 2 forks source link

add "User Avatar Slot" and "Local User Avatar Slot" ProtoFlux nodes #1209

Open code807 opened 7 months ago

code807 commented 7 months ago

Is your feature request related to a problem? Please describe.

For any installable systems that users want to keep between sessions, the system must be installed somewhere underneath their avatar slot and then the avatar manually saved. The actual install process being automatic can save loads of time, but is currently very difficult because the avatar slot itself can only be found using some unreliable methods. This issue is made even more complicated by the fact that avatars can have different hierarchies, and that head-and-hands avatars have an entirely different user root/body node setup.

Describe the solution you'd like

A "User Avatar Slot" ProtoFlux node that takes a User input and outputs that User's currently equipped avatar's Slot. Optionally a "Local Avatar Slot" node which would output the local user's currently equipped avatar's Slot.

Resonite_FgAdLqCBFt

Describe alternatives you've considered

I have attempted this using several methods, all of which fall short in some way. It's mostly possible to find the avatar, but unnecessarily complex. Resonite_TYeEXv9KxX

Additional Context

No response

TisFoolish commented 7 months ago

I make tools for others to install on their avatars and while I have solutions for this, they add a LOT of complexity to the installer and like Code said, it isn't perfect.

Nytra commented 7 months ago

I think this has been talked about a bit before and it's kinda tricky because not all avatars have a definite root slot, like the default avatar for example is made up of three slots (VR_Headset, VR_Glove_Left, VR_Glove_Right) and you might think that you would want to take the head in that case, but there is nothing that differentiates that slot from a regular head proxy slot, aside from it being parented directly under the user root slot. I think ideally you would want to get the slot which contains the AvatarRoot component but not every avatar has this.

TisFoolish commented 7 months ago

Personally I feel like the default avatar should be an exception. I mean, what other equippable, savable avatars are there that are more than one root slot? Don't all other avatars inherently have a root slot?

Nytra commented 7 months ago

I think the point is that you can make ones that don't have a root slot

badhaloninja commented 7 months ago

Personally I feel like the default avatar should be an exception. I mean, what other equippable, savable avatars are there that are more than one root slot? Don't all other avatars inherently have a root slot?

You can fairly easily make split avatars that can be equipped alongside other avatars People just don't use them much either because of not knowing how to or not having many ideas on what to use it for

Frooxius commented 7 months ago

We can add this, but that technically require collections first to do it properly - there might be more than one avatar slot.

It might not be common now, but it's possible and there are some avatars that do this. So if we just made this node to provide a single slot, it would lead to systems that are brittle and would randomly break with certain avatars.

As a general rule, we will avoid adding things in a way that we know would be brittle. Our goal is for the solutions provided to be as robust as we can make them.

shiftyscales commented 7 months ago

Marking this issue as blocked by collections.