一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

XR应用的开发预览方法、装置、电子设备及可读存储介质与流程

2022-09-03 21:40:30 来源:中国专利 TAG:

xr应用的开发预览方法、装置、电子设备及可读存储介质
技术领域
1.本技术涉及扩展现实技术领域,具体而言,本技术涉及一种xr应用的开发预览方法、装置、电子设备及可读存储介质。


背景技术:

2.随着xr(extended reality,扩展现实,是vr(virtual reality,虚拟现实)、ar(augmented reality,增强现实、)mr(mixed reality,混合现实)等的总称)技术的快速发展,很多游戏开发者开始转向xr领域的应用开发,开发者们依然使用传统的pc(personal computer,个人计算机)端游戏编辑器等开发工具进行xr内容的开发。
3.但是pc端的开发工具在预览时只能采用键盘和鼠标进行漫游操作,而真实的xr应用在设备中体验时是通过imu(inertial measurement unit,惯性测量单元)数据和交互设备(例如手柄)进行操作的,因此采用传统编辑器开发xr应用进行预览时的体验与在实际xr设备中的体验具有极大地差异性,使得开发者们在传统编辑器中无法获得真实运行环境的同等体验。


技术实现要素:

4.本技术的目的旨在至少能解决上述的技术缺陷之一,本技术实施例所提供的技术方案如下:
5.第一方面,本技术实施例提供了一种xr应用的开发预览方法,包括:
6.获取目标xr设备的显示参数;
7.在xr应用的编辑过程中,基于显示参数获取第一xr预览结果;
8.将第一xr预览结果显示在编辑器的预览界面。
9.在本技术的一种可选实施例中,若目标xr设备为与编辑器连接的实体设备,该方法还包括:
10.将第一xr预览结果发送至目标xr设备进行投屏显示,并接收目标xr设备发送的交互信息;
11.基于交互信息和显示参数,获第二取xr预览结果。
12.在本技术的一种可选实施例中,交互信息包括对应的设备标识信息、信号类型信息以及交互值信息中的至少一项,交互信息通过目标xr设备及其配套的交互设备获取。
13.在本技术的一种可选实施例中,基于交互信息和显示参数,获取第二xr预览结果,包括:
14.对交互信息进行解析,获取对应的至少一个行为事件;
15.基于显示参数和至少一个行为事件,获取第二xr预览结果。
16.在本技术的一种可选实施例中,基于显示参数和至少一个行为事件,获取第二xr预览结果,包括:
17.基于显示参数中的左右眼参数和至少一个行为事件,获取对应的渲染图像;
18.在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第二xr预览结果。
19.在本技术的一种可选实施例中,将第二xr预览结果发送至目标xr设备进行投屏显示,包括:
20.将包含第二xr预览结果的编辑器的完整界面或编辑器的预览界面,发送至目标xr设备进行投屏显示。
21.在本技术的一种可选实施例中,获取目标xr设备的显示参数,包括:
22.从目标xr设备直接读取显示参数;或者,
23.从目标xr设备对应的预设软件开发工具包sdk中获取显示参数。
24.在本技术的一种可选实施例中,若目标xr设备为模拟设备;该方法还包括:
25.在编辑器内设置预设模拟xr设备数据库,预设模拟xr设备数据库存储有至少一个模拟xr设备的显示参数;
26.获取目标xr设备的显示参数,包括:
27.确定目标xr设备对应的模拟xr设备;
28.从预设模拟xr设备数据库,获取模拟xr设备的显示参数,得到目标xr设备的显示参数。
29.在本技术的一种可选实施例中,基于显示参数获取第一xr预览结果,包括:
30.基于显示参数中的左右眼参数,获取对应的渲染图像;
31.在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第一xr预览结果。
32.第二方面,本技术实施例提供了一种xr应用的开发预览装置,包括:
33.显示参数获取模块,用于获取目标xr设备的显示参数;
34.xr预览结果获取模块,用于在xr应用的编辑过程中,基于显示参数获取第一xr预览结果;
35.xr预览结果显示模块,用于将第一xr预览结果显示在编辑器的预览界面。
36.在本技术的一种可选实施例中,若目标xr设备为与编辑器连接的实体设备;该装置还包括投屏显示模块,用于:
37.将第一xr预览结果发送至目标xr设备进行投屏显示,并接收目标xr设备发送的交互信息;
38.基于交互信息和显示参数,获取第二xr预览结果。
39.在本技术的一种可选实施例中,交互信息包括对应的设备标识信息、信号类型信息以及交互值信息中的至少一项,交互信息通过目标xr设备及其配套的交互设备获取。
40.在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
41.对交互信息进行解析,获取对应的至少一个行为事件;
42.基于显示参数和至少一个行为事件,获取第二xr预览结果。
43.在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
44.基于显示参数中的左右眼参数和至少一个行为事件,获取对应的渲染图像;
45.在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第二xr预览结果。
46.在本技术的一种可选实施例中,投屏显示模块具体用于:
47.将包含第二xr预览结果的编辑器的完整界面或编辑器的预览界面,发送至目标xr设备进行投屏显示。
48.在本技术的一种可选实施例中,显示参数获取模块具体用于:
49.从目标xr设备直接读取显示参数;或者,
50.从目标xr设备对应的预设软件开发工具包sdk中获取显示参数。
51.在本技术的一种可选实施例中,若目标xr设备为模拟设备,该装置还包括预设模拟xr设备数据库设置模块,用于:
52.在编辑器内设置预设模拟xr设备数据库,预设模拟xr设备数据库存储有至少一个模拟xr设备的显示参数;
53.xr预览结果获取模块具体用于:
54.确定目标xr设备对应的模拟xr设备;
55.从预设模拟xr设备数据库,获取模拟xr设备的显示参数,得到目标xr设备的显示参数。
56.在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
57.基于显示参数中的左右眼参数,获取对应的渲染图像;
58.在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第一xr预览结果。
59.第三方面,本技术实施例提供了一种网络设备,包括存储器和处理器;
60.存储器中存储有计算机程序;
61.处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
62.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
63.本技术提供的技术方案带来的有益效果是:
64.在xr应用的开发过程中,基于目标xr设备的显示参数在pc端渲染对应的xr预览结果,并将该xr预览结果通过编辑器的预览界面呈现给开发者,开发者能够通过查看该xr预览结果获取与xr设备相同的效果,能够提高xr应用开发的效率。
附图说明
65.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
66.图1为本技术实施例提供的一种xr应用的开发预览方法的流程示意图;
67.图2为本技术实施例提供的一个示例中获取的第二xr预览结果;
68.图3为本技术实施例提供的一个示例中目标xr设备为实体设备情形下开发预览过程的交互示意图;
69.图4为本技术实施例提供的一个示例中目标xr设备为模拟设备情形下开发预览过程的交互示意图;
70.图5本技术实施例提供的一种xr应用的开发预览装置的结构框图;
71.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
72.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
73.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
74.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
75.图1为本技术实施例提供的一种xr应用的开发预览方法的流程示意图,该方法的执行主题可以为pc端的应用编辑器,如图1所示,该方法可以包括:
76.步骤s101,获取目标xr设备的显示参数。
77.具体地,本技术的方案主要技术手段是将xr应用开发编辑过程中的运行效果渲染成xr运行效果进行预览,即获取对应的xr预览结果显示给应用开发者。
78.其中,目标xr设备即该xr预览结果所匹配的xr设备。需要说明的是,该目标xr设备可以为与pc端编辑器连接的实体xr设备,也可以为模拟设备,后文将会对这两种不同目标xr设备带来的预览情形进行详细描述。
79.其中,目标xr设备的显示参数即与xr预览结果生成相关的参数,包括显示屏数量、分辨率、fov(视场角)、屏幕瞳距、视口范围、畸变校正系数、色散系数等。
80.步骤s102,在xr应用的编辑过程中,基于显示参数获取第一xr预览结果。
81.具体地,在xr应用的编辑过程中,基于开发者的具体编辑操作以及目标xr设备的显示参数获得的第一xr预览结果,相较于传统编辑器的预览结果,主要是将视口显示改为双视口立体显示并适应目标xr设备的畸变效果。
82.步骤s103,将第一xr预览结果显示在编辑器的预览界面。
83.具体地,将得到的第一xr预览结果显示在编辑器的预览界面,具体来说,xr应用开发者在进行编辑后,可以在预览界面中实时查看对应的第一xr预览结果。
84.本技术提供的方案,在xr应用的开发过程中,基于目标xr设备的显示参数在pc端渲染对应的xr预览结果,并将该xr预览结果通过编辑器的预览界面呈现给开发者,开发者能够通过查看该xr预览结果获取与xr设备相同的效果,能够提高xr应用开发的效率。
85.进一步地,本技术实施例中与所要生成的xr预览结果相匹配的目标xr设备可以是与编辑器连接的实体设备,也可以是模拟设备(即没有实体xr设备与编辑器连接),两种情形下都能够实现xr应用编辑过程中的xr预览,但两种情形有所差别,下文将对这两种情形
分别进行详细说明。
86.在本技术的一种可选实施例中,若目标xr设备为与编辑器连接的实体设备,该方法还可以包括:
87.将第一xr预览结果发送至目标xr设备进行投屏显示,并接收目标xr设备发送的交互信息;
88.基于交互信息和显示参数,获取第二xr预览结果。
89.具体地,若目标xr设备为与编辑器连接的实体设备,那么,在获取了第一xr预览结果后,不仅可以将该第一xr预览结果显示在编辑器的预览界面,还可以进一步将该第一xr预览结果发送至该目标xr设备进行投屏显示。同时,在投屏显示过程中,开发者可以通过目标xr设备进行查看,并通过目标xr设备以及其配套的交互设备(例如手柄等)进行操作。具体地,可通过目标xr设备上的imu和按键进行操作,可通过交互设备上的imu、按键等进行操作。交互设备上的操作信息可以通过有线或者无线的方式传送到目标xr设备,目标xr设备对开发者查看或者操作产生的交互信息进行采集,并将这些交互信息发送至编辑器,编辑器进一步根据交互信息实时生成对应的第二xr预览结果。可以理解的是,在此情形下,在生成xr预览结果过程中引入了目标xr设备发送的交互信息。
90.需要说明的是,本技术实施例中的编辑器在传统编辑器的基础上增加交互信号接收模块、数据处理模块、设备参数管理模块、xr预览模块、投屏通讯模块等。目标xr设备端实现信号传输模块,pc端编辑器通过type c/wifi/蓝牙等任一种协议与目标xr设备建立连接,实现双向数据通讯(投屏和信号接收)。
91.在本技术的一种可选实施例中,交互信息可以包括对应的设备标识信息、信号类型信息以及交互值信息中的至少一项,交互信息通过目标xr设备及其配套的交互设备获取。
92.具体地,交互信息由交互信号承载,交互信号可包括目标xr设备,例如hmd(head mount display,头戴式显示器)位姿信号、左右手柄位姿信号、游戏面板输入信号等不同交互设备的信号数据,可以采用四元数、变换矩阵、欧拉角、位移(x,y,z)等格式的数据进行传递。
93.具体来说,位姿数据传输协议可以制定为以下数据串形式:[设备标识(hmd,hl,hr)][信号类型(pose)][旋转角(yaw,pitch,roll)][位移(x,y,z)]。其中,旋转角和位移为交互值信息。
[0094]
当编辑器通过交互信号接收模块接收到该位姿数据数据串后,再通过数据处理模块解析信号为来源于某个交互设备(hmd、手柄)的绕坐标轴三个方向的旋转角度和沿三个方向的平移距离,然后分别调用hmd的旋转处理接口、hmd的平移处理接口、手柄的旋转处理接口以及手柄的平移处理接口,等。
[0095]
按键信号传输协议可以制定为为以下数据串形式:[设备标识(hmd,eyel,eyer,hl,hr,gamepad等)][信号类型(key)][keycode][keyvalue]。
[0096]
当编辑器通过交互信号接收模块接收到该按键信号数据串后,再通过数据处理模块解析信号为按键动作,按压了某个交互设备的编号为keycode的按键,按键值为keyvalue(力度、时长等值,依设备定义),利用这些参数调用对应的按键处理接口。其中,[keycode][keyvalue]为交互值信息。
[0097]
在本技术的一种可选实施例中,基于交互信息和显示参数,获取第二xr预览结果,包括:
[0098]
对交互信息进行解析,获取对应的至少一个行为事件;
[0099]
基于显示参数和至少一个行为事件,获取第二xr预览结果。
[0100]
具体地,编辑器根据获取到的交互信息获取对应的至少一个行为事件,然后再将这些行为事件加入xr预览结果的渲染流程,从而获取对应的第二xr预览结果。
[0101]
具体地,编辑器的数据处理模块包括旋转数据处理、位移数据处理、按键信号处理等,在对信号经过数据处理之后可以转换为一定的行为事件,不同的事件则会对场景产生不同的影响。例如hmd一般绑定为玩家漫游操作,因此在旋转数据处理接口将欧拉角转换为旋转矩阵,作用于编辑器中虚拟摄像机的旋转分量,实现在场景中的转头行为。同理,手柄旋转数据处理后转换为对某个选中对象的旋转操作,按键信号可以处理成抓取动作或者射击动作,等等。
[0102]
各数据的处理逻辑根据所编辑的xr应用策略来决定,预览界面对应的xr预览模块和游戏运行时的操作逻辑一致,该部分的理念跟普通应用开发是的预览理念是相同的,所不同的在于交互设备的多样性带来的数据类型多样化和事件类型的多样化,比如有的手柄具有按键握力大小的数据,则可以实现是否能抓取某个物体对象的判断。因此,该模块会针对交互信号增加一些xr应用的事件接口。
[0103]
在本技术的一种可选实施例中,基于显示参数和至少一个行为事件,获取第二xr预览结果,包括:
[0104]
基于显示参数中的左右眼参数和至少一个行为事件,获取对应的渲染图像;
[0105]
在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第二xr预览结果。
[0106]
具体地,目标xr设备的显示参数中的左右眼参数包括但不限于显示屏数量、分辨率、fov(视场角)、屏幕瞳距、视口范围。获取了交互信息对应的行为事件之后,行为事件将作用于编辑器中预览界面对应的渲染流程,该渲染流程是针对xr模式改进过的xr预览模块,实时渲染出xr运行效果,具体表现为双目显示,并实现畸变和色散校正效果。
[0107]
具体来说,现有技术中pc端的编辑器在预览时只以传统平面显示器的单目摄像机视角来查看内容效果,无法实现xr设备的双目3d显示,与最终内容在运行时的显示状况存在以下差异:
[0108]
一是显示区域比例不同,传统编辑器的预览界面上一个16:9的2d屏幕比例,而xr设备尤其是vr设备的比例通常是模拟双眼可视范围的1:1近圆形显示,这就会导致两种画面的显示范围不同,通常是预览界面两侧合起来7/16区域的内容在xr设备里不可见,使得开发者对需要在可视区域内展示的内容失去控制而导致作品体验不佳,甚至无法实现某些操作。
[0109]
二是透过显示界面看到的虚拟场景中物体的角度存在差异,由于xr设备模拟的人眼左右眼看到物体尤其是距离较近的物体,角度存在显著差异,通过大脑融合后形成对物体的3d感觉,而透过单个平面预览窗口只能是以双眼连线正中的位置来看待物品,不存在双目视差,对于物体侧面的遮挡关系的判断也存在盲区,双目视角能看到的部分物体侧面信息是单目视角不可见的,造成开发者对场景内元素设置的适合度的把控存在偏差,影响
作品品质。
[0110]
针对上述问题,本技术实施例提供xr预览模块,相较于传统编辑器的常规预览,将单视口显示改为双视口立体显示并适应连接的目标xr设备的畸变效果。因此,xr预览模块需要集成目标xr设备的sdk(software development kit,软件开发工具包),采用和目标xr设备runtime相同的渲染流程。可以几乎100%的还原目标xr设备里的影像,所见即所得,大幅提升创作的直观性,避免视觉效果和区域不同带来的潜在错误。由于openxr兼容多数主流xr设备,本技术实施例可以采用openxr标准来集成各xr设备pc平台上的runtime,在xr预览模块渲染流程中使用openxr创建的左右两个swapchain来实现双目显示。
[0111]
对于没有pc平台runtime的xr设备或者仅具备投屏功能的xr设备,本技术实施例的编辑器的xr预览模块提供可定制双目渲染流程,即通过创建两个摄像机来绘制不同偏移的图像,摄像机的参数分别设置当前连接目标xr设备的左右眼参数,并在片元着色阶段采用连接目标xr设备的畸变校正系数和色散系数对渲染图像进行校正,确保设备投屏后看到的画面没有变形和色散。
[0112]
可以理解的是,对于有pc平台runtime的目标xr设备和没有pc平台runtime的目标xr设备,其对应的显示参数的获取途径存在区别,具体来说:对于有pc平台runtime的目标xr设备,直接从该目标xr设备对应的sdk中获取所述显示参数。而对于没有pc平台runtime的目标xr设备,则直接从目标xr设备读取或者从编辑器内置模拟配置文件(即后文所说的预设模拟xr设备数据库存储的至少一个模拟xr设备的显示参数)读取显示参数。
[0113]
图2为本技术实施例提供的经上述处理得到的第二xr预览结果的示例,可以看出其采样双目显示,并实现畸变和色散校正效果。
[0114]
经过改进的xr预览模块内置了双目渲染能力,安装完编辑器就可以使用。与其他编辑器安装后还需要另外配置xr设备的开发环境相比具有更好的易用性。
[0115]
在本技术的一种可选实施例中,将第二xr预览结果发送至目标xr设备进行投屏显示,包括:
[0116]
将包含第二xr预览结果的编辑器的完整界面或编辑器的预览界面,发送至目标xr设备进行投屏显示。
[0117]
具体地,编辑器通过投屏通讯模块将包含第二xr预览结果的编辑器的完整界面或编辑器的预览界面,发送至目标xr设备进行投屏显示。
[0118]
具体来说,投屏类型包括将预览界面内的画面单独投屏(或称单独投屏),以及编辑器完整界面的投屏(或称完整投屏)。在投屏通讯模块内可设置选择模块,选择单独投屏或者完整投屏,选择的依据是根据开发的需要,如果只是进行xr设备的内容投屏调试,则可以选择单独投屏,如果还希望能在xr设备上对内容进行一些修改,则可以选择完整投屏。
[0119]
预览界面内部画面单独投屏时则体验开发过程中的显示状态,由于该方案是直接将pc端编辑器的预览界面的画面投屏到xr设备,因此并不需要打包安装的过程,可以节省很多开发调试时间。此时该模块通过pbo在引擎的渲染流程获取预览界面的画面,通过串流投屏到xr设备。
[0120]
完整投屏时则可以在xr设备显示器上看到编辑器的操作界面,从而可以通过xr设备进行正常的开发工作。此时,完整界面一般充满整个屏幕,该模块可以调用系统桌面投屏功能实现编辑器的投屏。
[0121]
综上所述,对于目标xr设备为实体设备的情形,引入了目标xr设备采集的交互信息来获取对应的xr预览结果,该开发预览过程如图3所示,可以包括以下几个步骤:
[0122]
(1)pc上的编辑器与目标xr设备建立连接,并将编辑器画面投屏到目标xr设备的显示屏上;
[0123]
(2)目标xr设备在显示过程中采集开通过目标xr设备以及其配套的交互设备产生的交互信号(即交互信息);
[0124]
(3)将采集到的交互信号发送至编辑器端;
[0125]
(4)编辑器对接收到的交互信号进行解析分发和数据处理,得到第二xr预览结果,并将第二xr预览结果在编辑器的预览界面上显示;
[0126]
(5)将第二xr预览结果发送至目标xr设备进行投屏显示。
[0127]
本技术实施例提供的该方案,一方面,在编辑器端实现xr预览效果投屏到xr设备端,有效利用了开发平台的计算能力,将实时预览画面投射到设备端,xr设备端只作为扩展屏来使用,同时避免了频繁打包安装的过程,大大提高了开发测试效率;另一方面,在编辑器端利用xr设备的交互信息对场景进行控制,通过xr设备的交互数据弥补了传统编辑器只能采用鼠标和键盘来操作的弊端,能够获得真实xr运行环境的同等体验。
[0128]
在本技术的一种可选实施例中,若目标xr设备为模拟设备;方法还包括:
[0129]
在编辑器内设置预设模拟xr设备数据库,预设模拟xr设备数据库存储有至少一个模拟xr设备的显示参数;
[0130]
获取目标xr设备的显示参数,包括:
[0131]
确定目标xr设备对应的模拟xr设备;
[0132]
从预设模拟xr设备数据库,获取模拟xr设备的显示参数,得到目标xr设备的显示参数。
[0133]
进一步地,基于显示参数获取第一xr预览结果,包括:
[0134]
基于显示参数中的左右眼参数,获取对应的渲染图像;
[0135]
在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第一xr预览结果。
[0136]
具体地,设备参数管理模块预先存储需要模拟的xr设备的显示参数,即在编辑器内设置预设模拟xr设备数据库。当编辑器没有连接实际xr设备时,可以选择一种xr设备作为模拟对象,在预览界面渲染时采用该xr设备的显示参数进行显示。显示参数包括:显示屏数量、分辨率、fov、屏幕瞳距、视口范围、畸变校正系数、色散系数等。左右眼参数包括:显示屏数量、分辨率、fov、屏幕瞳距、视口范围。
[0137]
具体来说,在没有连接实际设备时,选定了所需模拟的xr设备后,获取其对应的显示参数,并采用前文描述的针对没有pc平台runtime的目标xr设备的可定制双目渲染流程,同时利用目标xr设备的显示参数进行空间变换和投影,可以在编辑器中显示和目标xr设备内一致的画面,能很好的界定和区分实际内容运行时的显示区域和遮挡效果而不必把内容构建到实际的xr设备上去运行,可以大大提升内容验证的效率,且降低内容生产的门槛(不需要制作团队每个开发者都配备xr设备),从而整体上降低了xr应用的开发成本。
[0138]
综上所述,对于目标xr设备为模拟设备的情形,没有引入了目标xr设备采集的交互信息来获取对应的xr预览结果,该开发预览过程如图4所示,可以包括以下几个步骤:
[0139]
(1)确定要模拟的目标xr设备;
[0140]
(2)从预设设模拟xr设备数据库获取目标xr设备显示参数;
[0141]
(3)基于该显示参数中的左右眼参数提交双目swapchain;
[0142]
(4)基于该显示参数中的畸变校正系数和色散系数在片元着色阶段进行图像校正。
[0143]
本技术实施例提供的该方案,在不连接xr设备时,可以设置和xr设备完全一致的显示参数进行模拟xr预览,实现在pc端检查设备内的显示效果,如:显示范围和遮挡关系等,方便没有设备的开发者进行模拟开发。
[0144]
图5本技术实施例提供的一种xr应用的开发预览装置的结构框图,如图5所示,该装置500可以包括:显示参数获取模块501、xr预览结果获取模块502以及xr预览结果显示模块503,其中:
[0145]
显示参数获取模块501用于获取目标xr设备的显示参数;
[0146]
xr预览结果获取模块502用于在xr应用的编辑过程中,基于显示参数获取第一xr预览结果;
[0147]
xr预览结果显示模块503用于将第一xr预览结果显示在编辑器的预览界面。
[0148]
本技术提供的方案,在xr应用的开发过程中,基于目标xr设备的显示参数在pc端渲染对应的xr预览结果,并将该xr预览结果通过编辑器的预览界面呈现给开发者,开发者能够通过查看该xr预览结果获取与xr设备相同的效果,能够提高xr应用开发的效率。
[0149]
在本技术的一种可选实施例中,若目标xr设备为与编辑器连接的实体设备;该装置还包括投屏显示模块,用于:
[0150]
将第一xr预览结果发送至目标xr设备进行投屏显示,并接收目标xr设备发送的交互信息;
[0151]
基于交互信息和显示参数,获取第二xr预览结果。
[0152]
在本技术的一种可选实施例中,交互信息包括对应的设备标识信息、信号类型信息以及交互值信息中的至少一项,交互信息通过目标xr设备及其配套的交互设备获取。
[0153]
在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
[0154]
对交互信息进行解析,获取对应的至少一个行为事件;
[0155]
基于显示参数和至少一个行为事件,获取第二xr预览结果。
[0156]
在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
[0157]
基于显示参数中的左右眼参数和至少一个行为事件,获取对应的渲染图像;
[0158]
在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第二xr预览结果。
[0159]
在本技术的一种可选实施例中,投屏显示模块具体用于:
[0160]
将包含第二xr预览结果的编辑器的完整界面或编辑器的预览界面,发送至目标xr设备进行投屏显示。
[0161]
在本技术的一种可选实施例中,显示参数获取模块具体用于:
[0162]
从目标xr设备直接读取显示参数;或者,
[0163]
从目标xr设备对应的预设软件开发工具包sdk中获取显示参数。
[0164]
在本技术的一种可选实施例中,若目标xr设备为模拟设备,该装置还包括预设模
拟xr设备数据库设置模块,用于:
[0165]
在编辑器内设置预设模拟xr设备数据库,预设模拟xr设备数据库存储有至少一个模拟xr设备的显示参数;
[0166]
xr预览结果获取模块具体用于:
[0167]
确定目标xr设备对应的模拟xr设备;
[0168]
从预设模拟xr设备数据库,获取模拟xr设备的显示参数,得到目标xr设备的显示参数。
[0169]
在本技术的一种可选实施例中,xr预览结果获取模块进一步用于:
[0170]
基于显示参数中的左右眼参数,获取对应的渲染图像;
[0171]
在片元着色阶段,基于显示参数中的畸变校正系数和色散系数对渲染图像进行校正,得到第一xr预览结果。
[0172]
下面参考图6,其示出了适于用来实现本技术实施例的电子设备(例如执行图1所示方法的终端设备或服务器)600的结构示意图。本技术实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0173]
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置601,存储器可以包括下文中的只读存储器(rom)602、随机访问存储器(ram)603以及存储装置608中的至少一项,具体如下所示:
[0174]
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0175]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0176]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本技术实施例的方法中限定的上述功能。
[0177]
需要说明的是,本技术上述的计算机可读存储介质可以是计算机可读信号介质或
者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0178]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0179]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0180]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0181]
获取目标xr设备的显示参数;在xr应用的编辑过程中,基于显示参数获取第一xr预览结果;将第一xr预览结果显示在编辑器的预览界面。
[0182]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0183]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0184]
描述于本技术实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一位置信息获取模块还可以被描述为“获取第一位置信息的模块”。
[0185]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0186]
在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0187]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0188]
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献