OyasumiVR icon indicating copy to clipboard operation
OyasumiVR copied to clipboard

Cross-avatar virtual tracker posing

Open ShayBox opened this issue 1 year ago • 3 comments

You could use OSC to create virtual FBT trackers, even on Quest, which can be "moved" around to pre-defined positions to create poses similar to locomotion animations from prefabs such as GoGo Loco.

It's an interesting idea, but may be better suited as a dedicated mobile app, or project, but I thought I'd share it cause it seems like something this project might be interested in.

ShayBox avatar Apr 11 '23 08:04 ShayBox

It's a good idea for sure, as it would remove the requirement for users to add animations to their avatars.

I have been experimenting a little with this in the past few weeks already, but using a custom SteamVR driver that adds virtual trackers. I'd prefer that as then the functionality wouldn't be limited to just VRChat, but OSC trackers might be a simpler approach to start out with.

Having not looked into OSC trackers yet, it does raise some questions, mainly about how it behaves when people already use other (osc or non-osc) trackers, and how it would transition between them. I can imagine there would need to be some abstraction layer in between to allow seamlessly switching between real trackers and oyasumi's virtual trackers without needing the user to recalibrate.

Raphiiko avatar Apr 11 '23 08:04 Raphiiko

I would assume having toggles to turn individual virtual trackers on and off would be a good idea, but real fbt users would likely not use this, as it wouldn't work very well with real trackers or other tracker solutions that use OSC

OSC sends tracker positions, and the trackers get moved to those positions, if you were using non-osc trackers I don't think OSC trackers for the ones you have would work, if you're using osc trackers you can also use osc trackers, but they would rapidly switch between the two sets of positions every time one of the program sends their position, this really only works for people that don't have trackers at all.

ShayBox avatar Apr 11 '23 16:04 ShayBox

Right, I see. For other OSC-based trackers, it would be possible to build some kind of proxy into Oyasumi, where instead of sending tracking data to VRC it could be sent to Oyasumi. Then the tracking data can either be passed through to VRChat, or blocked in favour of Oyasumi's simulated data.

For SteamVR trackers.... this is a bit more difficult. For one, the SteamVR tracker data would have to be transmitted over OSC to VRChat, so that the same proxying can be done. Then the tracking data should be blocked from getting to VRChat directly to prevent ending up with two sets of trackers. I'm not entirely sure if the latter is possible, but I suspect it's what OVR-SmoothTracking does to do its thing.

The reason I want this is because I personally use FBT together with the sleeping animations. When sleep mode activates, I have Oyasumi turn off my trackers and switch to using the sleeping animations, to preserve their battery.

It definitely complicates the issue though, so I'll have to see if it's feasible to do it this way at all. On its own it's still a pretty good option for people who don't use FBT.

Raphiiko avatar Apr 11 '23 17:04 Raphiiko