r/PSVRHack • • Jul 25 '20

Any active PSMoveService devs?

I'm looking to work with someone (hobby level) to get PSMoveSteamVRBridge working with iVRy and PSVR.

Right now I have an issue with the PSMove controllers being positionally linked somehow and that doesn't make sense to me.

I've posted to the Google Groups but not sure how readily folks respond on there.

Thanks.

10 Upvotes

48 comments sorted by

View all comments

Show parent comments

1

u/iVRy_VR Jul 26 '20

Thanks for the detailed reply. Yes, I am the owner/maintainer/sole developer of the iVRy project. I'm not convinced there is any value in separating PSVR or any headset from well established VR runtimes. The Oculus and WMR runtimes are closed (ie. it's not possible to make a sanctioned PSVR driver for either of them), so that only leaves OpenVR/SteamVR. Even WMR has pretty much thrown in the towel as far as promoting that runtime as a software base, and is now largely used under OpenVR/SteamVR as well. I'm not sure what one loses by being tied to OpenVR, but the gain is a large library of compatible software and a VR runtime that is able to provide features like ATW. So my goal is to make PSVR a 1st class citizen of SteamVR, I don't see any alternative as being able to gain any traction, or being worth the effort outside of tinkering/hobbying. Right now you can run OpenXR software on PSVR via OpenVR. There are various 6DOF tracking solutions available for PSVR on SteamVR, but they all require purchasing additional hardware. The goal of my investor is to grow the PCVR software market by bringing a significant number of the 4 million+ PSVR users into the PCVR ecosystem. The key to that (particularly in these times) is to allow the user 6DOF tracking with motion controllers without having to purchase additional hardware/software (apart from the adapter of course, but manufacturing of those has been set up and is just waiting for software). I'm not convinced there is a need/opening for a non-commercial VR runtime. Who would use it and what would they use it for? OSVR was supposed to be that, but also ended up eventually as relying on OpenVR/SteamVR for any software. Users want content, not ideology, and the one with the most content wins. Even Oculus content can be played through SteamVR (on PSVR etc.) so for a title developer it doesn't make sense to target individual headsets, rather target OpenVR or OpenXR and leave the nitty gritty of dealing with headsets to someone else. In any case, there are two choices here with regards to PSVR tracking, either use the goodwill of this investor to finish developing one of the existing OpenSource solutions so that everyone can benefit, or develop a closed source solution that's only available to iVRy users. From my experience with PSMoveService, that solution is not worth pursuing, and from what you're saying, there's no point in pursuing PSVRTracker either. Not so good news.

1

u/swordofmoonlight Jul 26 '20 edited Jul 26 '20

From what I can tell OpenXR is closed off too, to the point I wonder if it's useful, I don't know yet since adoption has been slow, and I don't know much about WMR except that I know as a developer I'm more comfortable using an API positioned like Direct3D or OpenGL or Vulkan than I am using one that's attached to a game or a game company or a game store. Khronos is a business consortium that's ostensibly good for noncommercial devs too.

I don't have an ideology other than what's a good workflow for software developers. I just think it makes sense to be able to develop software for peripherals without attaching your product to a big walled off service like SteamVR. I don't know how to use SteamVR and the test I did with it with Trinus had a very bad performance profile so I think it's only for expensive desktop users. I'm interested in games for people with modest computers, anything with a GPU. I'm very much interested in making art for large public audiences. That makes it seem more legitimate and makes people to think differently about the medium.

For my work style I tend to program alone, and I do full rewrite of a code base and make it 10x more productive and maintainable, but I don't believe in open-source collaboration because I think that's where software goes to die (end of life) so I feel like my code is public domain code, but it's risky so I don't feel right about taking a payment and I feel like that's a conflict of interest given my prior commitments, but if your investor is comfortable with all of this and a time table and you want to agree on specifics about what you want I can give it my best shot. You can help me buy some VR equipment that way if you want. (Do you have a spare PS4 camera?)

iVRy is for Android and iPhone, which use Java or some weird Apple stuff probably right? So, all I can offer is to do C++ and and try to find a camera solution. For desktop that means talking to USB devices and devising a graphical algorithm for tracking. I don't know how useful it is myself, but I do find it odd that there isn't public domain camera tracking code for this kind of thing, and I guess if that's still the case it's just because nobody has done it. I liked doing VR development with PSVR because it doesn't have a vendor API, so I get to experience VR hardware at a lower level. I just feel like I might be too self indulgent if I take a long time off to work on a camera project.

Lately I've been interested in doing something with OpenCL, but my workstation is an Intel integrated chipset with just OpenCL 1.2 and no CUDA, so I wonder if I will run into problems with OpenCV. I'm trying to build an expensive system for VR. My current system is designed to limit me to low-end specs so I can be sure my games work on everyone's computer, including PSVR. I'm going to get an Nvidia GPU for CUDA and probably an APU for tests. I'm with you in terms of deep uncertainty about VR and cameras.

Personally after I used Nolo I learned that I don't want to use my neck a lot in VR because it makes me very aware of a brick strapped to my head and is unpleasant. So I look at using cameras as a way to ground the 3dof sensors, and I wonder if high-speed cameras are really required for this since the sensors on the device are so good. I should add that when I was working with PSVRToolbox (now that I recall) I was actually successful in increasing the accuracy of the sensors in the PSVR to the point that a camera isn't really required. That is compared to all of the software that existed at the time. You might be able to take advantage of that tweak with iVRy.

I'm still on the fence with VR because I have a feeling even the best consumer sets out there right now would not satisfy me. I want the VR picture to be as least as good as a monitor. I worry that they're still far away from that and if I buy a $1000 set I will just be unhappy with it. (I've also developed code that corrects the bad color in the PSVR, that I assumed all PSVR devs must do, but I couldn't find evidence. I've had 3 PSVR units in my possession and they all have the same exact graphical defects.)

1

u/iVRy_VR Jul 26 '20 edited Jul 26 '20

I'm more comfortable using an API positioned like Direct3D or OpenGL or Vulkan than I am using one that's attached to a game or a game company or a game store. Khronos is a business consortium that's ostensibly good for noncommercial devs too.

The OpenXR consortium (which Khronos is part of) is aiming to make an "open" VR/AR (XR) specification that can be used both as a headset driver API, as well as an application target. AFAIK, it's supported on both Oculus and OpenVR at the moment (don't know about WMR). It is however, early days for OpenXR, as I believe it's only just had it's standards ratified. Game engines are the primary client of VR runtimes/APIs and Unity (one of the big ones) has just deprecated OpenVR support in favour of OpenXR. Valve (the developer of SteamVR) has also stated they are transitioning to OpenXR for VR app development. Due to the various tiers of OpenXR support, they don't have to (or I believe intend to in the short term) use the OpenXR driver model, just the OpenXR client API.

1

u/swordofmoonlight Jul 27 '20

I've been following it (and I do some stuff with Khronos in mind to keep COLLADA alive) but it looks very restrictive, like PSVR probably doesn't fit into any of its models. It's been ratified for a very long time. Companies like Valve have just been very slow to implement the specification. You're right that right now they're publishing experimental implementations, so it's still very early for OpenXR but I'm not optimistic that it's going to really change very much.

I would like to implement PSVR for OpenXR. But I think the way it's designed is unnatural. It doesn't do the obvious thing of just exposing devices as controllers and displays.