The Thrill of the Fight

The Thrill of the Fight

Ian (Sealost)  [開發人員] 2022 年 4 月 29 日 下午 1:32
2
Play area problems with Quest and Link
Edit Dec 8:

I've made a new post here where I'll try to keep the most up-to-date info about Quest support: https://steamcommunity.com/app/494150/discussions/0/4030222029800121198/

Possibly outdated information below:

Quest with Virtual Desktop works. Make sure to turn on "Center to play space (Stage tracking)" in Virtual Desktop's "Streaming" menu. Running the main release of TotF in native Oculus mode will give you a minimum sized play area, but running through SteamVR or using the beta version of TotF will give you a correct play area. Props to the VD dev for getting this working correctly!

Quest with Meta Link (wireless or cabled) does not work correctly. As of v50, running the main release of TotF in native Oculus mode will give you a minimum sized play area. Running through SteamVR or using the beta version of TotF results in an extremely unreliable and usually oversized play area that almost always extends outside your boundaries in some way. I am reliant on Meta to fix this in Link.

Quest with Steam Link does not work. Steam Link does not currently provide a way to enable stage mode on Quest, so the game's play area centers around you instead of fitting within your boundaries (and I believe the actually play area size is slightly inaccurate, too, if the Quest isn't in stage mode).

Pico Neo 4 with Virtual Desktop works according to users. I do not have one to test with to confirm, however. Unlike with the Quest, I believe you need to turn off "Center to play space (Stage tracking)" in Virtual Desktop's "Streaming" menu. You'll want to run through SteamVR, of course, and I believe all versions of the game work.
最後修改者:Ian (Sealost); 2023 年 12 月 8 日 下午 12:24
< >
目前顯示第 1-15 則留言,共 23
Salus 2022 年 4 月 29 日 下午 6:34 
Yeah hopefully this gets fixed soon; boundary data should've always been sent; it's a shame it took them so long.
Ian (Sealost)  [開發人員] 2022 年 4 月 30 日 上午 10:01 
Added a new section with a potential workaround from Ray, the developer of Stop Sign VR.
Ray 2022 年 4 月 30 日 下午 2:54 
引用自 Ian (Sealost)
Added a new section with a potential workaround from Ray, the developer of Stop Sign VR.
Thanks, Ian!
(But it's actually not "Oculus/Meta's play area calculation" but it's "SteamVR's play area calculation" that's incorrect. But anyway, Stop Sign recalculates it.)
Ian (Sealost)  [開發人員] 2022 年 4 月 30 日 下午 8:39 
引用自 Ray
引用自 Ian (Sealost)
Added a new section with a potential workaround from Ray, the developer of Stop Sign VR.
Thanks, Ian!
(But it's actually not "Oculus/Meta's play area calculation" but it's "SteamVR's play area calculation" that's incorrect. But anyway, Stop Sign recalculates it.)

When I check the play area in native Oculus mode, with no SteamVR involved at all, the play area is being calculated incorrectly.
最後修改者:Ian (Sealost); 2022 年 4 月 30 日 下午 8:40
Ray 2022 年 5 月 1 日 上午 6:58 
引用自 Ian (Sealost)
When I check the play area in native Oculus mode, with no SteamVR involved at all, the play area is being calculated incorrectly.
I see. So there's two causes/problems: The play area size (error by Oculus) and the mis-alignment of the boundaries (error by SteamVR).
最後修改者:Ray; 2022 年 5 月 1 日 上午 6:59
Ian (Sealost)  [開發人員] 2022 年 5 月 1 日 下午 2:37 
tl;dr: Oculus is using the Guardian polygon data where they should be using data for a calculated rectangular play area.

I did some more digging on this today that I want to document here. I focused on three functions exposed by the OVR Unity integration: OVRBoundary's GetConfigured(), GetGeometry(), and GetDimensions(). The latter two accept an argument to define whether you want play area info (PlayArea) or Guardian boundary info (OuterBoundary).

Let's assume the user has valid Guardian boundaries set up.

What happens on Rift (and this matches Oculus's documentation):
  • GetConfigured() - Returns TRUE.
  • GetGeometry(PlayArea) - Returns four points correctly representing the four corners of the play area.
  • GetDimensions(PlayArea) - Returns the correct dimensions of the play area.
  • GetGeometry(OuterBoundary) - Returns potentially hundreds of points, representing points along the Guardian boundary polygon.
  • GetDimensions(OuterBoundary) - Returns dimensions that define the outer extents of the Guardian boundary polygon.

How Link behaved before v39:
  • GetConfigured() - Returned FALSE.
  • GetGeometry(PlayArea) - Returned no points.
  • GetDimensions(PlayArea) - Returned dimensions of 0.
  • GetGeometry(OuterBoundary) - Returned no points.
  • GetDimensions(OuterBoundary) - Returned dimensions of 0.

How Link behaves on v39 when using a recent version of the OVR Plugin, when using the VRAPI backend (this matches TotF's beta branch):
  • GetConfigured() - Returns TRUE.
  • GetGeometry(PlayArea) - Returns hundreds of points, representing the points along the user's Guardian boundary polygon. This is the behavior that's supposed to happen when the OuterBoundary argument is passed in, not the PlayArea argument!
  • GetDimensions(PlayArea) - Returns extents that fully encompass the Guardian boundary. This is the behavior that's supposed to happen when the the OuterBoundary argument is passed in, not the PlayArea argument!
  • GetGeometry(OuterBoundary ) - Returns hundreds of points, representing the points along the user's Guardian boundary polygon.
  • GetDimensions(OuterBoundary ) - Returns extents that fully encompass the Guardian boundary.

How Link behaves on v39 when using a recent version of the OVR Plugin, when using the OpenXR backend:
  • GetConfigured() - Returns FALSE. (?!)
  • GetGeometry(PlayArea) - Returns only four points, but they're the corners of what the play area would be if it used the dimensions calculated from the OuterBoundary.
  • GetDimensions(PlayArea) - Returns extents that fully encompass the Guardian boundary. This is the behavior that's supposed to happen when the the OuterBoundary argument is passed in, not the PlayArea argument!
  • GetGeometry(OuterBoundary) - Returned no points. Note: This isn't surprising. Oculus has deprecated OuterBoundary when using the OpenXR backend because OpenXR doesn't define functionality for retrieving the boundary polygon data.
  • GetDimensions(OuterBoundary) - Returned dimensions of 0. Note: This isn't surprising. Oculus has deprecated OuterBoundary when using the OpenXR backend because OpenXR doesn't define functionality for retrieving the boundary polygon data.

The main release of TotF is using a much older version of the Oculus plugin and is getting different results than what's occurring with the the more up-to-date versions, and unfortunately I don't have a convenient way to test specifically what's happening on that version. It seems either GetConfigured() is returning FALSE and Link is applying a weird offset to the tracking or GetGeometry(PlayArea) is returning a very small rectangle that is offset in a way it should not be.

So the takeaway is that Oculus is using the Guardian polygon data where they should be using data for a calculated rectangular play area.

I'm updating the main post with a summary of the currently known issues that Oculus or other parties need to fix.
最後修改者:Ian (Sealost); 2022 年 5 月 1 日 下午 2:44
Ian (Sealost)  [開發人員] 2022 年 5 月 1 日 下午 2:47 
引用自 Ray
引用自 Ian (Sealost)
When I check the play area in native Oculus mode, with no SteamVR involved at all, the play area is being calculated incorrectly.
I see. So there's two causes/problems: The play area size (error by Oculus) and the mis-alignment of the boundaries (error by SteamVR).

I can't help but feel the mis-alignment is Oculus's fault, too, instead of Valve's. I can't imagine SteamVR is doing anything special for Link that they wouldn't otherwise be doing for the Rift, and in my opinion the goal for Link should be to work exactly like a Rift does.

Two questions for you:
1) How are you fixing the boundary shift you're seeing in SteamVR? Put another way, how do you know what the correct values are so that you can fix it? Are you able to pull the correct boundaries directly from OculusVR somehow or did you just visually notice a correctable pattern in how the boundaries were shifted?

2) Have you noticed rotation being a problem, too? You can't use the Quest's recenter function while you're using Link, but try the following. First, open Link and observe what boundary and play area information you end up with. Then close Link, turn 45 degrees or so in real life (while you're at the Quest's home screen), and recenter your view by holding the Oculus button on the right-hand controller. Reopen Link and observe the boundary and play area data again. In my case, I'm noticing that the tracking orientation is changing relative to my Guardian boundaries, even though it should not be. I'm curious what that's doing to SteamVR's interpretation of the boundary data, if anything.
Ray 2022 年 5 月 2 日 上午 7:18 
1) I use the FloorPoints you get from the Oculus API with GetBoundaryGeometry() to recreate the SteamVR chaperone system.

2) Yes, I'm noticing the same. When I do as you describe, the SteamVR orientation points the way I was looking when I recentered in Quest Home. You can see that clearly if you have the Center Marker visible in SteamVR.
In my case the rotation is not a problem because Stop Sign recreates the SteamVR chaperone completely, including the orientation of the center.
Ray 2022 年 5 月 2 日 上午 8:34 
P.S. I wrote a small news item about the Stop Sign fix here.
Netheri 2022 年 5 月 11 日 下午 1:11 
And Stop Sign VR also fixes the problem on WMR glasses. Especially when e.g. Index controllers are paired to use with G2. Just remember also set SteamVR for WMR setting "allow play-space to face away from the monitor" to "off".

Thanks for both Ian and Ray to work on these issues together, especially with WMR+SteamVR controllers issues.
Ian (Sealost)  [開發人員] 2022 年 9 月 17 日 上午 12:42 
引用自 aster
But what do I do if I don't have the money to buy Stop Sign? Can I just no longer play anymore? I first bought this game to use with my link cable but because of the amount of movement in TotF, it's kind of unplayable for me since I'm constantly getting tangled in my cable or getting the cable caught on my hand when throwing punches

So what do I do now? Airlink has been the solution to my cable issues for every other steam VR game I own like pavlov, contractors, vrchat, punch fit, eleven table tennis, why is this the only game having noticeable issues with airlink?

Link has never worked properly with the PC version of TotF. There has been a warning on the game's Steam store description for almost as long as Link has existed. The Quest update mentioned in the main post just made it behave even worse. The only supported way to play TotF on Quest is through the native version.

You don't notice the problem in any of the games you mentioned because none of them need to know about your play area. They just center you wherever you're standing and don't try to fit the game within your play area boundaries. TotF asks your PC for your play area boundaries and uses what your PC tells it. Your PC doesn't know and has to ask the Quest through Link, and Link gives incorrect information.

This is a problem Meta needs to fix in Link.
最後修改者:Ian (Sealost); 2022 年 9 月 17 日 下午 1:02
revmb51 2023 年 2 月 2 日 下午 1:35 
That is a Super Long Winded way o sayin...it ain't working.
Ian (Sealost)  [開發人員] 2023 年 2 月 3 日 上午 10:32 
引用自 revmb51
That is a Super Long Winded way o sayin...it ain't working.

There's one-sentence tldr at the top. There's also a paragraph about it in the game's store description and the system requirements section explicitly says Quest is not supported.

This thread is for explaining and exploring the issue, which requires more words.
最後修改者:Ian (Sealost); 2023 年 2 月 3 日 上午 10:32
revmb51 2023 年 2 月 3 日 下午 12:51 
Thank you for letting me know. I stand humbled and corrected. Please forgive me for speaking out of turn and making an inappropriate statement. It was meant more as a light-hearted jest than a judgement. Mea Culpa.
revmb51 2023 年 2 月 3 日 下午 12:53 
I assure you all I am not a jerk. Just bad timing and unfortunate delivery.
最後修改者:revmb51; 2023 年 2 月 3 日 下午 1:00
< >
目前顯示第 1-15 則留言,共 23
每頁顯示: 1530 50