CN112915530A - 虚拟物品的选择方法、装置、设备及介质 - Google Patents
虚拟物品的选择方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112915530A CN112915530A CN202110366528.0A CN202110366528A CN112915530A CN 112915530 A CN112915530 A CN 112915530A CN 202110366528 A CN202110366528 A CN 202110366528A CN 112915530 A CN112915530 A CN 112915530A
- Authority
- CN
- China
- Prior art keywords
- model
- geometric
- virtual
- detection model
- geometric surface
- 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
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/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- 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)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟物品的选择方法、装置、设备及介质,属于人机交互领域。所述方法包括:显示第一界面,第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,第一数量的虚拟物品显示为第一表现特征;响应于接收在第一界面上的人机交互操作,确定第一选择框;基于第一选择框,生成三维虚拟环境中的探测模型,探测模型为三维虚拟环境中的几何体模型,探测模型包围有第二数量的虚拟物品,第二数量的虚拟物品是第一数量的虚拟物品的子集;在第一界面上的第一选择框内显示第二数量的虚拟物品,第二数量的虚拟物品显示为第二表现特征。上述方法实现了基于用户的一次操作达到同时选择多个虚拟物品的效果,提升了用户的人机交互体验。
Description
技术领域
本申请涉及人机交互领域,特别涉及一种虚拟物品的选择方法、装置、设备及介质。
背景技术
在三维游戏场景中,用户经常需要对虚拟物品进行选择,之后进行拾取或破坏或丢弃等操作。
相关技术中,当用户点击屏幕上的A点时,终端将A点在屏幕上的坐标转换为A点在三维虚拟环境中的坐标,之后从三维虚拟环境中的摄像机模型的位置朝三维虚拟环境中的A点发送射线,基于终端对该射线的等距离采样,当采样到该射线上某一点的颜色值和透明度发生明显突变时,终端确定该射线与三维虚拟环境内其中一个虚拟物品发生碰撞,即终端获取用户对该虚拟物品的选择指令。
然而,若使用相关技术对多个虚拟物品进行选择时,用户需逐个点击屏幕上相对应的多个点,操作繁琐且效率低下。
发明内容
本申请提供了一种虚拟物品的选择方法、装置、设备及介质,能够同时选择多个虚拟物品。所述技术方案如下:
根据本申请的一个方面,提供了一种虚拟物品的选择方法,方法包括:
显示第一界面,第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,第一数量的虚拟物品显示为第一表现特征;
响应于接收在第一界面上的人机交互操作,确定第一选择框;
基于第一选择框,生成三维虚拟环境中的探测模型,探测模型为三维虚拟环境中的几何体模型,探测模型包围有第二数量的虚拟物品,第二数量的虚拟物品是第一数量的虚拟物品的子集;
在第一界面上的第一选择框内显示第二数量的虚拟物品,第二数量的虚拟物品显示为第二表现特征。
根据本申请的一个方面,提供了一种虚拟物品的选择装置,装置包括:
显示模块,用于显示第一界面,第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,第一数量的虚拟物品显示为第一表现特征;
确定模块,用于响应于接收在第一界面上的人机交互操作,确定第一选择框;
生成模块,用于基于第一选择框,生成三维虚拟环境中的探测模型,探测模型为三维虚拟环境中的几何体模型,探测模型包围有第二数量的虚拟物品,第二数量的虚拟物品是第一数量的虚拟物品的子集;
显示模块,还用于在第一界面上的第一选择框内显示第二数量的虚拟物品,第二数量的虚拟物品显示为第二表现特征。
根据本申请的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的虚拟物品的选择方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的虚拟物品的选择方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟物品的选择方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过接收用户在第一用户界面上的人机交互操作,终端确定第一选择框,基于该第一选择框,终端生成探测模型,然后,终端选中探测模型内的虚拟物品,最后,终端在第一选择框内显示探测模型内的虚拟物品。上述方法实现了基于用户的一次操作达到同时选择多个虚拟物品的效果,不仅极大提高了终端选择虚拟物品的效率,还丰富了用户选择虚拟物品的方式,提升了用户的人机交互体验,用户只需在屏幕上确定第一选择框即可选择多个虚拟物品。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例提供的虚拟物品的选择系统的示意图;
图2是本申请一个示例性实施例提供的虚拟物品的选择方法的流程图;
图3是本申请一个示例性实施例提供的第一界面的示意图;
图4是本申请一个示例性实施例提供的探测模型的示意图;
图5是本申请另一个示例性实施例提供的第一界面的示意图;
图6是本申请另一个示例性实施例提供的虚拟物品的选择方法的流程图;
图7是本申请另一个示例性实施例提供的虚拟物品的选择方法的流程图;
图8是本申请一个示例性实施例提供的空心球体模型包围虚拟兔子的示意图;
图9是本申请一个示例性实施例提供的判断空心球体模型与探测模型的位置关系的方法的示意图;
图10是本申请另一个示例性实施例提供的虚拟物品的选择方法的流程图;
图11是本申请一个示例性实施例提供的虚拟物品的选择装置的结构框图;
图12示出了本申请一个示例性实施例提供的电子设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
第一选择框:指用户欲选择的虚拟物品的包围框。在一个实施例中,第一选择框是基于用户的触控操作得到的,示例性的,第一选择框为圆形,响应于用户的第一次触控操作,终端确定第一选择框的圆心,响应于用户的第二次触控操作,终端确定第一选择框的圆周上的点,由此,终端生成第一界面上的第一选择框。
第一几何面、第二几何面:分别指探测模型的顶面和底面,在一个实施例中,第二几何面与第一几何面平行。在一个实施例中,将第一界面上的第一选择框映射为三维虚拟环境中的第一几何面。在一个实施例中,通过第一几何面和第二几何面可唯一确定探测模型。
探测模型:指包含第二数量的虚拟物品的三维空间模型。在一个实施例中,探测模型为四棱台,第一几何面和第二几何面为四棱台的两个平行的面,探测深度为四棱台的高。在一个实施例中,探测模型为圆台,第一几何面和第二几何面为圆台的两个平行的面,探测深度为圆台的高。在一个实施例中,探测模型为任意不规则的多棱台,第一拾取框和第二拾取框为多棱台的两个平行的面,探测深度为多棱台的高。在一个实施例中,探测模型为球体。
Canvas(一种可用于绘制图形的画布):HTML5(Hyper Text Markup Lan guage 5,第五代超文本标记语言)的一个标签,允许脚本语言动态渲染位图像。
Threejs(一种运行在浏览器中的3D引擎):可以用于在网站中创建各种三维场景,Threejs是通过对WebGL(一种3D绘图协议)接口的封装与简化而形成的一个易用的3D图形库,包括了摄影机、光影、材质等各种对象。
WebGL:这种绘图技术标准允许把JavaScript(一种用于客户端开发的脚本语言)和OpenGL ES 2.0(一个跨编程语言、跨平台的编程图形程序接口)结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化等。
光线投射算法:是一种在空间中选择物体的算法,利用从每一个屏幕像素处发射一条光线,让光线穿过物体体数据并进行采样,最后通过采样点的颜色值和不透明度来判断是否命中了某个物体。
图1是本申请一个示例性实施例的虚拟物品的选择系统的示意图,如图1所示,虚拟物品的选择系统100包括探测模型生成系统101、空心球体模型生成系统102和位置判断系统103。
响应于将第一选择框输入至探测模型生成系统101,探测模型生成系统101生成探测模型。
在一个实施例中,探测模型系统101将第一选择框映射为三维虚拟环境中的第一几何面,基于探测模型系统101内置的摄像机模型的坐标和探测深度,由第一几何面生成第二几何面,以第一几何面作为探测模型的顶面以及以第二几何面作为探测模型的底面,探测模型系统101生成三维虚拟环境中的探测模型。
响应于将三维虚拟环境中的第一数量的虚拟物品输入空心球体模型生成系统102,空心球体模型生成系统102输出第一数量的空心球体模型。
在一个实施例中,第一虚拟物品是第一数量的虚拟物品中的任意一个。空心球体模型生成系统102首先在第一虚拟物品上建立xyz坐标轴,然后,空心球体模型生成系统102分别获取第一虚拟物品在x轴上间隔最大的两个点之间的第一距离,第一虚拟物品在y轴上间隔最大的两个点之间的第二距离,第一虚拟物品在z轴上间隔最大的两个点之间的第三距离;其次,空心球体模型生成系统102将第一距离、第二距离和第三距离中的最大距离,确定为第一空心球体模型的直径长度;接着,在最大距离对应的两个点上,空心球体模型生成系统102基于直径长度生成第一中间空心球体模型;最后,空心球体模型生成系统102遍历第一虚拟物品的边界点,基于第一虚拟物品的边界点均落在第一中间空心球体模型内,空心球体模型生成系统102确定第一中间空心球体模型为最终三维虚拟环境中的第一空心球体模型。
响应于探测模型生成系统101将探测模型输入至位置判断系统103,以及,空心球体模型生成系统102将第一数量的空心球体模型输入至位置判断系统103,位置判断系统103输出显示指令。
在一个实施中,位置判断系统103首先以第一数量的空心球体模型中每个空心球体模型的球心为端点,发送射线;然后,响应于位置判断系统103检测到第二数量的射线穿过探测模型的一个面,位置判断系统103确定第二数量的空心球体模型处于探测模型内,最后位置判断系统103向终端发送在第一选择框内显示第二数量的空心球体模型包围的第二数量的虚拟物品的指令。
在一个实施例中,上述虚拟物品的选择系统100可以至少运行在终端上,或运行在服务器上,或运行在终端和服务器上。
本领域技术人员可以知晓,上述终端和服务器的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。上述服务器可以仅为一个,或者上述服务器为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型、服务器的数量不加以限定。
下述实施例以虚拟物品的选择系统100应用于终端为例,进行解释说明。
为实现对多个虚拟物品的选择,图2是本申请一个示例性实施例的虚拟物品的选择方法的流程图,以图2所示的方法应用于图1所示的虚拟资源的选择系统,图2所示的方法包括:
步骤220,显示第一界面;
其中,第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,第一数量的虚拟物品显示为第一表现特征;
第一表现特征用于标识虚拟物品的未被选择的状态。在一个实施例中,第一表现特征可以为颜色表现特征、大小表现特征、形状表现特征、图案表现特征等。在一个实施例中,以表现特征为图案表现特征和大小表现特征的结合表现特征举例说明,结合参考图3,图3示出了在第一界面显示第一数量的虚拟物品的示意图。
步骤240,响应于接收在第一界面上的人机交互操作,确定第一选择框;
在一个实施例中,第一选择框指用户欲选择的目标虚拟资源的包围框。可选的,第一选择框为圆形;可选的,第一选择框为矩形;可选的,第一选择框为不规则的几何图形,本申请对第一选择框的形状大小不加以限定。
在一个实施例中,首先,响应于接收在第一界面上的滑动开始操作,终端获取第一选择框的第一定位点;然后,响应于接收在第一界面上的滑动结束操作,终端获取第一选择框的第二定位点;最后,基于第一定位点和第二定位点,终端确定第一选择框。
在一个实施例中,第一选择框为矩形。可选的,响应于终端接收在第一界面上的第一次触控操作,终端获取第一选择框的第一顶点,响应于终端接收在第一界面上的第二次触控操作,终端获取第一选择框的第二顶点,第一顶点与第二顶点处于矩形的对角线上。由此,基于第一顶点和第二顶点,终端确定第一选择框。
可选的,响应于终端接收在第一界面上的触控操作,终端获取第一选择框的第一定位点,此时第一定位点为第一选择框的第一顶点,响应于终端接收在第一界面上的滑动操作和释放操作,终端获取第一选择框的第二定位点,此时第二定位点为第一选择框的第二顶点,第一顶点与第二顶点处于矩形的对角线上,基于第一定位点和第二定位点,在第一界面上显示第一选择框。
示意性的,响应于用户通过手指触控屏幕的第一定位点,终端获取第一定位点的坐标(10,10),响应于用户持续按压屏幕并滑动手指至第二定位点,基于用户释放手指,终端获取第二定位点的坐标(80,50),基于第一定位点(10,10)和第二定位点(80,50),终端生成第一界面上的第一选择框。
示意性的,图3示出了本申请一个示例性实施例的包含第一选择框的第一界面示意图。图3示出了第一选择框301。
步骤260,基于第一选择框,生成三维虚拟环境中的探测模型;
其中,探测模型为三维虚拟环境中的几何体模型,探测模型包围有第二数量的虚拟物品,第二数量的虚拟物品是第一数量的虚拟物品的子集。
在一个实施例中,图4示出了本申请一个示例性实施例的探测模型的示意图。图4中四棱台abcda’b’c’d’即为一个探测模型。
在一个实施例中,基于第一界面上的第一选择框,终端生成三维虚拟环境中的探测模型。
在一个实施例中,探测模型指包含第二数量的虚拟物品的三维空间模型。在一个实施例中,探测模型为四棱台,第一几何面和第二几何面分别为四棱台的两个平行的面,探测深度为四棱台的高。在一个实施例中,探测模型为圆台,第一几何面和第二几何面为圆台的两个平行的面,探测深度为圆台的高。在一个实施例中,探测模型为任意不规则的多棱台,第一几何面和第二几何面为多棱台的两个平行的面,探测深度为多棱台的高。在一个实施例中,探测模型为球体。本申请对探测模型的形状大小不加以限定。
步骤280,在第一界面上的第一选择框内显示第二数量的虚拟物品。
其中,所述第二数量的虚拟物品显示为第二表现特征。
其中第二表现特征与第一表现特征概念相类似,具体见步骤220。
值得注意的是,在本申请中,第一数量的虚拟物品的第一表现特征与第二数量的虚拟物品的第二表现特征可以相同,也可以不同。第一表现特征与第二表现特征的区别仅用于在屏幕上表现终端已完成对虚拟物品的选择,在可选的应用场景中,即使第一表现特征与第二表现特征相同,也不影响终端完成对虚拟物品的选择。在可选的应用场景中,终端完成对虚拟物品的选择之后即进行拾取或丢弃或破坏,并不在屏幕上对虚拟物品的表现特征进行改变。
在一个实施例中,图5示出了本申请一个示例性实施例的包含第一选择框的第一界面示意图。图5示出了通过第一选择框301选择了5个虚拟资源。
综上所述,通过接收用户在第一用户界面上的人机交互操作,终端确定第一选择框,基于该第一选择框,终端生成探测模型,然后,终端选中探测模型内的虚拟物品,最后,终端在第一选择框内显示探测模型内的虚拟物品。上述方法实现了基于用户的一次操作达到同时选择多个虚拟物品的效果,不仅极大提高了终端选择虚拟物品的效率,还丰富了用户选择虚拟物品的方式,提升了用户的人机交互体验,用户只需在屏幕上确定第一选择框即可选择多个虚拟物品。
为实现由第一选择框生成探测模型,图6示出了本申请一个示例性实施例的虚拟物品的选择方法的流程图,在基于图2所示的可选的实施例中,步骤260可以包括以下三个步骤:
步骤262,将第一选择框,映射为三维虚拟环境中的第一几何面;
在一个实施例中,基于第一选择框在第一界面的坐标,终端转换得到第一几何面在三维虚拟环境中的坐标。
在一个实施例中,基于第一选择框在第一界面的坐标,根据第一几何面与三维虚拟环境中的摄像机模型的距离,终端转换得到第一几何面在三维虚拟环境中的坐标。
示意性的,第一选择框为矩形,第一选择框的四个顶点在第一界面的坐标为(10,10)、(10,50)(80,50)和(80,10),若摄像机模型在三维虚拟环境的坐标为(0,0,0),第一几何面在三维虚拟环境中与摄像机模型的距离为30,得到第一几何面的四个顶点在三维虚拟环境中的坐标为(10,10,30)、(10,50,30),(80,50,30)和(80,10,30)。
示意性的,结合参考图4,图4示出了本申请一个示例性实施例的构建探测模型的示意图。终端获取第一几何面402的四个顶点在三维虚拟环境中的坐标为a(ax,ay,az)、b(bx,by,bz)、c(cx,cy,cz)和d(dx,dy,dz),摄像机模型的坐标为A(Ax,Ay,Az)。
步骤264,基于三维虚拟环境中的摄像机模型的坐标和探测深度,由第一几何面生成第二几何面;
其中,第二几何面与第一几何面平行,探测深度为第二几何面与第一几何面之间的距离。
在一个实施例中,探测深度指探测模型的高。
在一个实施例中,探测深度为预设的存储于终端内存储器的数据;在一个实施例中,探测深度为用户手动设置的数据。
值得注意的是,本申请对上述探测深度的大小并不加以限定。
可选的,上述探测深度数值较大,即构建的探测模型的高较大,响应于用户在屏幕上确定第一选择框,用户选中屏幕上第一选择框包围的所有的虚拟物品;
可选的,上述探测深度数值较小,即构建的探测模型的高较小,响应于用户在屏幕上确定第一选择框,用户选中屏幕上第一选择框包围的部分虚拟物品,即,无论用户在屏幕上如何确定第一选择框,用户无法选中屏幕上第一选择框包围的特定的虚拟物品。
在基于图2所示的可选的实施例中,,步骤264可以包括以下步骤:
步骤264-1,基于摄像机模型的坐标和第一几何面的边界点的坐标,得到第一向量集;
其中,第一向量集的方向为摄像机模型指向第一几何面的边界点的方向。
在一个实施例中,基于摄像机模型的坐标和第一几何面的边界点的坐标,终端得到第一向量集。
示意性的,结合参考图4,第一几何面402上的四个顶点a、b、c和d在三维虚拟环境中的坐标依次为(ax,ay,az)、(bx,by,bz)、(cx,cy,cz)和(dx,dy,dz),摄像机模型401的坐标为A(Ax,Ay,Az),则第一向量集为(ax-Ax,ay-Ay,az-Az)、(bx-Ax,by-Ay,bz-Az)、(cx-Ax,cy-Ay,cz-Az)和(dx-Ax,dy-Ay,dz-Az)。
步骤264-2,计算探测深度和所述第一向量集的乘积,得到第二向量集;
其中,第二向量集的方向为摄像机模型指向第二几何面的边界点的方向。
示意性的,探测深度为s,结合参考图4,则第二向量集为(s*(ax-Ax,ay-Ay,az-Az))、(s*(bx-Ax,by-Ay,bz-Az))、(s*(cx-Ax,cy-Ay,cz-Az))和(s*(dx-Ax,dy-Ay,dz-Az))。
步骤264-3,计算第二向量集与摄像机模型的坐标的和,得到第二几何面的边界点的坐标;
示意性的,结合参考图4,第二几何面403上的四个顶点a’、b’、c’和d’在三维虚拟环境中的坐标依次为(Ax+s*(ax-Ax),Ay+s*(ay-Ay),Az+s*(az-Az))。
步骤264-4,根据第二几何面的边界点的坐标生成第二几何面。
在一个实施例中,依次连接上述步骤264-3得到的第二几何面上的四个顶点a’、b’、c’和d’,终端在三维虚拟环境中生成第二几何面。
步骤266,以第一几何面作为几何体模型的顶面以及以第二几何面作为几何体模型的底面,生成三维虚拟环境中的探测模型。
在基于图2所示的可选的实施例中,步骤266可以包括以下步骤:
步骤266-1,根据所述第一几何面的相邻顶点的坐标和所述摄像机模型的坐标,计算得到第一平面、第二平面、第三平面和第四平面;
其中,第一平面、第二平面、第三平面和第四平面均为无限平面。
在一个实施例中,结合参考图4,摄像机模型401的坐标为A(Ax,Ay,Az),第一几何面402的第一顶点a(ax,ay,az)、与a相邻的第二顶点b(bx,by,bz),通过基础数学平面方程O(x-x0)+P(y-y0)+W(z-z0)=0可由A点、a点和b点计算得到第一平面,由图4可得,第一平面为包含点A、点a、点b、点a’和点b’的平面。
同理可得第二平面、第三平面和第四平面。
步骤266-2,以第一平面作为探测模型的第一侧面所在的平面、以第二平面作为探测模型的第二侧面所在的平面、以第三平面作为探测模型的第三侧面所在的平面和以第四平面作为探测模型的第四侧面所在的平面。
在一个实施例中,结合参考图4,第一平面为第一侧面abb’a’所在的平面,第二平面为第二侧面bcc’b’所在的平面,第三平面为第三侧面dcc’d’所在的平面,第四平面为第四侧面add’a’所在的平面。
步骤266-3,根据第一几何面、第二几何面、第一侧面、第二侧面、第三侧面和第四侧面,包围得到三维虚拟环境中的探测模型。
在一个实施例中,结合参考图4,根据上述第一侧面abb’a’、第二侧面bcc’b’、第三侧面dcc’d’、第四侧面add’a’、第一几何面402和第二几何面403包围得到探测模型的六个面,以此唯一确定三维虚拟环境中的探测模型。
综上所述,通过在屏幕上确定第一选择框,基于该第一选择框,结合三维虚拟环境中摄像机模型的坐标,终端在三维虚拟环境中生成第一几何面和第二几何面,然后,终端在三维虚拟环境中构建探测模型。上述方法实现了基于用户的一次操作达到同时选择多个虚拟物品的效果,不仅极大提高了终端选择虚拟物品的效率,还丰富了用户选择虚拟物品的方式,提升了用户的人机交互体验,用户只需在屏幕上确定第一选择框即可选择多个虚拟物品。
上述方法还通过设置探测模型的深度来判断终端是否选中三维虚拟环境中的虚拟物品。当探测模型的深度数值较大时,用户选中屏幕上第一选择框包围的所有的虚拟物品;当探测模型的深度数值较小时,无论用户在屏幕上如何确定第一选择框,用户无法选中屏幕上第一选择框包围的特定的虚拟物品。上述方法实现了探测模型深度的可调节,基于上述方法,终端可灵活显示用户选择虚拟物品时产生的效果。
为实现确定探测模型内存在第二数量的虚拟物品,图7示出了本申请一个示例性实施例的虚拟物品的选择方法的流程图,在基于图2所示的可选实施例中,步骤260之后还包括以下步骤:
步骤272,在三维虚拟环境中生成第一数量的空心几何体模型;
其中,空心几何体模型用于包围虚拟物品且存在一一对应关系。
在一个实施例中,终端在三维虚拟环境中生成第一数量的空心几何体模型。可选的,空心几何体模型为正方体;可选的,空心几何体模型为长方体,可选的,空心几何体模型为球体,可选的,空心几何体模型为不规则的几何体。其中,本申请对空心几何体模型的形状大小不加以限定。
在一个实施例中,空心几何体模型为空心球体模型。
在一个实施例中,首先,终端在三维虚拟环境中的第一虚拟物品上建立xyz坐标,其中,第一虚拟物品是第一数量的虚拟物品中的任意一个;接着,终端分别获取第一虚拟物品在x轴上间隔最大的两个点之间的第一距离,第一虚拟物品在y轴上间隔最大的两个点之间的第二距离,第一虚拟物品在z轴上间隔最大的两个点之间的第三距离;然后,终端将第一距离、第二距离和第三距离中的最大距离,确定为第一中间空心球体模型的直径长度;其次,在最大距离对应的两个点上,基于直径长度终端生成第一中间空心球体模型;最后,遍历第一虚拟物品的边界点,基于第一虚拟物品的边界点均落在第一中间空心球体模型内,终端确定第一中间空心球体模型为最终三维虚拟环境中的第一空心球体模型。
示意性的,图8示出了一个空心球体模型包围虚拟兔子的示意图。
步骤274,计算空心几何体模型与探测模型的位置关系;
在一个实施例中,响应于第一数量的空心几何体模型存在第二数量的空心几何体模型的几何点处于探测模型内,确定第二数量的空心几何体模型处于探测模型内。
在一个实施例中,上述几何点为与空心几何体模型相关联的点。
可选的,几何点为空心几何体模型的重心或外心或内心或中心,本申请对该几何点的数学含义并不加以限定。
在一个实施例中,空心几何体模型为空心球体模型。响应于第一数量的空心球体模型中的第二数量的空心球体模型的球心处于探测模型内,确定第二数量的空心球体模型处于探测模型内。
在一个实施例中,终端首先以第一数量的空心球体模型中每个空心球体模型的球心为端点,发送射线;接着,响应于终端检测到第二数量的射线穿过探测模型的一个面,终端确定第二数量的空心球体模型处于探测模型内。
示意性的,探测模型为长方体,图9示出了本申请一个示例性实施例的判断空心球体模型与探测模型的位置关系的方法示意图。其中M点、N点和K点为三个空心球体模型的球心,从图9中可以看出,从M点发送的射线穿过探测模型的两个面,因此终端确定M点不在探测模型内,即终端确定球心为M点的空心球体模型不在探测模型内;从N点发送的射线穿过探测模型的一个面,因此终端确定N点在探测模型内,即终端确定球心为N点的空心球体模型在探测模型内;从K点发送的射线未穿过探测模型的面,因此终端确定K点不在探测模型内,即终端确定球心为K点的空心球体模型不在探测模型内。
步骤276,响应于第二数量的空心几何体模型位于探测模型内,确定第二数量的空心几何体模型包围的第二数量的虚拟物品位于探测模型内。
在一个实施例中,响应于第二数量的空心几何体模型位于探测模型内,终端确定第二数量的空心几何体模型包围的第二数量的虚拟物品位于探测模型内。
综上所述,通过在三维虚拟环境中的虚拟物品上建立空心球体模型,若确定空心球体模型的球心在探测模型内部,则确定空心球体模型包围的虚拟物品在探测模型内部,即终端接收到用户对虚拟物品的选择指令。上述方法实现了对虚拟物品是否在探测模型内部的判断,提高了终端确定虚拟物品在探测模型内部的效率,规范了终端确定虚拟物品在探测模型内部的标准,操作简便且容易实现。
在一个实施例中,上述步骤260由以下代码实现:
let frustum=new THREE.Frustum();//创建探测模型
let planes=frustum.planes;//获取探测模型的6个平面
//每3个点确定一个平面,每个点都是三维坐标结构(x,y,z)
Planes[0].setFromCoplanarPoints(vecNear,vecTopLeft,vecTopRight);
Planes[1].setFromCoplanarPoints(vecNear,vecTopRight,vecDownRight);
Planes[2].setFromCoplanarPoints(vecDownRight,vecDownLeft,vecNear);
Planes[3].setFromCoplanarPoints(vecDownLeft,vecTopLeft,vecNear);
Planes[4].setFromCoplanarPoints(vecTopRight,vecDownRight,vecDownLeft);
Planes[5].setFromCoplanarPoints(vectemp3,vectemp2,vectemp1);
Three.Frustum是Threejs预设的探测模型几何结构数据模型,通过Frustum只需要输入6个平面至数据模型即可完成探测模型的创建。setFromCoplanarPoi nts是Threejs封装好的通过3个点的坐标来生成一个平面的方法。
VecNear为摄像机模型的坐标,vecTopLeft为第一几何面左上角顶点的坐标,vecTopRight为第一几何面右上角顶点的坐标,vecDownRight为第一几何面右下角顶点的坐标,vecDownLeft为第一几何面左下角顶点的坐标。
vectemp1、vectemp2、vectemp3为3个临时变量,它们依次表示第二几何面左上角顶点的坐标、第二几何面右上角顶点的坐标和第二几何面右下角顶点的坐标。
在一个实施例中,上述vectemp1、vectemp2、vectemp3由以下代码得到。
vectemp1.copy(vecTopLeft);
vectemp1.multiplyScalar(this.deep);//计算vecTopLeft和探测深度的乘积
vectemp2.copy(vecTopRight);
vectemp2.multiplyScalar(this.deep);//计算vecTopRight和探测深度的乘积
vectemp3.copy(vecDownRight);
vectemp3.multiplyScalar(this.deep);//计算vecDownRight和探测深度的乘积
在一个实施例中,上述步骤272至步骤276由以下代码实现:
let geometry=mesh.geometry;//获得第一数量的虚拟物品的几何结构
geometry.computeBoundingSphere();//计算空心球体模型
let centerPoint=geometry.boundingSphere.center;//获取空心球体模型球心的坐标
判断空间包围球的球心是否落在探测模型内的代码:
在一个实施例中,图10示出了本申请一个示例性实施例的虚拟物品的选择方法的流程图,以图10所示的方法应用于终端,该方法包括:
步骤1001,侦听用户触屏事件;
响应于用户的触屏操作,终端侦听用户触屏事件。
步骤1002,响应于用户在屏幕上的滑动操作,确定视锥体的近点面;
响应于用户在屏幕上的滑动操作,终端确定视锥体的近点面。
步骤1003,创建视锥体;
基于往终端输入摄像机的位置、在终端内设定拾取深度和已确定的视锥体的近点面,终端在三维虚拟环境中创建视锥体。
步骤1004,为场景中所有物体创建空间包围球;
终端为场景中所有虚拟物品创建空间包围球。
步骤1005,获得空间包围球的球心坐标;
终端获取空间包围球的球心坐标。
步骤1006,遍历所有球心检测其是否在视锥体内部;
基于步骤1003已创建完成的视锥体,终端遍历所有上述空间包围球的球心,检测球心是否在视锥体内部。若空间包围球的球心不在视锥体内部,执行步骤1007;若空间包围球的球心在视锥体内部,执行步骤1008。
步骤1007,不做任何处理;
响应于终端检测到空间包围球的球心不在视锥体内部,终端对该空间包围球所包围的虚拟物品不做任何处理。
步骤1008,将与球心对应的物体放入拾取数组中。
响应于终端检测到空间包围球的球心在视锥体内部,终端将该空间包围球所包围的虚拟物品放入拾取数组中。
图11是本申请一个示例性实施例的虚拟物品的选择装置的结构框图,如图11所示,该虚拟物品的选择装置包括:
显示模块1101,用于显示第一界面,第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,第一数量的虚拟物品显示为第一表现特征;
确定模块1102,用于响应于接收在第一界面上的人机交互操作,确定第一选择框;
第一生成模块1103,用于基于第一选择框,生成三维虚拟环境中的探测模型,探测模型为三维虚拟环境中的几何体模型;
显示模块1101,还用于在第一界面上的第一选择框内显示第二数量的虚拟物品,第二数量的虚拟物品显示为第二表现特征。
在一个可选的实施例中,第一生成模块1103还用于将第一选择框,映射为三维虚拟环境中的第一几何面。
在一个可选的实施例中,第一生成模块1103还用于基于三维虚拟环境中的摄像机模型的坐标和探测深度,由第一几何面生成第二几何面,其中,第二几何面与第一几何面平行,探测深度为第二几何面与第一几何面之间的距离。
在一个可选的实施例中,第一生成模块1103还用于以第一几何面作为几何体模型的顶面以及以第二几何面作为几何体模型的底面,生成三维虚拟环境中的探测模型。
在一个可选的实施例中,第一生成模块1103还用于基于第一选择框在第一界面的坐标,转换得到第一几何面在三维虚拟环境中的坐标。
在一个可选的实施例中,第一生成模块1103还用于基于摄像机模型的坐标和第一几何面的边界点的坐标,得到第一向量集。
在一个可选的实施例中,第一生成模块1103还用于计算探测深度和第一向量集的乘积,得到第二向量集。
在一个可选的实施例中,第一生成模块1103还用于计算第二向量集与摄像机模型的坐标的和,得到第二几何面的边界点的坐标。
在一个可选的实施例中,第一生成模块1103还用于根据第二几何面的边界点的坐标生成第二几何面。
其中,第一向量集的方向为摄像机模型指向第一几何面的边界点的方向,第二向量集的方向为摄像机模型指向第二几何面的边界点的方向。
在一个可选的实施例中,第一生成模块1103还用于根据第一几何面的任意两个相邻顶点的坐标和摄像机模型的坐标,计算得到第一平面、第二平面、第三平面和第四平面,其中,第一平面、第二平面、第三平面和第四平面均为无限平面。
在一个可选的实施例中,第一生成模块1103还用于以第一平面作为探测模型的第一侧面所在的平面、以第二平面作为探测模型的第二侧面所在的平面、以第三平面作为探测模型的第三侧面所在的平面和以第四平面作为探测模型的第四侧面所在的平面。
在一个可选的实施例中,第一生成模块1103还用于根据第一几何面、第二几何面、第一侧面、第二侧面、第三侧面和第四侧面,包围得到三维虚拟环境中的探测模型。
在一个可选的实施例中,该装置还包括第二生成模块1104。
在一个可选的实施例中,第二生成模块1104用于在三维虚拟环境中生成第一数量的空心几何体模型,空心几何体模型包围虚拟物品。
在一个可选的实施例中,第二生成模块1104还用于计算空心几何体模型与探测模型的位置关系。
在一个可选的实施例中,第二生成模块1104还用于响应于第二数量的空心几何体模型在探测模型内,确定第二数量的空心几何体模型包围的第二数量的虚拟物品处于探测模型内。
在一个可选的实施例中,第二生成模块1104还用于在三维虚拟环境中生成第一数量的空心球体模型,空心球体模型包围虚拟物品。
在一个可选的实施例中,第二生成模块1104还用于在三维虚拟环境中的第一数量的虚拟物品上建立xyz坐标轴。
在一个可选的实施例中,第二生成模块1104还用于分别获取第一数量的虚拟物品在x轴上间隔最大的两个点之间的第一距离,第一数量的虚拟物品在y轴上间隔最大的两个点之间的第二距离,第一数量的虚拟物品在z轴上间隔最大的两个点之间的第三距离。
在一个可选的实施例中,第二生成模块1104还用于将第一距离、第二距离和第三距离中的最大距离,确定为第一数量的中间空心球体模型的直径长度。
在一个可选的实施例中,第二生成模块1104还用于在最大距离对应的两个点上,基于直径长度生成第一数量的中间空心球体模型。
在一个可选的实施例中,第二生成模块1104还用于遍历第一数量的虚拟物品的边界点,基于第一数量的虚拟物品的边界点均落在第一数量的中间空心球体模型内,确定第一数量的中间空心球体模型为最终三维虚拟环境中的第一数量的空心球体模型。
在一个可选的实施例中,第二生成模块1104还用于响应于第一数量的空心几何体模型中的第二数量的空心几何体模型的几何点处于探测模型内,确定第二数量的空心几何体模型处于探测模型内。
在一个可选的实施例中,第二生成模块1104还用于响应于第一数量的空心球体模型中的第二数量的空心球体模型的球心处于探测模型内,确定第二数量的空心球体模型处于探测模型内。
在一个可选的实施例中,第二生成模块1104还用于以第一数量的空心球体模型中的球心为端点,发送射线。
在一个可选的实施例中,第二生成模块1104还用于响应于检测到第二数量的射线穿过探测模型的一个面,确定第二数量的空心球体模型处于探测模型内。
在一个可选的实施例中,显示模块1101还用于响应于接收在第一界面上的触控操作,获取第一选择框的第一定位点。
在一个可选的实施例中,显示模块1101还用于响应于接收在第一界面上的滑动操作和释放操作,获取第一选择框的第二定位点。
在一个可选的实施例中,显示模块1101还用于基于第一定位点和第二定位点,确定第一选择框。
综上所述,上述装置通过接收用户在第一用户界面上的人机交互操作,终端确定第一选择框,基于该第一选择框,终端生成探测模型,然后,终端选中探测模型内的虚拟物品,最后,终端在第一选择框内显示探测模型内的虚拟物品。上述装置实现了基于用户的一次操作达到同时选择多个虚拟物品的效果,不仅极大提高了终端选择虚拟物品的效率,还丰富了用户选择虚拟物品的方式,提升了用户的人机交互体验,用户只需在屏幕上确定第一选择框即可选择多个虚拟物品。
上述装置还通过在屏幕上确定第一选择框,基于该第一选择框,结合三维虚拟环境中摄像机模型的坐标,终端在三维虚拟环境中生成第一几何面和第二几何面,然后,终端在三维虚拟环境中构建探测模型。
上述装置还通过设置探测模型的深度来判断终端是否选中三维虚拟环境中的虚拟物品。当探测模型的深度数值较大时,用户选中屏幕上第一选择框包围的所有的虚拟物品;当探测模型的深度数值较小时,无论用户在屏幕上如何确定第一选择框,用户无法选中屏幕上第一选择框包围的特定的虚拟物品。上述装置实现了探测模型深度的可调节,基于上述装置,终端可灵活显示用户选择虚拟物品时产生的效果。
上述装置还通过在三维虚拟环境中的虚拟物品上建立空心球体模型,若确定空心球体模型的球心在探测模型内部,则确定空心球体模型包围的虚拟物品在探测模型内部,即终端接收到用户对虚拟物品的选择指令。上述装置实现了对虚拟物品是否在探测模型内部的判断,提高了终端确定虚拟物品在探测模型内部的效率,规范了终端确定虚拟物品在探测模型内部的标准,操作简便且容易实现。
图12示出了本申请一个示例性实施例提供的电子设备1200的结构框图。该电子设备1200可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,电子设备1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的图像修复方法。
在一些实施例中,电子设备1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置在电子设备1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在电子设备1200的不同表面或呈折叠设计;在另一些实施例中,显示屏1205可以是柔性显示屏,设置在电子设备1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位电子设备1200的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1209用于为电子设备1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,电子设备1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1212、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以电子设备1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1212采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1212还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测电子设备1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对电子设备1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213以设置在电子设备1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在电子设备1200的侧边框时,可以检测用户对电子设备1200的握持信号,由处理器1201根据压力传感器1212采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置在电子设备1200的正面、背面或侧面。当电子设备1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在电子设备1200的前面板。接近传感器1216用于采集用户与电子设备1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与电子设备1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与电子设备1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对电子设备1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方法实施例提供的虚拟物品的选择方法。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的虚拟物品的选择方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种虚拟物品的选择方法,其特征在于,所述方法包括:
显示第一界面,所述第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,所述第一数量的虚拟物品显示为第一表现特征;
响应于接收在所述第一界面上的人机交互操作,确定第一选择框;
基于所述第一选择框,生成所述三维虚拟环境中的探测模型,所述探测模型为所述三维虚拟环境中的几何体模型,所述探测模型包围有第二数量的虚拟物品,所述第二数量的虚拟物品是所述第一数量的虚拟物品的子集;
在所述第一界面上的所述第一选择框内显示所述第二数量的虚拟物品,所述第二数量的虚拟物品显示为第二表现特征。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一选择框,生成所述三维虚拟环境中的探测模型,包括:
将所述第一选择框,映射为所述三维虚拟环境中的第一几何面;
基于所述三维虚拟环境中的摄像机模型的坐标和探测深度,由所述第一几何面生成第二几何面,其中,所述第二几何面与所述第一几何面平行,所述探测深度为所述第二几何面与所述第一几何面之间的距离;
以所述第一几何面作为所述几何体模型的顶面以及以所述第二几何面作为所述几何体模型的底面,生成所述三维虚拟环境中的探测模型。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一选择框,映射为所述三维虚拟环境中的第一几何面,包括:
基于所述第一选择框在所述第一界面的坐标,转换得到所述第一几何面在所述三维虚拟环境中的坐标。
4.根据权利要求2所述的方法,其特征在于,所述基于所述三维虚拟环境中的摄像机模型的坐标和探测深度,由所述第一几何面生成第二几何面,包括:
基于所述摄像机模型的坐标和所述第一几何面的边界点的坐标,得到第一向量集;
计算所述探测深度和所述第一向量集的乘积,得到第二向量集;
计算所述第二向量集与所述摄像机模型的坐标的和,得到所述第二几何面的边界点的坐标;
根据所述第二几何面的边界点的坐标生成所述第二几何面;
其中,所述第一向量集的方向为所述摄像机模型指向所述第一几何面的边界点的方向,所述第二向量集的方向为所述摄像机模型指向所述第二几何面的边界点的方向。
5.根据权利要求2所述的方法,其特征在于,所述以所述第一几何面作为所述几何体模型的顶面以及以所述第二几何面作为所述几何体模型的底面,生成所述三维虚拟环境中的探测模型,包括:
根据所述第一几何面的相邻顶点的坐标和所述摄像机模型的坐标,计算得到第一平面、第二平面、第三平面和第四平面;
以所述第一平面作为所述探测模型的第一侧面所在的平面、以所述第二平面作为所述探测模型的第二侧面所在的平面、以所述第三平面作为所述探测模型的第三侧面所在的平面和以所述第四平面作为所述探测模型的第四侧面所在的平面;
根据所述第一几何面、所述第二几何面、所述第一侧面、所述第二侧面、所述第三侧面和所述第四侧面,包围得到所述三维虚拟环境中的探测模型。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
在所述三维虚拟环境中生成第一数量的空心几何体模型,所述空心几何体模型用于包围所述虚拟物品且存在一一对应关系;
计算所述空心几何体模型与所述探测模型的位置关系;
响应于第二数量的空心几何体模型位于所述探测模型内,确定所述第二数量的空心几何体模型包围的所述第二数量的虚拟物品位于所述探测模型内。
7.根据权利要求6所述的方法,其特征在于,所述计算所述空心几何体模型与所述探测模型的位置关系,包括:
响应于所述第一数量的空心几何体模型中存在第二数量的空心几何体模型的几何点处于所述探测模型内,确定所述第二数量的空心几何体模型处于所述探测模型内。
8.根据权利要求7所述的方法,其特征在于,所述空心几何体模型是空心球体模型,所述计算所述空心几何体模型与所述探测模型的位置关系,包括:
响应于所述第一数量的空心球体模型中的第二数量的空心球体模型的球心处于所述探测模型内,确定所述第二数量的空心球体模型处于所述探测模型内。
9.根据权利要求8所述的方法,其特征在于,所述方法包括:
以所述第一数量的空心球体模型中每个空心球体模型的球心为端点,发送射线;
响应于检测到第二数量的所述射线穿过所述探测模型的一个面,确定所述第二数量的空心球体模型处于所述探测模型内。
10.根据权利要求6所述的方法,其特征在于,所述空心几何体模型是空心球体模型;
所述在所述三维虚拟环境中生成第一数量的空心几何体模型,包括:
在所述三维虚拟环境中的第一虚拟物品上建立xyz坐标,所述第一虚拟物品是所述第一数量的虚拟物品中的任意一个;
分别获取所述第一虚拟物品在所述x轴上间隔最大的两个点之间的第一距离,所述第一虚拟物品在所述y轴上间隔最大的两个点之间的第二距离,所述第一虚拟物品在所述z轴上间隔最大的两个点之间的第三距离;
将所述第一距离、所述第二距离和所述第三距离中的最大距离,确定为第一中间空心球体模型的直径长度;
在所述最大距离对应的两个点上,基于所述直径长度生成所述第一中间空心球体模型;
遍历所述第一虚拟物品的边界点,基于所述第一虚拟物品的边界点均落在所述第一中间空心球体模型内,确定所述第一中间空心球体模型为最终所述三维虚拟环境中的第一空心球体模型。
11.根据权利要求1所述的方法,其特征在于,所述响应于接收在所述第一界面上的人机交互操作,确定第一选择框,包括:
响应于接收在所述第一界面上的滑动开始操作,获取所述第一选择框的第一定位点;
响应于接收在所述第一界面上的滑动结束操作,获取所述第一选择框的第二定位点;
基于所述第一定位点和所述第二定位点,确定所述第一选择框。
12.一种虚拟物品的选择装置,其特征在于,所述装置包括:
显示模块,用于显示第一界面,所述第一界面上显示有三维虚拟环境中的第一数量的虚拟物品,所述第一数量的虚拟物品显示为第一表现特征;
确定模块,用于响应于接收在所述第一界面上的人机交互操作,确定第一选择框;
第一生成模块,用于基于所述第一选择框,生成所述三维虚拟环境中的探测模型,所述探测模型为所述三维虚拟环境中的几何体模型,所述探测模型包围有第二数量的虚拟物品,所述第二数量的虚拟物品是所述第一数量的虚拟物品的子集;
所述显示模块,还用于在所述第一界面上的所述第一选择框内显示所述第二数量的虚拟物品,所述第二数量的虚拟物品显示为第二表现特征。
13.根据权利要求12所述的装置,其特征在于,
所述第一生成模块,还用于将所述第一选择框,映射为所述三维虚拟环境中的第一几何面;
所述第一生成模块,还用于基于所述三维虚拟环境中的摄像机模型的坐标和探测深度,由所述第一几何面生成第二几何面,其中,所述第二几何面与所述第一几何面平行,所述探测深度为所述第二几何面与所述第一几何面之间的距离;
所述第一生成模块,还用于以所述第一几何面作为所述几何体模型的顶面以及以所述第二几何面作为所述几何体模型的底面,生成所述三维虚拟环境中的探测模型。
14.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至11任一所述的虚拟物品的选择方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至11任一所述的虚拟物品的选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110366528.0A CN112915530B (zh) | 2021-04-06 | 2021-04-06 | 虚拟物品的选择方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110366528.0A CN112915530B (zh) | 2021-04-06 | 2021-04-06 | 虚拟物品的选择方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112915530A true CN112915530A (zh) | 2021-06-08 |
CN112915530B CN112915530B (zh) | 2022-11-25 |
Family
ID=76174165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110366528.0A Active CN112915530B (zh) | 2021-04-06 | 2021-04-06 | 虚拟物品的选择方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112915530B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004066215A1 (en) * | 2003-01-21 | 2004-08-05 | Philips Intellectual Property & Standards Gmbh | Computed tomography method with coherent scattered rays, and computed tomograph |
CN110389139A (zh) * | 2018-04-20 | 2019-10-29 | Fei 公司 | 用于感兴趣区域的断层摄影的扫描轨迹 |
CN112306231A (zh) * | 2020-09-17 | 2021-02-02 | 浙江大学 | 一种基于半轮廓高亮的凌空徒手三维目标选择方法 |
-
2021
- 2021-04-06 CN CN202110366528.0A patent/CN112915530B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004066215A1 (en) * | 2003-01-21 | 2004-08-05 | Philips Intellectual Property & Standards Gmbh | Computed tomography method with coherent scattered rays, and computed tomograph |
CN110389139A (zh) * | 2018-04-20 | 2019-10-29 | Fei 公司 | 用于感兴趣区域的断层摄影的扫描轨迹 |
CN112306231A (zh) * | 2020-09-17 | 2021-02-02 | 浙江大学 | 一种基于半轮廓高亮的凌空徒手三维目标选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112915530B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108245893B (zh) | 三维虚拟环境中虚拟对象的姿态确定方法、装置及介质 | |
KR102595150B1 (ko) | 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 | |
CN110064200B (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
JP2022527686A (ja) | シャドウレンダリング方法、装置、コンピュータデバイスおよびコンピュータプログラム | |
CN110427110B (zh) | 一种直播方法、装置以及直播服务器 | |
CN111464749B (zh) | 进行图像合成的方法、装置、设备及存储介质 | |
CN110841285B (zh) | 界面元素的显示方法、装置、计算机设备及存储介质 | |
CN112870707B (zh) | 虚拟场景中的虚拟物体展示方法、计算机设备及存储介质 | |
CN111768454B (zh) | 位姿确定方法、装置、设备及存储介质 | |
KR20200123223A (ko) | 애플리케이션을 위한 디스플레이 적응 방법 및 장치, 디바이스, 및 저장 매체 | |
CN110047152B (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
CN109886208B (zh) | 物体检测的方法、装置、计算机设备及存储介质 | |
CN110853128B (zh) | 虚拟物体显示方法、装置、计算机设备及存储介质 | |
CN111324250A (zh) | 三维形象的调整方法、装置、设备及可读存储介质 | |
CN110917616A (zh) | 虚拟场景中的方位提示方法、装置、设备及存储介质 | |
CN111897429A (zh) | 图像显示方法、装置、计算机设备及存储介质 | |
CN114170349A (zh) | 图像生成方法、装置、电子设备及存储介质 | |
CN112578971A (zh) | 页面内容展示方法、装置、计算机设备及存储介质 | |
CN113384880A (zh) | 虚拟场景显示方法、装置、计算机设备及存储介质 | |
CN112308103B (zh) | 生成训练样本的方法和装置 | |
WO2022199102A1 (zh) | 图像处理方法及装置 | |
CN112306332A (zh) | 确定选中目标的方法、装置、设备及存储介质 | |
WO2018192455A1 (zh) | 一种生成字幕的方法及装置 | |
CN112915530B (zh) | 虚拟物品的选择方法、装置、设备及介质 | |
CN112967261B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046847 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |