carl-anders / slimevr-wrangler

Use Joycons as SlimeVR trackers with this middleware application
Apache License 2.0
105 stars 15 forks source link

Wiimote (with Wii Motion Plus) controller support #7

Open cerealbowlsystem opened 2 years ago

cerealbowlsystem commented 2 years ago

Would it be possible to add support for Wiimotes that have Wii Motion Plus? They have a gyroscope, although I don't know how you'd implement their support in Rust as the current input interpreters are only in C, Java, Python... (maybe with a C -> Rust thing?). I'm no programmer so I'm not qualified to know if it's doable, but I'd love to see this feature as I have 2 Wiimotes almost begging me to be used for Full Body Tracking.

Wiimote libraries : http://www.wiibrew.org/wiki/Wiimote/Library Wiimote motion analysis (only for the accelerometer tho) : http://www.wiibrew.org/wiki/Wiimote/Motion_analysis

Thanks in advance!

(I can even provide contact info if you need to test the program with actual hardware)

JamesDAdams commented 2 years ago

There are a very good idea, the wii remote are very cheap !

MisutaaAsriel commented 1 year ago

I'm equally interested in this. 2 Joy-Cons alone are not very useful for FBT, but if I I could throw a Wiimote or two in the mix then perhaps it'd be more feasible!

alexmusa commented 4 months ago

There is what seems to be significant work for this made by @cesmec here https://github.com/cesmec/slimevr-wrangler/tree/wiimote-hack but one of the dependency is in a private repo of theirs.

cesmec commented 4 months ago

Yes, I've started working on this as I like the idea and have a few different Wiimotes lying around. The results seem promising so far, but there are some things that I want to change or at least try out in the other repo before making it public. Hopefully I have some time to work on it over the next few weeks.

kaiboisdumb commented 2 months ago

Yes, I've started working on this as I like the idea and have a few different Wiimotes lying around. The results seem promising so far, but there are some things that I want to change or at least try out in the other repo before making it public. Hopefully I have some time to work on it over the next few weeks.

Hi @cesmec. Any update on your progress with this? I read over this other repository that had the idea to use Wiimotes and they claimed that Wiimotes are awful as trackers, so I'm curious if your findings have changed.

cesmec commented 2 months ago

Hi @kaiboisdumb, writing the next few weeks in my last comment was a bit too optimistic, but I could actually make some progress on this. My wiimote library is now public and published and I'm working on integrating that version into slimevr-wrangler.

How useful Wiimotes are as trackers: I wouldn't call it awful, but also not too great and I also wouldn't buy a Wiimote for this purpose. In my tests, they seemed to work mostly OK for slower movements, but faster movements resulted in too much motion. Maybe my code for the fast mode is wrong (it's calculated differently than the slow mode) or the sensors might just not be accurate enough for that.

I'll post another update if I find out more about that and will do some more testing, but this will take a bit of time (hopefully less than since my last comment).

kruemmelbande commented 5 days ago

Yes, I've started working on this as I like the idea and have a few different Wiimotes lying around. The results seem promising so far, but there are some things that I want to change or at least try out in the other repo before making it public. Hopefully I have some time to work on it over the next few weeks.

Hi @cesmec. Any update on your progress with this? I read over this other repository that had the idea to use Wiimotes and they claimed that Wiimotes are awful as trackers, so I'm curious if your findings have changed.

To be fair, at the time i didnt do fusion properly. Its working okay now, but its still not great. Definitely worse than joycons which i already consider basically unusable, but thats up to your own judgement. The biggest issue ive found is that fast movements are not tracked at all. Of course there are some sensitivity issues, but that can be calibrated.... if this ever is an actual thing though zrock will 100% kill me lol