CN110597389B - 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 - Google Patents
虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110597389B CN110597389B CN201910862693.8A CN201910862693A CN110597389B CN 110597389 B CN110597389 B CN 110597389B CN 201910862693 A CN201910862693 A CN 201910862693A CN 110597389 B CN110597389 B CN 110597389B
- Authority
- CN
- China
- Prior art keywords
- virtual
- target
- type
- virtual object
- scene
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请是关于一种虚拟场景中的虚拟对象控制方法、计算机设备及存储介质,涉及虚拟场景技术领域。该方法包括:展示应用程序的显示界面,该显示界面中包含虚拟场景的场景画面,该虚拟场景中包含虚拟载具,该虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置。当接收到指定操作,且该终端控制的虚拟对象位于该第一类型位置上时,获取目标视角方向。根据该目标视角方向,从该至少两个第二类型位置中确定目标位置。从而实现控制该虚拟对象切换至该目标位置,提高了虚拟对象在虚拟载具中切换位置的效率。
Description
技术领域
本申请涉及虚拟场景技术领域,特别涉及一种虚拟场景中的虚拟对象控制方法、计算机设备及存储介质。
背景技术
目前很多构建虚拟场景的应用程序(比如虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏、多人在线战术竞技游戏等)都存在有虚拟载具,并且可以控制虚拟对象进行换位射击功能。
在相关技术中,在触摸屏终端中展示的虚拟场景的显示界面中,通常包含用于控制虚拟场景中的虚拟对象在虚拟载具中的位置的虚拟控件,比如可以是一个标注有虚拟载具中的各个位置的图标按键,其中虚拟对象所在位置在图标按键中有标注显示,终端检测到用户对虚拟按键的触控操作时,控制虚拟对象在虚拟载具中按照固定的换位顺序进行换位,终端每检测到一次用户对虚拟按键的触控操作,只控制虚拟对象在虚拟载具中切换一个位置。
上述相关技术中,由于需要根据固定的换位顺序选择更换的位置,所以需要对虚拟按键进行多次触控操作才能控制虚拟对象移动到目标位置,导致虚拟对象在虚拟载具中的换位效率较低。
发明内容
本申请实施例提供了一种虚拟场景中的虚拟对象控制方法、计算机设备及存储介质,可以提高虚拟对象在虚拟载具中的换位效率,技术方案如下:
一方面,提供了虚拟场景中的虚拟对象控制方法,所述方法由终端执行,所述方法包括:
展示应用程序的显示界面,所述显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;
当接收到指定操作,且所述终端控制的虚拟对象位于所述第一类型位置上时,获取目标视角方向,所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向;
根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置;
控制所述虚拟对象切换至所述目标位置。
一方面,提供了一种虚拟场景中的虚拟对象控制方法,所述方法由终端执行,所述方法包括:
展示应用程序的第一显示界面,所述第一显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;所述显示界面中包含指定控件;在所述第一显示界面中,所述终端控制的虚拟对象位于所述第一类型位置;
接收对所述指定控件的触发操作,所述指定控件是触发所述虚拟对象执行所述指定动作的控件;
展示所述第二应用程序的第二显示界面,在所述第二显示界面中,所述虚拟对象位于目标位置;所述目标位置是所述至少两个第二类型位置中,与接收到所述触发操作时的目标视角方向相对应的位置;所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向。
一方面,提供了一种虚拟场景中的虚拟对象控制装置,所述装置包括:
界面展示模块,展示应用程序的显示界面,所述显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;
视角获取模块,用于当接收到指定操作,且所述终端控制的虚拟对象位于所述第一类型位置上时,获取目标视角方向,所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向;
位置确定模块,用于根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置;
位置切换模块,用于控制所述虚拟对象切换至所述目标位置。
可选的,所述位置确定模块,包括,
载具朝向获取子模块,用于获取所述虚拟载具的朝向;
目标位置确定子模块,用于根据所述目标视角方向以及所述虚拟载具的朝向,从所述至少两个第二类型位置中确定所述目标位置。
可选的,所述目标位置确定子模块,包括,
优先级获取单元,用于根据所述目标视角方向以及所述虚拟载具的朝向,获取所述至少两个第二类型位置的优先级;
空闲位置确定单元,用于确定所述至少两个第二类型位置中的各个空闲位置;
第一目标位置确定单元,用于将所述各个空闲位置中优先级最高的位置确定为所述目标位置。
可选的,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述优先级获取单元,用于,
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置。
可选的,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述优先级获取单元,用于,
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第二位置、所述第一位置、所述第四位置以及所述第三位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第四位置、所述第三位置、所述第二位置以及所述第一位置。
可选的,所述位置确定模块,包括,
方向获取子模块,用于获取所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向;
目标位置确定子模块,用于根据所述目标视角方向,以及所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向,从所述至少两个第二类型位置中确定所述目标位置。
可选的,所述目标位置确定子模块,包括,
第一分量获取单元,用于获取所述目标视角方向在水平面上的第一分量;
第二分量获取单元,用于获取至少两个第二分量,所述至少两个第二分量是所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向分别在水平面上的分量;
目标分量确定单元,用于将与所述第一分量之间的夹角最小的第二分量确定为目标分量;
第二目标位置确定单元,用于将所述目标分量对应的第二类型位置确定为所述目标位置。
可选的,所述位置切换模块,包括,
目标位置切换子模块,用于当所述目标位置空闲时,控制所述虚拟对象切换至所述目标位置。
可选的,所述显示界面中包含指定控件;
所述指定操作是对所述指定控件的触发操作,所述指定控件用于触发所述虚拟对象执行所述指定动作。
可选的,所述指定动作为攻击动作,或者,所述指定动作为攻击动作的前置动作。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述虚拟场景中的虚拟对象控制方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述虚拟场景中的虚拟对象控制方法。
本申请通过对虚拟场景中的虚拟对象进行指定操作,并根据获取到的目标视角方向,从第二类型位置中确定目标位置,从而实现控制虚拟对象从虚拟载具中的第一类型位置切换到第二类型位置中的目标位置,提高了虚拟对象在虚拟载具中切换位置的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性的实施例提供的终端的结构示意图;
图2是本申请一个示例性实施例提供的虚拟场景的显示界面示意图;
图3是本申请一个示例性实施例提供的虚拟场景中的虚拟对象控制流程的示意图;
图4是本申请一个示例性实施例提供的虚拟场景中的虚拟对象控制流程的示意图;
图5是图4所示实施例涉及的一种虚拟场景的显示界面示意图;
图6是本申请一个示例性实施例提供的虚拟场景中的虚拟对象控制方法的方法流程图;
图7是图6所示实施例涉及的一种虚拟直升机示意图;
图8是图6所示实施例涉及的另一种虚拟场景的显示界面示意图;
图9是图6所示实施例涉及的摄像机模型示意图;
图10是图6所示实施例涉及的一种虚拟场景中坐标系的示意图;
图11是图6所示实施例涉及的一种方向向量示意图;
图12是图6所示实施例涉及的一种获取第二类型位置的优先级的示意图;
图13是图6所示实施例涉及的一种在虚拟直升机中进行射击智能换座的流程图;
图14是图6所示实施例涉及的另一种获取第二类型位置的优先级的示意图;
图15是本申请一个示例性的实施例提供的虚拟场景中的虚拟对象控制方法的方法流程图;
图16是图15所示实施例涉及的一种获取第二类型位置的示意图;
图17是本申请一示例性实施例提供的虚拟场景中的虚拟对象控制装置的结构方框图;
图18是本申请一示例性实施例提供的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还可用于至少两个虚拟角色之间的虚拟场景对战。可选地,该虚拟场景还可用于至少两个虚拟角色之间使用虚拟枪械进行对战。可选地,该虚拟场景还可用于在目标区域范围内,至少两个虚拟角色之间使用虚拟枪械进行对战,该目标区域范围会随虚拟场景中的时间推移而不断变小。
虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
请参考图1,其示出了本申请一个示例性的实施例提供的终端的结构示意图。如图1所示,该终端包括主板110、外部输出/输入设备120、存储器130、外部接口140、触控***150以及电源160。
其中,主板110中集成有处理器和控制器等处理元件。
外部输出/输入设备120可以包括显示组件(比如显示屏)、声音播放组件(比如扬声器)、声音采集组件(比如麦克风)以及各类按键等。
存储器130中存储有程序代码和数据。
外部接口140可以包括耳机接口、充电接口以及数据接口等。
触控***150可以集成在外部输出/输入设备120的显示组件或者按键中,触控***150用于检测用户在显示组件或者按键上执行的触控操作。
电源160用于对终端中的其它各个部件进行供电。
在本申请实施例中,主板110中的处理器可以通过执行或者调用存储器中存储的程序代码和数据生成虚拟场景,并将生成的虚拟场景通过外部输出/输入设备120进行展示。在展示虚拟场景的过程中,可以通过电容触控***150检测用户与虚拟场景进行交互时执行的触控操作。
其中,虚拟场景可以是三维虚拟场景,或者,虚拟场景也可以是二维虚拟场景。以虚拟场景是三维虚拟场景为例,请参考图2,其示出了本申请一个示例性的实施例提供的虚拟场景的显示界面示意图。如图2所示,虚拟场景的显示界面包含场景画面200,该场景画面200中包括虚拟载具210、三维虚拟场景的环境画面220、以及虚拟对象240。其中,虚拟载具210可以是终端对应用户的当前虚拟对象所在的虚拟载具,比如,当终端对应用户的当前虚拟对象是虚拟人物时,该虚拟载具210是该虚拟人物乘坐的虚拟载具。或者,该虚拟载具210也可以是终端对应用户的当前虚拟对象。虚拟对象240可以是其它终端对应用户控制的虚拟对象。
在图2中,虚拟载具210与虚拟对象240是在三维虚拟场景中的三维模型,在场景画面200中显示的三维虚拟场景的环境画面为虚拟载具210的视角所观察到的物体,示例性的,如图2所示,在虚拟载具210的视角观察下,显示的三维虚拟场景的环境画面220为大地224、天空225、地平线223、小山221以及厂房222。
虚拟对象240可以在用户的控制下在虚拟载具210中进行位置切换。比如,终端的屏幕支持触控操作,且虚拟场景的场景画面200中包含虚拟控件,该虚拟控件可以是用来执行攻击动作或者是用来执行攻击动作的前置动作。当用户触控该虚拟控件时,虚拟对象240可以在虚拟载具210中进行位置切换。
在本申请实施例中,虚拟对象可以在终端的控制下进行视角调整、位置切换等操作。
比如,请参考图3,其示出了本申请一个示例性的实施例提供的虚拟场景中的虚拟对象控制流程的示意图。如图3所示,运行上述虚拟场景对应的应用程序的终端(比如上述图1所示的终端),可以通过执行以下步骤来控制虚拟场景中的虚拟对象进行在虚拟载具中的位置切换。
步骤31,展示应用程序的显示界面,该显示界面中包含虚拟场景的场景画面,该虚拟场景中包含虚拟载具,该虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,该第一类型位置是禁止执行指定动作的位置,该第二类型位置是允许执行该指定动作的位置。
步骤32,当接收到指定操作,且该终端控制的虚拟对象位于该第一类型位置上时,获取目标视角方向,该目标视角方向是通过摄像机模型对该虚拟对象进行观察的视角方向。
步骤33,根据该目标视角方向,从该至少两个第二类型位置中确定目标位置。
步骤34,控制该虚拟对象切换至该目标位置。
本申请实施例所示的方案,当终端控制的虚拟对象位于禁止执行指定动作的位置时,终端当接收到指定操作,可以获取到目标视角的方向,并且根据目标视角方向从允许执行指定动作的位置中确定目标位置,然后控制虚拟对象切换到目标位置,从而提供可以根据虚拟对象的目标视角方向,控制虚拟对象从禁止执行指定动作的位置切换到允许执行指定动作的位置的功能,扩展了虚拟对象的可操作性。
再比如,请参考图4,其示出了本申请一个示例性的实施例提供的虚拟场景中的虚拟对象控制流程的示意图。如图4所示,运行上述虚拟场景对应的应用程序的终端(比如上述图1所示的终端),可以通过执行以下步骤来控制虚拟场景中的虚拟对象在虚拟载具中的位置切换。
步骤41,展示应用程序的第一显示界面,该第一显示界面中包含虚拟场景的场景画面,该虚拟场景中包含虚拟载具,该虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,该第一类型位置是禁止执行指定动作的位置,该第二类型位置是允许执行该指定动作的位置;该显示界面中包含指定控件;在该第一显示界面中,该终端控制的虚拟对象位于该第一类型位置。
在本申请实施例中,应用程序的第一显示界面包含有虚拟场景的场景画面和位于虚拟场景画面上层叠加的指定控件,当虚拟对象位于禁止执行指定动作的第一类型位置时,用户可以通过对指定控件的操作实现对虚拟场景中的虚拟对象的控制。
步骤42,接收对该指定控件的触发操作,该指定控件是触发该虚拟对象执行该指定动作的控件。
其中,指定动作可以是攻击动作或者攻击动作的前置动作,比如,指定控件可以是射击控件或者探头控件。射击控件是用来控制虚拟对象执行射击动作的虚拟控件。探头控件是用来控制虚拟对象执行探头动作的虚拟控件。
在本申请实施例中,通过场景画面上层叠加的指定控件,用户对指定控件进行触发操作时,终端可以接收到指定控件的触发操作,从而实现对虚拟对象执行指定动作的控制。
步骤43,展示该应用程序的第二显示界面,在该第二显示界面中,该虚拟对象位于目标位置;该目标位置是该至少两个第二类型位置中,与接收到该触发操作时的目标视角方向相对应的位置;该目标视角方向是通过摄像机模型对该虚拟对象进行观察的视角方向。
其中,第二显示界面中虚拟对象位于目标位置上,目标位置是根据终端收到对指定控件的触发操作时的目标视角方向相对应的位置。也就是说,本申请实施例所示的方案可以通过对指定控件的触发操作实现直接对虚拟对象向目标视角方向的固定位置的切换。
请参考图5,其示出了本申请实施例涉及的一种虚拟场景的显示界面示意图。如图5所示,虚拟场景的显示界面50中包含场景画面51以及至少一个指定控件52(图5中示出为两个指定控件),场景画面51中包含虚拟载具51a和虚拟对象51b。用户可以通过指定控件52控制虚拟对象51b在虚拟载具51a中进行位置切换。
在本申请实施例中,通过对虚拟场景中的虚拟对象进行指定操作,并根据获取到的目标视角方向,从第二类型位置中确定目标位置,从而实现控制虚拟对象从虚拟载具中的第一类型位置切换到第二类型位置中的目标位置,提高了虚拟对象在虚拟载具中切换位置的效率,从而增加了虚拟对象在虚拟载具中切换位置的灵活性。
请参考图6,其示出了本申请一个示例性的实施例提供的虚拟场景中的虚拟对象控制方法的方法流程图。如图6所示,运行上述虚拟场景对应的应用程序的终端(比如上述图1所示的终端),可以通过执行以下步骤来控制虚拟场景中的虚拟对象在虚拟载具中的位置切换。
步骤601,展示应用程序的显示界面,该显示界面中包含虚拟场景的场景画面,该虚拟场景中包含虚拟载具,该虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,该第一类型位置是禁止执行指定动作的位置,该第二类型位置是允许执行该指定动作的位置。
在本申请实施例所示的方案中,虚拟载具可以是所有包含至少一个禁止执行指定动作的位置以及至少两个允许执行指定动作的位置的虚拟载具类型。比如,上述虚拟载具可以是虚拟装甲车,虚拟游轮或者虚拟直升机等。
比如,请参考图7,其示出了本申请实施例涉及的一种虚拟直升机示意图。在现实中,直升机是一种依靠螺旋桨和尾翼飞行的飞行器具,直升机的突出特点是可以做低空(离地面数米)、低速(从悬停开始)和机头方向不变的机动飞行,特别是可在小面积场地垂直起降。如图7所示,其中虚拟直升机可以有8个可以供虚拟对象乘坐或驾驶的位置。其中1号位置为驾驶位,驾驶位置是无法执行指定动作并且不能进行位置切换的位置。2号位置、3号位置和4号位置是第一类型位置,即禁止执行指定动作的位置。5号位置、6号位置、7号位置和8号位置是第二类型位置,即允许执行指定动作的位置。
步骤602,当接收到指定操作,且该终端控制的虚拟对象位于该第一类型位置上时,获取目标视角方向,该目标视角方向是通过摄像机模型对该虚拟对象进行观察的视角方向。
可选的,上述显示界面中可以包含指定控件;该指定操作可以是对该指定控件的触发操作,而该指定控件用于触发虚拟对象执行上述指定动作。
可选的,该指定动作为攻击动作,或者,该指定动作为攻击动作的前置动作。
请参考图8,其示出了本申请实施例涉及的一种虚拟场景的显示界面示意图。如图8所示,当指定控件是射击控件82或者探头控件83时,用户可以通过触控射击控件82或者探头控件83所在区域调整虚拟对象在虚拟载具81中的位置。
其中,虚拟载具81为虚拟直升机,其具体内部位置分布如图7所示,当终端控制的虚拟对象位于2号位置、3号位置或者4号位置时,获取目标视角的方向,目标视角方向是通过摄像机模型对虚拟对象进行观察的视角方向。
示意性的,请参考图9,其示出了本申请实施例涉及的摄像机模型示意图。在虚拟对象91中确定一点作为旋转中心92,摄像机模型围绕该旋转中心92进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟对象后上方的位置(比如脑部的后方位置)。示意性的,如图9所示,该初始位置为位置93,当摄像机模型旋转至位置94或者位置95时,摄像机模型的视角方向随摄像机模型的转动而进行改变。
需要说明的是,上述图9中,以虚拟对象是虚拟人物对象进行举例说明,在本申请实施例中,上述虚拟对象91也可以是虚拟场景中的虚拟载具,或者,上述虚拟对象也可以是可以由用户控制的任意其它形态的虚拟对象,比如虚拟动物等。
步骤603,获取该虚拟载具的朝向。
示意性的,请参考图10,其示出了本申请实施例涉及的一种虚拟场景中坐标系的示意图。如图10所示,在虚拟场景中存在与现实世界相同的方向划分,可以在虚拟场景中建立直角坐标系,分别建立x轴、y轴与z轴,三条坐标轴相互垂直,虚拟场景中的任意一个方向都可以用该坐标轴下的方向向量表示出来。
请参考图11,其示出了本申请实施例涉及的一种方向向量示意图。如图11所示,虚拟场景内的画面都是通过摄像机拍摄得到的,因此存在摄像机的朝向方向单位向量该向量为上述目标视角方向的向量。如图11所示的方向单位向量为虚拟载具的朝向的单位向量。
步骤604,根据该目标视角方向以及该虚拟载具的朝向,从该至少两个第二类型位置中确定该目标位置。
在本申请实施例中,根据目标视角方向以及虚拟载具的朝向,可以从至少两个允许执行指定动作的位置中确定目标位置。
在一种可能的实现方式中,终端可以根据目标视角方向以及虚拟载具的朝向,获取至少两个允许执行指定动作的位置的优先级,确定至少两个允许执行指定动作的位置中的各个空闲位置,将各个空闲位置中优先级最高的位置确定为目标位置。
其中,当至少两个第二类型位置包括位于虚拟载具左前方的第一位置、位于虚拟载具左后方的第二位置、位于虚拟载具右前方的第三位置、位于虚拟载具右后方的第四位置时,根据目标视角方向以及虚拟载具的朝向,获取至少两个第二类型位置的优先级的方法可以为,若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向左偏移,则确定至少两个第二类型位置的优先级从高到低分别为第一位置、第二位置、第三位置以及第四位置。若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向右偏移,则确定至少两个第二类型位置的优先级从高到低分别为第三位置、第四位置、第一位置以及第二位置。
比如,请参考图12,其示出了本申请实施例涉及的一种获取第二类型位置的优先级的示意图。如图12所示,1号位置为驾驶位置,2号、3号、4号位置为第一类型位置,5号、6号、7号和8号位置为第二类型位置。当虚拟对象位于第一类型位置,虚拟载具的朝向的方向向量为向量目标视角方向的方向向量为向量忽略掉在z轴方向的向量分量,向量的水平方向分量为向量的水平方向分量为通过向量的叉乘运算,即可以计算得出x1y0-x0y1<0,说明向量的水平方向分量顺时针转动小于180度的角度可以旋转到向量的水平方向分量的位置,可以得到目标视角方向相对于虚拟载具的朝向方向为偏右侧。于是可以确定第二类型位置的优先级从高到低分别是7号位置、8号位置、5号位置和6号位置。若7号位置为非空闲位置,8号位置为空闲位置,则确定8号位置为目标位置。若通过向量的叉乘运算,即计算得出x1y0-x0y1≥0,说明向量的水平方向分量逆时针转动小于180度的角度可以旋转到向量的水平方向分量的位置,可以得到目标视角方向相对于虚拟载具的朝向方向为偏左侧。
请参考图13,其示出了本申请实施例涉及的一种在虚拟直升机中进行射击智能换座的流程图。如图13所示,当用户在虚拟场景中控制虚拟对象乘坐虚拟直升机时,在应用程序中虚拟对象进入到虚拟直升机内。当用户在虚拟直升机的B类位置时,这里的B类位置即上述的第一类型位置,用户点击探头或者射击虚拟按键,即执行指定操作,可以控制应用程序客户端对瞄准方向与直升机朝向的角度关系进行计算,瞄准方向即上述的目标视角方向,直升机朝向方向即虚拟载具的朝向方向。如图12所示,结合图12所示内容,应用程序客户端可以判断瞄准方向相对于直升机朝向方向是偏右,应用程序客户端确定智能换座的顺序为5、6、7、8号位置,在显示界面中,虚拟对象可以按照顺序切换到5号位置或6号位置或7号位置或8号位置。
在另一种可能的实现方式中,当至少两个第二类型位置包括位于虚拟载具左前方的第一位置、位于虚拟载具左后方的第二位置、位于虚拟载具右前方的第三位置、位于虚拟载具右后方的第四位置时,根据目标视角方向以及虚拟载具的朝向,获取至少两个第二类型位置的优先级的方法可以有四种情况:
若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向左偏移,且目标视角方向的水平分量与虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定至少两个第二类型位置的优先级从高到低分别为第一位置、第二位置、第三位置以及第四位置;
若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向左偏移,且目标视角方向的水平分量与虚拟载具的朝向的水平分量之间的夹角大于90度,则确定至少两个第二类型位置的优先级从高到低分别为第二位置、第一位置、第四位置以及第三位置;
若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向右偏移,且目标视角方向的水平分量与虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定至少两个第二类型位置的优先级从高到低分别为第三位置、第四位置、第一位置以及第二位置;
若目标视角方向的水平分量相对于虚拟载具的朝向的水平分量向右偏移,且目标视角方向的水平分量与虚拟载具的朝向的水平分量之间的夹角大于90度,则确定至少两个第二类型位置的优先级从高到低分别为第四位置、第三位置、第二位置以及第一位置。
比如,请参考图14,其示出了本申请实施例涉及的另一种获取第二类型位置的优先级的示意图。如图14所示,1号位置为驾驶位置,2号、3号、4号位置为第一类型位置,5号、6号、7号和8号位置为第二类型位置。当虚拟对象位于第一类型位置,虚拟载具的朝向的方向向量为向量目标视角方向的方向向量为向量忽略掉在z轴方向的向量分量,对水平方向上的向量进行叉乘运算,可以计算得出目标视角方向相对于虚拟载具的朝向方向为偏左侧且虚拟载具的朝向的方向向量水平分量与目标视角方向的方向向量水平分量的夹角β大于90度。于是可以确定第二类型位置的优先级从高到低分别是6号位置、5号位置、8号位置和7号位置。若6号位置为非空闲位置,5号位置为空闲位置,则确定5号位置为目标位置。
步骤605,控制该虚拟对象切换至该目标位置。
根据上述优先级确定第二类型位置中的目标位置,控制虚拟对象从第一类型位置切换到目标位置,执行指定动作。
其中,当虚拟对象在第一类型位置时,应用程序展示的为第一显示界面,第一显示界面中包含虚拟场景的场景画面,虚拟场景中包含虚拟载具,虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,第一类型位置是禁止执行指定动作的位置,第二类型位置是允许执行该指定动作的位置;显示界面中包含指定控件;在第一显示界面中,终端控制的虚拟对象位于第一类型位置。当接收对指定控件的触发操作后,虚拟对象从第一类型位置切换到第二类型位置,应用程序展示第二显示界面,在第二显示界面中,虚拟对象位于目标位置;目标位置是至少两个第二类型位置中,与接收到触发操作时的目标视角方向相对应的位置,目标视角方向是通过摄像机模型对虚拟对象进行观察的视角方向。
综上所述,在本申请实施例中,通过对虚拟场景中的虚拟对象进行指定操作,并根据获取到的目标视角方向,从第二类型位置中确定目标位置,从而实现控制虚拟对象从虚拟载具中的第一类型位置切换到第二类型位置中的目标位置,提高了虚拟对象在虚拟载具中切换位置的效率,从而增加了虚拟对象在虚拟载具中切换位置的灵活性。
请参考图15,其示出了本申请一个示例性的实施例提供的虚拟场景中的虚拟对象控制方法的方法流程图。如图15所示,运行上述虚拟场景对应的应用程序的终端(比如上述图1所示的终端),可以通过执行以下步骤来控制虚拟场景中的虚拟对象在虚拟载具中的位置切换。
步骤1501,展示应用程序的显示界面,该显示界面中包含虚拟场景的场景画面,该虚拟场景中包含虚拟载具,该虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,该第一类型位置是禁止执行指定动作的位置,该第二类型位置是允许执行该指定动作的位置。
步骤1502,当接收到指定操作,且该终端控制的虚拟对象位于该第一类型位置上时,获取目标视角方向,该目标视角方向是通过摄像机模型对该虚拟对象进行观察的视角方向。
步骤1501与步骤1502的实施方式可以参考上述步骤601和步骤602,本实施例在此不再赘述。
步骤1503,获取该至少两个第二类型位置各自相对于该虚拟载具的中心点的相对方向。
比如,请参考图16,其示出了本申请实施例涉及的一种获取第二类型位置的示意图。如图16所示,1号位置为驾驶位置,2号、3号、4号位置为第一类型位置,5号、6号、7号和8号位置为第二类型位置。分别从虚拟载具的中心点向第二类型位置即5号、6号、7号和8号位置引入水平方向向量a5、a6、a7、a8。
步骤1504,根据该目标视角方向,以及该至少两个第二类型位置各自相对于该虚拟载具的中心点的相对方向,从该至少两个第二类型位置中确定该目标位置。
在一种可能实现的方式中,步骤1504可以包括如下步骤:
1、获取该目标视角方向在水平面上的第一分量。
2、获取至少两个第二分量,该至少两个第二分量是该至少两个第二类型位置各自相对于该虚拟载具的中心点的相对方向分别在水平面上的分量。
3、将与该第一分量之间的夹角最小的第二分量确定为目标分量。
4、将该目标分量对应的第二类型位置确定为该目标位置。
比如,如图16所示,目标视角方向在水平面上的第一分量为方向向量b。至少两个第二分量可以是从虚拟载具的中心点向第二类型位置即5号、6号、7号和8号位置引入的水平方向向量a5、a6、a7、a8。与第一分量方向向量b的夹角最小的第二分量为水平方向向量a6,所以可以确定水平方向向量a6为目标分量,将与目标分量相对应的6号位置确定为目标位置。
步骤1505,控制该虚拟对象切换至该目标位置。
本步骤的实施方式可以参考上述步骤605,本实施例在此不再赘述。
综上所述,在本申请实施例中,通过对虚拟场景中的虚拟对象进行指定操作,并根据获取到的目标视角方向,从第二类型位置中确定目标位置,从而实现控制虚拟对象从虚拟载具中的第一类型位置切换到第二类型位置中的目标位置,提高了虚拟对象在虚拟载具中切换位置的效率,从而增加了虚拟对象在虚拟载具中切换位置的灵活性。
图17是根据一示例性实施例示出的一种虚拟场景中的虚拟对象控制装置的结构方框图。该虚拟场景中的虚拟对象控制装置可以用于终端中,以执行图3或图6或图15对应实施例所示的方法中,由终端执行的全部或者部分步骤。该虚拟场景中的虚拟对象控制装置可以包括:
界面展示模块1701,用于展示应用程序的显示界面,所述显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;
视角获取模块1702,用于当接收到指定操作,且所述终端控制的虚拟对象位于所述第一类型位置上时,获取目标视角方向,所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向;
位置确定模块1703,用于根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置;
位置切换模块1704,用于控制所述虚拟对象切换至所述目标位置。
可选的,所述位置确定模块1703,包括,
载具朝向获取子模块,用于获取所述虚拟载具的朝向;
目标位置确定子模块,用于根据所述目标视角方向以及所述虚拟载具的朝向,从所述至少两个第二类型位置中确定所述目标位置。
可选的,所述目标位置确定子模块,包括,
优先级获取单元,用于根据所述目标视角方向以及所述虚拟载具的朝向,获取所述至少两个第二类型位置的优先级;
空闲位置确定单元,用于确定所述至少两个第二类型位置中的各个空闲位置;
第一目标位置确定单元,用于将所述各个空闲位置中优先级最高的位置确定为所述目标位置。
可选的,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述优先级获取单元,用于,
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置。
可选的,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述优先级获取单元,用于,
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第二位置、所述第一位置、所述第四位置以及所述第三位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第四位置、所述第三位置、所述第二位置以及所述第一位置。
可选的,所述位置确定模块1703,包括,
方向获取子模块,用于获取所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向;
目标位置确定子模块,用于根据所述目标视角方向,以及所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向,从所述至少两个第二类型位置中确定所述目标位置。
可选的,所述目标位置确定子模块,包括,
第一分量获取单元,用于获取所述目标视角方向在水平面上的第一分量;
第二分量获取单元,用于获取至少两个第二分量,所述至少两个第二分量是所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向分别在水平面上的分量;
目标分量确定单元,用于将与所述第一分量之间的夹角最小的第二分量确定为目标分量;
第二目标位置确定单元,用于将所述目标分量对应的第二类型位置确定为所述目标位置。
可选的,所述位置切换模块1704,包括,
目标位置切换子模块,用于当所述目标位置空闲时,控制所述虚拟对象切换至所述目标位置。
可选的,所述显示界面中包含指定控件;
所述指定操作是对所述指定控件的触发操作,所述指定控件用于触发所述虚拟对象执行所述指定动作。
可选的,所述指定动作为攻击动作,或者,所述指定动作为攻击动作的前置动作。
综上所述,在本申请实施例中,通过对虚拟场景中的虚拟对象进行指定操作,并根据获取到的目标视角方向,从第二类型位置中确定目标位置,从而实现控制虚拟对象从虚拟载具中的第一类型位置切换到第二类型位置中的目标位置,提高了虚拟对象在虚拟载具中切换位置的效率,从而增加了虚拟对象在虚拟载具中切换位置的灵活性。
图18是根据一示例性实施例示出的计算机设备1800的结构框图。该计算机设备1800可以是用户终端,比如智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中方法实施例提供的虚拟场景中的虚拟载具控制方法。
在一些实施例中,计算机设备1800还可选包括有:***设备接口1803和至少一个***设备。处理器1801、存储器1802和***设备接口1803之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1803相连。具体地,***设备包括:射频电路1804、触摸显示屏1805、摄像头1806、音频电路1807、定位组件1808和电源1809中的至少一种。
***设备接口1803可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和***设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和***设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置计算机设备1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在计算机设备1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805可以是柔性显示屏,设置在计算机设备1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
定位组件1808用于定位计算机设备1800的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1808可以是基于美国的GPS(Global Positioning System,全球定位***)、中国的北斗***、俄罗斯的GLONASS(Global Navigation Satellite System,全球卫星导航***)或者欧洲的伽利略***的定位组件。
电源1809用于为计算机设备1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
加速度传感器1811可以检测以计算机设备1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制触摸显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1812可以检测计算机设备1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对计算机设备1800的3D动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1813可以设置在计算机设备1800的侧边框和/或触摸显示屏1805的下层。当压力传感器1813设置在计算机设备1800的侧边框时,可以检测用户对计算机设备1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在触摸显示屏1805的下层时,由处理器1801根据用户对触摸显示屏1805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置计算机设备1800的正面、背面或侧面。当计算机设备1800上设置有物理按键或厂商Logo时,指纹传感器1814可以与物理按键或厂商Logo集成在一起。
光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制触摸显示屏1805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1805的显示亮度;当环境光强度较低时,调低触摸显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
接近传感器1816,也称距离传感器,通常设置在计算机设备1800的前面板。接近传感器1816用于采集用户与计算机设备1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与计算机设备1800的正面之间的距离逐渐变小时,由处理器1801控制触摸显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与计算机设备1800的正面之间的距离逐渐变大时,由处理器1801控制触摸显示屏1805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图18中示出的结构并不构成对计算机设备1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条指令、至少一段程序、代码集或指令集的存储器,上述至少一条指令、至少一段程序、代码集或指令集可由处理器执行以完成上述图3、图4、图6或图15对应实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种虚拟场景中的虚拟对象控制方法,其特征在于,所述方法由终端执行,所述方法包括:
展示应用程序的显示界面,所述显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;
当接收到指定操作,且所述终端控制的虚拟对象位于所述第一类型位置上时,获取目标视角方向,所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向;所述显示界面中包含指定控件;所述指定操作是对所述指定控件的触发操作,所述指定控件用于触发所述虚拟对象执行所述指定动作;
根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置,所述目标位置是至少两个所述第二类型位置中,与接收到所述指定操作时的目标视角方向相对应的位置;
控制所述虚拟对象直接切换至所述目标位置并执行所述指定动作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置,包括:
获取所述虚拟载具的朝向;
根据所述目标视角方向以及所述虚拟载具的朝向,从所述至少两个第二类型位置中确定所述目标位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标视角方向以及所述虚拟载具的朝向,从所述至少两个第二类型位置中确定所述目标位置,包括:
根据所述目标视角方向以及所述虚拟载具的朝向,获取所述至少两个第二类型位置的优先级;
确定所述至少两个第二类型位置中的各个空闲位置;
将所述各个空闲位置中优先级最高的位置确定为所述目标位置。
4.根据权利要求3所述的方法,其特征在于,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述根据所述目标视角方向以及所述虚拟载具的朝向,获取所述至少两个第二类型位置的优先级,包括:
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置。
5.根据权利要求3所述的方法,其特征在于,所述至少两个第二类型位置包括位于所述虚拟载具左前方的第一位置、位于所述虚拟载具左后方的第二位置、位于所述虚拟载具右前方的第三位置、位于所述虚拟载具右后方的第四位置;
所述根据所述目标视角方向以及所述虚拟载具的朝向,获取所述至少两个第二类型位置的优先级,包括:
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第一位置、所述第二位置、所述第三位置以及所述第四位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向左偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第二位置、所述第一位置、所述第四位置以及所述第三位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角小于或者等于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第三位置、所述第四位置、所述第一位置以及所述第二位置;
若所述目标视角方向的水平分量相对于所述虚拟载具的朝向的水平分量向右偏移,且所述目标视角方向的水平分量与所述虚拟载具的朝向的水平分量之间的夹角大于90度,则确定所述至少两个第二类型位置的优先级从高到低分别为所述第四位置、所述第三位置、所述第二位置以及所述第一位置。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置,包括:
获取所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向;
根据所述目标视角方向,以及所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向,从所述至少两个第二类型位置中确定所述目标位置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标视角方向,以及所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向,从所述至少两个第二类型位置中确定所述目标位置,包括:
获取所述目标视角方向在水平面上的第一分量;
获取至少两个第二分量,所述至少两个第二分量是所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向分别在水平面上的分量;
将与所述第一分量之间的夹角最小的第二分量确定为目标分量;
将所述目标分量对应的第二类型位置确定为所述目标位置。
8.根据权利要求7所述的方法,其特征在于,所述控制所述虚拟对象切换至所述目标位置,包括:
当所述目标位置空闲时,控制所述虚拟对象切换至所述目标位置。
9.根据权利要求1至8任一所述的方法,其特征在于,
所述指定动作为攻击动作,或者,所述指定动作为攻击动作的前置动作。
10.一种虚拟场景中的虚拟对象控制方法,其特征在于,所述方法由终端执行,所述方法包括:
展示应用程序的第一显示界面,所述第一显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;所述显示界面中包含指定控件;在所述第一显示界面中,所述终端控制的虚拟对象位于所述第一类型位置;
接收对所述指定控件的触发操作,所述指定控件是触发所述虚拟对象执行所述指定动作的控件;
展示所述应用程序的第二显示界面,所述第二显示界面是所述虚拟对象从所述第一类型位置直接切换至目标位置并执行所述指定动作之后显示的界面;所述目标位置是所述至少两个第二类型位置中,与接收到所述触发操作时的目标视角方向相对应的位置;所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向。
11.根据权利要求10所述的方法,其特征在于,所述目标位置是目标分量对应的第二类型位置;
其中,所述目标分量是至少两个第二分量中,与第一分量之间的夹角小于夹角阈值的第二分量;所述至少两个第二分量是所述至少两个第二类型位置各自相对于所述虚拟载具的中心点的相对方向分别在水平面上的分量;所述第一分量是所述目标视角方向在水平面上的分量。
12.一种虚拟场景中的虚拟对象控制装置,其特征在于,所述装置用于终端中,所述装置包括:
界面展示模块,展示应用程序的显示界面,所述显示界面中包含虚拟场景的场景画面,所述虚拟场景中包含虚拟载具,所述虚拟载具中包含至少一个第一类型位置以及至少两个第二类型位置,所述第一类型位置是禁止执行指定动作的位置,所述第二类型位置是允许执行所述指定动作的位置;
视角获取模块,用于当接收到指定操作,且所述终端控制的虚拟对象位于所述第一类型位置上时,获取目标视角方向,所述目标视角方向是通过摄像机模型对所述虚拟对象进行观察的视角方向;所述显示界面中包含指定控件;所述指定操作是对所述指定控件的触发操作,所述指定控件用于触发所述虚拟对象执行所述指定动作;
位置确定模块,用于根据所述目标视角方向,从所述至少两个第二类型位置中确定目标位置,所述目标位置是至少两个所述第二类型位置中,与接收到所述指定操作时的目标视角方向相对应的位置;
位置切换模块,用于控制所述虚拟对象直接切换至所述目标位置并执行所述指定动作。
13.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的虚拟场景的虚拟对象控制方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的虚拟场景的虚拟对象控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910862693.8A CN110597389B (zh) | 2019-09-12 | 2019-09-12 | 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910862693.8A CN110597389B (zh) | 2019-09-12 | 2019-09-12 | 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597389A CN110597389A (zh) | 2019-12-20 |
CN110597389B true CN110597389B (zh) | 2021-04-09 |
Family
ID=68859052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910862693.8A Active CN110597389B (zh) | 2019-09-12 | 2019-09-12 | 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597389B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111815759B (zh) * | 2020-06-18 | 2021-04-02 | 广州建通测绘地理信息技术股份有限公司 | 一种可量测实景图片的生成方法、装置、计算机设备 |
CN112076470B (zh) * | 2020-08-26 | 2021-05-28 | 北京完美赤金科技有限公司 | 虚拟对象的展示方法、装置、设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3927821B2 (ja) * | 2002-01-25 | 2007-06-13 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及びゲーム装置 |
US9421457B2 (en) * | 2013-01-25 | 2016-08-23 | John Faratzis | Sports entertainment display surface |
CN106178504B (zh) * | 2016-06-27 | 2019-07-05 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法及装置 |
CN109999497B (zh) * | 2019-04-30 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法和装置、存储介质和电子装置 |
-
2019
- 2019-09-12 CN CN201910862693.8A patent/CN110597389B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110597389A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11703993B2 (en) | Method, apparatus and device for view switching of virtual environment, and storage medium | |
US11221726B2 (en) | Marker point location display method, electronic device, and computer-readable storage medium | |
CN108619721B (zh) | 虚拟场景中的距离信息显示方法、装置及计算机设备 | |
CN110992493B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN108710525B (zh) | 虚拟场景中的地图展示方法、装置、设备及存储介质 | |
WO2020043016A1 (zh) | 虚拟场景中的虚拟载具控制方法、计算机设备及存储介质 | |
CN110917616B (zh) | 虚拟场景中的方位提示方法、装置、设备及存储介质 | |
US11954200B2 (en) | Control information processing method and apparatus, electronic device, and storage medium | |
CN109821237B (zh) | 视角转动的方法、装置、设备及存储介质 | |
CN110738738B (zh) | 三维虚拟场景中的虚拟对象标记方法、设备及存储介质 | |
CN110743168B (zh) | 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 | |
CN111589125A (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
CN110585704B (zh) | 虚拟场景中的对象提示方法、装置、设备及存储介质 | |
US20210142516A1 (en) | Method and electronic device for virtual interaction | |
US20220291791A1 (en) | Method and apparatus for determining selected target, device, and storage medium | |
CN110533756B (zh) | 贴附型装饰物的设置方法、装置、设备及存储介质 | |
CN110597389B (zh) | 虚拟场景中的虚拟对象控制方法、计算机设备及存储介质 | |
CN112130945A (zh) | 礼物赠送方法、装置、设备及存储介质 | |
WO2022237076A1 (zh) | 虚拟对象的控制方法、装置、设备及计算机可读存储介质 | |
CN111013137A (zh) | 虚拟场景中的移动控制方法、装置、设备及存储介质 | |
CN113032590B (zh) | 特效展示方法、装置、计算机设备及计算机可读存储介质 | |
CN112755517A (zh) | 虚拟对象控制方法、装置、终端及存储介质 | |
CN111369684B (zh) | 目标跟踪方法、装置、设备及存储介质 | |
CN110152309B (zh) | 语音通信方法、装置、电子设备及存储介质 | |
CN111369434B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |