PS5的次世代VR游戏

JASE A Product Marketing
Feb 22, 2023|10 Min
PS5的次世代VR游戏
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

Sony Interactive Entertainment 的下一代 VR 头显PlayStation® VR2 (PS VR2) 今天发布,我们很高兴与您分享您可以用来为这一创新平台构建的最新工具。本文中,我们会讨论PS VR2开发的两个主要方面:图像和输入。

PS VR2及其图像
PS VR2 的 4K 分辨率图形潜力示例

PS VR2利用了PS5强劲的运算与图形能力来打造炫目的高性能VR游戏。配合使用下文中的技术,您将有机会以60Hz、90Hz甚至120Hz运行可匹敌4k分辨率的画面。

首先,我们来了解一下渲染管线的技巧。我们推荐大部分VR开发者使用通用渲染管线(URP),该管线将最先支持PS VR2的独特功能,如注视点渲染(forveated rendering)和视线追踪。当然,您完全可以使用可编程渲染管线(SRP)、内置渲染管线和高清渲染管线(HDRP),但像注视点渲染这类独特功能目前仅在URP上可用。

总体而言,URP非常适合开发VR游戏。它灵活可定制,使用起来直白易懂。同时管线还能兼容多个平台,包括VR一体机。您可以使用 SRP 制作自己的自定义渲染管道,我们还提供了广泛的 C# API,让您可以实现游戏所需的任何渲染器。

PS5所采用的新NGGC图形API使得GPU也获得了提升。在NGGC的加持下,我们能够以前所未有的方式使用PS5上的优化技术。我们还重新设计了渲染后端的架构,使得渲染能多核运行,同时也能改进GPU的状态切换。所有这一切让渲染的CPU、GPU和内存占用更加高效,可维持相同的图像质量,不必再让开发者重新制作资产或修改代码。

注视点渲染(foveated rendering)
PS VR2 中使用的焦点渲染示例

PS VR2 将能够使用一种被称为 "foveated rendering "的技术。此项技术可以降低当前场景的GPU渲染负荷,提高VR游戏的图像清晰度。注视点渲染通过降低视线周围的图像质量来提高GPU性能。

PS VR2硬件还能利用眼动追踪来优化GPU渲染。通过将眼球注视信息映射到屏幕空间,您就能够在玩家注视的精确屏幕区域进行高质量渲染。

注视点渲染加上眼动追踪可以只在必要的位置维持高质量的图像,并且平稳地降低周围相对不重要的位置的分辨率。这表示部分渲染目标的大小可以降低, 同时在需要的位置保持图像质量。

我们已将功能整合至Unity,让您能够控制注视程度,从而根据特定需求平衡图像质量和GPU性能。

借助这个功能,PS VR2上的注视点渲染速度最多可提高2.5倍,相较于标准的立体渲染几乎没有可见的图像质量损失。如果搭配上眼动追踪,注视点渲染的速度可以快3.6倍之多。(这些测试以Unity演示为基础,仅表示理想情况下的性能收益,结果在不同的游戏里可能略有不同。)

PS VR2的注视点渲染可以极大地降低GPU占用,同时从视觉上达到相同的质量,如果搭配眼动追踪技术,性能提升会更为明显。

PS VR2的输入控制
PS VR2

除了图形性能,眼动追踪还解锁了一种新的输入方式。玩家可以使用眼神选择菜单项、与非玩家角色(NPC)互动,以及使用环境工具等等。眼动追踪甚至可以成为游戏机制的核心。

眼动追踪作为输入方式与其他XR输入设备类似。您可以使用眼睛注视的组件。它是双眼的位置和旋转的组合,可以转化为虚拟世界里的一处位置。您可以用它来识别用户当前注视着的地方。

除了基本的姿势信息,您还能检查玩家的瞳孔直径和眨眼频率等。将这些信息与姿势相结合,您就可以构思自己的游戏玩法和互动方式,让玩家深入参与到游戏中。

下方是一个简单的目视十字准星示例:

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;
}
}
}

在这个脚本中,gazeTracker对象在使用TrackedPoseDriver组件驱动着十字准星的移动,这个组件是在Unity中追踪任何XR控制器时都会用到的。 这里它只是正好绑定到Input System Action Map中设定的eyeGazePosition和eyeGazeRotation上。如果您计划采用更传统的Unity输入方式,也会有一个特定的TrackedPoseProvider来处理眼动追踪。

Sense Controller

新的Sense 控制器可供 Unity 开发人员使用,其中包括 PS VR2 上才有的有趣的独特功能。

手指触摸检测功能使用电容触摸来检测玩家的手指是否放在了按键上。这些检测适用于所有主要的按键和摇杆,可用于在游戏期间产生更为自然的手部姿势。您还可以采用更基本的方法,即驱动手模型。让玩家在看控制器时“看到”自己的手指在哪里。这确实可以帮助玩家保持专注并沉浸在游戏体验中,不必摘下头显或用手来摸索特定的按键。

PS VR2采用了由内向外(inside-out)的追踪技术,可以在头显和手柄上实现六自由度的追踪。您还可以使用绝大部分标准的Unity XR技术栈,更轻松地开发面向更广泛平台的游戏。为了设置新手柄,我们已经将输入控制接入到旧版Input Manager和新的Input System软件包。

除了眼动追踪和控制器输入之外,PS VR2的软件开发工具包(SDK)还允许对PS VR2 Sense技术的触觉反馈进行全面控制。基于音频的触觉反馈能让玩家深入参与游戏体验,另外还有传统的手柄震动。新手柄还支持DualSense手柄同款的自适应扳机(Adaptive Trigger),可基于游戏情景产生不同种类的扳机反馈。除了手柄上的触感,PS VR2还增添了头显的反馈,可为玩家提供可调整的头显震动。它可以用来提醒玩家某个事件,或者与音频结合带来更为逼真的感受。

为了让您能灵活地整合PS VR2输入和触感技术,我们做出了许多努力。通过跟踪改进与 PS VR2 标准Unity XR SDK的结合,您可以利用完整的 Unity XR 栈,包括XR 交互工具包、其他依赖 XR SDK 的资产、Unity资产商店软件包以及通过 Unity 软件包管理器提供的其他软件包。

这些功能为新形式的游戏玩法及世界构建打开了大门。

开启PS VR2开发之旅

PS VR2目前已经开售,您可以使用Unity 2021 LTS及以上版本为其开发项目。注视点渲染(forveated rendering)需要Unity 2022.2及以上版本。新设备带来了更高级的表现力与输入控制,让开发者可以制作更具代入感、更让人惊喜的体验,对VR行业有着非凡意义。

您需要激活 Unity Pro 订阅(或相关平台持有者提供的首选平台许可证密钥),才能通过开发者平台论坛访问这些特定的构建模块。在此注册,成为 PlayStation 开发人员。

欢迎在社交媒体上使用#MadewithUnity标签与我们分享您的PS VR2和PS5游戏。仍有疑问?欢迎开发者们前往PlayStation开发者页的Unity论坛与我们联系。