Beta 0.50 - Added VR Mouse Interaction, Window/Fullscreen mode etc - please test it ASAP! :)

Here we are guys. Almost a week later :slight_smile: Its been kindof a “blood sweat and tears” week for me and Armin to get this running, but hey I think it was well worth the time!

First, something important. Armin (ArtArmin) @arminelec has joined the project and has been working with me on this basically full time (or actually beyond full time) the entire week. By working I mean volunteering. I wish we simply could hire Armin as a developer for Pimax, but it doesnt seem possible at this time. This is why, Im personally asking you guys - if you are able to - then please support Armin in any way to thank him for his great job and efforts. Armin has Patreon, and Im sure he will highly appreciate your support: https://www.patreon.com/artarmin/

If you just knew how difficult it was to get the window handler and mouse interaction to work… its crazy. PE is doing some cool “magic” with the Monitor Mode, which I never thought was possible due to the nature of how PiTool launches PE in the first place.

Now remember, PE is developed as a “by enthusiasts for enthusiasts” thing unlike many other commercial VR apps, and this is just the beginning and we will of course continue to work on PE to add crazy amount of stuff to it, and make it the best possible VR dashboard/launcher ever made :slight_smile: We have a huge list of things to add (online profiles, IPD guides, command line profiles, interactive test charts, eye tracking support with interaction and demos, desktop mouse mode, more customization, modules, environments and much much more). So this journey has just started and pace will be much faster now when Im not alone on this :slight_smile:

Tomorrow, hopefully, we will release this 0.50 version as the first Open Beta version of PE.

Until then, PLEASE give it a try tonight and tomorrow, to confirm if it works fine for you, and to see if we can resolve some last minute-bugs and issues :slight_smile:

Once again, HUGE thanks to Armin @arminelec for his crazy amount of contribution and engagement - its a blast to work with you mate, and I look forward to an exciting fall and winter together on this project.

Now guys…
Please read the release notes below:

1. VR Mouse Interaction added! Full support for mouse interaction in VR, with 3D cursor and including features:

  • Mouse Enabled ON/OFF
  • Mouse Cursor: Arrow/Hands
  • Mouse Cursor Size Adjustment slider
  • Mouse Sensitivity/speed Adjustment slider
    Important notes:
  • Recenter mouse+view by clicking Middle Mouse button
  • VR Mouse is ONLY possible with Window/Fullscreen mode (more about the modes below)
  • In “Hidden” mode, VR Mouse is at this momment not supported (may be working in future)
  • VR Mouse ON automatically enables Window mode on default
  • VR Mouse locks the mouse to window if window mode is active. ALT+TAB to unlock mouse on Desktop.
  • VR Mouse can be used simultanously with VR Controller laser
  • VR Mouse does NOT work when Hand-Tracking mode is enabled (VR Moude is automatically disabled, and you can switch between the modes with just Mouse and Hand Tracking without using controllers at all)
  • VR Mouse can be enabled on startup (dont forget to Save your Customize settings before you quit PE)
  • VR mouse works with all UI Scale modes and scales sensitivity+size after UI Scale (can be manually changed)
  • Scrolling pages with mouse scroller is NOT working yet. Drag the pages to scroll just like with VR controller laser, or use the scrollbars.
  • Note: This Mouse mode is made to be used in VR. An additional Desktop-mouse mode with flat desktop view and normal mouse-interaction from Monitor-view will be added in future (as a separate feature).
  • Note 2: Moving the entire UI with the top-bar MoveUI icon while using VR Mouse is not yet fixed (it works, but its too fast currently).

2. Desktop Monitor modes added! Thanks to a quite complicated window handler (due to the weird nature of how PiTool launches PE), the PE can now be used/launched in Window/Fullscreen modes as well as the Hidden On Desktop (default) mode. Switch modes at any time, whenever you are using VR controllers, hand tracking or VR Mouse. As mentioned above, window/fullscreen is required for mouse mode and will always be triggered if VR Mouse is enabled.
Including features:

  • Switch Desktop Resolutions modes at any time (window and fullscreen mode).
  • Resolutions supported:
    .- 960x540
    .- 1280x720
    .- 1600x900
    .- 1920x1080
    .- 2560x1440
    .- 3840x2160
    Important notes:
  • FullScreen/Window Mode gives automatically focus to Mouse if VR Mouse mode is enabled
  • You can now also quit PE by closing the Window, or ALT+F4 on the fullscreen
  • You can switch between fullscreen/window not only in the UI, but also directly with ALT+Enter if in front of PC.
  • The last Monitor mode AND resolution used (and saved) will be used upon next launch of PE.
  • Changing between Window/Fullscreen has a delay of a half second, which is intentional and required because of the nature of the window handler.
  • Window/Fullscreen mode does NOT conflict with game launcher and games in general.

3. Shutdown PC-option and Button is now added into “Quit” popup menu in bottom view, next to Reboot PC option and the others. This mode, just as Reboot PC, forces Windows to Quit, but also shuts down PC completely.

4. New optional Font added! Name: Elite Dangerous (real font name: Euro Caps). Font is restricted too Default size and Size -1 (the Size +1 is removed because it doesnt look good anyway when text is too large)

5. Hand Tracking Hand-model position and functionality further improved and corrected.

6. Many bugs fixed (for instance when changing UI Scale, when launching games, when changing settings etc.

7. HUGE amount of code and functions optimized and changed to the better and faster (this is only step 1 of the optimization coming up. A lot of the code will be improved and game-browsing will be made faster as step 2 in next builds)

21 Likes

Just gave it a very quick spin… :wink:

Mouse interaction is really nice (though the default pointer is a tad large/ugly, but that’s a very minor (and personal) thing… :slight_smile:

I can now, for the first time ever, put on my headset and start a (Steam/Xbox Controller/gamepad + seated) game without needing to look through the “nose hole” down at my keyboard or using a VR controller! Nice! The “keyboard/mouse”/desktop mode of the Steam Controller worked perfectly as a mouse in PE so I didn’t even need to actually use my mouse… :slight_smile:

Only annoying thing and I know it’s out of Your hands is that the Steam Controller isn’t supported in SteamVR (dashboard) so I can’t shut it down after playing a game to return to PE, but I guess that would work on other supported gamepads(Xbox, generic gamepad).

Will test hand-tracking as soon as my X arrives (the package apparently also contains a hand-tracking module according to support and the packaging slip they showed me)… :slight_smile:

Didn’t try the desktop mode yet, just set 1440p and fullscreen and enabled mouse.

One note: Currently, You need a controller to enable the fullscreen/window mode and mouse interaction? Or will it detect if no (VR) controllers are present and enable it by itself? If not, that might be a good idea… :wink:

Great work @SweViver and @arminelec ! :slight_smile:

6 Likes

I have not tested it yet but wow -mouse interaction! I allways wanted that for sims where you have no need for the controllers. You’re managing to add features Steam did not do for years.
PE is really shaping up to be a fantastic tool. If you continue on this track it could be a big pro to get a Pimax headset. So far PiTool was a setback and added complexity putting people off.
Well done.

6 Likes

Thanks man :slight_smile: The Arrow/Hand are low-poly 3D models actually (not bitmaps) that I purchased. I will try to find some more cool models for this, like high-poly and also maybe a crosshair. Meanwhile you can change the size of the arrow/hand by adjusting the “VR Mouse Cursor Size” in Customize menu :slight_smile:

Yep, thats the purpose :slight_smile:

Indeed… Isnt that quite weird that they dont support their own hardware in their own software? :slight_smile:

Awesome, looking forward to hear your thoughts!

Desktop mode?
Here is the thing. VR mouse requires either an active window or fullscreen, thats why we set it on default when mouse is enabled. you can also enable/disable window or fullscreen without mouse enabled as well.

Now, a desktop mouse mode (as I mentioned in the release notes) is still not added. With Desktop mouse mode I mean a mode where PE is rendered completely flat on window/fullscreen (the side panels will also be flattened) and you use the application as a normal Desktop app (without the need to put on your headset. This mode is coming soon :slight_smile:

Nope, you dont need VR controllers at all, but you need to have the “VR Controller” mode (which is the default mode) enabled, to Enable mouse. Thats because the VR mouse mode - believe it or not - are using the same scripts as VR Controller laser pointer :slight_smile: It was something I worked on for many days to translate the pointer into a mouse-mode itself. Additionally you can use mouse+vr controllers at the same time of course. Both work simultanously.

BUT…

When hand tracking is Enabled, the Mouse mode is automatically disabled and when you turn ON Hand Tracking, the Mouse Mode will come back enabled (as long as you had it enabled before you entered hand tracking mode). The reason why Hand Tracking disables Mouse and vice versa, is the same reason why Hand Tracking and VR Controllers cant work simultanously - the two input handlers are colliding with eachother and VR controller input handler (which is the same as VR Mouse input handler) is killing hand tracking (its a Unity Eventsystem limitation). So thats why you cant do Hand Tracking + mouse at the same time. But you can easily switch between the modes with one click (without having VR controllers at all).

Thanks man :slight_smile:

3 Likes

Makes sense… :+1::wink: It was a very quick run-through while the toddler was sleeping… :baby::upside_down_face:

I’ll try to be a bit more thorough in the evening… :slightly_smiling_face:

My X is in “sorting” in Kastrup so there’s a small chance that I’ll get it today (not sure if FedEx delivers during weekends but not counting on it)… :upside_down_face:

2 Likes

i will start the test as soon as possible! one question for all: can we receive index controller and base stations 2.0 firmware updates without index headset?

3 Likes

Impressive! 3 screens: 2x @ 1080i, 1x@4k.
I messed around with switching resolutions and screen conditions (full/windowed) and I only managed to crash Pitools once! That’s impressive!

Found one ‘bug’: when starting, my desktop view is at 540x960. If I switch to 1280x760, the aspect ratio becomes correct and if I switch back to 960x540, it’s now rendering it at 960x540, not 540x960. Looking at the settings, Pitools seems to think the aspect ratio is correct at 960x540, even tho it’s at 540x960. This seems to be repeatable. Yes, I saved settings in between.

Played around switching between mouse/hand/controller modes without incident. Still prefer hand tracking. Can’t wait to see what DrWilken thinks of Hand Tracking when he gets his toys!

Found two more QoL suggestions that are unrelated, I’ll make a separate post about them.

Nice work!!!

3 Likes

Hehe sounds great, thanks! We tried to make it as stable as possible. The window handler should be OK after all… But weird thing about the resolution horizontal/vertical confusion, I just dont understand how it could happen as we only store/call/send vertical res to the function as an int value and the horizontal resolution is automatically based on the 16/9 aspect ratio. Maybe an Unity bug?

2 Likes

I’ll give it more testing over the weekend. It’s a weird one!
I’m curious if anyone else experiences anything like it?

3 Likes

Moving what was a PM conversation with @SweViver into this thread because I don’t want to waste his time.

My 8KX arrived without base station and controllers (apparently they are soon to be dispatched) so at first I couldn’t interact with Pimax Experience Beta 0.50. Sweviver told me to set “mouseEnabled”: true, in userSettingsPVR.json. I did so, but while I can now see a mouse pointer in the middle of the Pimax Experience screen, it doesn’t move or respond to clicks.

I am using a Logitech G903 wireless mouse. Just in case that was a factor I swapped it out for a standard USB cable mouse but it had no effect.

Grateful for any suggestions.

In case it is relevant, I have also tried to run Euro Truck Simulator 2 and Google Earth VR, but I can’t get mouse input to work on either of them. Mouse input does however work on Elite Dangerous, although it takes a while on starting the game to see the pointer.

3 Likes

Perfect! Shutdown working fine at all

3 Likes

Mouse works fine but since I exchanged the files with the 0.50 version no settings i select actually “take”. I get no error but the headset does not actually changes settings anymore via PE. shrug

Uninstalling and installing the open beta fixed it! I love PE btw.

3 Likes

Hi @Troz and sorry that I forgot one thing in our PM:

mouseenable

We really did a mistake by not forcing Mouse to enable upon startup IF no controllers are active. We considered it but were too afraid it could cause troubles as the window handler only been tested by beta testers for less than 1 day. Now that we know it seems to work fine, Ill just put a flag (in next version) that mouse needs to enable as soon as controllers are turned off.

3 Likes

Would it be possible with an auto mode? Maybe that’s actually what You mean? :slight_smile:

So instead of enabled/disabled (mouse mode) it would only enable if no controllers were active and only enable the “desktop window” if mouse mode is enabled?

As it is now it’s kind of annoying when You (like me) have PiTool set to autostart with Windows that PE is shown (and in focus) on the desktop… :smiley:

I understand the struggle, but if the mouse mode only works with a window shown/active as You say, we should try to make it less obstructive… :smiley:

I enabled the mouse mode last time I tested Yesterday and today I set up my new Club3D extension + 2 x USB 3 (I know I only needed one USB 3 but why not?) so when I was trying to verify if the headset started correctly (PiTool Status) the PE fullscreen window popped up and I had to Alt-F4 it and disable “Pimax Home” in PiTool… :slight_smile:

Not sure what the best solution is, but I think an auto mode for the mouse interaction would be nice … :slight_smile:

2 Likes

Yes that the idea :slight_smile: But there are multiple conditions and scenarios. Some people may only use Mouse every day as they dont have controllers. Others only need mouse when controllers are not detected and the mouse mode was intentionally disabled upon last session.

Maybe its just better to set a user profile option like:
Enable Mouse when controllers are off.
And let that option be ticked upon first launch, then let the user decide to keep it that way or not?

2 Likes

That sounds like a good plan… :+1:

I’m trying to think of a clever way of activating mouse mode without taking the headset off or using a controller… :wink:

What about some kind of hotkey combo on the headset?

Volume up + down for 3 seconds?

2 Likes

I could also add a popup when mouse was automatically enabled to just inform the user why, and that he/she can disable this auto-feature?

2 Likes

You could do a “one-off” popup instructing the user where to disable/control the settings… Sounds like a good idea… :wink:

2 Likes

Does somebody get the oculus games to run on the 8kx with this?My oculus games dont work

1 Like

thats a very good idea. Or maybe at least a keyboard command. Ill check with Bill how I can access the volume/power buttons.

2 Likes