CN110548289A - 一种三维控件显示的方法和装置 - Google Patents

一种三维控件显示的方法和装置 Download PDF

Info

Publication number
CN110548289A
CN110548289A CN201910883052.0A CN201910883052A CN110548289A CN 110548289 A CN110548289 A CN 110548289A CN 201910883052 A CN201910883052 A CN 201910883052A CN 110548289 A CN110548289 A CN 110548289A
Authority
CN
China
Prior art keywords
straight line
dimensional control
virtual object
distance
virtual camera
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
Application number
CN201910883052.0A
Other languages
English (en)
Other versions
CN110548289B (zh
Inventor
姜锐
赵鸣
林森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910883052.0A priority Critical patent/CN110548289B/zh
Publication of CN110548289A publication Critical patent/CN110548289A/zh
Application granted granted Critical
Publication of CN110548289B publication Critical patent/CN110548289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种三维控件显示的方法和装置,所述方法包括:获取第一直线与第二直线之间的初始夹角,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。应用本发明实施例能够得到符合设计者需求的图形用户界面,提高了用户的观看体验。

Description

一种三维控件显示的方法和装置
技术领域
本发明涉及互联网技术领域,特别是涉及一种三维控件显示的方法和一种三维控件显示的装置。
背景技术
UI(User Interface,用户界面)是系统和用户之间进行交互和信息交换的介质,实现信息的内部形式与用户可以接受形式之间的转换,使得用户能够方便有效率地操作硬件以达成双向交互。UI在移动终端屏幕中可呈现为图片或者按钮等UI控件。
随着互联网技术的不断发展与进步,用户对视觉画面的显示要求越来越高。以游戏为例,目前市面上的游戏有2D游戏和3D游戏。对于3D游戏而言,UI控件呈现为3D UI(三维用户界面/三维控件),3D UI处于三维的游戏场景中,与游戏场景中虚拟物体存在位置关系,而对于2D游戏而言,UI控件呈现为2D UI(二维用户界面/二维控件),2D UI直接渲染到屏幕中,与场景中物体不存在位置关系。
在诸如手游等游戏中,越来越多通过3DUI的形式承载信息、玩法等功能,但目前市面上游戏3DUI绝大多数都是停留在固定视角与位置,3DUI的应用具有比较大的局限性。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种三维控件显示的方法和相应的一种三维控件显示的装置。
为了解决上述问题,本发明实施例公开了一种三维控件显示的方法,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件,所述方法包括:
获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;
响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
优选地,所述将所述三维控件移动至目标位置之前,还包括:确定所述三维控件待移动的目标位置;
所述确定所述三维控件待移动的目标位置,包括:
确定所述虚拟物体的位置与所述三维控件的初始位置之间的第一距离、所述虚拟物体的位置与所述虚拟摄像头的初始位置之间的第二距离,以及所述虚拟物体的位置与所述虚拟摄像头当前所在位置之间的第三距离;
根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体的位置与所述目标位置之间的第四距离;
根据所述第四距离确定所述三维控件待移动的目标位置。
优选地,所述根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体的位置与所述目标位置之间的第四距离,包括:
确定所述第三距离与所述第二距离的比值;
将所述比值与所述第一距离的积作为所述虚拟物体的位置与所述目标位置之间的第四距离。
优选地,所述根据所述第四距离确定所述三维控件待移动的目标位置,包括:
根据所述第三直线和所述初始夹角,得到所述第四直线;
生成以所述虚拟物体为圆心、所述第四距离为半径的圆;
确定所述圆与所述第四直线的交点;
根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置。
优选地,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置,包括:
比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的纵坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
优选地,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置,包括:
比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的横坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
优选地,所述初始夹角为90度。
本发明实施例还公开了一种三维控件显示的装置,应用于移动终端,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件,所述装置包括:
初始夹角获取模块,用于获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;
三维控件移动模块,用于响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
本发明实施例包括以下优点:
本发明实施例首先获取第一直线与第二直线之间的初始夹角,其中,第一直线为虚拟摄像头的初始位置与虚拟物体的位置确定的直线,第二直线为虚拟物体的位置与三维控件的初始位置确定的直线;响应于针对虚拟摄像头移动的指令,将三维控件移动至目标位置,且第三直线与第四直线之间的夹角与初始夹角之间的差值小于阈值,其中,第三直线为虚拟摄像头当前所在位置与虚拟物体的位置确定的直线,第四直线为虚拟物体的位置与目标位置确定的直线,实现了在游戏的虚拟摄像头移动时,三维控件的位置进行适应调整,保证了呈现的图像用户界面中三维控件与游戏场景中的虚拟物体之间的相对位置关系正确,得到符合设计者需求的图形用户界面,提高了用户的观看体验。
附图说明
图1是一种现有的游戏应用中虚拟摄像头锁定的示意图;
图2a-图2b是一种现有的游戏应用中虚拟摄像头移动(非锁定)的示意图;
图3是本发明的一种三维控件显示的方法的步骤流程图;
图4是本发明的一种虚拟摄像头移动的示意图;
图5是本发明的一种xy平面中虚拟摄像头、三维控件和虚拟物体之间的关系示意图;
图6是本发明的一种三维控件显示的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
根据背景技术可知,现有的大部分游戏应用选择将虚拟摄像头停留在固定视角与位置。参照图1,所示为一种现有的游戏应用中虚拟摄像头锁定的示意图,该方案的应用场景中,虚拟摄像头锁定在固定位置,三维控件在场景中的位置固定,呈现三维立体效果。在图1的游戏场景中,虚拟摄像头必须锁定。如果涉及虚拟摄像头移动、旋转,那么就不能使用三维控件,因为三维控件与场景中虚拟物体之间的位置关系会出错,导致三维控件应用场景有限。
如果虚拟摄像头不锁定,会存在虚拟摄像头位置移动时三维控件与虚拟物体显示的相对位置会被改变的问题。具体地,三维的游戏场景中的三维控件(3D UI)有角度和朝向,一般游戏场景是将三维控件显示到某个虚拟物体(也可称为固定物体,固定物体在游戏场景中的位置相对固定,不随虚拟摄像头的移动而移动)的相对位置上,比如将三维控件放到桌子的旁边。假设在某个游戏场景中桌子的三维坐标为(0,0,0),并设定三维控件显示在桌子的y轴方向100像素处,坐标为(0,100,0),如果虚拟摄像头在桌子的正前方300像素处,坐标为(300,0,0),朝向-x轴,那么此时屏幕显示的是三维控件显示在桌子的右边100像素处,如果虚拟摄像头以z轴为中心向y轴旋转90度,虚拟摄像头的三维坐标变为(0,300,0),那么此时显示的画面是三维控件在桌子的正前方,而不再是右边。
参照图2a-2b,所示为一种现有的游戏应用中虚拟摄像头移动(非锁定)的示意图,“吃饭”为三维控件,球体为虚拟物体,在本示例中设计者想要将“吃饭”显示在球体的右边距离40个像素的位置,如图2a示;但是当虚拟摄像头移动时,“吃饭”三维控件与球体之间的位置关系就会出错,如图2b示,“吃饭”三维控件的位置已经挡住球体,而不是在球体的右边距离40个像素的位置,因此不符合设计者的需求。
从上述例子可知,当虚拟摄像头位置移动时,三维控件与虚拟物体(桌子)显示的相对位置会被改变,这往往并不是设计者想要的效果,设计者希望虚拟摄像头在任意位置和朝向时,在屏幕显示的三维控件和虚拟物体相对位置都能保持一致。因此,本发明实施例目前需要解决的问题是,随着虚拟摄像头的移动,三维控件与虚拟物体在屏幕上显示的相对位置保持一致,即三维控件在用户操控虚拟摄像头拉近、拉远或者旋转等移动操作时,能够跟随虚拟摄像头自适应调整在屏幕上显示位置。
参照图3,示出了本发明的一种三维控件显示的方法实施例的步骤流程图,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件。
本发明实施例可应用于移动终端,移动终端可以包括各种移动设备,例如,手机、平板电脑、游戏机,可穿戴设备(比如虚拟眼镜)等。该移动终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,通常可以支持各种游戏的运行。
在移动终端上运行应用软件,并在移动终端的显示器上渲染图形用户界面,其中图形用户界面为通过虚拟摄像头拍摄得到的游戏场景中的游戏画面,图形用户界面所显示的内容至少部分地包含一局部或全部的游戏场景,游戏场景的具体形态可以是方形,也可以是其它形状(比如,圆形等)。具体地,游戏场景中包括虚拟物体和三维控件。
在本实施例中,虚拟物体可以是指游戏场景中的某个物体,比如游戏场景中的桌子,三维控件则可以是指系统和用户之间进行交互和信息交换的介质,比如游戏场景中的图片或者按钮。其中,设计者可以根据实际需求将虚拟物体和三维控件设置为在显示的图形用户界面中两者之间位置保持不变。
本发明实施例为了保证虚拟物体和三维控件在图形用户界面中两者的相对位置保持不变,提出了一种三维控件显示的方法,所述方法具体可以包括如下步骤:
步骤101,获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线。
步骤102,响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
为了满足设计者需求,游戏场景中的三维控件相对于虚拟物体的相对位置(指三维控件与虚拟物体的直线距离)及方向(指三维控件永远处于虚拟物体与虚拟摄像头的直线的一边)保持不变。
在本发明实施例中,虚拟物体的位置在场景(游戏场景)中保持不变,需要注意的是,此处的保持不变,是指的在虚拟摄像头移动时,虚拟物体在场景中的位置保持不变,即虚拟物体并不跟随虚拟摄像头而移动,但是虚拟物体可以根据用户的拖动或其它操作而移动。此外,在本发明实施例中,虚拟摄像头与虚拟物体的直线和虚拟物体与三维控件的直线的初始夹角可以保持不变,比如初始夹角可以保持为90度,不会因为虚拟摄像头的移动而改变。
具体的,当接收到针对虚拟摄像头移动的指令时,三维控件将跟随虚拟摄像头进行移动,本发明实施例中,为了保持初始夹角和三维控件相对于虚拟物体的相对位置不变,因此三维控件需要移动到目标位置。因此,在本发明实施例中,将三维控件移动至目标位置之前,还包括:确定所述三维控件待移动的目标位置。
在本发明的一种优选示例中,所述确定所述三维控件待移动的目标位置的步骤可以包括如下步骤:
确定所述虚拟物体的位置与所述三维控件的初始位置之间的第一距离、所述虚拟物体的位置与所述虚拟摄像头的初始位置之间的第二距离,以及所述虚拟物体的位置与所述虚拟摄像头当前所在位置之间的第三距离;
根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体与所述目标位置的位置之间的第四距离;
根据所述第四距离确定所述三维控件待移动的目标位置。
其中,所述根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体与所述目标位置的位置之间的第四距离的步骤可以包括如下步骤:
确定所述第三距离与所述第二距离的比值;
将所述比值与所述第一距离的积作为所述虚拟物体与所述目标位置的位置之间的第四距离。
在本发明实施例中,三维控件与虚拟物体的直线距离可以随着虚拟摄像头的远近做等比变换,如:设定虚拟摄像头在初始位置时与虚拟物体的直线距离为100像素时,三维控件与虚拟物体的直线距离为10像素,假设将虚拟摄像头移动到距离虚拟物体1000像素时,此时三维控件与虚拟物体的直线距离会变换为100像素。
下面采用具体示例进行说明。在本实例中,将3D场景降到2D平面(xy平面)进行说明,并且虚拟物体的位置保持不变。假设虚拟物体的位置坐标为:(objx,objy),虚拟摄像头移动后的位置坐标为:(camx,camy),以及,在虚拟摄像头移动前,虚拟摄像头和虚拟物体之间的直线距离与三维控件和虚拟物体之间的直线距离的比值为r,计算过程如下:
1)计算出在虚拟摄像头移动后,虚拟摄像头与虚拟物体的直线距离l:
2)根据比值r得出在虚拟摄像头移动后,三维控件与虚拟物体的直线距离d:
参照图4,在实际中由于可以控制虚拟摄像头相对游戏场景进行拉近、拉远或者旋转等移动操作,因此,本发明实施例中三维控件与虚拟物体的直线距离,也即第四距离可以随着虚拟摄像头的拉近拉远做等比变换,而无需一直保持不变,以此提高用户视觉体验。如图4左边的图可知,当虚拟摄像头从位置A1移动旋转至位置A2时(此时虚拟摄像头与固定物体之间的距离不变),3D UI从位置B1旋转至位置B2;如图4右边的图可知,当虚拟摄像头从位置A3拉远至位置A4时(虚拟摄像头仍在拉远前虚拟摄像头与固定物体确定的那条直线上),3D UI朝虚拟摄像头移动的方向移动一定距离,即从位置B3移动至位置B4,从而保证用户不会因为镜头拉远而缩小到无法阅读。
在本发明的一种优选示例中,所述根据所述第四距离确定所述三维控件待移动的目标位置的步骤可以包括如下步骤:
根据所述第三直线和所述初始夹角,得到所述第四直线;
生成以所述虚拟物体为圆心、所述第四距离为半径的圆;
确定所述圆与所述第四直线的交点;
根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置。
在本发明实施例中,可以计算出第四直线的直线方程,以及,以虚拟物体为圆心、第四距离为半径生成圆方程,然后基于直线方程和圆方程可以得到圆和直线的交点,然后从多个交点中选择一个交点作为三维控件的目标位置。
对于第四直线的直线方程,可以首先确定第三直线的斜率,然后根据第三直线的斜率和初始夹角,确定第四直线的斜率。根据第四直线的斜率和虚拟物体的位置,得到第四直线的直线方程。
针对圆方程,可以以虚拟物体为圆心、第四距离为半径生成圆方程,由第四直线的直线方程和圆方程,得到圆和直线的交点,通过交点可以进一步确定目标位置。
下面采用具体示例进行说明。参照图5,所示为一种xy平面中虚拟摄像头、三维控件和虚拟物体之间的关系示意图,其中,在虚拟摄像头移动前,虚拟物体的位置坐标为:(objx,objy),在本实施例中,虚拟物体在游戏场景中的位置一直保持不变,虚拟摄像头与虚拟物体的直线line1*和虚拟物体与三维控件的直线line2*的夹角为θ*,在虚拟摄像头移动后,虚拟摄像头的位置坐标为:(camx,camy),设三维控件与虚拟物体的直线距离为d,三维控件与虚拟物体的直线距离在虚拟摄像头移动前后,一直保持不变,现需要求出三维控件移动的目标位置的坐标(x,y)。
求三维控件移动的目标位置的坐标(x,y)的过程为:
1.已知在虚拟摄像头移动后,虚拟摄像头的位置和虚拟物体的位置,可以求出line1(第三直线)的直线斜率:
1)如果虚拟摄像头的y轴坐标与虚拟物体的y轴坐标相等(即:camy与objy相等)时,line1的直线斜率k1k如下:
k1=0
2)如果虚拟摄像头的y轴坐标与虚拟物体的y轴坐标不相等(即:camy与objy不相等)时,line1的直线斜率k1k如下:
2.设line2为三维控件移动后与虚拟物体之间的直线,即第四直线,已知line1的直线斜率k1k、line1与line2之间的夹角θ,可以计算出line2的直线斜率k2k,其中,θ为虚拟摄像头移动后line1与line2之间的夹角,θ*为虚拟摄像头移动前line1*与line2*之间的夹角,在本发明实施例中θ*和θ相等。
两直线的夹角公式:
将步骤1中得出的line1的直线斜率k1k与θ*代入夹角公式可以计算出line2的直线斜率k2k2:
由于三维控件与虚拟物体的相对位置保持不变,也即是说三维控件永远处于虚拟物体与虚拟摄像头的直线的一边,基于此可以进一步根据虚拟摄像头移动前三维控件处于虚拟物体的哪一边来取其中一个值。参照图5,在虚拟摄像头移动前(实线部分),在虚拟摄像头的视角,三维控件处于虚拟物体的右边,位于line1*的右边,因此,在得到两个结果后,应当选取在虚拟摄像头移动后(虚线部分),在虚拟摄像头的视角,三维控件依旧处于虚拟物体的右边的结果,即line1的右边。
得出k2后,根据虚拟物体的坐标和直线方程y=kx+b,可以求出line2的截距b:
b=objy-k2*objx
所以line2的直线方程为:
y=k2x+b
3.已知虚拟物体的坐标,假设三维控件与虚拟物体的相对位置为d,可以得出以虚拟物体为圆心,以相对位置d为半径的圆方程:
(x-objx)2+(y-objy)2=d2
4.已知3中的圆方程和line2的直线方程,可以得出圆与直线的交点即三维控件的位置在x轴的坐标:
其中m的值:
m=k2 2*d2-2k2*b*objx+2*k2*objx*objy-b2+2*b*objy+objy2-k2 2*objx2
将上述的x值代入line2的直线方程可以得出y坐标,至此计算出圆与直线的两个交点坐标。
本发明实施例中,通过圆方程和直线方程可以计算出圆与直线的两个交点,但由于三维控件永远处于虚拟物体与虚拟摄像头的直线的一边保持不变,还需要根据虚拟物体的位置和虚拟摄像头的当前位置来确定出目标交点,即三维控件待移动的目标位置。
在一种示例中,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置的步骤可以包括如下步骤:比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的纵坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
在本发明实施例中,设计者可以根据需求将三维控件设定为在虚拟物体的上边,那么只需要取相对于虚拟摄像头当前所在位置在上边的交点作为目标交点。
在另一种示例中,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置的步骤可以包括如下步骤:比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的横坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
在本发明实施例中,设计者可以根据需求将三维控件设定为在虚拟物体的右边,那么只需要取相对于虚拟摄像头当前所在位置在右边的交点作为目标交点。
在实际应用中,虚拟摄像头可以拉近、拉远或者旋转,其中,当虚拟摄像头拉远时,为了确保三维控件不会因为虚拟摄像头拉远而缩小到无法阅读,可以对于三维控件的显示大小进行调整。
例如,可以是在虚拟摄像头拉远或者拉近时,保持三维控件的大小不变,也可以是是在虚拟摄像头拉远或者拉近时,按照虚拟摄像头与三维控件之间的直线距离,来调整三维控件的显示大小。当然,上述也仅仅是作为示例,在具体实施本发明实施例时,还可以采用其他方式保证阅读,本发明实施例对此无需加以限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明的一种三维控件显示的装置实施例的结构框图,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件,所述装置具体可以包括如下模块:
初始夹角获取模块201,用于获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;
三维控件移动模块202,用于响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
在本发明的一种优选实施例中,所述装置还包括:
目标位置确定模块,用于确定所述三维控件待移动的目标位置。
所述目标位置确定模块,包括:
距离获取子模块,用于确定所述虚拟物体的位置与所述三维控件的初始位置之间的第一距离、所述虚拟物体的位置与所述虚拟摄像头的初始位置之间的第二距离,以及所述虚拟物体的位置与所述虚拟摄像头当前所在位置之间的第三距离;
第四距离确定子模块,用于根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体的位置与所述目标位置之间的第四距离;
目标位置确定子模块,用于根据所述第四距离确定所述三维控件待移动的目标位置。
在本发明的一种优选实施例中,所述第四距离确定子模块,包括:
比值确定单元,用于确定所述第三距离与所述第二距离的比值;
第四距离计算单元,用于将所述比值与所述第一距离的积作为所述虚拟物体的位置与所述目标位置之间的第四距离。
在本发明的一种优选实施例中,所述目标位置确定模块,包括:
第四直线得到子模块,用于根据所述第三直线和所述初始夹角,得到所述第四直线;
圆生成子模块,用于生成以所述虚拟物体为圆心、所述第四距离为半径的圆;
交点确定子模块,用于确定所述圆与所述第四直线的交点;
目标位置确定子模块,用于根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置。
在本发明的一种优选实施例中,所述目标位置确定子模块,包括:
第一目标位置确定单元,用于比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的纵坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
在本发明的一种优选实施例中,所述目标位置确定子模块,包括:
第二目标位置确定单元,用于比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的横坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
在本发明的一种优选实施例中,所述初始夹角为90度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种三维控件显示的方法和一种三维控件显示的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种三维控件显示的方法,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件,其特征在于,所述方法包括:
获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;
响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
2.根据权利要求1所述的方法,其特征在于,所述将所述三维控件移动至目标位置之前,还包括:确定所述三维控件待移动的目标位置;
所述确定所述三维控件待移动的目标位置,包括:
确定所述虚拟物体的位置与所述三维控件的初始位置之间的第一距离、所述虚拟物体的位置与所述虚拟摄像头的初始位置之间的第二距离,以及所述虚拟物体的位置与所述虚拟摄像头当前所在位置之间的第三距离;
根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体的位置与所述目标位置之间的第四距离;
根据所述第四距离确定所述三维控件待移动的目标位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一距离、所述第二距离和所述第三距离确定所述虚拟物体的位置与所述目标位置之间的第四距离,包括:
确定所述第三距离与所述第二距离的比值;
将所述比值与所述第一距离的积作为所述虚拟物体的位置与所述目标位置之间的第四距离。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第四距离确定所述三维控件待移动的目标位置,包括:
根据所述第三直线和所述初始夹角,得到所述第四直线;
生成以所述虚拟物体为圆心、所述第四距离为半径的圆;
确定所述圆与所述第四直线的交点;
根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置,包括:
比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的纵坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
6.根据权利要求4所述的方法,其特征在于,所述根据所述圆与所述第四直线的交点确定所述三维控件待移动的目标位置,包括:
比较所述虚拟物体的位置和所述虚拟摄像头当前所在位置的横坐标,根据所述比较结果,从所述圆与所述第四直线的交点中确定目标交点作为所述三维控件待移动的目标位置。
7.根据权利要求要求1所述的方法,其特征在于,所述初始夹角为90度。
8.一种三维控件显示的装置,应用于移动终端,通过在移动终端的处理器上执行应用软件并在所述移动终端的显示器上渲染通过虚拟摄像头拍摄得到的图形用户界面,所述图形用户界面中包含部分游戏场景、虚拟物体和三维控件,其特征在于,所述装置包括:
初始夹角获取模块,用于获取第一直线与第二直线之间的初始夹角,其中,所述第一直线为所述虚拟摄像头的初始位置与所述虚拟物体的位置确定的直线,所述第二直线为所述虚拟物体的位置与所述三维控件的初始位置确定的直线;
三维控件移动模块,用于响应于针对所述虚拟摄像头移动的指令,将所述三维控件移动至目标位置,且第三直线与第四直线之间的夹角与所述初始夹角之间的差值小于阈值,其中,所述第三直线为所述虚拟摄像头当前所在位置与所述虚拟物体的位置确定的直线,所述第四直线为所述虚拟物体的位置与所述目标位置确定的直线。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-7所述的一个或多个的方法的步骤。
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7所述的一个或多个的方法的步骤。
CN201910883052.0A 2019-09-18 2019-09-18 一种三维控件显示的方法和装置 Active CN110548289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910883052.0A CN110548289B (zh) 2019-09-18 2019-09-18 一种三维控件显示的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910883052.0A CN110548289B (zh) 2019-09-18 2019-09-18 一种三维控件显示的方法和装置

Publications (2)

Publication Number Publication Date
CN110548289A true CN110548289A (zh) 2019-12-10
CN110548289B CN110548289B (zh) 2023-03-17

Family

ID=68740630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910883052.0A Active CN110548289B (zh) 2019-09-18 2019-09-18 一种三维控件显示的方法和装置

Country Status (1)

Country Link
CN (1) CN110548289B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596840A (zh) * 2020-12-24 2021-04-02 北京城市网邻信息技术有限公司 一种信息处理方法及装置
CN114307145A (zh) * 2022-01-04 2022-04-12 腾讯科技(深圳)有限公司 画面显示方法、装置、终端、存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140002457A1 (en) * 2012-06-29 2014-01-02 Michael L. Swindell Creating a three dimensional user interface
JP2018010473A (ja) * 2016-07-13 2018-01-18 株式会社リコー 画像処理装置、画像処理方法、および画像処理プログラム
CN108888955A (zh) * 2018-06-29 2018-11-27 网易(杭州)网络有限公司 一种游戏中的视角控制方法和装置
CN109272574A (zh) * 2018-09-10 2019-01-25 武汉大学 基于投影变换的线阵旋转扫描相机成像模型构建方法和标定方法
CN109331468A (zh) * 2018-09-26 2019-02-15 网易(杭州)网络有限公司 游戏视角的显示方法、显示装置和显示终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140002457A1 (en) * 2012-06-29 2014-01-02 Michael L. Swindell Creating a three dimensional user interface
JP2018010473A (ja) * 2016-07-13 2018-01-18 株式会社リコー 画像処理装置、画像処理方法、および画像処理プログラム
CN108888955A (zh) * 2018-06-29 2018-11-27 网易(杭州)网络有限公司 一种游戏中的视角控制方法和装置
CN109272574A (zh) * 2018-09-10 2019-01-25 武汉大学 基于投影变换的线阵旋转扫描相机成像模型构建方法和标定方法
CN109331468A (zh) * 2018-09-26 2019-02-15 网易(杭州)网络有限公司 游戏视角的显示方法、显示装置和显示终端

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596840A (zh) * 2020-12-24 2021-04-02 北京城市网邻信息技术有限公司 一种信息处理方法及装置
CN114307145A (zh) * 2022-01-04 2022-04-12 腾讯科技(深圳)有限公司 画面显示方法、装置、终端、存储介质及程序产品
CN114307145B (zh) * 2022-01-04 2023-06-27 腾讯科技(深圳)有限公司 画面显示方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN110548289B (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
JP4916548B2 (ja) 画像のドミナントライン(dominantline)の確定及び使用
KR101732839B1 (ko) 컨텐츠 전달의 세그먼테이션
US10049490B2 (en) Generating virtual shadows for displayable elements
WO2016137595A1 (en) Scene modification for augmented reality using markers with parameters
EP3058451B1 (en) Techniques for navigation among multiple images
US10318101B2 (en) Gesture-based user interface and method for navigating in three-dimensional space
US20150074573A1 (en) Information display device, information display method and information display program
US9691175B2 (en) 3-D models as a navigable container for 2-D raster images
US20130222363A1 (en) Stereoscopic imaging system and method thereof
JP7392105B2 (ja) 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体
CN108133454B (zh) 空间几何模型图像切换方法、装置、系统及交互设备
US9025007B1 (en) Configuring stereo cameras
CN110548289B (zh) 一种三维控件显示的方法和装置
CN109189302A (zh) Ar虚拟模型的控制方法及装置
US8922591B2 (en) Holographic display
CN106598250A (zh) 一种vr显示方法、装置和电子设备
US20170103562A1 (en) Systems and methods for arranging scenes of animated content to stimulate three-dimensionality
TWM626899U (zh) 呈現立體空間模型的電子裝置
CN112870714A (zh) 一种地图的显示方法和装置
CN111773706A (zh) 一种游戏场景的渲染方法和装置
CN110610454A (zh) 透视投影矩阵的计算方法及装置、终端设备、存储介质
US9292165B2 (en) Multiple-mode interface for spatial input devices
CN114327174A (zh) 虚拟现实场景的显示方法、光标的三维显示方法和装置
CN110750227B (zh) 投影画面的处理方法、装置、终端设备及存储介质
Yasumoto et al. Vistouch: dynamic three-dimensional connection between multiple mobile devices

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