CN115576416A - 一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 - Google Patents
一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 Download PDFInfo
- Publication number
- CN115576416A CN115576416A CN202211169917.5A CN202211169917A CN115576416A CN 115576416 A CN115576416 A CN 115576416A CN 202211169917 A CN202211169917 A CN 202211169917A CN 115576416 A CN115576416 A CN 115576416A
- Authority
- CN
- China
- Prior art keywords
- virtual
- application
- client
- server
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/015—Force feedback applied to a joystick
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种应用于云VR应用场景下的虚拟VR设备管理方法及其系统,其中应用于云VR应用场景下的虚拟VR设备管理方法具体包括以下子步骤:服务端接收客户端发送来的启动VR请求;服务器启动VR应用对应的虚拟VR设备;服务器设置虚拟VR驱动的渲染画面的分辨率和帧率;服务端中的虚拟VR设备将渲染画面发送给客户端;服务端接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用;服务端向客户端发送VR应用的手柄震动反馈数据。本申请在不影响服务端VR应用的基础上,可以虚拟出VR设备让应用识别,并且当客户端发送相应数据时,对应的数据可作为正确的输入数据使用,达到云化的目的。
Description
技术领域
本申请涉及数据通信领域,具体地,涉及一种应用于云VR应用场景下的虚拟VR设备管理方法及其系统。
背景技术
随着计算机技术的快速发展,虚拟现实技术也逐渐完善成熟,与虚拟现实技术相关的电子产品越来越多进入人们的日常生产和生活中。虚拟现实技术 (英文名称:VirtualReality,缩写为VR),又称灵境技术,是20世纪发展起来的一项全新的实用技术。。伴随该技术的出现,电子游戏领域也逐渐开始运用虚拟现实技术增强游戏的体验,不仅能够趣味十足的起到运动锻炼的效果,也能够让用户感受到全新的游戏体验,因此虚拟VR以及受到越来越多用户的喜爱,但是在虚拟VR应用时也存在一个问题,就是如果没有VR设备,则想用的VR 应用软件就无法打开,这造成了很多用户的困扰。
因此,如何提供一种虚拟VR设备管理方法,能够在没有VR设备的情况下,也能打开VR应用软件是本领域技术人员急需解决的问题。
发明内容
本申请提供了一种应用于云VR应用场景下的虚拟VR设备管理方法,具体包括以下子步骤:服务端接收客户端发送来的启动VR请求;服务端根据启动VR请求,服务器启动VR应用对应的虚拟VR设备;响应于启动虚拟VR设备,服务器设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效;响应于VR应用完成渲染画面,服务端中的虚拟VR设备将渲染画面发送给客户端,客户端接收VR应用画面;服务端接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用;服务端向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
如上的,其中,启动VR请求包括,设置VR应用需要达到的分辨率和帧率。
如上的,其中,客户端是VR设备、手机、PC移动端中的一种。
如上的,其中,服务器启动VR应用对应的虚拟VR设备包括,通过指定数据接口将手柄、头显数据发送给虚拟VR设备的驱动,实现虚拟VR设备带有头显和手柄。
如上的,其中,指定接口为OpenVR的API接口。
如上的,其中,OpenVR的API以C++接口类方式呈现的,并且为纯虚函数,函数包括TrackedDevicePoseUpdated函数、Present函数、 GetWindowBounds函数。
如上的,其中,根据启动VR请求中设置的分辨率创建图像纹理,根据创建的图像纹理拷贝渲染到头显的画面的游戏纹理,实现VR应用输出的图像数据的分辨率与客户端设置的分辨率保持一致。
如上的,其中,根据启动VR请求中设置的帧率,虚拟VR驱动创建线程来计算渲染的时间,根据该时间完成渲染画面帧率的设置。
一种应用于云VR应用场景下的虚拟VR设备管理系统,其特征在于,包括服务端和客户端,服务端和客户端进行数据交互完成上述任一项方法。
如上的,其中,服务端包括,第一接收单元、启动单元、设置单元、第一发送单元、第二接收单元以及第二发送单元;第一接收单元,用于接收客户端发送来的启动VR请求;启动单元,用于根据启动VR请求,启动VR 应用对应的虚拟VR设备;设置单元,用于设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效;发送单元,用于将渲染画面发送给客户端,客户端接收VR应用画面;第二接收单元,用于接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用;第二发送单元,用于向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
本申请具有以下有益效果:
本申请通过客户端和服务端之间的数据交互,在不影响服务端VR应用的基础上,可以虚拟出VR设备让应用识别,并且当客户端发送相应数据时,对应的数据可作为正确的输入数据使用,达到云化的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的应用于云VR应用场景下的虚拟VR设备管理方法的流程图;
图2是根据本申请实施例提供的应用于云VR应用场景下的虚拟VR设备管理系统的结构示意图;
图3是根据本申请实施例提供的应用于云VR应用场景下的虚拟VR设备管理系统的服务端结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
如图1所示,是本申请提供的一种应用于云VR应用场景下的虚拟VR 设备管理方法,该方法是云VR应用的重要一环,通过编写驱动程序,让VR 应用场景下,认为服务端存在一个VR设备。
具体地,其中本实施例基于OpenVR提供的驱动层接口来实现设备驱动功能,以虚拟驱动的形式存在,从而让VR应用场景下认为服务端存在一个 VR设备。
具体包括以下步骤:
步骤S110:服务端接收客户端发送来的启动VR请求。
客户端发送的启动VR请求中包括,预先设置的需要VR应用达到的分辨率和帧率。
其中客户端例如是VR设备、PC、手机等移动端。
步骤S120:服务端根据启动VR请求,服务器启动VR应用对应的虚拟 VR设备。
具体地,其中在服务端,实现OpenVR驱动层的 ITrackedDeviceServerDriver类的Activate函数来实现虚拟VR设备带有头显和手柄。
其中OpenVR为VR游戏提供统一的数据接口,从而使得VR游戏不用直接与厂商的SDK打交道。进一步地,OpenVR的API(Application Program Interface)都是以C++接口类方式呈现的,而且都是纯虚函数,例如 TrackedDevicePoseUpdated函数、Present函数、GetWindowBounds函数等。
进一步地,调用TrackedDevicePoseUpdated函数来把手柄、头显数据发送给虚拟VR设备的驱动。
步骤S130:响应于启动虚拟VR设备,服务器设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效。
具体客户端发送的启动VR请求中包含了VR应用需要达到的分辨率,根据该设置的分辨率创建图像纹理,根据创建的图像纹理来拷贝渲染到头显的画面的游戏纹理,从而实现VR应用输出的图像数据的分辨率与客户端设置的分辨率保持一致,在IVRDisplayComponent类的GetWindowBounds函数返回设置的分辨率。
进一步地,客户端发送的启动VR请求中包含了VR应用需要达到的帧率,根据该设置的帧率,虚拟VR驱动时创建线程来计算渲染的时间,例如客户端设置的帧率为60帧,则服务端需要1/60约16ms渲染一帧,通过调用 VsyncEvent函数来通知VR应用渲染画面。
步骤S140:响应于VR应用完成渲染画面,服务端中的虚拟VR设备将渲染画面发送给客户端,客户端接收VR应用画面。
步骤S150:服务端接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用。
步骤S160:服务端向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
具体地,服务端通过PollNextEvent接口来获取事件,事件类型为 VREvent_Input_HapticVibration时则为手柄震动反馈数据,再把相应手柄震动反馈数据发送给客户端。
步骤S160:VR应用根据预先设定的程序,向发送手柄震动反馈,
其中步骤S110-S140,步骤S150,步骤S160为并行同时执行的步骤,通过上述步骤,本实施例能够在没有VR设备的情况下,也能打开VR应用软件,更加便捷便利。
实施例二
如图2所示,本实施例提供了一种应用于云VR应用场景下的虚拟VR 设备管理系统,包括服务端210和客户端220,服务端210和客户端220进行数据交互完成上述应用于云VR应用场景下的虚拟VR设备管理方法。
具体地,如图3所示,服务端210包括,第一接收单元310、启动单元 320、设置单元330、第一发送单元340、第二接收单元350以及第二发送单元360。
第一接收单元310用于接收客户端发送来的启动VR请求。
启动单元320与第一接收单元310连接,用于根据启动VR请求,启动VR应用对应的虚拟VR设备。
设置单元330与启动单元320连接,用于设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效。
发送单元340可以是虚拟VR设备,与设置单元330连接,用于将渲染画面发送给客户端,客户端接收VR应用画面。
第二接收单元350,用于接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用。
第二发送单元,用于向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
本申请具有以下有益效果:
本申请通过客户端和服务端之间的数据交互,在不影响服务端VR应用的基础上,可以虚拟出VR设备让应用识别,并且当客户端发送相应数据时,对应的数据可作为正确的输入数据使用,达到云化的目的。
虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本申请的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,具体包括以下子步骤:
服务端接收客户端发送来的启动VR请求;
服务端根据启动VR请求,服务器启动VR应用对应的虚拟VR设备;
响应于启动虚拟VR设备,服务器设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效;
响应于VR应用完成渲染画面,服务端中的虚拟VR设备将渲染画面发送给客户端,客户端接收VR应用画面;
服务端接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用;
服务端向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
2.如权利要求1所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,启动VR请求包括,设置VR应用需要达到的分辨率和帧率。
3.如权利要求1所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,客户端是VR设备、手机、PC移动端中的一种。
4.如权利要求1所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,服务器启动VR应用对应的虚拟VR设备包括,通过指定数据接口将手柄、头显数据发送给虚拟VR设备的驱动,实现虚拟VR设备带有头显和手柄。
5.如权利要求4所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,指定接口为OpenVR的API接口。
6.如权利要求5所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,OpenVR的API以C++接口类方式呈现的,并且为纯虚函数,函数包括TrackedDevicePoseUpdated函数、Present函数、GetWindowBounds函数。
7.如权利要求2所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,根据启动VR请求中设置的分辨率创建图像纹理,根据创建的图像纹理拷贝渲染到头显的画面的游戏纹理,实现VR应用输出的图像数据的分辨率与客户端设置的分辨率保持一致。
8.如权利要求7所述的应用于云VR应用场景下的虚拟VR设备管理方法,其特征在于,根据启动VR请求中设置的帧率,虚拟VR驱动创建线程来计算渲染的时间,根据该时间完成渲染画面帧率的设置。
9.一种应用于云VR应用场景下的虚拟VR设备管理系统,其特征在于,包括服务端和客户端,服务端和客户端进行数据交互完成权利要求1-8任一项所述的应用于云VR应用场景下的虚拟VR设备管理方法。
10.如权利要求9所述的应用于云VR应用场景下的虚拟VR设备管理系统,其特征在于,服务端包括,第一接收单元、启动单元、设置单元、第一发送单元、第二接收单元以及第二发送单元;
第一接收单元,用于接收客户端发送来的启动VR请求;
启动单元,用于根据启动VR请求,启动VR应用对应的虚拟VR设备;
设置单元,用于设置虚拟VR驱动的渲染画面的分辨率和帧率,并使渲染画面的分辨率和帧率生效;
发送单元,用于将渲染画面发送给客户端,客户端接收VR应用画面;
第二接收单元,用于接收客户端发送来的手柄和头衔的位置,姿态和按键数据,并将接收的手柄和头衔的位置,姿态和按键数据发送给VR应用;
第二发送单元,用于向客户端发送VR应用的手柄震动反馈数据,客户端接收手柄震动反馈数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211169917.5A CN115576416A (zh) | 2022-09-23 | 2022-09-23 | 一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211169917.5A CN115576416A (zh) | 2022-09-23 | 2022-09-23 | 一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576416A true CN115576416A (zh) | 2023-01-06 |
Family
ID=84581160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211169917.5A Pending CN115576416A (zh) | 2022-09-23 | 2022-09-23 | 一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576416A (zh) |
-
2022
- 2022-09-23 CN CN202211169917.5A patent/CN115576416A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10841661B2 (en) | Interactive method, apparatus, and system in live room | |
CN112351302B (zh) | 基于云游戏的直播交互方法、装置及存储介质 | |
WO2021093583A1 (zh) | 视频流处理方法、装置、终端设备及计算机可读存储介质 | |
CN111773667B (zh) | 直播游戏交互方法、装置、计算机可读介质及电子设备 | |
WO2020233511A1 (zh) | 一种应用启动方法、装置、计算机设备以及存储介质 | |
WO2021143182A1 (zh) | 游戏的处理方法、装置、电子设备及计算机可读存储介质 | |
US10255022B2 (en) | Information processing system, electronic device, image file playing method, and generation method for displaying a screenshot of an image file including a link to a webpage for downloading an application program | |
WO2021159792A1 (zh) | 虚拟物品交互方法、装置、计算机设备及存储介质 | |
KR20170121235A (ko) | 추천 콘텐츠에 기초한 상호작용 방법, 단말기 및 서버 | |
US9656178B2 (en) | Posted information sharing system, game application executing system, storage medium, and information-processing method | |
US9648092B2 (en) | Internet browser | |
WO2021175143A1 (zh) | 图片获取方法及电子设备 | |
WO2018076939A1 (zh) | 视频文件的处理方法和装置 | |
CN113220118B (zh) | 虚拟界面展示方法、头戴式显示设备和计算机可读介质 | |
WO2023226814A1 (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2023093698A1 (zh) | 游戏直播的交互方法、存储介质、程序产品及电子设备 | |
CN113485617A (zh) | 动画展示方法、装置、电子设备及存储介质 | |
US20150222673A1 (en) | Image processing apparatus, image processing method, and computer program | |
CN111672132A (zh) | 游戏的控制方法、控制装置、服务器和存储介质 | |
CN113645476B (zh) | 画面处理方法、装置、电子设备及存储介质 | |
CN114173182A (zh) | 游戏视频录制方法及装置、游戏视频读取方法及装置 | |
WO2022021631A1 (zh) | 交互控制方法、终端设备及存储介质 | |
WO2024051540A1 (zh) | 特效处理方法、装置、电子设备及存储介质 | |
CN115576416A (zh) | 一种应用于云vr应用场景下的虚拟vr设备管理方法及其系统 | |
WO2023030116A1 (zh) | 显示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Yan Yuxin Inventor after: Huang Benliang Inventor after: Li Xin Inventor after: Guo Jianjun Inventor before: Yan Yuxin Inventor before: Huang Benliang Inventor before: Zhang Hexiang Inventor before: Li Xin Inventor before: Guo Jianjun |