CN108170295A - 虚拟摄像机状态控制方法、装置、电子设备及存储介质 - Google Patents
虚拟摄像机状态控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108170295A CN108170295A CN201711394799.7A CN201711394799A CN108170295A CN 108170295 A CN108170295 A CN 108170295A CN 201711394799 A CN201711394799 A CN 201711394799A CN 108170295 A CN108170295 A CN 108170295A
- Authority
- CN
- China
- Prior art keywords
- virtual
- rocking bar
- virtual camera
- camera
- 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.)
- Pending
Links
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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种虚拟摄像机状态控制方法、虚拟摄像机状态控制装置、电子设备及计算机可读存储介质,涉及人机交互技术领域。该方法包括:在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。本公开提高了虚拟摄像机状态调整的效率和精准度。
Description
技术领域
本公开涉及人机交互领域,具体而言,涉及一种虚拟摄像机状态控制方法、虚拟摄像机状态控制装置、电子设备及计算机可读存储介质。
背景技术
随着移动通信技术的快速发展,在触控终端上出现了大量的游戏应用。在各类3D游戏应用中,除了要控制虚拟对象移动,还需要同时控制虚拟摄像机的方向和视角,以呈现更真实的游戏场景。
目前的游戏应用中,一般通过以下两种方式调整虚拟摄像机的视角:方式一、在图1所示的游戏应用中,通过虚拟摇杆控制虚拟对象前后左右移动的同时滑动触控屏幕的方式,调整虚拟摄像机的视角;二、通过双击触控屏幕上的空白区域的方式,将虚拟摄像机调整至默认状态。
但是,对于通过滑动触控屏幕调整视角的方式,在需要大幅度调整虚拟摄像机的视角时,则需要用户大范围滑动触控屏幕,操作量大且效率较低,并且不能精确调整虚拟摄像机的方向;对于通过双击触控屏幕上的空白区域的方式调整虚拟摄像机状态的方式,由于需要双击屏幕的同一固定位置,影响了用户对屏幕上其他控件的使用,从而影响操作的流畅感,用户体验不佳。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种虚拟摄像机状态控制方法、虚拟摄像机状态控制装置、电子设备及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的调整虚拟摄像机效率低以及精准度差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种虚拟摄像机状态控制方法,应用于可呈现图形用户界面的触控终端,所述图形用户界面包括至少部分游戏场景以及至少一虚拟对象,所述方法包括:
在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;
判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
在本公开的一种示例性实施例中,判断所述虚拟摇杆是否处于原点位置包括:
判断当前游戏场景是否为目标游戏场景;
在判断所述当前游戏场景为所述目标游戏场景时,判断所述虚拟摇杆是否处于所述原点位置。
在本公开的一种示例性实施例中,所述触发操作包括:
检测到作用于所述虚拟摇杆的第一触控操作结束且所述第一触控操作触控点的结束位置与初始位置之间的位移不大于第一阈值。
在本公开的一种示例性实施例中,所述触发操作还包括:
检测到作用于所述虚拟摇杆且与第一触控操作连续的第二触控操作且所述第一触控操作触控点的当前位置与初始位置之间的位移不大于第一阈值。
在本公开的一种示例性实施例中,所述方法还包括:
在未检测到作用于所述虚拟摇杆的所述触发操作时,将所述虚拟摇杆切换为移动控制状态,并根据所述虚拟摇杆控制所述虚拟对象移动。
在本公开的一种示例性实施例中,将游戏场景中的虚拟摄像机调整为默认状态包括:
判断所述虚拟摄像机是否处于所述默认状态,并在所述虚拟摄像机处于所述默认状态时,停止检测作用于所述虚拟摇杆的所述触发操作;
在判断所述虚拟摄像机未处于所述默认状态时,调整所述虚拟摄像机的当前方位,直至在所述虚拟摄像机的所述当前方位与所述虚拟对象的当前朝向角度匹配。
在本公开的一种示例性实施例中,将所述虚拟摄像机调整为所述默认状态包括:
通过在所述虚拟摄像机的当前方位与最终方位之间插入关键帧进行角度插值,以使所述虚拟摄像机从所述当前方位过渡到所述最终方位。
在本公开的一种示例性实施例中,所述方法还包括:
将所述虚拟摄像机调整为所述默认状态后,重新确定所述虚拟摄像机的视角。
根据本公开的一个方面,提供一种虚拟摄像机状态控制装置,应用于可呈现图形用户界面的触控终端,所述图形用户界面包括至少部分游戏场景以及至少一虚拟对象,所述装置包括:
界面呈现模块,用于在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;
触发检测模块,用于判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
状态调整模块,用于在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的虚拟摄像机状态控制方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的虚拟摄像机状态控制方法。
本公开一种示例性实施例提供的虚拟摄像机状态控制方法、虚拟摄像机状态控制装置、电子设备及计算机可读存储介质中,一方面,通过触发操作,简化了调整虚拟摄像机状态的步骤,进而提高了调整虚拟摄像机状态的操作效率以及便利性;一方面,可以通过虚拟摇杆,实现控制虚拟对象移动以及调整虚拟摄像机的状态的功能,而不需要增加其他的控件,通过复用控件提升了屏幕利用率;另一方面,通过作用于虚拟摇杆的一次操作,将虚拟摄像机调整为默认状态,避免了大范围滑动屏幕时出现的误差,提高了准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参照附图来详细描述其示例实施例,本公开的上述和其他特征及优点将变得更加明显。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本公开示例性实施例中一种游戏应用操作界面的示意图;
图2示意性示出本公开示例性实施例中一种虚拟摄像机状态控制方法示意图;
图3示意性示出本公开示例性实施例中一种将虚拟摄像机调整为默认状态的界面示意图;
图4示意性示出本公开示例性实施例中一种将虚拟摄像机切换为移动控制状态的界面示意图;
图5示意性示出本公开示例性实施例中一种将虚拟摄像机调整为默认状态的流程示意图;
图6示意性示出本公开示例性实施例中一种虚拟摄像机状态控制装置的结构示意图;
图7示意性示出本公开示例性实施例中一种电子设备的框图;
图8示意性示出本公开示例性实施例中一种程序产品。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其他的方法、组元、材料、装置、步骤等。在其他情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例性实施例中首先公开了一种虚拟摄像机状态控制方法,可以应用于可呈现图形用户界面的触控终端,该图形用户界面中包括至少部分游戏场景以及至少一个虚拟对象,可以通过在触控终端的处理器上执行软件应用并在所述触控终端的显示器上渲染得到图形用户界面。本示例性实施例中,所述触控终端可以为例如手机、平板电脑、笔记本电脑、游戏机、PDA等各种具有触控屏幕的电子设备。但需要说明的是,在部分非触控设备中也可能通过模拟器等方式将键盘以及鼠标操作模拟为触控操作,这种方式同样可以视为本公开中所述的触控终端。
参考图2所示,所述虚拟摄像机状态控制方法可以包括以下步骤:
步骤S210.在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动。
步骤S220.判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
步骤S230.在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
根据本示例实施例中的虚拟摄像机状态控制方法,一方面,通过触发操作,简化了调整虚拟摄像机状态的步骤,进而提高了调整虚拟摄像机状态的操作效率以及便利性;一方面,可以通过虚拟摇杆,实现控制虚拟对象移动以及调整虚拟摄像机的状态的功能,而不需要增加其他的控件,通过复用控件提升了屏幕利用率;另一方面,通过作用于虚拟摇杆的一次操作,将虚拟摄像机调整为默认状态,避免了大范围滑动屏幕时出现的误差,提高了准确率。
接下来,参考图2至图5对所述虚拟摄像机状态控制方法中的各个步骤进行进一步解释说明。
在步骤S210中,在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动。
本示例实施例中,可以在图形用户界面的任意位置提供一个虚拟摇杆,例如左下角或者右下角等。虚拟摇杆可以用于控制虚拟对象进行移动,在虚拟对象移动过程中,虚拟摇杆可以表现为跟随用户手指在特定区域内移动的圆点,也可以表现为可以向不同方向倾斜的操作盘等。
在步骤S220中,判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作。
本示例实施例中,可以以虚拟摇杆的圆点为坐标原点建立坐标系,本示例性实施例中坐标原点可以为虚拟摇杆的中心,坐标原点也可以游戏厂商自定义设置的其他预设位置。可以通过坐标系获取虚拟摇杆的当前位置,并判断虚拟摇杆的当前位置是否为原点位置。在通过对比判断虚拟摇杆处于原点位置时,可以检测所述图形用户界面上的任意位置是否接收到触控事件。
在图形用户界面接收到触控事件时,首先可以判断该触控事件是否满足触发操作的条件。在确认触控事件为触发操作后,可以通过位置传感器判断所述触发操作发生的位置的坐标是否在虚拟摇杆上。本示例实施例中,以触发操作发生在虚拟摇杆的中心为例进行说明。在虚拟摇杆的中心接收到触发操作时,作用于虚拟摇杆的触发操作并不影响虚拟对象当前的状态,例如,游戏场景中由虚拟摇杆控制的虚拟对象可以处于静止状态,也可以处于移动状态,还可以处于转向状态或者是其他状态。
具体地,本示例实施方式中,判断所述虚拟摇杆是否处于原点位置可以包括:
判断当前游戏场景是否为目标游戏场景;
在判断所述当前游戏场景为所述目标游戏场景时,判断所述虚拟摇杆是否处于所述原点位置。
本示例实施方式中,在判断所述虚拟摇杆是否处于原点位置时,可以首先判断图形用户界面上当前呈现的游戏场景是否为目标游戏场景。举例而言,在射击类游戏应用中,普通状态和瞄准状态将在图形用户界面上分别呈现不同的游戏场景。具体而言,在普通状态下,图形用户界面通常向用户呈现一视野范围内的全部游戏场景,以便快速获取视野范围内的目标;而在瞄准状态下,对以瞄准点为中心的小范围游戏场景进行局部的放大显示,使得能够精确对小范围内目标进行定位射击,更加符合用户的操作习惯。在本示例实施例中,可以将普通状态对应的游戏场景确定为目标游戏场景,并通过对比游戏场景中主要元素的大小或者是其他特征,判断当前游戏场景是否为目标游戏场景;若是,可以进一步通过坐标系判断虚拟摇杆的当前位置是否位于目标界面上初始的原点位置。在当前所呈现的游戏场景为目标游戏场景时,虚拟摇杆可以保持可点击状态;在判定当前游戏场景不是目标游戏场景时,可以将虚拟摇杆切换为其他模式或者其他状态。
在步骤S230中,在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
本示例实施例中,在检测到作用于所述虚拟摇杆的触发操作后,可以将用于呈现游戏场景的虚拟摄像机调整为默认状态。本示例性实施例中,默认状态可以为将虚拟摄像机的当前方位回正,也可以理解为将虚拟摄像机的当前方位调整至初始方位。
参考图3所示,在检测到作用于位于虚拟摇杆区域301中的虚拟摇杆302的触发操作时,可以将虚拟摇杆302注册为回正控件302。此时虚拟摄像机可以处于默认状态,也可以处于其他状态。如果虚拟摄像机处于默认状态,则停止操作;如果虚拟摄像机处于其他状态,则可以将虚拟摄像机的其他状态强制调整为默认状态。
需要注意的是,虚拟摄像机状态的改变并不影响虚拟摇杆对虚拟对象状态的控制。本示例实施例中,可以通过作用于当前注册的回正控件的触发操作,快速将虚拟摄像机调整为默认状态,避免了现有技术中回正摄像机时需要大幅度滑动屏幕,提高了操作便利性以及操作效率,同时可以避免大幅度滑动屏幕导致的误差,提高了操作的准确率。进一步地,可以通过虚拟摇杆,同时实现控制虚拟对象移动以及调整虚拟摄像机状态的功能,提升了屏幕所显示的图形用户界面中控件的利用率和操作的一致性。
此外,本示例实施方式中,所述触发操作可以包括:
检测到作用于所述虚拟摇杆的第一触控操作结束且所述第一触控操作触控点的结束位置与初始位置之间的位移不大于第一阈值。
本示例实施例中,触发操作可以只包括判断作用于图形用户界面的第一触控操作是否满足第一预设条件,也可以只包括判断当前状态是否满足第二预设条件的判断过程,还可以包括判断是否同时满足两个预设条件。其中,第一预设条件例如可以为第一触控操作结束,第二预设条件例如可以为触控点的当前位置与初始位置之间的位移满足预设距离条件,预设距离条件例如可以根据实际需求进行设置。举例而言,在本示例实施例中,触发操作可以包括第一触控操作结束且触控点的当前位置与初始位置之间的位移满足预设距离条件。此处的第一触控操作可以为通过手指对图形用户界面进行点击、滑动、按压等单个操作,也可以两个或多个不同的单个操作同时组合进行,例如在滑动操作的同时进行按压操作。
第一触控操作的结束可以理解为手指离开呈现所述图形用户界面所在屏幕的操作,也可以为手指在屏幕的界面上某一位置持续停留的时间超过预设时间的操作。针对不同类型的第一触控操作,可以通过检测所述第一触控操作的时长、压力或者是其他特征判断第一触控操作是否结束。举例而言,可以通过检测图形用户界面上是否存在接触点判断是否结束;也可以通过计算手指接触图形用户界面的时长是否超过预设时长判断是否结束;还可以通过判断按压力度是否为零或者接近零判断第一触控操作是否结束。在判断当前时刻第一触控操作未结束时,可以在等待较短的时间之后,重复循环判断当前的第一触控操作是否结束。判断第一触控操作是否结束的过程,可以通过C语言或者其他语言中的函数实现。
在第一触控操作结束时,第一触控操作触控点可能会进行短距离的移动,为了避免对后续操作的影响,可以将该短距离的移动忽略。本示例性实施例中,第一触控操作触控点的当前位置与初始位置之间的位移需要小于或者等于第一阈值。第一阈值可以为较小的数值,具体可以由游戏开发商自定义。也就是说,只有在同时满足第一触控操作结束以及第一触控操作触控点的当前位置与初始位置之间的位移小于或者等于第一阈值的条件下,才可以通过后续操作将虚拟摄像机调整为默认状态。
具体而言,在判断作用于虚拟摇杆的第一触控操作结束时,可以进一步判断第一触控操作触控点的当前位置与初始位置之间的位移是否大于第一阈值。在位移小于或者等于第一阈值时,则可以继续以虚拟摄像机当前控制状态进行本示例中的其他步骤;在位移大于第一阈值时,则退出虚拟摄像机当前控制状态,同时将虚拟摇杆切换为其他控制状态。
此外,本示例实施方式中,所述触发操作还可以包括:
检测到作用于所述虚拟摇杆且与第一触控操作连续的第二触控操作且所述第一触控操作触控点的当前位置与初始位置之间的位移不大于第一阈值。
本示例实施例中,触发操作中除了包括判断第一触控操作结束之外,还可以包括检测是否接收到第二触控操作。其中,第二触控操作可以为按压、长按、重按中的一种,此处以按压操作为例进行说明。具体地,可以通过压力感测模块,检测是否接收到与作用于所述虚拟摇杆的第一触控操作连续的按压操作。此处的连续可以理解为在第一触控操作结束后立即检测到按压操作,或者也可以理解为在第一触控操作结束后的预设时间内检测到按压操作,此处的预设时间可以为比较短的时间间隔,例如2毫秒等。
本示例实施例中,在同时满足接收到与第一触控操作连续的按压操作以及第一触控操作触控点的当前位置与初始位置之间的位移小于或者等于第一阈值的条件下,就可以通过后续操作将虚拟摄像机调整为默认状态。
通过检测与第一触控操作连续的第二触控操作,避免了现有方式中需要大范围滑动屏幕或者双击同一位置的操作,由于第二触控操作与第一触控操作连续,因此可以更便捷的触发虚拟摄像机状态的改变,使触发操作更加连贯,更加流畅。
此外,本示例实施方式中,所述方法还可以包括:
在未检测到作用于所述虚拟摇杆的所述触发操作时,将所述虚拟摇杆切换为移动控制状态,并根据所述虚拟摇杆控制所述虚拟对象移动。
本示例实施例中,在未检测到作用于所述虚拟摇杆的触发操作时,可以将虚拟摇杆切换为移动控制状态,并将虚拟对象配置为根据虚拟摇杆的控制而运动,虚拟对象的运动状态可以根据虚拟摇杆位置的变化而实时改变。此处的未检测到作用于所述虚拟摇杆的所述触发操作可以包括图形用户界面上接收到触发操作但是该触发操作不在虚拟摇杆上;也可以包括第一触控操作发生在虚拟摇杆上,但是虚拟对象的当前位置与初始位置之间的位移大于第一阈值;还可以包括当前图形用户界面不是目标界面或者虚拟摇杆未处于原点位置等状态。在上述任意一个条件下,都可以将所述虚拟摇杆切换为移动控制状态,参考图4所示,可以将注册的回正控件302隐藏,显示虚拟摇杆302的初始状态,并根据虚拟摇杆302控制虚拟对象移动。需要注意的是,以上几个条件可以有先后判断顺序。例如,可以参考图5中的流程图所示,首先判断当前图形用户界面是否为目标界面,再判断虚拟摇杆是否处于原点位置,再判断是否接收到触发操作。
此外,本示例实施方式中,将游戏场景中的虚拟摄像机调整为默认状态可以包括:
判断所述虚拟摄像机是否处于所述默认状态,并在所述虚拟摄像机处于所述默认状态时,停止检测作用于所述虚拟摇杆的所述触发操作;
在判断所述虚拟摄像机未处于所述默认状态时,调整所述虚拟摄像机的当前方位,直至在所述虚拟摄像机的所述当前方位与所述虚拟对象的当前朝向角度匹配。
本示例实施例中,所述图形用户界面所展示的游戏场景是通过虚拟摄像机向用户进行呈现,其中所述虚拟摄像机的方位与所述虚拟对象的朝向和运动相关联。在游戏开始时,所述虚拟对象位于游戏场景中的初始位置,相应地所述虚拟摄像机也位于初始位置,当检测到用户基于虚拟摇杆的第一触控操作时,触发虚拟对象在游戏场景中的移动,同时所述虚拟摄像机也跟随移动。
进一步地,在接收到触发操作后,可以判断虚拟摄像机是否处于默认状态。在虚拟摄像机当前状态与默认状态之间的误差小于预设值时,可以认为虚拟摄像机处于默认状态。本示例实施例中的默认状态可以包括以下的一种或多种:虚拟摄像机的位置为默认位置、当前角度为默认角度、或焦距为默认焦距等。举例而言,默认位置可以初始位置或者原点位置,默认角度可以为正前方并可以与虚拟对象的朝向角度保持一致,默认焦距可以为短距离焦距。在所述虚拟摄像机处于所述默认状态时,可以停止检测作用于所述虚拟摇杆的所述触发操作以及虚拟摄像机状态控制流程中一系列的判断操作。
在判断所述虚拟摄像机未处于所述默认状态时,可以调整所述虚拟摄像机的当前方位,以使所述虚拟摄像机的当前方位与虚拟对象的当前朝向角度匹配,其中当前方位可以包括虚拟摄像机的当前位置和角度。在判断虚拟摄像机的当前方位与虚拟对象的当前朝向达到一致时,可以直接将所述虚拟摄像机调整为所述默认状态。此处的匹配可以理解为虚拟摄像机的当前方位与虚拟对象的当前朝向角度完全相同或者在预设误差范围内。在虚拟摄像机的当前方位对应的角度与虚拟对象的当前朝向角度不匹配时,可以对两个角度进行预设处理,最终使二者相互匹配,并将所述虚拟摄像机调整为所述默认状态。
此外,本示例实施方式中,将所述虚拟摄像机调整为所述默认状态可以包括:
通过在所述虚拟摄像机的当前方位与最终方位之间插入关键帧进行角度插值,以使所述虚拟摄像机从所述当前方位过渡到所述最终方位。
本示例实施例中,虚拟摄像机的最终方位可以包括上述实施方式中描述的默认状态对应的角度。可以通过插值算法对虚拟摄像机的角度进行角度插值处理。其中,插值算法可以用于描述对于需要进行连接的运动序列A和B,提取运动序列A的最后一帧数据Am以及序列B的第一帧数据B1,并利用这两帧数据进行插值的过程。即可以在两个数值中间插入一个或多个数值,以使一个数值过渡到另一个数值。插值算法可以应用于计算游戏场景中虚拟对象的移动、图片颜色的补充或者虚拟摄像机角度的旋转等方面。
本示例性实施例中的角度插值可以理解为使所述虚拟摄像机从当前方位对应的当前角度平滑地过渡到最终方位对应的最终角度的线性插值,可以通过公式进而通过程序实现。插入的关键帧可以为位于当前角度和最终角度之间的中间角度,可以有一个或多个。角度插值可以通过位置插值实现,举例而言,以虚拟摇杆的中心为原点建立坐标系,虚拟摄像机的当前位置坐标为(x1,y1),最终位置坐标为(x2,y2),需要控制虚拟摄像机在时间t内从当前位置移动到最终位置,当前时刻为t1。则在当前时刻t1需要插入的坐标为:x3=LinearTween(t1/t,x1,x2),y3=LinearTween(t1/t,y1,y2),转换为数值计算则为x3=(1-t1/t)*x1+t1*x2,y3=(1-t1/t)*y1+t1*y2。通过坐标计算,可以使虚拟摄像机更精准的从当前位置移动到最终位置,不会出现跑偏的情况,进一步地,可以使所述虚拟摄像机从所述当前方位平滑地过渡到所述最终方位,实现虚拟摄像机角度和方位的精准移动,从而提高虚拟摄像机状态控制的准确性和有效性。
此外,在进行角度插值的过程中,可以通过判断虚拟摄像机的当前方位是否与虚拟对象的当前朝向角度匹配,判断是否可以停止转动虚拟摄像机。此处的匹配可以为误差在预设范围内的匹配,误差可以为虚拟摄像机的当前方位与虚拟对象的当前朝向角度的预设倍数,预设倍数可以为小于0.1的值。在判断虚拟摄像机的当前方位与虚拟对象的当前朝向角度匹配时,可以判定虚拟摄像机处于默认状态。
此外,本示例实施方式中,所述方法还可以包括:
将所述虚拟摄像机调整为所述默认状态后,重新确定所述虚拟摄像机的视角。
本示例实施例中,在将虚拟摄像机调整为默认状态后,可以通过函数重新设置和确定虚拟摄像机的视角,并且可以使虚拟摄像机朝向与虚拟对象的方向相同,即始终朝着屏幕显示方向,同时使视角跟随虚拟对象当前角度进行转动调整。本示例中描述的虚拟摄像机回正方法,可以为操作过程中用户的误操作提供补救措施,从而减少误操作对游戏操作的影响。
在本公开的示例性实施例中,还提供了一种虚拟摄像机状态控制装置,可以应用于可呈现图形用户界面的触控终端,所述图形用户界面包括至少部分游戏场景以及至少一虚拟对象,如图6所示,所述装置600可以包括:
界面呈现模块601,可以用于在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;
触发检测模块602,可以用于判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
状态调整模块603,可以用于在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
上述虚拟摄像机状态控制装置中各模块的具体细节已经在对应的虚拟摄像机状态控制方法中进行了详细的描述,因此此处不再赘述。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (11)
1.一种虚拟摄像机状态控制方法,其特征在于,应用于可呈现图形用户界面的触控终端,所述图形用户界面包括至少部分游戏场景以及至少一虚拟对象,所述方法包括:
在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;
判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
2.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,判断所述虚拟摇杆是否处于原点位置包括:
判断当前游戏场景是否为目标游戏场景;
在判断所述当前游戏场景为所述目标游戏场景时,判断所述虚拟摇杆是否处于所述原点位置。
3.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,所述触发操作包括:
检测到作用于所述虚拟摇杆的第一触控操作结束且所述第一触控操作触控点的结束位置与初始位置之间的位移不大于第一阈值。
4.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,所述触发操作还包括:
检测到作用于所述虚拟摇杆且与第一触控操作连续的第二触控操作且所述第一触控操作触控点的当前位置与初始位置之间的位移不大于第一阈值。
5.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,所述方法还包括:
在未检测到作用于所述虚拟摇杆的所述触发操作时,将所述虚拟摇杆切换为移动控制状态,并根据所述虚拟摇杆控制所述虚拟对象移动。
6.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,将游戏场景中的虚拟摄像机调整为默认状态包括:
判断所述虚拟摄像机是否处于所述默认状态,并在所述虚拟摄像机处于所述默认状态时,停止检测作用于所述虚拟摇杆的所述触发操作;
在判断所述虚拟摄像机未处于所述默认状态时,调整所述虚拟摄像机的当前方位,直至在所述虚拟摄像机的所述当前方位与所述虚拟对象的当前朝向角度匹配。
7.根据权利要求6所述的虚拟摄像机状态控制方法,其特征在于,将所述虚拟摄像机调整为所述默认状态包括:
通过在所述虚拟摄像机的当前方位与最终方位之间插入关键帧进行角度插值,以使所述虚拟摄像机从所述当前方位过渡到所述最终方位。
8.根据权利要求1所述的虚拟摄像机状态控制方法,其特征在于,所述方法还包括:
将所述虚拟摄像机调整为所述默认状态后,重新确定所述虚拟摄像机的视角。
9.一种虚拟摄像机状态控制装置,应用于可呈现图形用户界面的触控终端,所述图形用户界面包括至少部分游戏场景以及至少一虚拟对象,所述装置包括:
界面呈现模块,用于在所述图形用户界面上提供一虚拟摇杆,所述虚拟摇杆用于控制所述虚拟对象的移动;
触发检测模块,用于判断所述虚拟摇杆是否处于原点位置,并在所述虚拟摇杆处于所述原点位置时检测是否接收到作用于所述虚拟摇杆的触发操作;
状态调整模块,用于在检测到作用于所述虚拟摇杆的所述触发操作后,将用于呈现所述游戏场景的虚拟摄像机调整为默认状态。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8中任意一项所述的虚拟摄像机状态控制方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任意一项所述的虚拟摄像机状态控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711394799.7A CN108170295A (zh) | 2017-12-21 | 2017-12-21 | 虚拟摄像机状态控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711394799.7A CN108170295A (zh) | 2017-12-21 | 2017-12-21 | 虚拟摄像机状态控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108170295A true CN108170295A (zh) | 2018-06-15 |
Family
ID=62523067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711394799.7A Pending CN108170295A (zh) | 2017-12-21 | 2017-12-21 | 虚拟摄像机状态控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170295A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109568956A (zh) * | 2019-01-10 | 2019-04-05 | 网易(杭州)网络有限公司 | 游戏中的显示控制方法、装置、存储介质、处理器及终端 |
CN111263177A (zh) * | 2020-01-22 | 2020-06-09 | 杭州皮克皮克科技有限公司 | 一种视频互动直播方法及系统 |
CN111346373A (zh) * | 2020-02-28 | 2020-06-30 | 网易(杭州)网络有限公司 | 游戏中虚拟摇杆显示控制方法、装置及电子设备 |
CN112991552A (zh) * | 2021-03-10 | 2021-06-18 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 人体虚实匹配方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016054821A (ja) * | 2014-09-08 | 2016-04-21 | 株式会社コロプラ | ゲームプログラム |
CN105688409A (zh) * | 2016-01-27 | 2016-06-22 | 网易(杭州)网络有限公司 | 游戏控制方法及装置 |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN107132988A (zh) * | 2017-06-06 | 2017-09-05 | 网易(杭州)网络有限公司 | 虚拟对象状态控制方法、装置、电子设备及存储介质 |
CN107126698A (zh) * | 2017-04-24 | 2017-09-05 | 网易(杭州)网络有限公司 | 游戏虚拟对象的控制方法、装置、电子设备及可读介质 |
CN107168611A (zh) * | 2017-06-16 | 2017-09-15 | 网易(杭州)网络有限公司 | 信息处理方法、装置、电子设备及存储介质 |
-
2017
- 2017-12-21 CN CN201711394799.7A patent/CN108170295A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016054821A (ja) * | 2014-09-08 | 2016-04-21 | 株式会社コロプラ | ゲームプログラム |
CN105688409A (zh) * | 2016-01-27 | 2016-06-22 | 网易(杭州)网络有限公司 | 游戏控制方法及装置 |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN107126698A (zh) * | 2017-04-24 | 2017-09-05 | 网易(杭州)网络有限公司 | 游戏虚拟对象的控制方法、装置、电子设备及可读介质 |
CN107132988A (zh) * | 2017-06-06 | 2017-09-05 | 网易(杭州)网络有限公司 | 虚拟对象状态控制方法、装置、电子设备及存储介质 |
CN107168611A (zh) * | 2017-06-16 | 2017-09-15 | 网易(杭州)网络有限公司 | 信息处理方法、装置、电子设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109568956A (zh) * | 2019-01-10 | 2019-04-05 | 网易(杭州)网络有限公司 | 游戏中的显示控制方法、装置、存储介质、处理器及终端 |
WO2020143147A1 (zh) * | 2019-01-10 | 2020-07-16 | 网易(杭州)网络有限公司 | 游戏中的显示控制方法、装置、存储介质、处理器及终端 |
US11511184B2 (en) | 2019-01-10 | 2022-11-29 | Netease (Hangzhou) Network Co., Ltd. | In-game display control method and apparatus, storage medium processor, and terminal |
CN111263177A (zh) * | 2020-01-22 | 2020-06-09 | 杭州皮克皮克科技有限公司 | 一种视频互动直播方法及系统 |
CN111346373A (zh) * | 2020-02-28 | 2020-06-30 | 网易(杭州)网络有限公司 | 游戏中虚拟摇杆显示控制方法、装置及电子设备 |
CN111346373B (zh) * | 2020-02-28 | 2023-04-07 | 网易(杭州)网络有限公司 | 游戏中虚拟摇杆显示控制方法、装置及电子设备 |
CN112991552A (zh) * | 2021-03-10 | 2021-06-18 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 人体虚实匹配方法、装置、设备及存储介质 |
CN112991552B (zh) * | 2021-03-10 | 2024-03-22 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 人体虚实匹配方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107913520B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN107132988B (zh) | 虚拟对象状态控制方法、装置、电子设备及存储介质 | |
US10642567B2 (en) | Multiplatform based experience generation | |
CN113826058B (zh) | 具有自触觉虚拟键盘的人工现实系统 | |
CN107469354B (zh) | 补偿声音信息的视觉方法及装置、存储介质、电子设备 | |
CN113853575A (zh) | 具有滑动菜单的人工现实系统 | |
CN108170295A (zh) | 虚拟摄像机状态控制方法、装置、电子设备及存储介质 | |
CN107678647A (zh) | 虚拟射击主体控制方法、装置、电子设备及存储介质 | |
CN107656620B (zh) | 虚拟对象控制方法、装置、电子设备及存储介质 | |
CN107273037A (zh) | 虚拟对象控制方法及装置、存储介质、电子设备 | |
KR102021851B1 (ko) | 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법 | |
CN113785262A (zh) | 具有手指映射自触觉输入方法的人工现实系统 | |
CN110215685B (zh) | 游戏中的虚拟对象控制方法及装置、设备、存储介质 | |
CN110869983A (zh) | 模拟三维(3d)环境中的交互式输入控制 | |
CN107562201A (zh) | 定向交互方法、装置、电子设备及存储介质 | |
CN108159697A (zh) | 虚拟对象传送方法及装置、存储介质、电子设备 | |
CN108579079B (zh) | 虚拟对象转向控制方法及装置、电子设备、存储介质 | |
CN108549487A (zh) | 虚拟现实交互方法与装置 | |
EP2795430A1 (en) | Transition mechanism for computing system utilizing user sensing | |
US9805695B2 (en) | Display apparatus, storage medium having stored in information processing program, information processing apparatus, information processing system, and image display method | |
CN107092434A (zh) | 重叠目标选择方法及装置、存储介质、电子设备 | |
CN108355352A (zh) | 虚拟物体控制方法及装置、电子设备、存储介质 | |
KR101338958B1 (ko) | 멀티터치 단말기에서 가상물체의 3차원 움직임 조작시스템 및 방법 | |
CN110215686A (zh) | 游戏场景中的显示控制方法及装置、存储介质及电子设备 | |
CN111913674A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180615 |
|
RJ01 | Rejection of invention patent application after publication |