Die nächste Generation des VR -Gamings auf PS5

Das VR Headset der nächsten Generation von Sony Interactive Entertainment, das PlayStation VR2 (PS VR2), kommt heute auf den Markt und wir freuen uns, Ihnen die neuesten Tools vorzustellen, die Sie zum Bauen für diese innovative Plattform verwenden können. In diesem Beitrag behandeln wir zwei Aspekte der Entwicklung für PS VR2: Grafik und Eingaben.

PS VR2 nutzt die Rechen- und Grafikleistung der nächsten Generation der PS5, um Ihnen bei der Erstellung atemberaubender, leistungsstarker VR Spiele zu helfen. Sie können eine 4K-Auflösung anstreben und Titel mit 60 Hz, 90 Hz oder 120 Hz ausführen, was mit der PS5 mithilfe einiger der unten beschriebenen Techniken erreichbar sein sollte.
Beginnen wir zunächst mit Render-Pipelines. Wir empfehlen den meisten VR -Entwicklern die Universal Render Pipeline (URP), da URP unsere erste Render-Pipeline sein wird, die einige der einzigartigen Funktionen von PS VR2 unterstützt, wie etwa foveales Rendering und Blickverfolgung. Sie können auch die Scriptable Render Pipeline (SRP), die Built-in Render Pipeline und die High Definition Render Pipeline (HDRP) verwenden. Beachten Sie jedoch, dass einige Funktionen, wie z. B. Foveated Rendering, derzeit nur auf URP verfügbar sind.
Insgesamt ist URP eine großartige Ergänzung für VR -Spiele. Es ist flexibel, einfach zu verwenden und anpassbar. Es funktioniert auch gut, wenn Sie für mehrere Plattformen bauen, einschließlich All-in-One VR Geräte. Sie können mit SRP Ihre eigene benutzerdefinierte Render-Pipeline erstellen und wir bieten eine umfassende C# API , mit der Sie jeden für Ihre Spiele erforderlichen Renderer implementieren können.
Auch auf der GPU-Seite bietet die PS5 durch ihre neue NGGC Graphics API Fortschritte. Mit NGGC haben wir die auf der PS5 verfügbaren Optimierungstechnologien auf eine Weise genutzt, die bisher nicht verfügbar war. Wir haben außerdem die Struktur unseres Rendering-Backends überarbeitet, um eine effiziente Nutzung über mehrere Kerne hinweg zu ermöglichen und gleichzeitig die Zustandsübergänge des GPU zu verbessern. Dies führt zu einem effizienteren Rendering im Hinblick auf die CPU-, GPU- und Speichernutzung bei gleichbleibenden visuellen Ergebnissen, ohne dass Assets oder Spielcode neu erstellt werden müssen.

PS VR2 wird eine Technik namens Foveated Renderingnutzen können. Mithilfe dieser Technik können Sie VR -Spiele mit besserer Bildtreue erstellen, indem Sie den für eine bestimmte Szene erforderlichen GPU-Rendering-Arbeitsaufwand verringern. Foveated Rendering wird verwendet, um die GPU-Leistung durch Reduzierung der Bildqualität im peripheren Sehen zu verbessern.
Die Hardware von PS VR2 kann noch einen Schritt weiter gehen, indem sie Eye Tracking zur Optimierung des GPU-Renderings nutzt. Indem Sie die Blickinformationen auf den Bildschirm projizieren, können Sie in hoher Qualität genau in dem Bildschirmbereich rendern, in den der Spieler blickt.
Ziel des Foveat-Renderings und der Augenverfolgung ist es, die Bildqualität in den als wichtig erachteten Bildteilen hoch zu halten und gleichzeitig in den als weniger wichtig erachteten Bildbereichen sanft in eine niedrigere Auflösung überzugehen. Dies bedeutet, dass Sie die Größe einiger Renderziele reduzieren können, während die Qualität weiterhin die gewünschte Qualität behält.
Wir haben die gesamte Komplexität der Einrichtung in Unity entfernt und geben Ihnen genügend Kontrolle über den Grad der Foveation, um Bildqualität und GPU-Leistung entsprechend Ihren spezifischen Anforderungen in Einklang bringen zu können.
Mit dieser Funktion kann das foveale Rendering auf PS VR2 bis zu 2,5-mal schneller sein, ohne dass es zu Wahrnehmungsverlusten im Vergleich zur gleichwertigen Bildqualität durch Standard-Stereo-Rendering kommt. Wir haben außerdem bis zu 3,6-mal schnellere Fortschritte festgestellt, wenn foveales Rendering mit Eye-Tracking kombiniert wird. (Beachten Sie, dass diese Tests ideale Leistungssteigerungen darstellen, die anhand einer Unity Demo getestet wurden, und dass die Zahlen je nach Spiel variieren können.)
Foveated Rendering auf PS VR2 kann bei gleichbleibender Wahrnehmungsqualität zu einer massiven Reduzierung der GPU-Nutzung führen – und in Kombination mit der Eye-Tracking-Technologie sind die Leistungssteigerungen sogar noch besser.

Abgesehen von der Grafikleistung ermöglicht Eye Tracking auch eine neue Eingabemethode. Mithilfe der Blickverfolgung können Sie Benutzern die Auswahl von Elementen aus Menüs, das Starten von Interaktionen mit NPCs, die Verwendung von In-World-Tools und vieles mehr ermöglichen. Eye Tracking könnte sogar ein zentraler Punkt der Spielmechanik sein.
Die Nutzung der Augenverfolgung funktioniert ähnlich wie bei anderen XR Eingabegeräten. Sie haben Zugriff auf die Komponenten für den Blickverlauf. Dabei handelt es sich um eine Kombination aus Position und Rotation beider Augen, die einen Ort in der virtuellen Welt definiert. Hierdurch lässt sich erkennen, wohin der Nutzer gerade blickt.
Zusätzlich zu den grundlegenden Poseninformationen haben Sie auch Zugriff auf den Pupillendurchmesser und den Blinzelzustand beider Augen des Spielers. Indem Sie diese mit der Pose kombinieren, können Sie beginnen, Ihre eigenen Ideen rund um das Gameplay und die Interaktion zu entwickeln, um die Spieler stärker einzubinden.
Hier ist ein Beispiel für ein einfaches Fadenkreuz auf Blickbasis:
public class GazeReticle : MonoBehaviour
{
Vector3 m_GazePosition;
Vector3 m_GazeForward;
Quaternion m_GazeRotation;
// In this script, gazeTracker is driven by a TrackedPoseDriver component wired up to the Position/Rotation
// of the eyeGazePosition and eyeGazeRotation from PSVR2 headset in the Input System Actions.
public GameObject gazeTracker;
void Update()
{
RaycastHit hitInfo;
m_GazePosition = gazeTracker.transform.position;
m_GazeRotation = gazeTracker.transform.rotation;
m_GazeForward = m_GazeRotation * Vector3.forward;
if (Physics.Raycast(m_GazePosition, m_GazeForward, out hitInfo, 10.0f))
{
transform.position = hitInfo.point;
}
}
}Sie sehen in diesem Skript ein Blickverfolgungsobjekt, das die Bewegung des Fadenkreuzes steuert. Dabei wird derselbe TrackedPoseDriver verwendet, den wir auch zum Verfolgen jedes anderen XR Controllers in Unity verwenden würden. Dieses ist zufällig an die eyeGazePosition und eyeGazeRotation gebunden, die in unserer Input System Action Map eingerichtet sind. Es gibt auch einen TrackedPoseProvider, der speziell für die Augenverfolgung entwickelt wurde, wenn Sie die traditionelleren Unity Eingabemethoden verwenden möchten.
Die neuen Sense-Controller sind für Unity -Entwickler verfügbar und enthalten interessante einzigartige Funktionen, die nur auf PS VR2 zu finden sind.
Die Fingerberührungserkennung nutzt kapazitive Berührung, um zu erkennen, wenn die Finger eines Spielers auf den Tasten ruhen, ohne sie tatsächlich zu drücken. Diese Steuerelemente sind auf allen Haupttasten und Daumensticks verfügbar, sodass Sie sie verwenden können, um während des Spiels natürlichere Gesten mit den Händen der Spieler auszuführen. Sie könnten in einem einfacheren Ansatz auch ein Handmodell ansteuern, damit die Spieler „sehen“ können, wo sich ihre Finger befinden, wenn sie auf den Controller schauen. Dies kann den Spielern wirklich dabei helfen, konzentriert zu bleiben und in das Erlebnis einzutauchen, ohne das Headset hochheben oder nach einer bestimmten Taste tasten zu müssen.
PS VR2 verwendet für das neue System eine Inside-Out-Tracking-Technologie, die Ihnen ein Tracking mit sechs Freiheitsgraden sowohl für das Headset als auch für die Controller bietet. Sie können jetzt den größten Teil (wenn nicht sogar den gesamten) des Standard- Unity XR -Stacks verwenden, was die Entwicklung Ihrer Spiele für eine breitere Plattformreichweite erleichtert. Um die Controller selbst einzurichten, haben wir diese Eingabesteuerelemente sowohl über den herkömmlichen Unity Input Manager als auch über das neuere Input System Paket verfügbar gemacht.
Zusätzlich zur Augenverfolgung und Controller-Eingabe ermöglicht das SDK von PS VR2 auch die vollständige Kontrolle über die Haptik der PS VR2 Sense-Technologie. Hierzu gehören audiobasiertes haptisches Feedback, um den Spielern ein intensiveres Erlebnis zu bieten, sowie eine traditionellere Vibrationsunterstützung. Die neuen Controller verfügen außerdem über dieselben adaptiven Trigger, die auch für die PS5 DualSense-Controller verfügbar sind. Das bedeutet, dass Sie die Trigger je nach Spielkontext mit unterschiedlichen Feedback-Stilen programmieren können. Zusätzlich zur Controller-basierten Haptik verfügt PS VR2 über Headset-Feedback, mit dem Sie den Spielern eine einstellbare Vibration im Headset geben können. Dies könnte verwendet werden, um Spieler auf ein Ereignis aufmerksam zu machen, oder mit Audio kombiniert werden, um Erlebnissen ein realistischeres Gefühl zu verleihen.
Wir haben hart daran gearbeitet, Ihnen Flexibilität bei der Integration von PS VR2-Eingabe und Haptik in Ihre Spiele zu bieten. Mit einer Kombination aus Tracking-Verbesserungen und einem standardmäßigen Unity XR SDK für PS VR2 können Sie den vollständigen Unity XR Stack nutzen, darunter Dinge wie das XR Interaction Toolkit, andere XR SDK-abhängige Assets, Unity Asset Store- Pakete und andere Pakete, die über den Unity Package Manager verfügbar sind.
Diese Funktionen ermöglichen es Ihnen, neue Formen des Gameplays und des Worldbuildings zu erkunden.
PS VR2 ist ab heute verfügbar und Sie können mit Unity 2021 LTS und höher dafür bauen. Foveated Rendering erfordert Unity 2022.2 und höher. Wir sind gespannt, was dieses Headset für die VR Branche bedeutet, da es ein neues Leistungs- und Eingabesteuerungsniveau erschließt, mit dem Sie noch intensivere und aufregendere Erlebnisse schaffen können.
Sie benötigen ein aktives Unity Pro Abonnement (oder einen Preferred Platform-Lizenzschlüssel des jeweiligen Plattforminhabers), um über die Foren der Entwicklerplattform auf diese spezifischen Build-Module zuzugreifen. Registrieren Sie sich hier, um PlayStation Entwickler zu werden.
Teilen Sie Ihre PS VR2- und PS5-Spiele mit uns unter Verwendung des Hashtags #MadewithUnity in den sozialen Medien. Habe Fragen? Registrierte PlayStation Entwickler können im Unity -Forum auf der PlayStation -Entwicklerseite Kontakt mit uns aufnehmen.
