CN116212361A - 虚拟对象显示方法、装置和头戴式显示装置 - Google Patents
虚拟对象显示方法、装置和头戴式显示装置 Download PDFInfo
- Publication number
- CN116212361A CN116212361A CN202111476523.XA CN202111476523A CN116212361A CN 116212361 A CN116212361 A CN 116212361A CN 202111476523 A CN202111476523 A CN 202111476523A CN 116212361 A CN116212361 A CN 116212361A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- newly added
- dimensional scene
- position information
- display
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000000007 visual effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 7
- 210000003128 head Anatomy 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 239000011230 binding agent Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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
- G06F3/012—Head tracking input arrangements
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Heart & Thoracic Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种虚拟对象显示方法、装置和头戴式显示装置,通过响应于在三维场景内新增虚拟对象的指令,获取新增虚拟对象和三维场景内的其它虚拟对象的数据类型,当新增虚拟对象的数据类型与三维场景内的其它虚拟对象的数据类型相同时,将相同数据类型的其它虚拟对象的显示位置信息作为新增虚拟对象的显示位置信息,无需再重新计算新增虚拟对象的显示位置信息,可以更快地在三维场景内显示新增虚拟对象,提高新增虚拟对象的显示效率。
Description
技术领域
本发明涉及显示领域,尤其是涉及一种虚拟对象显示方法、装置和头戴式显示装置。
背景技术
AR/VR设备集合了显示技术、交互技术、传感技术、多媒体技术等,基于第一视角的交互方式,通过将虚拟信息内容展示在用户的视野中,为用户提供增强现实的感官体验。随着相关技术的发展迭代,AR/VR设备逐渐成熟,走进各行各业中,在娱乐,工业等方面扮演着越来越重要的角色。
用户在体验虚拟场景时,通过特殊的输入/输出设备与该虚拟场景中的目标物进行交互,从而生成新的虚拟对象或内容,然而,当用户移动时,新增虚拟对象易偏离用户视野范围,当需要对新增虚拟对象进行操纵时,需要用户手动调整新增虚拟对象的显示位置,影响用户的操作体验。
发明内容
本申请实施例提供了一种虚拟对象显示方法、装置和头戴式显示装置,能够使得新增虚拟对象处于用户的最佳视野位置,提高用户的交互体验。
第一方面,本申请实施例提供了一种虚拟对象显示方法,应用于电子设备上,所述电子设备用于显示包括至少一个虚拟对象的三维场景;
所述虚拟对象显示方法包括以下步骤:
响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
第二方面,本申请实施例提供了一种虚拟对象显示装置,应用于电子设备上,所述电子设备用于显示包括至少一个虚拟对象的三维场景;
所述虚拟对象显示装置包括:
数据类型获取模块,用于响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
显示位置信息获取模块,用于当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
显示模块,用于根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
第三方面,本申请实施例提供了一种头戴式显示装置,包括:显示设备、存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述显示设备用于显示包括至少一个虚拟对象的三维场景,所述处理器执行所述计算机程序时实现如上述任意一项所述的虚拟对象显示方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的虚拟对象显示方法的步骤
在本申请实施例中,通过响应于在三维场景内新增虚拟对象的指令,获取新增虚拟对象和三维场景内的其它虚拟对象的数据类型,当新增虚拟对象的数据类型与三维场景内的其它虚拟对象的数据类型相同时,将相同数据类型的其它虚拟对象的显示位置信息作为新增虚拟对象的显示位置信息,无需再重新计算新增虚拟对象的显示位置信息,可以更快地在三维场景内显示新增虚拟对象,提高新增虚拟对象的显示效率。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明的一种虚拟对象显示方法的的应用场景示意图;
图2为本发明实施例1中的虚拟对象显示方法的流程图;
图3为本发明实施例1中的虚拟对象显示方法的应用场景示意图;
图4为本发明实施例2中的虚拟对象显示装置的结构示意图;
图5为本发明实施例3中的头戴式显示装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,其为本申请一个实施例提供的一种虚拟物体显示方法的应用环境示意框图。如图1所示,本申请实施例的虚拟物体显示方法的应用环境包括一种电子设备100,电子设备100显示包括至少一个虚拟物体110的三维场景。
该电子设备100包括:至少一个处理器、至少一个存储器,至少一个网络接口,用户接口、至少一个通信总线和显示设备。
其中,所述网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,用户接口主要用于为用户提供输入的接口,获取用户输入的数据,可选的,所述用户接口还可以包括标准的有线接口、无线接口。
其中,所述通信总线用于实现这些组件之间的连接通信。
其中,所述处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行电子设备100的各种功能和处理数据。可选的,处理器可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器可集成中央处理器(Central ProcessingUnit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块芯片进行实现。
其中,存储器可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器可用于存储指令、程序、代码、代码集或指令集。存储器可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器可选的还可以是至少一个位于远离前述处理器的存储装置。
所述处理器可以用于调用存储器中存储的虚拟物体显示方法的应用程序,并具体执行本申请实施例中虚拟物体显示方法的步骤。
本申请的显示设备是一种实现AR技术(增强现实技术)且可佩戴在人体头部进行展示的可穿戴式设备,它通过计算机技术将虚拟的信息叠加到真实世界,使真实的环境和虚拟的物体能够实时地叠加到同一个画面中,实现两种信息的相互补充,并通过显示设备在用户的眼前进行画面展示。显示设备用于显示包括至少一个真实物体和至少一个虚拟物体的三维场景,在一个实施例中,显示设备可以是AR眼镜为例,本领域技术人员容易理解,本申请的显示设备还可以为头盔形态的AR设备。
在一个实施例中,显示设备能够与终端设备配合使用以形成可穿戴系统,显示设备能够通过有线或者无线的方式与终端设备连接。其中,终端设备用于输出图像信息、音频信息和控制指令传输给所述显示设备,并用于接收显示设备输出的信息。本领域技术人员容易理解,本申请的终端设备可以是任何具备通信和存储功能的设备,例如智能手机、平板电脑、笔记本电脑、便携电话机、视频电话、数码静物相机、电子书籍阅读器、便携多媒体播放器(PMP)、移动医疗装置等智能终端。具体地,终端设备首先基于图像模型渲染出虚拟图像。然后,终端设备根据自身与显示设备之间相对位置关系,自动调整虚拟图像的形状和/或角度,使得调整后的虚拟图像符合显示设备的显示需求。之后,终端设备将经过调整的虚拟图像发送给显示设备,以供显示设备将该经过调整的虚拟图像叠加到现实场景中,供用户观看。在其它实施例中,显示设备内部设有可用于具备上述终端设备所实现功能的集成芯片,使得显示设备可以单独使用,即用户将显示设备穿戴至用户头部即可观测AR图像。
实施例1
如图2所示,本申请实施例提供了一种虚拟对象显示方法,包括以下步骤:
步骤S1:响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
新增虚拟对象指令可以是用户输入的请求信号,用于在当前三维场景内新增虚拟对象。在一个实施例中,可以通过检测用户在当前场景内的触点或动作,获取用户输入的新增虚拟对象的指令。例如,可以通过检测用户操纵的触控笔、鼠标、遥控器或手指等控制装置在当前显示场景内的接触或移动轨迹,或者,检测用户的运动状态的变化情况,并形成用户输入请求信号,从而确定是否接收到新增虚拟对象指令。
新增虚拟对象即为用户在该显示界面上所要增加的显示内容,可以是图形、文本、三维影像或上述各项的组合。
显示对象的数据类型指的是显示对象为超链接、图片、视频或文本等类型,可用于确定显示对象在三维场景内的显示方式。
步骤S2:当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
显示位置信息用于指示虚拟对象在三维场景内的显示位置,其中,显示位置信息可以包括该显示对象的朝向和角度等数据,可以根据显示对象的形状、大小等信息,结合用户的观看需求进行设置。优选地,在本申请实施例中,显示位置信息可以以四元数的方式进行表示,四元数包括四个变量(X、Z、Y、W),相比较欧拉角,四元素的存储空间更小,计算的效率更高。
在一个实施例中,虚拟对象为窗口,虚拟对象的数据类型为所述窗口所属的应用程序;
若新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序相同,则确定所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同。
在一个实施例中,每一个所述窗口分别设有与其所属的应用程序对应的标识;
若所述新增窗口的应用程序的标识与所述三维场景内的其它窗口的应用程序的标识相同,则确定所述新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序相同;
否则,确定所述新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序不相同。
优选地,当新增窗口的应用程序与所述三维场景内的其它窗口的应用程序不相同时,将新增窗口的应用程序的标识添加至标识集中,以便于对后续该三维场景中继续新增虚拟对象的数据类型的判断。
步骤S3:根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
在本申请实施例中,通过响应于在三维场景内新增虚拟对象的指令,获取新增虚拟对象和三维场景内的其它虚拟对象的数据类型,当新增虚拟对象的数据类型与三维场景内的其它虚拟对象的数据类型相同时,将相同数据类型的其它虚拟对象的显示位置信息作为新增虚拟对象的显示位置信息,无需再重新计算新增虚拟对象的显示位置信息,可以更快地在三维场景内显示新增虚拟对象,提高新增虚拟对象的显示效率。
在一个实施例中,在获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型的步骤之后,还包括:
若所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型均不相同,则获取用户的姿态数据,基于用户的姿态数据确定所述新增虚拟对象的显示位置信息。
其中,姿态数据可以利用姿态传感器等姿态数据追踪设备得到,姿态传感器可以为惯性测量单元(IMU),惯性测量单元(IMU)是一种通过传感器组合(加速度计、陀螺仪和磁力计)来测量和报告速度、方向和重力的电子设备,其中,当电子设备为可穿戴设备时,姿态传感器可以设置在该可穿戴设备上,从而捕捉用户的运动信息。在另一个实施例中,也可以利用红外摄像头拍摄用户的图像,对图像上各特征点进行特征匹配得到用户的姿态数据。
姿态数据为该显示对象在显示场景内的显示姿态,姿态数据可以以四元数或者欧拉角的方式进行表示。
具体地,基于用户的姿态数据确定新增虚拟对象的显示位置信息,可以是将用户当前的姿态数据作为新增虚拟对象的第一帧原始数据,利用预先保存的自适应姿态算法根据第一帧原始数据计算用户当前视野正前方的姿态位置数据。其中,第一帧原始数据用于确定新增虚拟对象在三维场景内的起始位置。
对于三维场景内不存在相同数据类型的新增虚拟对象,获取用户的姿态数据作为新增虚拟对象的显示位置信息,当后续该三维场景中继续新增该数据类型的显示对象时,则可以直接调用当前显示位置信息,无需再进行重新计算,提高新增虚拟对象的显示效率。
在一个实施例中,在将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息的步骤之后,为了进一步提高显示效果,还可以包括以下步骤:
获取用户的姿态数据;
根据根据姿态数据获取用户的最佳视野位置信息;
根据所述最佳视野位置信息调整所述新增虚拟对象在所述三维场景内的显示位置信息。
最佳视野位置可以为用户视野范围内最容易被看见和观察到的位置,用户视野范围是指用户能够直接看见和观察到的区域,可以根据用户的实时姿态数据计算得到。最佳视野位置可以是指该新增虚拟对象的主视图位于用户的视野的正前方,或者显示对象的法向量垂直电子设备,或者令该新增虚拟对象位于用户视野的中心位置。需要说明的是,该新增虚拟对象可以覆盖在已有显示对象上,以确保新增虚拟对象处于用户视野的最前方。
通过结合姿态数据计算用户的最佳视野位置信息,根据最佳视野位置信息调整新增虚拟对象在所述三维场景内的显示位置信息,使得在用户的姿态发生改变后,仍可以令新增虚拟对象显示在用户的最佳视野位置,使得新增虚拟对象能够及时快速地呈现在用户眼前,便于用户与新增虚拟对象进行交互,提高用户游戏体验。
当电子设备的操作系统为Android系统时,虚拟对象显示方法可以在Android系统中的CoreService服务运行。CoreService服务为操作系统的核心服务层,CoreService服务为所有服务类型的基础,CoreService服务内设有多种管理器,可以用于实现应用程序管理、屏幕窗口管理、程序使用的各项资源管理及通话管理等功能。
在本申请实施例中,CoreService服务可以包括监听模块、数据读取模块、外部设备检测模块、姿态算法处理模块、配置模块、数据封装模块和通信模块;
其中,监听模块用于监听电子设备是否新增虚拟对象;
数据读取模块用于读取姿态传感器等姿态数据追踪设备获取的姿态数据;
连接检测模块用于检测是否与电子设备连接;具体地,连接检测模块可以采用USBMonitor监控CoreService服务与电子设备的连接状态。USB Monitor通过监控CoreService服务的对外接口是否与电子设备中的虚拟对象建立连接,若是,则确定CoreService服务与电子设备连接,否则,CoreService服务与电子设备断开连接。
姿态算法处理模块保存有预设的自适应姿态算法,用于根据用户的姿态数据计算用户当前视野正前方的姿态位置数据。
配置模块用于根据用户预设的配置信息配置数据读取模块的开启和停止;
数据封装模块用于按照预设的封装格式对CoreService服务传输的数据进行封装;具体地,数据封装模块可以基于Provider实现类方法,Provider是Android系统的四大组件之一,Provider是一种封装数据的接口规范,本申请中基于Provider实现类方法创建一种数据封装方法,将CoreService服务传输的数据封装为预设的封装格式,便于在不同的应用程序之间实现数据共享。
通信模块用于建立CoreService服务与新增虚拟对象之间的通信;具体地,通信模块基于Binder通信机制构建。Binder通信机制常用于实现Android系统多进程间的通信,在本申请实施例中基于基于Binder通信机制CoreService服务与新增虚拟对象之间的通信,Binder通信机制相比较传统的Socket通信,数据拷贝简单,通信效率高。
如图3所示,在一个实施例中,电子设备为AR眼镜,姿态数据为用户的头部状态数据,显示对象为虚拟空间内的窗口,显示对象的类型即为该窗口所属的应用程序,最佳视野位置为窗口的法向量垂直AR眼镜且该窗口位于用户视野的中心位置,当前虚拟空间内有第一应用窗口,该窗口属于第一应用,第一应用设有一对应的标识,该标识保存在一预设的标识集中。
当姿态传感器检测到用户向左转动60°,且打开第二应用窗口时,首先,获取该第二窗口时所属的应用程序(第二应用)的标识,将该标识与标识集内的每一个标识进行比较,确定第二窗口时是否属于新的应用程序。对于新应用程序,则采集用户的头部姿态数据作为原始第一帧数据,利用预设的自适应姿态算法计算第二窗口的显示位置信息,根据该显示位置信息在三维场景内显示该新窗口;若第二窗口属于已有的应用程序,则以该应用程序的其它窗口的显示位置信息在三维场景内显示该新窗口。同理,当用户向右转动60°并打开第三窗口时,重复上述步骤,在三维场景内显示第三窗口。
实施例2
如图4所示,本申请实施例还提供了一种虚拟对象显示装置,应用于电子设备上,所述电子设备用于显示包括至少一个虚拟对象的三维场景;
所述虚拟对象显示装置包括:
数据类型获取模块1,用于响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
显示位置信息获取模块2,用于当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
显示模块3,用于根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
需要说明的是,上述实施例提供的虚拟对象显示装置在执行虚拟对象显示方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分为不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟对象显示装置与虚拟对象显示方法属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
实施例3
如图5所示,本申请实施例还提供了一种可安装或佩戴在用户的头部上的头戴式显示装置200,包括:至少一个处理器201、至少一个存储器202和显示设备203。
其中,处理器201可以包括一个或者多个处理核心。处理器201利用各种接口和线路连接整个头戴式显示装置200内的各个部分,通过运行或执行存储在存储器202内的指令、程序、代码集或指令集,以及调用存储在存储器202内的数据,执行头戴式显示装置200的各种功能和处理数据。可选的,处理器201可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器201可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器201中,单独通过一块芯片进行实现。
其中,存储器202可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器202包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器202可用于存储指令、程序、代码、代码集或指令集。存储器202可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器202可选的还可以是至少一个位于远离前述处理器201的存储装置。
所述处理器201可以用于调用存储器202中存储的虚拟物体显示方法的应用程序,并具体执行上述任意一项所述的虚拟对象显示方法的步骤。
显示设备203是一种实现AR技术(增强现实技术)且可佩戴在人体头部进行展示的可穿戴式设备,它通过计算机技术将虚拟的信息叠加到真实世界,使真实的环境和虚拟的物体能够实时地叠加到同一个画面中,实现两种信息的相互补充,并通过显示设备在用户的眼前进行画面展示。在本申请实施例中,显示设备203用于显示包括至少一个虚拟物体的三维场景。
在一个实施例中,显示设备203能够与终端设备配合使用以形成可穿戴系统,显示设备203能够通过有线或者无线的方式与终端设备连接。其中,终端设备用于输出图像信息、音频信息和控制指令传输给所述显示设备,并用于接收显示设备输出的信息。本领域技术人员容易理解,本申请的终端设备可以是任何具备通信和存储功能的设备,例如智能手机、平板电脑、笔记本电脑、便携电话机、视频电话、数码静物相机、电子书籍阅读器、便携多媒体播放器(PMP)、移动医疗装置等智能终端。具体地,终端设备首先基于图像模型渲染出虚拟图像。然后,终端设备根据自身与显示设备203之间相对位置关系,自动调整虚拟图像的形状和/或角度,使得调整后的虚拟图像符合显示设备的显示需求。之后,终端设备将经过调整的虚拟图像发送给显示设备,以供显示设备将该经过调整的虚拟图像叠加到现实场景中,供用户观看。在其它实施例中,显示设备203内部设有可用于具备上述终端设备所实现功能的集成芯片,使得显示设备203可以单独使用,即用户将显示设备203穿戴至用户头部即可观测AR图像。
在一个实施例中,头戴式显示装置200还包括至少一个网络接口204,用户接口205以及至少一个通信总线206。
其中,所述网络接口204可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,用户接口205主要用于为用户提供输入的接口,获取用户输入的数据,可选的,所述用户接口205还可以包括标准的有线接口、无线接口。
其中,所述通信总线206用于实现这些组件之间的连接通信。
在一个实施例中,所述头戴式显示装置的操作系统为Android系统,所述头戴式显示装置还包括在其上运行的CoreService服务,所述虚拟对象显示方法在所述CoreService服务运行。
其中,CoreService服务可以包括监听模块、数据读取模块、外部设备检测模块、姿态算法处理模块、配置模块、数据封装模块和通信模块;
其中,监听模块用于监听电子设备是否新增虚拟对象;
数据读取模块用于读取姿态传感器等姿态数据追踪设备获取的姿态数据;
连接检测模块用于检测是否与电子设备连接;具体地,连接检测模块可以采用USBMonitor监控CoreService服务与电子设备的连接状态。
姿态算法处理模块保存有预设的自适应姿态算法,用于根据用户的姿态数据计算用户当前视野正前方的姿态位置数据。
配置模块用于根据用户预设的配置信息配置数据读取模块的开启和停止;
数据封装模块用于按照预设的封装格式对CoreService服务传输的数据进行封装;具体地,数据封装模块可以基于Provider实现类方法,将CoreService服务传输的数据封装为预设的封装格式。
通信模块用于建立CoreService服务与新增虚拟对象之间的通信;具体地,通信模块基于Binder通信机制与电子设备进行通信。
本申请实施例还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的虚拟对象显示方法的步骤。
本申请实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例的虚拟对象显示方法、装置和头戴式显示装置以自适应地将新增虚拟对象展示在用户的最佳视野位置,无需用户进行手动调节,使得新增虚拟对象能够及时快速地呈现在用户眼前,便于用户与新增虚拟对象进行交互,提高用户游戏体验。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
Claims (10)
1.一种虚拟对象显示方法,其特征在于,应用于电子设备上,所述电子设备用于显示包括至少一个虚拟对象的三维场景;
所述虚拟对象显示方法包括以下步骤:
响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
2.根据权利要求1所述的虚拟对象显示方法,其特征在于,在获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型的步骤之后,还包括:
若所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型均不相同,则获取用户的姿态数据,基于用户的姿态数据确定所述新增虚拟对象的显示位置信息。
3.根据权利要求1-2任一项所述的虚拟对象显示方法,其特征在于,所述虚拟对象为窗口,所述虚拟对象的数据类型为所述窗口所属的应用程序;
若新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序相同,则确定所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同。
4.根据权利要求3所述的虚拟对象显示方法,其特征在于,每一个所述窗口分别设有与其所属的应用程序对应的标识;
若所述新增窗口的应用程序的标识与所述三维场景内的其它窗口的应用程序的标识相同,则确定所述新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序相同;
否则,确定所述新增窗口所属的应用程序与所述三维场景内的其它窗口所属的应用程序不相同。
5.根据权利要求4所述的虚拟对象显示方法,其特征在于,所述三维场景内所有窗口的应用程序的标识均保存在一标识集中;
当所述新增窗口的应用程序与所述三维场景内的其它窗口的应用程序不相同时,将所述新增窗口的应用程序的标识添加至所述标识集中。
6.根据权利要求1所述的虚拟对象显示方法,其特征在于,在将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息的步骤之后,还包括:
获取用户的姿态数据;
根据根据姿态数据获取用户的最佳视野位置信息;
根据所述最佳视野位置信息调整所述新增虚拟对象在所述三维场景内的显示位置信息。
7.一种虚拟对象显示装置,其特征在于,应用于电子设备上,所述电子设备用于显示包括至少一个虚拟对象的三维场景;
所述虚拟对象显示装置包括:
数据类型获取模块,用于响应于在所述三维场景内新增虚拟对象的指令,获取所述新增虚拟对象和所述三维场景内的其它虚拟对象的数据类型;
显示位置信息获取模块,用于当所述新增虚拟对象的数据类型与所述三维场景内的其它虚拟对象的数据类型相同时,获取相同数据类型的其它虚拟对象的显示位置信息,将所述相同数据类型的其它虚拟对象的显示位置信息作为所述新增虚拟对象的显示位置信息;
显示模块,用于根据所述新增虚拟对象的显示位置信息,显示包括所述新增虚拟对象的三维场景。
8.一种头戴式显示装置,其特征在于,包括:显示设备、存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述显示设备用于显示包括至少一个虚拟对象的三维场景,所述处理器执行所述计算机程序时实现如权利要求1-6中任意一项所述的虚拟对象显示方法的步骤。
9.根据权利要求8所述的头戴式显示装置,其特征在于,所述头戴式显示装置还包括在其上运行的CoreService服务,所述虚拟对象显示方法在所述CoreService服务运行。
10.一种计算机可读存储介质,其上储存有计算机程序,其特征在于:该计算机程序被处理器执行时实现如权利要求1-6任意一项所述的虚拟对象显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476523.XA CN116212361B (zh) | 2021-12-06 | 2021-12-06 | 虚拟对象显示方法、装置和头戴式显示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476523.XA CN116212361B (zh) | 2021-12-06 | 2021-12-06 | 虚拟对象显示方法、装置和头戴式显示装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116212361A true CN116212361A (zh) | 2023-06-06 |
CN116212361B CN116212361B (zh) | 2024-04-16 |
Family
ID=86581135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111476523.XA Active CN116212361B (zh) | 2021-12-06 | 2021-12-06 | 虚拟对象显示方法、装置和头戴式显示装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116212361B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015026286A (ja) * | 2013-07-26 | 2015-02-05 | セイコーエプソン株式会社 | 表示装置、表示システムおよび表示装置の制御方法 |
US20150268473A1 (en) * | 2014-03-18 | 2015-09-24 | Seiko Epson Corporation | Head-mounted display device, control method for head-mounted display device, and computer program |
CN107710284A (zh) * | 2015-06-30 | 2018-02-16 | 奇跃公司 | 用于在虚拟图像生成系统中更有效地显示文本的技术 |
US20180088750A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for Creating and Displaying Application Windows |
CN109063039A (zh) * | 2018-07-17 | 2018-12-21 | 高新兴科技集团股份有限公司 | 一种基于移动端的视频地图动态标签显示方法及系统 |
CN109087369A (zh) * | 2018-06-22 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子装置及存储介质 |
CN109840947A (zh) * | 2017-11-28 | 2019-06-04 | 广州腾讯科技有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
WO2020123707A1 (en) * | 2018-12-12 | 2020-06-18 | University Of Washington | Techniques for enabling multiple mutually untrusted applications to concurrently generate augmented reality presentations |
CN111526929A (zh) * | 2018-01-04 | 2020-08-11 | 环球城市电影有限责任公司 | 用于游乐园环境中的文本覆盖的系统和方法 |
CN111651047A (zh) * | 2020-06-05 | 2020-09-11 | 浙江商汤科技开发有限公司 | 一种虚拟物体展示方法、装置、电子设备及存储介质 |
JP2020181420A (ja) * | 2019-04-25 | 2020-11-05 | 東芝テック株式会社 | 仮想オブジェクト表示装置、及びプログラム |
KR102227525B1 (ko) * | 2020-05-04 | 2021-03-11 | 장원석 | 증강 현실과 가상 현실을 이용한 문서 작성 시스템 및 그 방법 |
JP2021043752A (ja) * | 2019-09-12 | 2021-03-18 | 株式会社日立システムズ | 情報表示装置、情報表示方法及び情報表示システム |
WO2021073268A1 (zh) * | 2019-10-15 | 2021-04-22 | 北京市商汤科技开发有限公司 | 一种增强现实数据呈现方法、装置、电子设备及存储介质 |
CN112870699A (zh) * | 2021-03-11 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 虚拟环境中的信息显示方法、装置、设备及介质 |
CN113101634A (zh) * | 2021-04-19 | 2021-07-13 | 网易(杭州)网络有限公司 | 一种虚拟地图显示方法、装置、电子设备及存储介质 |
CN113204301A (zh) * | 2021-05-28 | 2021-08-03 | 闪耀现实(无锡)科技有限公司 | 用于处理应用程序内容的方法及装置 |
CN113391734A (zh) * | 2020-03-12 | 2021-09-14 | 华为技术有限公司 | 图像处理方法和图像显示设备、存储介质和电子设备 |
US20210287440A1 (en) * | 2016-11-11 | 2021-09-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Supporting an augmented-reality software application |
-
2021
- 2021-12-06 CN CN202111476523.XA patent/CN116212361B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015026286A (ja) * | 2013-07-26 | 2015-02-05 | セイコーエプソン株式会社 | 表示装置、表示システムおよび表示装置の制御方法 |
US20150268473A1 (en) * | 2014-03-18 | 2015-09-24 | Seiko Epson Corporation | Head-mounted display device, control method for head-mounted display device, and computer program |
CN107710284A (zh) * | 2015-06-30 | 2018-02-16 | 奇跃公司 | 用于在虚拟图像生成系统中更有效地显示文本的技术 |
US20180088750A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for Creating and Displaying Application Windows |
US20210287440A1 (en) * | 2016-11-11 | 2021-09-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Supporting an augmented-reality software application |
CN109840947A (zh) * | 2017-11-28 | 2019-06-04 | 广州腾讯科技有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
CN111526929A (zh) * | 2018-01-04 | 2020-08-11 | 环球城市电影有限责任公司 | 用于游乐园环境中的文本覆盖的系统和方法 |
CN109087369A (zh) * | 2018-06-22 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 虚拟对象显示方法、装置、电子装置及存储介质 |
CN109063039A (zh) * | 2018-07-17 | 2018-12-21 | 高新兴科技集团股份有限公司 | 一种基于移动端的视频地图动态标签显示方法及系统 |
WO2020123707A1 (en) * | 2018-12-12 | 2020-06-18 | University Of Washington | Techniques for enabling multiple mutually untrusted applications to concurrently generate augmented reality presentations |
JP2020181420A (ja) * | 2019-04-25 | 2020-11-05 | 東芝テック株式会社 | 仮想オブジェクト表示装置、及びプログラム |
JP2021043752A (ja) * | 2019-09-12 | 2021-03-18 | 株式会社日立システムズ | 情報表示装置、情報表示方法及び情報表示システム |
WO2021073268A1 (zh) * | 2019-10-15 | 2021-04-22 | 北京市商汤科技开发有限公司 | 一种增强现实数据呈现方法、装置、电子设备及存储介质 |
CN113391734A (zh) * | 2020-03-12 | 2021-09-14 | 华为技术有限公司 | 图像处理方法和图像显示设备、存储介质和电子设备 |
WO2021180183A1 (zh) * | 2020-03-12 | 2021-09-16 | 华为技术有限公司 | 图像处理方法和图像显示设备、存储介质和电子设备 |
KR102227525B1 (ko) * | 2020-05-04 | 2021-03-11 | 장원석 | 증강 현실과 가상 현실을 이용한 문서 작성 시스템 및 그 방법 |
CN111651047A (zh) * | 2020-06-05 | 2020-09-11 | 浙江商汤科技开发有限公司 | 一种虚拟物体展示方法、装置、电子设备及存储介质 |
CN112870699A (zh) * | 2021-03-11 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 虚拟环境中的信息显示方法、装置、设备及介质 |
CN113101634A (zh) * | 2021-04-19 | 2021-07-13 | 网易(杭州)网络有限公司 | 一种虚拟地图显示方法、装置、电子设备及存储介质 |
CN113204301A (zh) * | 2021-05-28 | 2021-08-03 | 闪耀现实(无锡)科技有限公司 | 用于处理应用程序内容的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116212361B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11181976B2 (en) | Perception based predictive tracking for head mounted displays | |
CN105915990B (zh) | 一种虚拟现实头盔及其使用方法 | |
US11430192B2 (en) | Placement and manipulation of objects in augmented reality environment | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
EP3740849B1 (en) | Hybrid placement of objects in an augmented reality environment | |
WO2016120806A1 (en) | Method and system for providing virtual display of a physical environment | |
US12101557B2 (en) | Pose tracking for rolling shutter camera | |
EP3229482A1 (en) | Master device, slave device, and control method therefor | |
US20190295324A1 (en) | Optimized content sharing interaction using a mixed reality environment | |
US20220172440A1 (en) | Extended field of view generation for split-rendering for virtual reality streaming | |
CN116212361B (zh) | 虚拟对象显示方法、装置和头戴式显示装置 | |
CN112308981A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115690363A (zh) | 虚拟物体显示方法、装置和头戴式显示装置 | |
US11966278B2 (en) | System and method for logging visible errors in a videogame |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |