Sonntag, 8. Dezember 2024

Oculus - SCS Forums Beitrag

"Oculus + Ein Spielerlebnis mit VR"
Steam Beta-Zweig: “oculus – Oculus+OpenVR+OpenXR 153”






„Experimentelle Unterstützung für Oculus, OpenVR und OpenXR“ (seit 1.50) APIs sind im Oculus-Beta-Zweig auf Steam verfügbar. Derzeit ist die Unterstützung nur in der Windows-Version des Spiels verfügbar.




Die Wahl des Modus hängt davon ab, welches HMD Sie verwenden. Bei Verwendung eines kompatiblen Oculus-HMD ist es möglicherweise am besten, die Oculus-API zu verwenden, da das Spiel damit ein symmetrisches Sichtfeld erzwingen kann, das derzeit für einige Effekte (z. B. Regenreflexionen) erforderlich ist und bei Verwendung der Oculus OpenXR-Laufzeit nicht möglich ist. Versuchen Sie in allen anderen Fällen zuerst, die OpenXR-API zu verwenden. OpenVR ist nicht vollständig mit 1.50 kompatibel und wird wahrscheinlich eine schlechtere Leistung aufweisen.

Verwendete SDKs

• Oculus SDK 1.4.0

• OpenVR SDK 1.10.30

• OpenXR SDK 1.0.34

Anforderungen

Eine wirklich schnelle GPU und CPU wird empfohlen.

Einschränkungen und bekannte Probleme

Es wird nur der DX11-Modus unterstützt.

Das Spiel geht von einer parallelen Projektion für beide Augen aus und verwendet für beide Augen die gleiche Ausrichtung.

Das Spiel ist derzeit auf Steam nicht als VR-fähig gekennzeichnet, daher zeigt der Steam-Client beim Starten des Spiels eine Warnung an.

Nur einige Teile des Menüs haben einen 3D-Hintergrund

Die Ausrichtung und Position des Kopfes wird von einigen Kameras nicht unterstützt (z. B. von oben nach unten)

Bei der Verwendung einiger Menübildschirme im 3D-Modus oder beim Umschalten des 3D-Modus des Menüs kann es in einigen Situationen zu Verzerrungen kommen.

Das Spiel setzt die Ausrichtung/Position beim Betreten des LKWs nicht zurück, daher müssen Sie dies bei Bedarf manuell durch Drücken von F12 tun.

Die Standard-Reset-Taste F12 stimmt mit der Standard-Steam-Screenshot-Taste überein.

So aktivieren Sie

Oculus

Um die Unterstützung zu aktivieren, führen Sie das Spiel mit dem Befehlszeilenparameter -oculus aus. Sie müssen auch das Starten von Anwendungen aus unbekannten Quellen (Drittanbieter) in der Oculus-Anwendung aktivieren.

OpenVR

Um die Unterstützung zu aktivieren, führen Sie das Spiel mit dem Befehlszeilenparameter -openvr aus. Wenn Sie das Spiel mit SteamVR verwenden, sollten Sie in den Spieleigenschaften im Steam-Client auch die Option „Desktop Game Theatre verwenden, während SteamVR aktiv ist“ deaktivieren.

OpenXR

Um die Unterstützung zu aktivieren, führen Sie das Spiel mit dem Befehlszeilenparameter -openxr aus.

Allgemein

Möglicherweise möchten Sie die Grafikeinstellungen so konfigurieren, dass eine Skalierung von 100 % verwendet wird, und die Tiefenschärfe deaktivieren, die zusätzliche Unschärfe verursacht.

Supersampling

Wenn Sie eine ausreichend leistungsstarke GPU haben, möchten Sie möglicherweise Supersampling verwenden, um die Bildqualität zu verbessern. Im Allgemeinen gibt es drei Stellen, an denen Sie die Rendering-Größe beeinflussen können: HMD-Anbietertool, r_manual_stereo_buffer_scale cvar im Spiel und Skalierungseinstellungen in der Benutzeroberfläche des Spiels (entspricht r_scale_x/r_scale_y cvars). Im Allgemeinen verhalten sich sowohl die HMD-Anbietereinstellung als auch r_manual_stereo_buffer_scale ähnlich und Sie können die eine oder die andere mit ähnlichem Ergebnis verwenden. Die Skalierungseinstellung im Spiel gilt nicht für die Benutzeroberfläche und kann zu einem verschwommeneren Bild führen, da nur ein bilinearer Filter verwendet wird. Sie sollten sie daher möglicherweise auf 100 % belassen und die Größe stattdessen mit dem HMD-Anbietertool oder r_manual_stereo_buffer_scale ändern.

Technisch funktioniert es folgendermaßen: Die Anbietereinstellung ändert die Größe der empfohlenen Rendering-Auflösung, die dem Spiel von der VR-API gemeldet wird. Das Spiel multipliziert dann diesen gemeldeten Wert mit r_manual_stereo_buffer_scale und verwendet die resultierende Größe, um den Augenpuffer zuzuweisen. Beim Rendern der 3D-Fahrszene multipliziert das Spiel die Augenpuffergröße mit der Skalierungseinstellung und rendert die Szene mit der resultierenden Größe. Wenn das Rendering abgeschlossen ist, wird es mithilfe eines bilinearen Filters wieder auf die Größe des Augenpuffers skaliert. Die Benutzeroberfläche wird dann in den Augenpuffer gezeichnet. Schließlich wird der gesamte Puffer der VR-API bereitgestellt, die alle erforderlichen Verzerrungen und Nachbearbeitungen (z. B. ASW) anwendet.

Seit 1.50 wird der Maßstab der Textur, der zum Rendern der Benutzeroberfläche verwendet wird, mithilfe eines separaten r_manual_stereo_ui_buffer_scale-Cvar gesteuert (vorher war es das Zweifache des Renderpuffers). Zusätzlich verwendet die Textur Mipmaps, um Aliasing-Artefakte zu reduzieren. Abhängig von der Auflösung Ihres HMD und der Puffergröße kann dies zu übermäßiger Unschärfe führen. Dies kann umgangen werden, indem entweder Mipmaps mit r_manual_stereo_ui_mipmaps vollständig deaktiviert werden, um dem 1.49-Verhalten zu entsprechen, oder indem die Mipmap-Auswahl mit r_manual_stereo_ui_lod_bias angepasst wird, wobei Werte unter Null die Schärfe erhöhen.

Zusätzliche Konfiguration

Das Spiel zeigt standardmäßig ein unverzerrtes Bild beider Ansichten auf dem Bildschirm. Wenn Sie damit verbundenen Overhead entfernen möchten, können Sie ihn deaktivieren, indem Sie r_manual_stereo_mirror_mode auf 0 setzen. Alternativ können Sie auf die Mitte des Augenbereichs zoomen, indem Sie diese Cvar auf 2 setzen, oder nur den Inhalt des linken Auges anzeigen und dabei das Seitenverhältnis der Augentextur beibehalten, indem Sie sie auf 3 setzen (seit 1.51).

Es ist möglich, die HMD-Position mit der Taste F12 zurückzusetzen. Dies steht im Konflikt mit der standardmäßigen Steam-Screenshot-Taste, daher sollten Sie die Einstellung in der Benutzeroberfläche der Spieltastatur-Einrichtung ändern oder die In-Game-Screenshot-Taste verwenden, die seit 1.6 auch entsprechende Steam-Screenshots erstellt.

Das Spiel kann das Menü im 2D- oder 3D-Positionierungsmodus anzeigen. Dies wird durch die Cvar r_manual_stereo_in_menu oder die Taste F11 umgeschaltet.

Es ist möglich, die 3D-Parameter der Ebene, auf der die Benutzeroberfläche angezeigt wird, mit den CVars r_manual_stereo_ui_fov* und r_manual_stereo_ui_dist* zu konfigurieren. Es gibt zwei Parametersätze. Einer wird im Menü verwendet, um die Ansicht aller Ecken der Menü-Benutzeroberfläche zu ermöglichen, während der andere beim Fahren im Spiel verwendet wird, um eine bessere Ansicht des Beraters zu ermöglichen. Darüber hinaus ist es möglich, Position und Drehung der Benutzeroberflächenebene mit r_manual_stereo_ui_x*, r_manual_stereo_ui_y*, r_manual_stereo_ui_yaw* und r_manual_stereo_ui_pitch* zu ändern. Dadurch können Sie das Menü oder den Berater an eine andere Stelle in der 3D-Szene setzen. Im Falle der Konfiguration im Spiel negiert das Spiel automatisch die X- und Gierwerte, wenn Sie in einem LKW mit einem Lenkrad auf der rechten Seite sitzen. Bitte beachten Sie, dass die Position und Drehung derzeit die gesamte UI-Ebene beeinflussen, was bedeutet, dass sie die Position einiger hier angezeigter Dialoge (z. B. Auswahl der Lieferschwierigkeit) und der UI-Spiegel beeinflussen, falls Sie diese aus irgendeinem Grund aktiviert haben. Der statische Ladebildschirm, bei dem die Bewegungsfähigkeit eingeschränkt ist, wird immer mit einer kleineren Auflösung gerendert, die durch r_manual_stereo_ui_static_fov definiert ist, ohne jegliche Positionierungsunterstützung, um Clipping zu vermeiden.

Es ist möglich, das UI-Quad von einem rein planaren Quad in ein auf einem Zylinder abgebildetes Quad mit r_manual_stereo_ui_radius* cvars zu ändern. Wenn der Wert auf Null gesetzt ist, wird das planare Quad verwendet. Andernfalls stellt der Wert einen Radius des Zylinders dar, auf den das Quad abgebildet ist, sodass ein kleinerer Wert ein stärker gekrümmtes „Quad“ bedeutet.

Da die UI-Spiegel in den standardmäßigen UI-FOV-Einstellungen im Sichtfeld nicht sichtbar sind, ist es eine gute Idee, sie zu deaktivieren, um die Leistung zu verbessern.

Die Innenkamera verwendet eine eingeschränkte Variante der winkelabhängigen Bewegung des Kopfes aus dem normalen Spiel. Es behält nur den Fensterausblick bei und verschiebt seinen Anfang auf etwa 85 Grad. Die Bewegung kann vollständig deaktiviert werden, indem vor Spielbeginn das Profil g_hmd_no_artifical_movement cvar auf 1 gesetzt wird.

Das Spiel reduziert das Wackeln der Kabine, wenn der HDM-Modus aktiv ist. Diese Reduzierung kann deaktiviert werden, indem das Profil g_hmd_reduced_cabin_movement cvar auf 0 gesetzt wird.

Das Spiel vor 1.50 verwendet ein HMD-spezifisches Erscheinungsbild des Desktopmenüs. Derzeit wird dies nur verwendet, um das Layout des voll funktionsfähigen (mit allen freigeschalteten Widgets) Desktopmenüs zu ändern. Zukünftige Builds werden das Menü wahrscheinlich weiter optimieren und das Layout zusätzlicher Teile des Menüs verbessern. Diese Funktion kann deaktiviert werden, indem vor Spielbeginn das Profil g_hmd_no_special_menu cvar auf 1 gesetzt wird.

Der Hintergrund-Truck unter dem Menü ist in 3D gezeichnet. Dies kann deaktiviert werden, indem vor Spielbeginn das Profil g_hmd_no_3d_background cvar auf 1 gesetzt wird.

Das Spiel verwendet standardmäßig den von Ihrem HMD abgerufenen IPD-Wert. Sie können den Wert skalieren, indem Sie r_ipd_scale auf einen anderen Wert als 1 setzen.

Ab 1.45 wählt das Spiel die Größe der Textur, die zum Zeichnen von Wasserreflexionen im VR-Modus verwendet wird, basierend auf dem Sichtfeld des HMD, indem es (HMD-Sichtfeld + g_additional_water_fov) mit r_hmd_water_pixels_per_deg multipliziert.

Ab 1.46 ist es möglich, das Spiel die Position der VR-Controller im Fahrmodus anzeigen zu lassen. Bitte beachten Sie, dass dies nur eine Visualisierung ist. Sie können die Controller nicht verwenden, um in irgendeiner Weise mit dem Spiel zu interagieren. Sie können sie beispielsweise verwenden, um die Position Ihres physischen Lenkrads zu markieren. Dies wird durch r_hmd_draw_controllers aktiviert. Wenn Sie es auf 1 setzen, wird das Controllermodell angezeigt, wenn es von der VR-API unterstützt wird (nur OpenVR), und andernfalls ein kleines Kreuz an der gemeldeten Position. Wenn Sie es auf 2 setzen, wird immer das kleine Kreuz angezeigt. Wenn das Modell angezeigt wird, wirft es standardmäßig keinen Schatten. Das kann mit r_hmd_controller_shadows geändert werden.

Standardmäßig verwendet das Spiel Frame-Timing-Informationen vom HMD, um seine interne Zeit zu erhöhen. Bei Bedarf kann dies mit t_ignore_hmd_timing deaktiviert werden.

Nur Oculus API

Standardmäßig führt das Spiel das Rendering und die Frame-Buffer-Übermittlung in einem zweiten Thread durch. Dies kann mit o_oculus_threaded_submit auf Kosten einer Leistungsminderung deaktiviert werden. Das Ändern dieser Cvar erfordert einen Neustart des Spiels.

Nur OpenVR

Mit o_openvr_interleaved_reproject kann die Verwendung einer verschachtelten Reprojektion erzwungen werden. Das Ändern dieser Cvar erfordert einen Neustart des Spiels.

Mit o_openvr_post_present_handoff kann gesteuert werden, ob das Spiel die PostPresentHandoff-API aufruft.

Nur OpenXR

Standardmäßig führt das Spiel das Rendering und die Frame-Buffer-Übermittlung in einem zweiten Thread durch. Dies kann mit o_openxr_threaded_submit auf Kosten einer Leistungsminderung deaktiviert werden. Das Ändern dieser Cvar erfordert einen Neustart des Spiels.

Standardmäßig ruft das Spiel Swapbuffer-Bilder nach dem Aufruf von xrBeginFrame ab, wie in der OpenXR-Dokumentation gezeigt, um maximale Kompatibilität zu gewährleisten. Es ist möglich, die Zeitspanne zu erhöhen, um die das Rendering mit dem nächsten Frame überlappen kann, indem dem Spiel erlaubt wird, Bilder früher aufzunehmen, indem o_openxr_acquire_after_begin auf 0 gesetzt wird. Diese Einstellung ist nicht mit dem OpenXR-Toolkit kompatibel und ist möglicherweise auch mit anderen Laufzeiten oder Ebenen nicht kompatibel.

Das Spiel verwendet jetzt standardmäßig asymmetrische Sichtfelder. Wenn das VR-System Sichtfeldänderungen unterstützt, ist es immer noch möglich, die Verwendung eines symmetrischen Sichtfelds mit o_openxr_force_symmetrical_fov zu erzwingen. Das Ändern dieser Cvar erfordert einen Neustart des Spiels.

Das Spiel verwendet standardmäßig einen statisch verknüpften OpenXR-Loader. Wenn Sie aus irgendeinem Grund einen extern bereitgestellten verwenden möchten, können Sie dies mit o_openxr_external_loader aktivieren. In diesem Fall müssen Sie irgendwo in der Standardladekette eine kompatible DLL openxr_loader.dll bereitstellen. Das Ändern dieser Cvar erfordert einen Neustart des Spiels.

Standardmäßig ruft das Spiel zu Beginn des Frames xrWaitFrame im Hauptthread auf. Als Experiment ist es möglich, o_openxr_async_wait zu verwenden, um die nächste Wartezeit in einem separaten Thread zu starten, direkt nachdem das Spiel xrBeginFrame aufgerufen hat. Dies hat möglicherweise keine Wirkung oder kann zu Problemen führen. Kann im laufenden Betrieb geändert werden.

Beitrag und zuletzt bearbeitet von Komat, SCS-Software am 04. Mai 2016, 10:54 Uhr, insgesamt 28-mal bearbeitet.

Nachtrag: Weitere Aktualisierungen und Bekanntmachungen entnehmen Sie bitte dem oben verlinkten Originalbeitrag im SCS Forum aus den Kommentaren - aktuelle Spieleversion bei Entstehung dieses Übersetzungsbeitrags für ETS 2 und ATS ist die 1.53x.

Übersetzung von Angelwingking


Keine Kommentare:

Kommentar veröffentlichen

Diese Seite ist eine Fanseite für Deutschsprachige, die ETS2 & ATS haben und sich gerne Informieren möchten. Wir sind nicht von SCS, aber für SCS. Happy Trucking.
Bitte immer höflich bleiben, keine Beleidigungen oder Beschimpfungen. Fragen werden beantwortet, sobald es geht. Nehmen Sie Rücksicht auf User, die sich nicht sehr gut ausdrücken können, oder noch sehr wenig Ahnung von SCS und ihren Simulations-Spielen haben. Danke.