XaiJu
expired6978
expired6978

patreon


RaceMenu VR Update

As I have reached the headset goal, I'll provide a bit of an update: 

I already purchased SkyrimVR and did some preliminary work to fix up SKSEVR and the plugin RaceMenu requires (SKEEVR pun not intended) prior to ordering the headset. It is currently in a non-crashing state and is mostly functional.

I ordered and received the headset a few days ago offsetting the remaining cost from my own pocket, when I receive the Patreon payout it will recoup the cost. This was a bit of a journey because I am a Canadian citizen and at the time I ordered Steam did not offer shipping to Canada. Which they now do :( if only I waited.

Here's a photo of the unboxing:

When I first ran SkyrimVR I realized how dire things are with the state Bethesda left this in. I'd very much like to fix everything wrong but for now I am focused on getting RaceMenu VR to actually work. 

More on that topic:

I noticed that Motion controllers are not usable as Point-to-Click in Skyrim and with the amount of button mappings in RaceMenu there simply are not enough buttons on a VR controller to map everything to and even if there were it appears the menu does not even receive half of these bindings due to some strange hardcoded input filter. 

I managed to force enable the cursor again which to my surprise the game is already projecting the cursor location onto the menu from the Index Controllers.

Today I was able to remove the hardcoded filter of certain button actions (Trigger did nothing in this menu) and started fixing up SKSEVR code, particularly GetMappedKey. This function is mainly used by SkyUI but also RaceMenu as much of RaceMenu code is based off the SkyUI library. The GetMappedKey function effectively takes a mapped by action name e.g. "Activate" and provides the appropriate controller related keycode but adjusted to some offset that does not overlap with existing keycodes. The adjusted key code is used to index into a Flash file where each frame on the stage represents the button icon and the frame index correlates to the offset key code. This needed some reverse engineering to figure out how the game actually determines what controllers you're using so that I can do the same to show you the appropriate button icon, so far I have the logic to determine the key code but I need to know the total number of buttons for each supported controller so that I can define offsets and map them to the other icons. I've put this aside for now to focus on navigation of the menu. 

With Point-to-Move working I am still lacking Point-to-Click so I spent most of the day tracking down how the game actually does the line-plane intersection and how it sends input to Scaleform to tell it where the cursor is in-case I need to do this manually and fire mouse click events directly to Scaleform. So far it is looking like there won't be an easy way to do this as the menus that do it (MapMenu) are doing it manually and that native code isn't really re-usable. I will also need to decide how to map what button should actually act like click. I've decoded enough of the input system where I could just dynamically inject into the input mappings so I don't really need to edit the controlmapvr.txt that people have been taking a hammer to.

Off Topic: To start I had to get up to speed on what version of OpenVR they use and if upgrading it would be of any benefit with respect to opening up more functionality from the controllers that I have. So far I've seen they use a very old version, prior to the new VRInput interface so acquiring skeletal sensor data isn't going to be achievable without upgrading the VRInput system, fortunately with the help of others we've determined that SteamVR can actually give you a newer interface because OpenVR is just a wrapper to communicate with SteamVR and it's the one who actually gives you the interface object but we ran into issues when trying to actually use it. Apparently you need an action manifest and the version of the interfaces that Skyrim uses are so old they predate these. I shelved this idea and may come back to it later to see if it is feasible to actually change out the input system and use action bindings vs legacy bindings. I've heard of people using workarounds like having a tray app that communicates with SteamVR and forwards the payloads via IPC to the host app but this sounds like a hack.


TL;DR

RaceMenu VR right now doesn't crash, but there will be a lot of work to get navigation functional to actually start using the features. I will fix the broken features as I go.

Comments

Hi, did you ever figure this out? I was able to install racemenu and it works when I run the VRMirror mod, but then I get the same message with RBS.

Hi I tried the latest Racemenu on skyrim VR with both Skse 2.0.10 and 2.0.11 but RBS2020 (realistic body system) mod says Racemenu is not installed when I try to morph in the MCM. How do I check if Recamenu is installed correctly. Should racemenu show up in the MCM? It doesn't for me... But no clue what's going wrong. Thanks!

Happens on both my gen1 Vive and my Rift S.

CTD from inventory will be fixed in the next version. But I haven't seen stretched sliders, what kind of HMD do you have? It might be resolution related.

Expired

My sliders are all stretched well outside the window, several of the buttons seem to not work, trying to view my inventory the game will CTD if I view the armor tab. Trying to find what mods are conflicting as I really don't have many.

Could you please update UIExtensions to VR version? This is really important to me.

UIExtensions is dependent on SKSE only, which is up to date. AddItemMenu is a common mod dependent on UIExtensions which has its own plugin that it's dependent on.

Expired

I spoke to them some about this. Problem is unmodified, Skyrim VR returns next to no inputs while in a menu meaning the gesture code won't run during SkyUI/MCM stuff.

Shoku

Not sure the best way to contact you, so contacting you here. It seems UIExtensions broke with the Special Edition 1.5.97/SKSE 2.0.17 update. People are reporting it on your Nexus page.

Drakonas

The creator of VRIK is working on a gesture system to simulate hotkeys. It essentially allows the Vive more inputs.

Keifomofutu

Nice gear! I hope you get some holiday time to enjoy playing with it.

No, there is no released build. If you're interested in pre-alpha testing I can put one together. The post below actually was supposed to be public.

Expired

Can we download it in the locked patron post beneath this one?

Wow! My eyes crossed as I read all that. Glad you're on our side!

Congrats, and thanks for all the research, coding and debugging you are doing and plan to do!

Welcome to the VR community!

Where can we get it from?


More Creators