Pagina1 van 1

Screenshots in SteamVR m.b.v. de VR Controller (Oculus Quest)

Screenshots in SteamVR m.b.v. de VR Controller (Oculus Quest)
   0

Ik geniet van VR, maar een van de dingen die me eigenlijk vies tegenvalt is hoe beroerd de implementatie is voor het maken van screenshots.

De gebruiker moet eigenlijk altijd, elke keer opnieuw, een aantal onhandige stappen uitvoeren voordat er een screenshot gemaakt kan worden, of je moet blind maar zien te vinden waar het toetsenbord is om de juiste knop in te drukken.

Het irritatie niveau, wat screenshots betreft, werd extra aangewakkerd tijdens het spelen van Half-Life: Alyx (super aanrader voor VR spelers!) waarbij ik grappige momenten wilde vastleggen.

In dit artikel laat ik zien hoe ik, met Oculus Quest in het oog, in SteamVR (!), hoe ik dit probleem opgelost heb, door de screenshot functie aan het lang indrukken van de Joystick op de Linkse Controller van mijn Oculus Quest – waar dan ook in SteamVR.

Let op: Deze tweak werkt dus alleen voor SteamVR!
– het zal zeer waarschijnlijk ook prima toepasbaar zijn voor andere HMD’s (zoals de Valve Index, Oculus Rift, HTV Vive, etc, etc).
– dit werkt dus niet met Oculus Quest native VR games – het werkt enkel voor games die in SteamVR draaien.
– deze tweak is gedacht voor gebruik met de Oculus Quest omdat de standaard SteamVR method conflicteerd met de aan de knoppen toegewezen functies op de Quest.

Deze truc maakt gebruik van een “must have” VR companion voor SteamVR gebruikers: OpenVR-AdvancedSettings.




Standaard manier voor Screenshots

Terwijl ik Half-Life: Alyx aan het spelen was, wilde ik erg graag screenshots maken, en ik moet zeggen dat de huidige implementaties gewoon bedroevend zijn als je een Oculus Quest gebruikt. Zowel SteamVR als de Oculus Quest hebben geen handige methode om screenshots te maken in VR games.

Merk op dat andere HMD’s (een Head Mounted Display of te wel een VR headset) zou je hetzelfde probleem kunnen hebben – afhankelijk voor de al standaard toegewezen knop functies.

Standaard Quick Screenshot in SteamVR: Systeem Knop en Rechtse Schietknop 

BillKills974 wees me terecht op het feit dat SteamVR wel degelijk een methode heeft om snel een screenshot te maken in VR: druk de systeem knop en de rechtse schietknop tegelijk in gedurende ongeveer een seconde. Na een paar seconden zie je dan een notificatie dat er een screenshot is gemaakt.

N.b.: Deze methode werkt dus NIET op een Oculus Quest (met Oculus Link, ALVR of Virtual Desktop)!

Standaard Screenshot in Steam: Onhandig in VR op een Oculus Quest

Steam heeft een manier om screenshots te maken en wel de F12 knop.
(en natuurlijk de vermelde methode die op de Quest niet werkt)

De kwaliteit is goed, en soms beter dan een een screenshot van de Oculus Quest.
Echter … als je in VR bezig bent, wordt het wel een uitdaging om de juiste knop op het toetsenbord te vinden.
Even de headset afzetten, snel de F12 zoeken, en … nondeju waar stond ik ook al weer?

Tijdens het testen, terwijl het scherm van mijn laptop op 1080p stond, resulteerde dit in een PNG van 1920×1080 – als je de resolutie van jouw scherm hoger hebt staan, dan vermoed ik dat de screenshots ook een hogere resolutie zullen hebben.

Merk op: om PNG’s te krijgen kan het nodig zijn om de “Save uncompressed” in de Steam settings aan te zetten (Steam Settings In-Game vink “Uncompressed” aan)

Standaard Screenshot met de Oculus Quest: Ook niet handig

Ik speel mijn VR games met een Oculus Quest – niet perfect, maar toch een van de meest betaalbare VR headsets en draadloos spelen met ALVR maakt het de beste VR ervaring van dit moment.

Een screenshot maken is ook hier niet zo lekker doorgedacht: Druk op de Trigger van de linkse controller, blijf de Trigger indrukken, en druk dan op de Oculus knop op de rechtse controller. Er verschijnt dan een menu waar je “Take Screenshot” moet selecteren, en vervolgens terug gaat naar het spel. Na een paar seconden (dus niet bewegen!) wordt er een screenshot gemaakt (als het rode lampje rechts bovenin het scherm uit gaat)!

Uiteraard werkt dit wel, maar midden in een spel is dit dus NIET handig – probeer dat maar eens in Beat Saber .

 

Een beter manier voor Screenshots in SteamVR

Ik heb al wat ideeën door m’n hoofd laten gaan, wat nu een goede oplossing zou zijn sinds ik met Half-Life: Alyx bezig ben.

Ik had eerst het idee om een grote knop op de vloer te maken (plank), maar ja, die moet je dus in VR ook maar zien te vinden.
Een ander idee was voice control, b.v. met Cortana, maar ook dan maar hopen dat ze luister, om maar te zwijgen over de extra resources die nodig zijn op jouw PC en mogelijkerwijs netwerkverbinding (die ik echt alleen voor ALVR wil gebruiken en niet voor andere dingen).

Dus waarom niet een knop op een van de controllers gebruiken en zo het indrukken van F12 simuleren?

 

De korte versie voor de ervaren of ongeduldige gebruikers … 

Als je goed de bekend bent met Steam, SteamVR en OpenVR-AdvancedSettings, dan kun je misschien de gedetailleerde stappen overslaan.
Hier een quick en dirty beschrijving:

  1. In Steam, verander de screenshot toets naar F9, omdat F12 niet ondersteund wordt door OpenVR-AdvancedSettings.
  2. Installeer OpenVR-AdvancedSettings met behulp van de installer EXE.
  3. Bewerk de OpenVR-AdvancedSettings INI file en verander de waarde voor “keyboardThree” naar F9 (keyboardThree=F9 )
  4. In VR, open OpenVR-AdvancedSettings, en koppel (bindings) “Keyboard Shortcut Three” aan Misc.Joystick LeftButtonLong.

 

Koppelen van de Steam Screenshot Key aan een VR Controller Knop

In de standaard SteamVR instellingen kon ik helaas niks zinvols vinden.
Ik kon me echter herinneren dat OpenVR-AdvancedSettings (wat ik geïnstalleerd had voor een Audio issue met de Quest) een optie had om controller knoppen te koppelen (bindings).

 

Stap 1: Installeer OpenVR-AdvancedSettings op jouw PC

Sluit Steam en SteamVR voor je dit doet!

Installeer OpenVR-AdvancedSettings – het is gratis en met veel dan aan Ykeara voor het ontwikkelen en bijhouden van deze geweldige tool voor SteamVR gebruikers!

Een gedetailleerde beschrijving vindt je op de OpenVR-AdvancedSettings Github pagina, maar het i super simpel: Download de OpenVR-AdvancedSettings installer en run het.

Windows kan klagen dat het een programma van een onbekende ontwikkelaar is omdat het niet gesigneerd is, klik gewoon op “Run Anyway“.

Merk op dat ik in de instructies las dat er ook een Linux versie is, maar die heb ik niet getest. Op dit moment is er geen macOS versie.

 

Stap 2: Verander de F12 knop naar een knop welke OpenVR-AdvancedSettings kan gebruiken (F9)

OpenVR-AdvancedSettings is een handig hulpmiddel voor SteamVR, maar voor ons doel heeft het een klein nadeel:
We willen namelijk de screenshot toets van Steam gaan gebruiken en dat is F12 , maar helaas ondersteund OpenVR-AdvancedSettings alleen maar de F1F9 toetsen.

Voor meer informatie, zie de OpenVR-Advancedsettings Keyboard-input specificaties waar duidelijk staat:

Only F1 through F9 is supported.
This is because there is no way to tell if F12 is meant to be F1+, F1-, 2+, 2- or F12+, F12-.

(Alleen F1 tot en met F9 worden ondersteund. Dit is omdat er geen manier is om te bepalen of F12 nu F1+, F1-, 2+ 2- or F12+, F12- betekent.)

Er is een eenvoudige oplossing hiervoor: we veranderen de screenshot toest in Steam.
Ik heb toevallig F9gekozen, en ben me op dit moment niet bewust of dit problemen gaat leveren met andere games.

Open Steam, en vervolgens het “Steam” menu () waar we de optie “Settings” kiezen ().

Er opent zich een venster, waar de de optie “In-Game” kiezen ().

In de gemarkeerde sectie hieronder () kunnen we de “Screenshot shortcut keys” aanpassen. Klik op het  knopje om het veld leeg te maken en druk vervolgens op de gewenste knop die je voor screenshots wilt gaan gebruiken (F9).

Steam - Een andere toets kiezen voor screenshots

Steam – Een andere toets kiezen voor screenshots

Nu we hier toch zijn, in de gemarkeerde sectie kunnen we nog een paar andere zaken meteen instellen:

  •   AANRADER: Stel een standaard directory in voor Screenshots!
    Klik op de “SCREENSHOT FOLDER” knop en selecteer een geschikte directory – Ik gebruik zelf een directory op Dropbox zodat ik ze dan ook op andere apparaten kan openen,
  • Aanbevolen: Zet audio feedback aan zodat je hoort wanneer een screenshot wordt gemaakt (hoor je ook in de VR HMD) voor “Play a sound” aan te vinken.
  • Optioneel: Je kunt screenshots als ongecomprimeerd opslaan (PNG) met de optie “Save an uncompressed copy“,

 

Klik op OK als je klaar bent.

 

Stap 3: Keyboard Shortcut definitie in de OpenVR-AdvancedSettings INI file

OpenVR-AdvancedSettings definieert standaard keyboard shortcuts (CTRL+SHIFT+M = Discord Mute Microfoon):

Keyboard Shortcuts
Shortcut Toestaanslag
keyboardOne CTRL + SHIFT + M
keyboardTwo CTRL + SHIFT + M
keyboardThree CTRL + SHIFT + M

Een van deze keyboard shortcuts willen we nu aanpassen en daarvoor moeten we het OpenVR-AdvancedSettings INI file bewerken, met b.v. Notepad:

In Windows vinden we het in deze directory:  %APPDATA%\AdvancedSettings-Team  (je kunt dit kopiëren en plakken in de Explorer adresbalk)

Merk op: voor Linux gebruikers is het pad: ~/.config/AdvancedSettings-Team/.

Het bestand heet “OpenVRAdvancedSettings.ini“.

In dit bestand, welke je dus b.v. met Notepad kunt openen, moet je zoeken naar de sectie die er zo uit ziet:


1
2
3
4
[keyboardShortcuts]
keyboardOne=^>m
keyboardTwo=^>m
keyboardThree=^>m

Verander nu de regel van “keyboardThree=” naar  keyboardThree=F9, zodat het resultaat er zo uitziet:


1
2
3
4
[keyboardShortcuts]
keyboardOne=^>m
keyboardTwo=^>m
keyboardThree=F9

Je kunt het bestand nu opslaan en sluiten.

 

Stap 4: F9 koppelen aan een knop op de VR Controller

Als je linkshandig bent, of als je een andere VR HMD (dus niet een Oculus) gebruikt, even opletten ….

Links vs Rechts … 

De instructies hier gaan uit van een rechtshandige gebruiker (ikke! ), waarbij ik er vanuit gaat dat het betreffende spel, de gekozen knop niet in gebruik heeft.

Linkshandige gebruikers zouden hetzelfde kunnen doen met de rechtse controller natuurlijk – het hangt een beetje af van hoe je speelt.

Gebaseerd op de Oculus Touch Controllers …  

Ik heb maar 1 HMD, de Oculus Quest, dus deze guide is gebaseerd op de (standaard) bijbehorende controllers: de Oculus Touch Controllers.
Ik denk dat dit hetzelfde werkt voor de andere Oculus modellen zoals de Rift en Rift-S.

Dit zou zeer zeker goed, en op vergelijkbare wijze,  kunnen voor andere HMD’s zoals de Valve Index, HTC, Samsung, etc.
Als jouw VR controller maar correct wordt herkend onder SteamVR, dan zal het wel werken – het kan zijn dat je natuurlijk een andere knop moet kiezen.

Voor we verder gaan: Start jouw VR omgeving op, en zorg ervoor dat je in een SteamVR spel staat, of in het begin “huis”.
Dus SteamVR draait en is zichtbaar in jouw HMD (headset) …

Om bij de instellingen van de OpenVR-AdvancedSettings te komen, moeten we (in VR!) eerst de SteamVR Settings openen.

Op de Oculus Quest doe je dit door op de MENU knop te drukken () – deze vind je op de LINKSE controller.

Oculus Touch Controllers

Oculus Touch Controllers

Het SteamVR menu zou zich nu moeten openen (in VR), en je ziet dan zoiets als onderstaande afbeelding.

Selecteer de aangegeven knop, links onder in, voor het openen van OpenVR-AdvancedSettings.

SteamVR Menu - Open OpenVR-AdvancedSettings

SteamVR Menu – Open OpenVR-AdvancedSettings

In de volgende stap gaan we naar “Bindings” in OpenVR-AdvancedSettings.

OpenVR Advancedsetting - Bindings nodig voor het koppelen van de screenshot functie

OpenVR Advancedsetting – Bindings nodig voor het koppelen van de screenshot functie

Op mijn scherm zie ik steeds even een korte lijst van mogelijke applicaties, maar om onduidelijke redenen kan ik nooit iets kiezen want het gaat vanzelf verder naar het menu wat je hieronder ziet. In dit scherm moeten we de “Misc” tab kiezen.

De andere opties zoals Motion, Music en System, bieden geen optie om een knop aan een toets-druk te koppelen.

OpenVR AdvancedSetting - Misc Tab

OpenVR AdvancedSetting – Misc Tab

 Vervolgens kiezen we de Joystick optie die we links zien (als je de linkse controller gaat gebruiken):

OpenVR AdvancedSetting - Linkse Joystick

OpenVR AdvancedSetting – Linkse Joystick

 Na de Joystick selectie zien we meteen onderstaand beeld – tenzij je al eerder een actie had gekoppeld aan de joystick. Kies de optie “BUTTON“.

OpenVR Advancedsetting - Linkse Joystick BUTTON voor Screenshots

OpenVR Advancedsetting – Linkse Joystick BUTTON voor Screenshots

 Omdat we slechts 2 basis opties zien (Click en Touch), moeten we eerst op “More options“, klikken zodat de optie “Long” (lang indrukken) zichtbaar wordt.

OpenVR AdvancedSetting - More Options voor de "Long" optie

OpenVR AdvancedSetting – More Options voor de “Long” optie

Nu kunnen we eindelijk definiëren wat er moet gebeuren als we de joystick van de linkse controller langer ingedrukt houden. Ik heb bewust gekozen voor het “langer indrukken” omdat we willen voorkomen dat we per ongeluk screenshots gaan lopen maken in het spel. Klik op het “NONE” blokje naast “Long“.

OpenVR AdvancedSetting - Lang (Long) ingedrukt houden voor screenshots

OpenVR AdvancedSetting – Lang (Long) ingedrukt houden voor screenshots

 

 Nu kunnen we onze keyboard shortcut “Keyboard Shortcut Three” toewijzen.

OpenVR AdvancedSetting - Keyboard Shortcut Three toewijzen voor onze Screenshot toets

OpenVR AdvancedSetting – Keyboard Shortcut Three toewijzen voor onze Screenshot toets

 We zijn nu klaar, alleen nog even de instellingen opslaan:

OpenVR AdvancedSetting - Save Settings

OpenVR AdvancedSetting – Save Settings

OpenVR AdvancedSetting - Save Details

OpenVR AdvancedSetting – Save Details

En dat is alles … echter niet vergeten: deze optie werkt dus alleen als het venster van jouw VR game, of SteamVR, op jouw PC de actieve applicatie is. Dit is standaard het geval, maar als je hebt lopen klikken op jouw PC dan kon dat weleens niet het geval zijn.

Hoe gebruiken we de nieuwe Screenshot Optie?

Het is nu lekker eenvoudig om een screenshot te maken tijdens een SteamVR spel: gewoon de joystick op de linkse controller even ingedrukt houden.
Hieronder zie je een korte video hoe SteamVR dan met een kleine animatie weergeeft dat je bezig bent met het indrukken van de joystick, en je hoort een geluidje als de screenshot gemaakt is (je kunt dan de joystick weer los laten).

Zorg er voor dat het SteamVR het actieve venster op jouw PC is, wat standaard het geval is.

Na het maken van een screenshot vindt je het terug in jouw screenshot directory – die has je ingesteld he ?

 

Resultaten vergelijken …

Er zijn een aantal verschillen als we gaan kijken naar de verschillende manieren van screenshots maken die misschien handig zijn om te weten.

De Oculus Quest maakt een screenshot van wat er in de HMD wordt weergegeven. SteamVR aan de andere kant, maakt een screenshot van wat er op de monitor van jouw PC wordt weergegeven. Ik heb hieronder een voorbeeld geplaatst van Chompski (de tuinkabouter in Half Life en andere Valve games).

Opmerkingen:

  • SteamVR lijkt de schermresolutie van jouw PC monitor te gebruiken.
    Mijn laptop stond op 1920×1080 tijdens het testen. Mocht je een hogere resolutie gebruiken op jouw PC dan zou ik ook daar een hogere resolutie screenshot verwachten.
  • Het feit dat ik een screenshot in PNG formaat kreeg in SteamVR hangt waarschijnlijk samen met het feit dat ik “uncompressed pictures” had aangevinkt in de Steam settings.
  • Screenshot van de Oculus Quest halen is niet praktisch: Zie daarvoor deze beschrijving van Oculus.
    Korte versie: Koppel de Quest aan jouw PC met een USB kabel en het zal in Explorer verschijnen als een soort “camera”.
    Tenzij de Quest in Developer Mode staat (nodig voor ALVR), in dat geval gebruik ik altijd SideQuest en kun je de screenshots in de “Oculus” directory vinden.
  • Waar de Quest beter laat zien wat je ziet, is de SteamVR variant een iets beter kwaliteit en eenvoudiger terug te vinden.
  • De SteamVR variant werkt dus alleen maar voor SteamVR games … en dus niet voor games die alleen op de Oculus Quest draaien.

Oculus Quest Voorbeeld

Ik heb deze screenshot gemaakt met de Oculus Quest method: De Trigger op de linkse controller ingedrukt houden en dan de Oculus (rechtse controller) indrukken.

Formaat: JPEG
Resolutie:  1,440 x 1,440 (de afbeelding hier is proportioneel verkleind vanwege de website)

Oculus Quest - Chompski Screenshot

Oculus Quest – Chompski Screenshot

SteamVR  Voorbeeld

Dit voorbeeld is een screenshot van dezelfde positie (ongeveer) in VR, maar dan via SteamVR:

Formaat: PNG
Resolutie: 1,920 x 1,080 (ook deze afbeelding is proportioneel verkleind – resolutie lijkt af te hangen van de schermresolutie van jouw PC monitor)

SteamVR - Chompski Screenshot

SteamVR – Chompski Screenshot

Donatie opties


Donaties zijn niet verplicht maar worden wel zeer gewaardeerd. Donaties worden gebruikt voor de hosting kosten van onze website, en voor de aankoop van zaken die we in onze projecten gebruiken. Hoe klein de donatie ook is; we zijn er erg blij mee!

Merk op dat het klikken op affiliate links een kleine commissie voor ons kunnen genereren - dit wordt zeer gewaardeerd.

Reacties


Er zijn nog geen reacties geplaatst.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.



Jouw Opmerking ...

Plaats hier geen lange bestanden (zoals source codes, log files of config files). Gebruik hiervoor het Forum.

Delen:
*
*
Laat me per email weten als er nieuwe reacties zijn.
       Je kunt jouw RSS reader gebruiken om reacties te volgen.


Tweaking4All gebruikt de gratis Gravatar dienst voor Avatar weergave.
Tweaking4All zal nooit jouw email adres met anderen delen.