CN111784844A - 观察虚拟对象的方法、装置、存储介质及电子设备 - Google Patents
观察虚拟对象的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111784844A CN111784844A CN202010519710.0A CN202010519710A CN111784844A CN 111784844 A CN111784844 A CN 111784844A CN 202010519710 A CN202010519710 A CN 202010519710A CN 111784844 A CN111784844 A CN 111784844A
- Authority
- CN
- China
- Prior art keywords
- view angle
- virtual object
- current
- target virtual
- parameter
- 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 45
- 230000000007 visual effect Effects 0.000 claims description 52
- 238000001514 detection method Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/003—Navigation within 3D models or images
-
- 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
-
- 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/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
-
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8076—Shooting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及一种观察虚拟对象的方法、装置、存储介质及电子设备,该方法包括:获取待观察的目标虚拟对象的当前视角参数;判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;在存在所述遮挡对象遮挡的情况下,调整所述当前视角参数以得到最优视角。
Description
技术领域
本公开涉及三维场景领域,具体地,涉及一种观察虚拟对象的方法、装置、存储介质及电子设备。
背景技术
目前,在3D场景中,在用户观察位置和目标虚拟对象之间有其它虚拟物体遮挡的情况下,若对目标虚拟物体进行观察,由于其他虚拟物体会遮挡住目标虚拟物体,因此,无法完整的看到目标虚拟物体,对用户的观察造成影响。
在现有技术中,一般会通过人工的方式手动修改当前的观察视角参数,或者网络在线实时的修改对象的观察视角参数,从而可以调整观察的视角,使得用户可以完整的看到目标虚拟物体。
但是采用人工修改观察视角参数的方式,在针对大量观察对象时,会浪费大量人力,从而造成视角调整效率低下的问题,而通过网络在线实时修改观察视角参数的方式,则在针对大量对象时,也会因为数据量大而导致同步时延大,使得用户体验不佳。
发明内容
本公开的目的是提供一种观察虚拟对象的方法、装置、存储介质及电子设备。
为了实现上述目的,根据本公开实施例的第一方面,本公开提供一种观察虚拟对象的方法,应用于终端设备,所述方法包括:
获取待观察的目标虚拟对象的当前视角参数;判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;在存在所述遮挡对象遮挡的情况下,调整所述当前视角参数以得到最优视角。
可选地,判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡,包括:根据所述当前视角参数发射遮挡对象检测射线;在接收到所述遮挡对象检测射线对应的反馈信息的情况下,确定在以所述当前视角参数对应的观察视角观察所述目标虚拟对象时,存在遮挡对象遮挡;若在达到预设时间段后,未接收到所述反馈信息,则确定在以所述当前视角参数对应的观察视角观察所述目标虚拟对象时,不存在遮挡对象遮挡。
可选地,所述当前视角参数包括所述目标虚拟对象的位置信息、观察视角以及所述目标虚拟对象与当前观察位置的距离;所述根据所述位置信息从所述目标对象所在的位置沿所述观察视角发射遮挡对象检测射线包括:将所述目标虚拟对象的位置坐标作为发射所述遮挡对象检测射线的起点;将所述目标虚拟对象与当前观察位置的距离作为所述遮挡对象检测射线的射线长度;从所述起点沿所述观察视角,按照所述射线长度发射遮挡对象检测射线。
可选地,所述调整所述当前视角参数包括:循环执行视角调整步骤,直至满足预设循环终止条件;所述视角调整步骤包括:按照预设角度调整值调整所述观察视角得到目标视角;确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;在所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,存在遮挡对象遮挡的情况下,将所述目标视角作为新的观察视角;所述预设循环终止条件包括:所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,不存在遮挡对象遮挡;或者,所述调整后的目标视角超出预设角度范围。
可选地,所述当前视角参数包括在所述三维虚拟场景中,所述目标虚拟对象与当前观察位置的距离,所述调整所述当前视角参数包括:循环执行距离调整步骤,直至满足预设循环终止条件;所述距离调整步骤包括:按照预设距离调整值调整所述距离得到目标距离;确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;在所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,存在遮挡对象遮挡的情况下,将所述目标距离作为新的距离;所述预设循环终止条件包括:所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,不存在遮挡对象遮挡;或者,所述调整后的目标距离超出预设距离范围。
可选地,所述获取观察所述表目标对象的所述当前视角参数包括:将所述目标对象上一次被观察时所保存历史视角参数作为所述当前视角参数;或者,将预先手动设置的初始视角参数作为所述当前视角参数。
可选地,所述方法还包括:在得到所述最优视角后,保存所述最优视角的视角参数。
根据本公开实施例的第二方面,本公开提供一种观察虚拟对象的装置,所述装置包括:获取模块,用于获取待观察的目标虚拟对象的当前视角参数;检测模块,用于确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;调整模块,按照预设角度调整值调整所述观察视角得到目标视角参数,循环执行视角参数调整步骤,直至满足预设循环终止条件。
可选地,所述检测模块包括:射线发射子模块,用于根据所述位置信息从所述目标对象所在的位置沿所述观察视角发射遮挡对象检测射线;信息反馈子模块,用于在接收到所述遮挡对象检测射线对应的反馈信息的情况下,确定所述当前视角参数不是用于观察目标对象的最优视角参数,若在达到预设时间段后,未接收到所述反馈信息,则确定所述当前视角参数是用于观察目标对象的最优视角参数。
可选地,所述调整模块包括:角度调整子模块,用于按照预设角度调整值调整所述观察视角得到目标视角,直至满足预设循环终止条件;距离调整子模块,用于按照预设距离调整值调整所述距离得到目标距离,
直至满足预设循环终止条件。
根据本公开实施例的第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例第一方面中任一项所述方法的步骤。
根据本公开实施例的第四方面,本公开提供一种电子设备,包括:
存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例第一方面中任一项所述方法的步骤。
采用上述技术方案,通过从三维虚拟场景中获取待观察的目标虚拟对象的当前视角参数;确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;在存在所述遮挡对象遮挡的情况下,调整所述当前视角参数得到最优视角参数;将所述最优视角参数对应的视角,作为在所述三维虚拟场景中观察所述目标虚拟对象的最优视角。这样,在观察目标虚拟对象的过程中有遮挡物时,本公开无需手动调整视角参数,或者网络在线实时的修改待观察目标虚拟对象的观察视角参数,可以自动调整视角参数,尤其在在针对大量的虚拟对象需要被观察时,提高寻找观察所述目标虚拟对象的最优视角的效率,节省大量人力,提高用户的使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开示例性实施例示出的一种观察虚拟对象方法的流程示意图;
图2是本公开示例性实施例示出的一种观察虚拟对象装置的框图;
图3是本公开示例性实施例示出的一种检测模块的框图;
图4是本公开示例性实施例示出的一种调整模块的框图;
图5是本公开示例性实施例示出的一种电子设备的框图;
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先,对本公开的应用场景进行说明,本公开可以应用于3D虚拟现实场景,如3D电子游戏场景,或者3D模拟现实场景(如车辆驾驶模拟等)等,在这些场景下,若以当前观察视角对某一目标虚拟物体进行观察时,可能会存在虚拟遮挡对象遮挡住目标虚拟物体,导致用户无法观察到该目标虚拟物体,例如,在3D射击游戏场景中,用户需要对某一物体进行射击瞄准时,需要确定在用户当前位置观察目标虚拟对象时,是否有遮挡物遮挡,如果有遮挡物,就无法完整的看到目标虚拟物体,对用户的观察造成影响。此时,需要调整观察视角参数,以调整用户的观察视角,从而使得用户观察到完成的目标虚拟对象。
现有技术中,一般可以通过两种方式对观察视角参数进行调整,一种方式是通过人工的方式在本地手动调整观察视角参数。
例如,用户在观察某一目标虚拟对象时,如果存在遮挡对象遮挡,需要用户在键盘上按走位键来移动用户的观察位置,比如按住按键"D"就能向右转,按住"A"就能向左转,按住"W"就能前进,按住"S"就能后退,从而通过不断的调整位置,来调整用户的观察视角,直至能够完整观察到目标虚拟对象。但是,在有大量的对象需要被观察时,人工的方式在本地手动调整观察视角参数的方式效率极低,耗费大量人力。
另一种方式可以通过网络在线实时修改,该方式通过网络端调整观察视角参数,并将调整后的观察视角参数同步至本地,但是,在网络端有大量参数需要同步时,数据同步的时延可能较大,造成参数调整的效率较低,对于用户而言,会使得用户感知到时延的过程,因此用户体验不佳。
为了解决的上述问题,本申请提出一种观察虚拟对象的方法、装置、存储介质及电子设备。在对虚拟对象进行观察时,该方法通过射线碰撞检测,确定当前观察位置与目标虚拟对象之间是否有遮挡对象遮挡,在有遮挡的情况下,可以在本地自动调整观察视角参数,无需手动更改或者网络在线更改观察视角参数,这样,在针对大量的观察对象时,能够减少人力资源的消耗,提高了观察视角参数的调整效率,而且相比于网络在线修改的方式,降低了用户对数据同步延时的感知,从而提升了用户的使用体验。
下面结合具体实施例对本公开进行说明。
图1是根据本公开一示例性实施例示出的提供一种观察虚拟对象方法的流程示意图,本实施例可以应用于电子设备,该电子设备可以是电脑、手机、平板电脑等终端设备,如图1所示,该方法包括:
S101,获取待观察的目标虚拟对象的当前视角参数。
其中,在获取当前视角参数前,需要先确定用户选定的待观察的目标虚拟对象。在本步骤中,可以接收用户的选择指令,该选择指令用于选定当前用户想要观察的虚拟对象。
示例地,电子设备可以包括用户操作组件,该用户操作组件可以是触控屏,也可以是鼠标或者控制按钮等,在一种可能的实现方式中,在电子设备展示的三维虚拟场景的界面中包括一焦点,其中,焦点为任意具有视觉指示效果的图案,例如,可以为圆点状、十字形或者圆圈等具有颜色或者预设透明度的图案。用户可以通过用户操作组件操纵该焦点移动,使得该焦点位于用户想要观察的虚拟物体上,则该物体被选定为目标虚拟对象。
例如,以该用户操作组件为鼠标为例进行说明,用户可以通过鼠标进行滑动操作,以使得该焦点根据鼠标的滑动轨迹进行移动,又如,以该用户操作组件为控制按钮为例进行说明,用户可以通过控制按钮控制焦点移动,如控制按钮包括上、下、左、右四个按钮,该四个按钮分别控制焦点按照上、下、左、右四个方向在界面上移动,用户通过点击上述控制按钮控制焦点移动,再如,以该用户操作组件为触控屏为例进行说明,用户可以通过在上述触控屏上通过操作体(如手指或者触控笔等)直接进行滑动操作,以使得焦点按照滑动轨迹进行移动。
示例地,在3D射击游戏场景中,若用户以第三人称视角进行游戏操作,用户的操作界面上会出现一瞄准点(即焦点),在用户想对某一物体进行瞄准射击时,通过移动该瞄准点,将该瞄准点对准该物体,则该物体作为被选定的目标虚拟对象。
在另一种可能的实现方式中,用户可以通过用户操作组件直接选定目标虚拟对象,例如,以该用户操作组件为鼠标为例进行说明,用户可以通过鼠标控制在展示三维虚拟场景的界面上的光标,移动至待选定的虚拟对象的位置,并点击该待选择的虚拟对象,则将该待选择的虚拟对象作为目标虚拟对象,又如,以该用户操作组件为触控屏为例进行说明,该触控屏展示有上述三维虚拟场景,用户可以直接根据展示的三维虚拟场景在展示的界面上点击虚拟对象,从而将点击的虚拟对象作为目标虚拟对象;再如,以该用户操作组件为控制按钮为例进行说明,在展示的三维虚拟场景在展示的界面上可以包括焦点,该控制按钮可以包括上、下、左、右四个按钮以及确认按钮,该四个按钮分别控制焦点按照上、下、左、右四个方向在界面上移动,用户通过该控制按钮控制焦点移动至待选定的虚拟对象的位置,并点击确认按钮,则将该待选定的虚拟对象作为目标虚拟对象。
例如,以3D射击游戏场景为例,若用户以第一人称视角进行游戏操作,在对某一虚拟物体进行瞄准射击前,用户使用鼠标点击或者屏幕碰触的方式,选定该虚拟物体,则该物体作为被选定的目标虚拟对象。
在确定待观察的目标虚拟对象后,可以通过以下两种方式获取目标虚拟对象的当前视角参数,一种方式是:将该目标虚拟对象上一次被观察时所保存的历史视角参数作为该当前视角参数。
在该方式中,考虑到保存的上一次观察目标虚拟对象的参数可能是能够完整观察到该目标虚拟对象的最优视角参数,因此,若上一次观察该目标虚拟对象时存在保存的历史视角参数,在进行射线碰撞检测后如果判定没有遮挡对象遮挡,则可以直接将历史视角参数作为当前视角参数,从而提高观察目标虚拟对象的效率。
另一种方式:将预先设置的初始视角参数作为该当前视角参数。
在该方式中,若该目标虚拟对象是第一次被观察,则可以将预先设置的初始视角参数作为当前视角参数。例如,该视角参数可以是观察视角,则该初始视角参数可以为观察视角为0的视角,当然,这里只是举例说明,该初始视角参数还可以预先设置为其他参数,此处不再赘述。
S102,判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡。
在本步骤中,首先,根据所述当前视角参数发射遮挡对象检测射线。
示例地,该当前视角参数可以包括该目标虚拟对象在三维虚拟场景中的位置信息、观察视角以及所述目标虚拟对象与当前观察位置的距离。该位置信息可以是该目标虚拟对象的位置坐标,该观察视角可以包括偏转角yaw、俯仰角pitch和翻滚角roll。
这里,可以将目标虚拟对象的位置坐标作为遮挡对象检测射线的起点,将目标虚拟对象与当前观察位置的距离作为所述遮挡对象检测射线的射线长度,从起点沿观察视角(yaw、pitch和roll)对应的方向按照所述射线长度发射遮挡对象检测射线。其中,遮挡对象检测射线的长度为从观察位置到该虚拟目标对象的距离。
其次,在接收到该遮挡对象检测射线对应的反馈信息的情况下,确定该当前视角参数不是用于观察目标虚拟对象的最优视角参数;
在发射遮挡对象检测射线后,如果有接收到该遮挡对象检测射线对应的反馈信息,就确定有碰撞某一3D物体,即表示以当前视角参数对应的观察视角观察目标虚拟对象时,存在遮挡对象遮挡,也就是说,该当前视角参数不是用于观察目标虚拟对象的最优视角参数。
需要说明的是,在以第三人称视角进行对象观察的场景下,3D虚拟场景中还会存在当前用户操纵的对象,为了确定在当前观察视角下,当前用户操纵的对象与目标虚拟对象之间是否存在遮挡对象,可以通过上述射线碰撞检测的方式确定,但是,在进行射线碰撞检测时,目标虚拟对象发出的射线也可能会与当前用户操纵的对象发生碰撞,若此时当前用户操纵的对象返回反馈信息,会将当前用户操纵的对象误识别为遮挡对象,因此,为了解决该问题,在本公开另一实施例中,可以为当前用户操纵的对象设置对应的操纵对象标识,不同用户操纵的对象对应不同的操纵对象标识,这样,当目标虚拟对象发出的射线与某个对象碰撞时,若根据该对象的操作对象标识确定该对象为当前用户操纵的对象,则不返回反馈信息,从而避免将当前用户操纵的对象误识别为遮挡对象。
若在达到预设时间段后,未接收到该反馈信息,则确定该当前视角参数是用于观察目标对象的最优视角参数。
S103,在存在所述遮挡对象遮挡的情况下,调整所述当前视角参数得到最优视角。
在存在遮挡对象遮挡的情况下,对当前视角参数进行调整,直至在对目标虚拟对象进行观察时不存在遮挡对象遮挡,调整后的当前视角参数作为最优视角参数,将最优视角参数对应的视角,作为在三维虚拟场景中观察该目标虚拟对象的最优视角。
本步骤可以通过以下两种方式调整该当前视角参数得到最优视角参数:
方式一:在当前视角参数包括观察视角的情况下,可以通过调整观察视角的方式实现,示例地,可以循环执行视角调整步骤,直至满足预设循环终止条件;该视角调整步骤包括:按照预设角度调整值调整该观察视角得到目标视角;确定在以该当前视角参数对应的视角观察该目标虚拟对象时,是否存在遮挡对象遮挡;在确定在以该当前视角参数对应的视角观察该目标虚拟对象时,存在遮挡对象遮挡的情况下,将该目标视角作为新的观察视角。
预设循环终止条件包括:确定在以该当前视角参数对应的视角观察目标虚拟对象时,不存在遮挡对象遮挡;或者,调整后的目标视角超出预设角度范围。
示例地,以观察视角包括yaw、pitch和roll为例进行说明,考虑到roll的偏转是绕笛卡尔坐标系中的Z轴旋转,对roll的调整并不会对碰撞检测中射线的方向偏转造成影响。因此,在本实施例中,只需要对yaw和pitch两个角进行调整即可,则该预设角度调整值可以包括用于调整pitch的角度调整值pitchdelta,以及用于调整yaw的角度调整值yaw delta,在进行遮挡对象射线检测后,如果存在遮挡对象遮挡,则执行pitch调整步骤,该pitch调整步骤包括:保持yaw和roll不变,按照pitchdelta对pitch进行调整,得到新的当前视角参数,然后再次进行射线碰撞检测,判断此时是否还存在遮挡对象遮挡,如果依旧存在遮挡对象遮挡,则仍然保持yaw和roll不变,按照pitchdelta继续对pitch进行调整,依次类推,直至以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡,或者,调整后pitch超出pitch对应的预设角度范围(如0至90°的范围)。
在以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡的情况下,则将调整后的当前视角参数作为最优视角参数。
在调整后pitch超出预设角度范围的情况下,若仍然没有确定最优视角参数,则保持roll不变,并按照yawdelta调整yaw,并重新确定pitch(如将pitch置为初始值;或者,将pitch置为上述历史观察视角中的pitch),并继续执行上述pitch调整步骤,直至以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡,或者,调整后pitch超出预设角度范围。
在调整后pitch超出预设角度范围的情况下,若仍然没有确定最优视角参数,则循环执行保持roll不变,并按照yawdelta调整yaw的步骤至pitch调整步骤,直至以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡;或者,调整后yaw超出yaw对应的预设角度范围(如0至360°的范围)。
在以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡的情况下,则将调整后的当前视角参数作为最优视角参数。
需要说明的是,上述对yaw或pitch的调整可以是将yaw或pitch加上相应的预设角度调整值,也可以是将yaw或pitch减去相应的预设角度调整值,本公开对此不作限定。
另外,上述实施例是以先调整pitch,再调整yaw为例进行说明的,本公开并不局限于此,也可以先调整yaw,再调整pitch,其过程可以参考上述先调整pitch,再调整yaw的描述,此处不再赘述。
方式二:在该当前视角参数包括在该三维虚拟场景中,该目标虚拟对象与当前观察位置的距离的情况下,可以通过以下方式调整该距离:循环执行距离调整步骤,直至满足预设循环终止条件;距离调整步骤包括:按照预设距离调整值调整该距离得到目标距离;确定在以当前视角参数对应的视角观察目标虚拟对象时,是否存在遮挡对象遮挡;在确定在以该当前视角参数对应的视角观察目标虚拟对象时,存在遮挡对象遮挡的情况下,将该目标距离作为新的距离。
预设循环终止条件包括:确定在以该当前视角参数对应的视角观察目标虚拟对象时,不存在遮挡对象遮挡;或者,调整后的目标距离超出预设距离范围。
示例地,按照预设距离调整值调整该距离,得到新的当前视角观察参数,然后进行射线碰撞检测,判断此时是否还存在遮挡对象遮挡,如果仍然存在遮挡对象遮挡,则继续对该距离进行调整,并再次进行射线碰撞检测,判断此时是否还存在遮挡对象遮挡,直至调整后距离超出预设距离范围值;或者,以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡。
同样地,上述对距离的调整可以将该距离加上预设距离调整值;或者,将该距离减去预设距离调整值。
需要说明的是,为了更加精确的调整当前视角参数,本实施例还可以将上述方式一和方式二相结合。
示例地,可以先通过方式一调整观察视角,在按照方式一中的方式完成对观察视角的调整的情况下,若仍然存在遮挡对象遮挡,则可以重新确定观察视角(如将观察视角置为初始值;或者,将观察视角置为上述历史观察视角),并按照预设距离调整值调整该距离,并继续进行射线碰撞检测,判断此时是否还存在遮挡对象遮挡,以此类推,每调整一次该距离,就通过方式一调整观察视角,直至以调整后的当前视角参数观察目标虚拟对象时不存在遮挡对象遮挡;或者,该调整后的目标距离超出预设距离范围。
当时,上述方式一和方式二的结合是以先通过方式一调整观察视角,再参照方式二调整该距离为例进行说明的,本实施例也可以参照方式二调整距离,再通过方式一调整观察视角,本公开对此不作限定,调整方式可以参考上述先通过方式一调整观察视角,再参照方式二调整该距离的描述,不再赘述。
需要说明的是,在上述各方式执行完成后,若仍然没有确定最优视角参数,则可以发出提示信息,该提示信息用于提示用户手动更改视角参数,或提示用户无法观察该对象。
另外,当确定出该最优视角参数后,还可以保存该最优视角参数,以用于下一次观察该目标虚拟对象时能够直接将该保存的最优视角参数作为当前视角参数,从而提高观察目标虚拟对象的效率。
这样,采用上述方式,在对虚拟对象进行观察时,该方法通过射线碰撞检测,确定当前观察位置与目标虚拟对象之间是否有遮挡对象遮挡,在有遮挡的情况下,可以在本地自动调整观察视角参数,无需手动更改或者网络在线更改观察视角参数,这样,在针对大量的观察对象时,能够减少人力资源的消耗,提高了观察视角参数的调整效率,而且相比于网络在线修改的方式,降低了用户对数据同步延时的感知,从而提升了用户的使用体验。
图2是根据本公开一示例性实施例示出的一种观察虚拟对象装置的框图,如图2所示,该装置可以包括:
获取模块201,用于获取待观察的目标虚拟对象的当前视角参数;
检测模块202,用于确定在以该当前视角参数对应的视角观察该目标虚拟对象时,是否存在遮挡对象遮挡;
调整模块203,按照预设角度调整值调整该观察视角得到目标视角参数,循环执行视角参数调整步骤,直至满足预设循环终止条件。
可选地,图3是根据本公开一示例性实施例示出的一种检测模块的框图,如图3所示,该检测模块202,可以包括:
射线发射子模块2021,用于根据该位置信息从该目标对象所在的位置沿该观察视角发射遮挡对象检测射线;
信息反馈子模块2022,用于在接收到该遮挡对象检测射线对应的反馈信息的情况下,确定该当前视角参数不是用于观察目标对象的最优视角参数,若在达到预设时间段后,未接收到该反馈信息,则确定该当前视角参数是用于观察目标对象的最优视角参数。
可选地,图4是根据本公开一示例性实施例示出的一种调整模块的框图,如图4所示,该调整模块203,可以包括:
角度调整子模块2031,用于按照预设角度调整值调整该观察视角得到目标视角,直至满足预设循环终止条件;
距离调整子模块2032,用于按照预设距离调整值调整该距离得到目标距离,直至满足预设循环终止条件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,在对虚拟对象进行观察时,该方法通过射线碰撞检测,确定当前观察位置与目标虚拟对象之间是否有遮挡对象遮挡,在有遮挡的情况下,可以在本地自动调整观察视角参数,无需手动更改或者网络在线更改观察视角参数,这样,在针对大量的观察对象时,能够减少人力资源的消耗,提高了观察视角参数的调整效率,而且相比于网络在线修改的方式,降低了用户对数据同步延时的感知,从而提升了用户的使用体验。
图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的观察虚拟对象方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的观察虚拟对象方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的观察虚拟对象方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的观察虚拟对象方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的观察虚拟对象方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器532,上述程序指令可由电子设备500的处理器522执行以完成上述的观察虚拟对象方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的观察虚拟对象方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种观察虚拟对象的方法,其特征在于,应用于终端设备,所述方法包括:
获取待观察的目标虚拟对象的当前视角参数;
判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;
在存在所述遮挡对象遮挡的情况下,调整所述当前视角参数以得到最优视角。
2.根据权利要求1所述的方法,其特征在于,所述判断以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡,包括:
根据所述当前视角参数发射遮挡对象检测射线;
在接收到所述遮挡对象检测射线对应的反馈信息的情况下,确定在以所述当前视角参数对应的观察视角观察所述目标虚拟对象时,存在遮挡对象遮挡;
若在达到预设时间段后,未接收到所述反馈信息,则确定在以所述当前视角参数对应的观察视角观察所述目标虚拟对象时,不存在遮挡对象遮挡。
3.根据权利要求2所述的方法,其特征在于,所述当前视角参数包括所述目标虚拟对象的位置信息、观察视角以及所述目标虚拟对象与当前观察位置的距离;所述根据所述位置信息从所述目标对象所在的位置沿所述观察视角发射遮挡对象检测射线包括:
将所述目标虚拟对象的位置坐标作为发射所述遮挡对象检测射线的起点;
将所述目标虚拟对象与当前观察位置的距离作为所述遮挡对象检测射线的射线长度;
从所述起点沿所述观察视角,按照所述射线长度发射遮挡对象检测射线。
4.根据权利要求3所述的方法,其特征在于,所述调整所述当前视角参数包括:
循环执行视角调整步骤,直至满足预设循环终止条件;
所述视角调整步骤包括:
按照预设角度调整值调整所述观察视角得到目标视角;
确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;
在所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,存在遮挡对象遮挡的情况下,将所述目标视角作为新的观察视角;
所述预设循环终止条件包括:所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,不存在遮挡对象遮挡;或者,
所述调整后的目标视角超出预设角度范围。
5.根据权利要求3所述的方法,其特征在于,所述当前视角参数包括在所述三维虚拟场景中,所述目标虚拟对象与当前观察位置的距离,所述调整所述当前视角参数包括:
循环执行距离调整步骤,直至满足预设循环终止条件;
所述距离调整步骤包括:
按照预设距离调整值调整所述距离得到目标距离;
确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;
在所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,存在遮挡对象遮挡的情况下,将所述目标距离作为新的距离;
所述预设循环终止条件包括:所述确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,不存在遮挡对象遮挡;或者,
所述调整后的目标距离超出预设距离范围。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取观察所述表目标对象的所述当前视角参数包括:
将所述目标对象上一次被观察时所保存历史视角参数作为所述当前视角参数;或者,
将预先设置的初始视角参数作为所述当前视角参数。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到所述最优视角后,保存所述最优视角的视角参数。
8.一种观察虚拟对象的装置,其特征在于,所述装置包括:
获取模块,用于获取待观察的目标虚拟对象的当前视角参数;
检测模块,用于确定在以所述当前视角参数对应的视角观察所述目标虚拟对象时,是否存在遮挡对象遮挡;
调整模块,按照预设角度调整值调整所述观察视角得到目标视角参数,循环执行视角参数调整步骤,直至满足预设循环终止条件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519710.0A CN111784844B (zh) | 2020-06-09 | 2020-06-09 | 观察虚拟对象的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519710.0A CN111784844B (zh) | 2020-06-09 | 2020-06-09 | 观察虚拟对象的方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111784844A true CN111784844A (zh) | 2020-10-16 |
CN111784844B CN111784844B (zh) | 2024-01-05 |
Family
ID=72755829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010519710.0A Active CN111784844B (zh) | 2020-06-09 | 2020-06-09 | 观察虚拟对象的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111784844B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596840A (zh) * | 2020-12-24 | 2021-04-02 | 北京城市网邻信息技术有限公司 | 一种信息处理方法及装置 |
CN113813607A (zh) * | 2021-08-27 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 游戏视角的切换方法和装置、存储介质及电子设备 |
CN114898076A (zh) * | 2022-03-29 | 2022-08-12 | 北京城市网邻信息技术有限公司 | 模型标签的添加方法、装置、电子设备及存储介质 |
CN115996357A (zh) * | 2023-03-23 | 2023-04-21 | 南昌龙旗智能科技有限公司 | 虚拟位置处理方法及虚拟设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108499105A (zh) * | 2018-04-16 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 在虚拟环境中进行视角调整的方法、装置及存储介质 |
US20180357817A1 (en) * | 2017-06-12 | 2018-12-13 | Colopl, Inc. | Information processing method, program, and computer |
JP2019033906A (ja) * | 2017-08-16 | 2019-03-07 | 株式会社コロプラ | 情報処理方法、プログラム及びコンピュータ |
CN109634413A (zh) * | 2018-12-05 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 对虚拟环境进行观察的方法、设备及存储介质 |
CN110045827A (zh) * | 2019-04-11 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物品的观察方法、装置及可读存储介质 |
CN110465073A (zh) * | 2019-08-08 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 虚拟环境中视角调整的方法、装置、设备及可读存储介质 |
CN110585704A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象提示方法、装置、设备及存储介质 |
CN110732135A (zh) * | 2019-10-18 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 虚拟场景显示方法、装置、电子设备及存储介质 |
CN110917618A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 在虚拟环境中控制虚拟对象的方法、装置、设备及介质 |
-
2020
- 2020-06-09 CN CN202010519710.0A patent/CN111784844B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180357817A1 (en) * | 2017-06-12 | 2018-12-13 | Colopl, Inc. | Information processing method, program, and computer |
JP2019033906A (ja) * | 2017-08-16 | 2019-03-07 | 株式会社コロプラ | 情報処理方法、プログラム及びコンピュータ |
CN108499105A (zh) * | 2018-04-16 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 在虚拟环境中进行视角调整的方法、装置及存储介质 |
CN109634413A (zh) * | 2018-12-05 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 对虚拟环境进行观察的方法、设备及存储介质 |
CN110045827A (zh) * | 2019-04-11 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物品的观察方法、装置及可读存储介质 |
CN110465073A (zh) * | 2019-08-08 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 虚拟环境中视角调整的方法、装置、设备及可读存储介质 |
CN110585704A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象提示方法、装置、设备及存储介质 |
CN110732135A (zh) * | 2019-10-18 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 虚拟场景显示方法、装置、电子设备及存储介质 |
CN110917618A (zh) * | 2019-11-20 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 在虚拟环境中控制虚拟对象的方法、装置、设备及介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596840A (zh) * | 2020-12-24 | 2021-04-02 | 北京城市网邻信息技术有限公司 | 一种信息处理方法及装置 |
CN113813607A (zh) * | 2021-08-27 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 游戏视角的切换方法和装置、存储介质及电子设备 |
CN113813607B (zh) * | 2021-08-27 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 游戏视角的切换方法和装置、存储介质及电子设备 |
CN114898076A (zh) * | 2022-03-29 | 2022-08-12 | 北京城市网邻信息技术有限公司 | 模型标签的添加方法、装置、电子设备及存储介质 |
CN115996357A (zh) * | 2023-03-23 | 2023-04-21 | 南昌龙旗智能科技有限公司 | 虚拟位置处理方法及虚拟设备 |
CN115996357B (zh) * | 2023-03-23 | 2023-10-31 | 南昌龙旗智能科技有限公司 | 虚拟位置处理方法及虚拟设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111784844B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111784844A (zh) | 观察虚拟对象的方法、装置、存储介质及电子设备 | |
US20190369836A1 (en) | Human-computer interface for computationally efficient placement and sizing of virtual objects in a three-dimensional representation of a real-world environment | |
CN108525298B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN113132618A (zh) | 辅助拍照方法、装置、终端设备及存储介质 | |
CN113643356B (zh) | 相机位姿确定、虚拟物体显示方法、装置及电子设备 | |
US20220101620A1 (en) | Method and apparatus for interactive display of image positioning, electronic device and storage medium | |
US20140354631A1 (en) | Non-transitory storage medium encoded with computer readable information processing program, information processing apparatus, information processing system, and information processing method | |
CN111724361B (zh) | 实时显示病灶的方法及装置、电子设备和存储介质 | |
US20200402321A1 (en) | Method, electronic device and storage medium for image generation | |
CN110689479A (zh) | 一种人脸上妆方法、装置、设备及介质 | |
US8591331B1 (en) | Display control system, display control method, display control device, and computer-readable storage medium | |
CN111061575A (zh) | 数据处理方法、装置、用户设备及增强现实系统 | |
CN107592458B (zh) | 一种拍摄方法及移动终端 | |
KR101321274B1 (ko) | 두대의 카메라와 광원을 이용한 포인터를 사용하지 않는 가상 터치 장치 | |
CN111343329B (zh) | 锁屏显示控制方法、装置及存储介质 | |
US20220301220A1 (en) | Method and device for displaying target object, electronic device, and storage medium | |
CN107728811B (zh) | 界面操控方法、装置及系统 | |
CN112261300B (zh) | 对焦方法、装置及电子设备 | |
CN112295221B (zh) | 人机交互的处理方法、装置及电子设备 | |
CN113727164B (zh) | 直播间入口显示方法、装置、电子设备和存储介质 | |
CN109542284B (zh) | 一种图像显示参数调节方法、装置、终端及存储介质 | |
CN112783998A (zh) | 导航方法及电子设备 | |
CN116385599B (zh) | 文字交互方法、装置、电子设备和存储介质 | |
CN106293098B (zh) | 用于医疗显示的基于手势的光标移动方法及装置 | |
CN115994974A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 307, 3 / F, supporting public building, Mantingfangyuan community, qingyanli, Haidian District, Beijing 100086 Applicant after: Beijing Wuyi Vision digital twin Technology Co.,Ltd. Address before: Room 307, 3 / F, supporting public building, Mantingfangyuan community, qingyanli, Haidian District, Beijing 100086 Applicant before: DANGJIA MOBILE GREEN INTERNET TECHNOLOGY GROUP Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |