立项近7年,索尼产品经理分享PS VR2开发背后的故事
备受期待的索尼PS VR2终于正式发售,VR爱好者们终于有机会体验到《地平线:山之呼唤》等PS VR2独占的VR大作。近期,为了解PS VR2头显诞生背后的故事,外媒AV Watch采访到PS VR2的开发负责人Yasuo Takahashi,在本次采访中,Takahashi分享了索尼从PS VR(一代)上获得的经验,PS VR2诞生历程,以及它的目标市场。据悉,Takahashi目前担任SIE全球产品规划部门高级产品经理。

立项近7年时间
据了解,第一代PS VR是在2016年发售的,与此同时索尼已经开始构思下一代产品。也就是说,PS VR1问世没多久,PS VR2就开始立项,经过了近7年,才正式推出。

PS VR1
Takahashi表示:综合了外界对于PS VR1的反馈,我们便开始讨论如何构建次世代VR体验。对于PS VR2,我们最初的构思主要有两点,一个是为用户提供压倒性的沉浸感,另一个是使用简单且舒适。随后的设计也是基于这两点出发。
从2017年开始,PS VR2开始进入技术审查、原型开发阶段,在这个阶段,索尼确定了它的各个功能,包括4K/HDR、眼球追踪、手柄震动反馈、头显震动反馈等等。随后,便开始逐步优化这些功能。
不过,PS VR2立项到正式开发之间有一段间隔,原因是索尼希望对PS VR有进一步了解,获取外界对它的反馈。经过这些年构思和开发,PS VR2的完成度相当高,至于后续是否添加新功能,目前我还不能透露。另外,首发游戏数量对于游戏平台很重要,因此我们在很早就为开发者提供了完成度很高的PS VR2原型。
PS5级别的视觉效果
AV Watch:索尼是如何决定PS VR2视觉配置的?
Takahashi:决定视觉效果的参数有很多,首先就是分辨率。PS VR2依托于PS5,性能高、支持高分辨率,因此决定选择4K分辨率很容易。

PS VR2
高分辨率还不足以实现高质量视觉效果,因此我们加入了HDR技术。从PS4开始,索尼就尝试将HDR显示与游戏体验结合。而在PS VR2的设计上,我们也想要正确的呈现HDR效果。因此,在选择显示方案时,首先关注的就是屏幕的HDR能力。
比如,PS VR2配备了10位彩色屏幕,而PS VR1屏幕只有8位。此外,PS VR2为有机OLED方案,可显示纯黑,而且亮度的动态范围比PS VR1增加了一倍。因此,PS VR2可以渲染较为完整的光影变化,呈现一种空间画布的感觉。

AV Watch:的确,4K并不是VR最高的分辨率,也有其他VR头显超过PS VR2。但是,PS VR2在色彩表现力、动态范围、HDR性能上非常出色。就拿其首发游戏《地平线:山之呼唤》来讲,受益于HDR技术,画面中透过缝隙的光线、云层亮度、茂密的森林渲染的足够清晰,视觉效果优秀。因此可以说,广色域、HDR性能将成为PS VR2的一大卖点。
那么,除了屏幕外,PS VR2又采用了什么透镜来实现色彩鲜艳度和大视场角呢?我们知道,PS VR1采用了非球面透镜,而PS VR2改为菲涅尔透镜,而菲涅尔透镜有一个缺点,就是容易因为光的衍射特性而产生杂散光和色散。对此,索尼是如何考虑的?为什么没有使用Pancake透镜?
Takahashi:在光学设计上,PS VR2的重点是拓宽视场角。PS VR1的水平视场角为100°,而PS VR2将这一数值提升到110°。如果继续使用非球面透镜,那么视场角增大意味着透镜更厚、更重,而如果采用Pancake透镜,亮度的损失又大。于是,我们决定更好的去利用菲涅尔透镜,来实现目标的压倒性视觉效果。

PS VR1采用非球面透镜
AV Watch:PS VR2的光学并不完美,依然存在Godray等非自然光现象,当你的眼睛偏离最佳位置,或仔细观察周围环境时,可能会注意到文字的颜色不均匀。尽管如此,PS VR2的游戏体验非常好,尤其是宽视场角、HDR效果很好,达到了专业、出色的图像质量,这一点与VR一体机的策略正相反。

PS VR2采用菲涅尔透镜
眼球追踪是长远布局
AV Watch:对于VR游戏来讲,眼球追踪功能也很重要,该功能不仅用于输入和交互,还可以实现注视点渲染,优化渲染资源分配,从而提升图像质量。实际体验过该功能后,发现它相当准确。
Takahashi:人们常说,眼球追踪技术可以与VR很好的配合,但由于成本问题,该技术并没有被广泛使用。而索尼认为,眼球追踪与VR的结合潜力很大。比如,注视点渲染功能可以很好的提升渲染效率和质量,此外眼球追踪还可以带来全新的游戏体验,为玩家带来全新的次世代VR交互。
https://v.qq.com/txp/iframe/player.html?vid=o3503o5pl4p
AV Watch:加入眼球追踪模组后,VR头显的成本会上升,因此通常只在专业、高端的VR头显上应用。对于成本问题,索尼是如何考虑的?
Takahashi:的确,我们考虑过推出眼球追踪版(高端机型)和非眼球追踪版PS VR2,但最后并没有这样做,是想让眼球追踪成为VR的基本功能,并推动该功能在跨平台应用。
值得注意的是,我们看好未来3-5年眼球追踪在VR领域的应用。而另一方面,索尼的产品通常生命周期很长,因此决定在PS VR2上先加入这项技术,这样可能在产品发布几年后,人们仍然可以毫不犹豫的使用它。
从PS5开始构建PS VR2
AV Watch:似乎在PS5早期设计阶段,索尼就将对PS VR2的支持考虑在内,因此两款产品可以很好的配合。那么在开发过程中,两个团队之间如何合作?
Takahashi:PS5正面设计了接口,就是出于对连接PS VR2的考虑。实际上,PS5在早期的审查阶段就考虑了接口位置,因为这涉及SoC的配置。
而为了降低VR中的视频延迟,我们在设计PS5时,也在考虑如何降低从PS5输出图像到PS VR2上显示这个过程的延迟。眼球追踪功能也是如此,在开发早期就在PS5 GPU上运行,因此我们可以更好的计算注视点渲染,通过平滑处理来让中心区域的边界不那么明显。
总之,在PS5和PS VR2的适配设计上,我们尽可能减少多余的配置,让硬件和系统软件更好的整合,从而降低延迟。(这是PC VR很难实现的。)
外置处理盒改为内置
AV Watch:在外设和主机的优化设计方面,PS VR1和PS4也做的很好。比如,PS VR1有一个外接的处理器(盒子形态),用来连接头显和PS4,以及通过HDMI接口连接PS4和电视。尽管处理器单元的连接线设置比较复杂,但它起到了非常重要的作用。

与2D电脑屏幕相比,VR最大的区别就是眼前的图像跟随头部运动而变化,给人一种360°环绕式的视觉效果。因此,VR头显的计算单元(PC或主机)需要根据用户头部位置来更新图像,然后传输到头显屏幕中。为了降低这一过程的延迟,通常会在主机中计算一个较宽的图像,当用户头部转动时,便可以快速调整图像。
此外,VR头显可能还会在此过程中加入“插帧”(reprojection)或“时间扭曲”(timewarp)算法,让VR画面更加流畅。
PS VR1的处理器单元就是负责上述计算,这也是在PS4上能运行VR的关键(通过插帧来弥补PS4性能不足)。此外,PS VR1的“电影模式”(在VR中串流2D图像和游戏屏幕的功能),也需要通过该处理器单元来实现。
相比之下,PS VR2的设置比PS VR1简洁很多,没有外接计算单元,只需要插一根线。那么,它又是如何处理图像reprojection的呢?这些计算是在PS5中完成的吗?
Takahashi:PS VR2将处理器单元内置在头显中,取代了外接的设计。实际上,电影模式、reprojection都需要结合头部运动数据,所以这个处理器不能省略。不过在电影模式中,PS VR2头显内的处理器很难显示完整的PS5画面,刷新率最高只有120Hz,分辨率最高单眼1920x1080,且支持HDR。

尽管有人尝试在PC上连接PS VR2头显,但考虑到上述因素,PS VR2连接电脑可能很难。
VST透视暂未开放API
AV Watch:PS VR2不仅支持Inside-Out定位,还能实现VST视频透视,虽然该模式为单色,但分辨率还不错,而且扭曲问题不明显,画面足够立体,甚至可以在透视模式中行走。
Takahashi:VST透视对于VR是必不可少的,它可以让用户戴着头显就能安全的查看周围环境。在PS VR2开发初期,索尼就决定采用图像传感器和Inside-Out定位系统。在设计构思时,我们考虑了双摄像头透视、彩色或黑白摄像头等多种方案。
https://v.qq.com/txp/iframe/player.html?vid=k3503r9bxdd
与此同时,工程团队在开发Inside-Out定位系统时,也开始测试VST透视模式,因此该功能很早在分辨率、延迟、立体视觉等方面得到优化。
不过,PS VR2的VST功能目前只能在系统中运行(用来查看周围环境),还不能和VR游戏结合(未推出API),像Quest Pro那样打造混合现实内容。
不支持3D蓝光
AV Watch:在视频播放方面,PS VR2似乎不支持3D视频格式,比如Blu-Ray 3D(PS5也不支持)。但可播放YouTube等2D视频。
Takahashi:目前,PS VR2和PS5没有支持Blu-Ray 3D格式的计划。如果第三方应用愿意为PS VR2提供支持,我们是欢迎的。
AV Watch:未来,也许PS VR2应该拓展更多基于体验的应用,比如VR直播等等,这些游戏外的应用场景可能会成为PS VR2的加分项。
参考:AVWatch
相关文章:
立项近7年,索尼产品经理分享PS VR2开发背后的故事
备受期待的索尼PS VR2终于正式发售,VR爱好者们终于有机会体验到《地平线:山之呼唤》等PS VR2独占的VR大作。近期,为了解PS VR2头显诞生背后的故事,外媒AV Watch采访到PS VR2的开发负责人Yasuo Takahashi,在本次采访中&…...
Kubernetes 如何通过ingress-nginx实现应用灰度发布?
在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝…...
华为OD机试 - 密室逃生游戏(Java) | 机试题+算法思路+考点+代码解析 【2023】
密室逃生游戏 小强增在参加《密室逃生》游戏,当前关卡要求找到符合给定 密码K(升序的不重复小写字母组成) 的箱子, 并给出箱子编号,箱子编号为 1~N 。 每个箱子中都有一个 字符串s ,字符串由大写字母、小写字母、数字、标点符号、空格组成, 需要在这些字符串中找到所有…...
redis的主从复制细节
文章目录复制机制的运作复制的一些事实master持久化关闭时,复制的安全性Redis复制是如何工作的只读性质的slave设置一个slave对master进行验证允许只写入N个附加的副本Redis如何处理过期键重新启动和故障转移后的部分同步复制机制的运作 master和slave的复制运作依…...
SparkSQL
第1章 SparkSQL 概述1.1 SparkSQL 是什么Spark SQL 是 Spark 用于结构化数据(structured data)处理的 Spark 模块。1.2 Hive and SparkSQLSparkSQL 的前身是 Shark,给熟悉 RDBMS 但又不理解 MapReduce 的技术人员提供快速上手的工具。Hive 是早期唯一运行在 Hadoop …...
Python|每日一练|栈|数组|字典树|数组|树|广度优先搜索|单选记录:逆波兰表达式求值|回文对|二叉树的层序遍历
1、逆波兰表达式求值(栈,数组) 根据 逆波兰表示法(https://baike.baidu.com/item/%E9%80%86%E6%B3%A2%E5%85%B0%E5%BC%8F/128437),求表达式的值。 有效的算符包括 、-、*、/ 。每个运算对象可以是整数,也可以是另一个…...
慧教室系统--远程控制系统
随着科技的不断进步,越来越多的教育机构开始使用智慧教室系统来提升教学效果和学生体验。智慧教室系统不仅可以自动化管理设备,还可以实现远程控制,帮助教师和学生更加便捷地使用教室设备。智慧教室系统作为一款领先的智慧教育解决方案&#…...
OSCP-课外1(http万能密码、hydra密码暴力破解http、代码审计、Win缓存区溢出)
目录 难度 主机发现&端口扫描 信息收集 万能密码 hydra密码暴力破解...
ELK日志分析--Logstash
Logstash简介 Logstash安装 测试运行 配置输入和输出 使用Geoip过滤器插件增强数据编辑 配置接收 Beats 的输入 1.Logstash简介 Logstash管道具有两个必需元素input和output,以及一个可选元素filter。输入插件使用来自源的数据,过滤器插件根据你的…...
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
场景 Navicat通过存储过程批量插入mysql数据: Navicat通过存储过程批量插入mysql数据_霸道流氓气质的博客-CSDN博客 上面使用过Navicat借助存储过程批量插入数据。但是插入数据是固定的 insert语句,如果在本地开发时需要模拟插入一些随机数据(从指定…...
【基础算法】关于高精度计算的问题【很高位数数据的加减乘除(相关代码用C++实现)】
文章目录前言1.高精度加法2.高精度减法3.高精度乘法4.高精度除法写在最后前言 当我们在利用计算机进行一些计算时,可能会遇到这类问题 : 有些计算要求精度高,希望计算的数的位数可达几十位甚至几百位,虽然计算机的计算精度也算较…...
事理知识图谱
事理知识图谱能够有力第建模各类事件之间的演化关联关系为事理逻辑推理提供更好的数据基础。 事理图谱定义 事理知识图谱可以将文本中对事件以及事件之间的关系抽取并抽象出来,构建成一个有向图形式的事理知识库。在结构上,事理知识图谱是一个有向有环…...
多綫程之python爬蟲構建
目录多綫程定義簡介原理优点缺点优势代碼框架實現導包打印類爬蟲類構造方法獲取代理設置headers獲取新session獲取源代碼解析網頁解析子頁面保存數據綫程任務得到url啓動多綫程爬蟲總結多綫程 以下定義來自百度百科,看看就好沒仔細寫 定義 多线程(mul…...
【干货】Redis在Java开发中的基本使用和巧妙用法
Redis是一款高性能的内存数据结构存储系统,能够支持多种数据结构类型,如字符串、哈希、列表、集合、有序集合等,也能够支持高级功能,如事务、发布/订阅、Lua脚本等,具有高可用性、高并发性和可扩展性的优点。在Java开发…...
历时半年,我终于阿里上岸了,附面经和Java非科班学习心得
个人经历 本科双非化学,跨考了电子硕士,研究生依然双非。无互联网实习,无比赛无论文。(研究生研究方向是车辆电子和楼宇自动化,有自动化和高校实训讲师相关的实习经历) 21年11开始学Java准备秋招。 阿里上…...
ArkUI实战,自定义饼状图组件PieChart
本节笔者带领读者实现一个饼状图 PieChart 组件,该组件是根据笔者之前封装的 MiniCanvas 实现的, PieChart 的最终演示效果如下图所示: 饼状图实现的拆分 根据上图的样式效果,实现一个饼状图,实质就是绘制一个个的实…...
工作实战之系统交互api调用认证设计
目录 前言 一、黄金段位接口交互 二、钻石段位接口交互设计 1.接口文档定义 2.工具类以及demo提供 a.调用方部分代码 b.被调用方 三.星耀段位接口访问设计 1.在钻石段位的基础上,进行sdk的封装 a.maven引入 b.sdk包含工具类 四.王者段位接口访问设计 1.开发详情 2.…...
学习系统编程No.5【虚拟地址空间】
引言: 北京时间:2023/2/22,离补考期末考试还有5天,不慌,刚午觉睡醒,闹钟2点20,拖到2点50,是近以来,唯一一次有一种睡不醒的感觉,但是现在却没有精神,因为听了…...
Linux常用指令(未完待续。。。)
* basename:只留下路径的“最后一部分” X、文件夹&目录操作 复制 :cp /xxx /xxx - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合; - d 拷贝时保留链接&#…...
用D写裸机
原文 用D编写裸机RISC-V应用 这篇文章展示,如何用D编写,目标为RISC-VQEMU模拟器的程序裸机"你好".项目 为什么是D? 我最近一直在用C编写裸机代码,我有点对C缺乏特征感到沮丧.D引入了叫betterC的模式(基本上禁止了D运行时的所有语言功能).使得D裸机编程大致与C一…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
