发明内容
有鉴于此,本说明书施例提供了一种目标对象控制方法。本说明书一个或者多个实施例同时涉及一种目标对象控制装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种目标对象控制方法,包括:
接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置;
基于所述控制请求在所述当前显示界面移动所述操作对象,并基于预设时间间隔记录所述操作对象在所述当前显示界面的目标位置;
基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值;
基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转,且将所述目标位置作为所述初始位置,继续执行基于所述控制请求在所述当前显示界面移动所述操作对象。
可选地,所述基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转之后,还包括:
在停止控制所述操作对象在所述当前显示界面移动的情况下,将所述操作对象调整至所述当前显示界面的第一个初始位置。
可选地,所述基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,包括:
确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例;
将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率;
基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度。
可选地,所述将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率,包括:
判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围,
若是,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率获得所述操作对象在所述当前显示界面的旋转角度。
可选地,所述判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围之后,还包括:
若否,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例,调整为与所述比例相邻的预设比例阈值。
可选地,所述初始位置包括所述操作对象在所述当前显示界面的初始水平位置坐标和初始垂直位置坐标,所述目标位置包括所述操作对象在所述当前显示界面的目标水平位置坐标和目标垂直位置坐标;
相应的,所述基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值,包括:
基于所述初始水平位置坐标、所述初始垂直位置坐标和所述目标水平位置坐标、目标垂直位置坐标的差值,确定所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值。
可选地,所述确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例,包括:
确定所述当前显示界面的分辨率高度和分辨率宽度;
基于所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值,以及所述当前显示界面的分辨率高度和分辨率宽度,分别确定所述操作对象的水平移动差值、垂直移动差值占所述当前显示界面的分辨率的比例。
可选地,所述将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率,包括:
将所述操作对象的水平移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面水平方向的移动比率;
将所述操作对象的垂直移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面垂直方向的移动比率。
可选地,所述基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度,包括:
基于预设算法将所述操作对象在所述当前显示界面水平方向的移动比率计算为水平角度;
基于预设算法将所述操作对象在所述当前显示界面垂直方向的移动比率计算为俯仰角度;
将所述水平角度和所述俯仰角度确定为所述操作对象在所述当前显示界面的旋转角度。
根据本说明书实施例的第二方面,提供了一种目标对象控制装置,包括:
第一位置确定模块,被配置为接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置;
第二位置确定模块,被配置为基于所述控制请求在所述当前显示界面移动所述操作对象,并基于预设时间间隔记录所述操作对象在所述当前显示界面的目标位置;
位置差值确定模块,被配置为基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值;
目标对象控制模块,被配置为基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转,且将所述目标位置作为所述初始位置,继续执行基于所述控制请求在所述当前显示界面移动所述操作对象。
可选地,所述装置,还包括:
位置调整模块,被配置为在停止控制所述操作对象在所述当前显示界面移动的情况下,将所述操作对象调整至所述当前显示界面的第一个初始位置。
可选地,所述目标对象控制模块,进一步被配置为:
确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例;
将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率;
基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度。
可选地,所述目标对象控制模块,进一步被配置为:
判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围,
若否,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率获得所述操作对象在所述当前显示界面的旋转角度。
可选地,所述装置,还包括:
比例调整模块,被配置为若所述操作对象的移动差值占所述当前显示界面的分辨率的比例不满足预设比例阈值范围,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例,调整为与所述比例相邻的预设比例阈值。
可选地,所述初始位置包括所述操作对象在所述当前显示界面的初始水平位置坐标和初始垂直位置坐标,所述目标位置包括所述操作对象在所述当前显示界面的目标水平位置坐标和目标垂直位置坐标;
相应的,所述位置差值确定模块,进一步被配置为:
基于所述初始水平位置坐标、所述初始垂直位置坐标和所述目标水平位置坐标、目标垂直位置坐标的差值,确定所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值。
可选地,所述目标对象控制模块,进一步被配置为:
确定所述当前显示界面的分辨率高度和分辨率宽度;
基于所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值,以及所述当前显示界面的分辨率高度和分辨率宽度,分别确定所述操作对象的水平移动差值、垂直移动差值占所述当前显示界面的分辨率的比例。
可选地,所述目标对象控制模块,进一步被配置为:
将所述操作对象的水平移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面水平方向的移动比率;
将所述操作对象的垂直移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面垂直方向的移动比率。
可选地,所述目标对象控制模块,进一步被配置为:
基于预设算法将所述操作对象在所述当前显示界面水平方向的移动比率计算为水平角度;
基于预设算法将所述操作对象在所述当前显示界面垂直方向的移动比率计算为俯仰角度;
将所述水平角度和所述俯仰角度确定为所述操作对象在所述当前显示界面的旋转角度。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该指令被处理器执行时实现所述目标对象控制方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述目标对象控制方法的步骤。
本说明书一个实施例实现了目标对象控制方法及装置,其中,所述目标对象控制方法包括接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置;基于所述控制请求在所述当前显示界面移动所述操作对象,并基于预设时间间隔记录所述操作对象在所述当前显示界面的目标位置;基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值;基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转,且将所述目标位置作为所述初始位置,继续执行基于所述控制请求在所述当前显示界面移动所述操作对象。
具体的,所述目标对象控制方法在基于控制请求控制操作对象在当前显示界面进行移动时,每隔预设时间间隔内计算一次操作对象的角度,基于该操作对象的角度对目标对象的视角进行旋转,以保证在一次操作过程中,目标对象的视角可以按照较短的时间间隔进行多次平滑旋转,以实现对目标对象最终的视角旋转,真实感较强,用户体验较好。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本说明书中,提供了一种目标对象控制方法。本说明书一个或者多个实施例同时涉及一种目标对象控制装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了本说明书一个实施例提供的一种目标对象控制方法的流程图,具体包括如下步骤。
步骤102:接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置。
其中,目标对象根据所述目标对象控制方法应用的场景不同而不同,例如若所述目标对象控制方法应用在游戏场景中,目标对象则可以是游戏场景中的角色、道具、攻击力、游戏镜头等等;若所述目标对象控制方法应用在电子绘图场景中,目标对象则可以是电子绘图场景中的绘制的某个图形等。
为了便于理解,以下均以所述目标对象控制方法应用在游戏场景为例进行说明。
以目标对象为游戏镜头为例,游戏场景中,游戏角色在行进或者攻击时会自身视角会发生角度变化,现有技术中,为了使得人们的游戏体验更好,在玩家选择一个游戏角色进入游戏之后,玩家是以选择的该游戏角色的视角看到的游戏界面的内容,那么想要看到其他内容的时候则需要通过鼠标或者触屏滑动控制游戏角色对应的游戏镜头任意角度旋转,以该游戏角色的视角观察到游戏场景中周边的物体。
举例说明,若目标对象为游戏场景中游戏角色对应的游戏镜头,则目标对象的操作对象则可以理解为控制游戏镜头旋转的鼠标指针。
那么接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置,则可以理解为,接收针对游戏镜头的控制请求,并记录控制该游戏镜头任意角度旋转的鼠标指针在当前游戏显示界面的初始位置;其中,该控制请求可以是用户通过鼠标或者触摸屏幕等产生的。
实际应用中,在用户需要转动游戏角色对应的游戏镜头看到其他方位的物体时,发出针对该游戏镜头的控制请求,服务器在接收到针对该游戏镜头的控制请求的情况下,记录控制该游戏镜头任意角度旋转的鼠标指针在当前游戏显示界面的初始位置。
具体的,参见图2,图2示出了本说明书一个实施例提供的一种目标对象控制方法中操作对象在当前显示界面的初始位置的示意图。
实际应用中,图2中的当前显示界面为当前游戏显示界面,而控制该游戏镜头任意角度旋转的鼠标指令在该当前游戏显示界面的初始位置为(0,0)。
步骤104:基于所述控制请求在所述当前显示界面移动所述操作对象,并基于预设时间间隔记录所述操作对象在所述当前显示界面的目标位置。
其中,预设时间间隔可以根据实际应用进行设置,本说明书对此不做任何限制,例如在游戏场景中,由于计算机运行的速度很快,为了保证游戏镜头的角度旋转的真实、平滑度,基本上会在鼠标指针每移动一帧的情况下,服务器就会进行一次角度计算,然后根据计算的角度调整游戏角色的视角,最大程度的保证玩家的游戏体验,例如鼠标指针的一帧为16毫秒,那么则预设时间间隔为16毫米,也即每隔16毫秒记录一次鼠标指针在当前显示界面的目标位置。
沿用上例,在记录了控制游戏镜头任意角度旋转的鼠标指针在当前游戏显示界面的初始位置之后,基于该控制请求在该当前游戏显示界面移动鼠标指针,例如是用户按住鼠标右键拖曳移动鼠标指针,或者是用户通过点击触摸屏拖曳移动鼠标指针等,并在预设时间间隔记录该鼠标指针在该当前游戏显示界面的目标位置。
例如预设时间间隔为16毫秒,则在基于控制请求在该当前游戏显示界面开始移动鼠标指针,记录该开始时间,然后从该开始时间到第16毫秒的情况下,记录该鼠标指针第16毫秒在该当前游戏显示界面的位置,作为目标位置。
具体的,参见图3,图3示出了本说明书一个实施例提供的一种目标对象控制方法中操作对象在当前显示界面的目标位置的示意图。
结合图2,鼠标指针在当前游戏显示界面的初始位置(0,0),图3中基于控制请求在该当前游戏显示界面移动操作对象,在从初始位置(0,0)开始移动到第16毫秒时记录该鼠标指针在该当前游戏显示界面的目标位置为(85,20)。
步骤106:基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值。
具体的,将操作对象在当前显示界面的目标位置减去操作对象在当前显示界面的初始位置,可以获得操作对象在当前显示界面的移动差值。
步骤108:基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转,且将所述目标位置作为所述初始位置,继续执行基于所述控制请求在所述当前显示界面移动所述操作对象。
具体的,获得操作对象在当前显示界面的移动差值后,基于该移动差值确定该操作对象在当前显示界面的旋转角度,并根据该旋转角度控制该目标对象旋转,并在未停止控制操作对象在当前显示界面移动的情况下,将当前的目标位置作为初始位置,继续执行所述目标对象控制方法。
沿用上例,基于鼠标指针在当前游戏显示界面的移动差值计算获得该鼠标指针在当前游戏显示界面的旋转角度,并根据该旋转角度控制游戏镜头旋转,然后在用户仍然按住鼠标右键拖曳鼠标指针在当前游戏显示界面移动该鼠标指针的情况下,将此时鼠标指针的目标位置(85,20)作为初始位置,继续在当前游戏显示界面移动该鼠标指针,并在下一个16毫秒记录该鼠标指针在该当前游戏显示界面的位置作为目标位置。
实际应用中,若操作对象在当前显示界面一直不间断移动的情况下,每隔预设时间间隔就会计算一次操作对象在当前显示界面的旋转角度,从而调整目标对象在当前显示界面的角度,使得用户感受上目标对象的角度旋转呈连贯性,不会有顿挫感,用户体验较好。
具体的,所述基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,包括:
确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例;
将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率;
基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度。
沿用上例,获得鼠标指针在当前游戏显示界面的移动差值后,确定该当前游戏显示界面的分辨率,并基于该当前游戏显示界面的分辨率以及还鼠标指针在该当前游戏显示界面的移动差值,计算获得该鼠标指针的移动差值占该当前游戏界面分辨率的比例;然后将该鼠标指针的移动差值占该当前游戏界面分辨率的比例乘以预设移动速率,获得该鼠标指针在该当前游戏界面的移动比率,其中,预设移动速率可以根据实际应用进行设置,例如设置为1.0;最后基于预设算法将该鼠标指针在该当前游戏显示界面的移动比率计算为旋转角度。
本说明书实施例中,通过操作对象的移动差值与当前显示界面的分辨率获得操作对象的移动差值占所述当前显示界面的分辨率的比例,然后再基于操作对象的移动差值占所述当前显示界面的分辨率的比例和操作对象的移动速率获得操作对象在当前显示界面的移动比率,最后将移动比率转换为旋转角度,通过此种计算方式可以极大的提高操作对象在当前显示界面的旋转角度的精确性。
此外,操作对象的移动差值占所述当前显示界面的分辨率的比例需要在一定的范围内,若超过了一定范围可能会由于移动比率过快导致游戏镜头移动过大,产生大幅度的游戏镜头移动,造成不真实感,而若小于该范围可能会由于移动比率过慢,导致游戏镜头移动不明显,造成游戏镜头的移动角度不精确,那么需要对操作对象的移动差值占所述当前显示界面的分辨率的比例的合理性进行测试,具体实现方式如下所述:
所述将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率,包括:
判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围,
若是,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率获得所述操作对象在所述当前显示界面的旋转角度。
其中,预设比例阈值范围可以根据实际应用进行设置,例如设置为(-0.2,0.2)。
实际应用中,在获得操作对象的移动差值占所述当前显示界面的分辨率的比例满足预设比例阈值范围的情况下,可以确定操作对象的移动差值占所述当前显示界面的分辨率的比例较为合理,此时,则将操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率获得该操作对象在当前显示界面的旋转角度。
具体实施时,所述判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围之后,还包括:
若否,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例,调整为与所述比例相邻的预设比例阈值。
具体的,若操作对象的移动差值占所述当前显示界面的分辨率的比例不满足预设比例阈值范围,则将操作对象的移动差值占所述当前显示界面的分辨率的比例调整为与该比例相邻的预设比例阈值,例如预设比例阈值范围为(-0.2,0.2),操作对象的移动差值占所述当前显示界面的分辨率的比例为0.3,则可以确定与操作对象的移动差值占所述当前显示界面的分辨率的比例0.3相邻的预设比例阈值为0.2,因此可以将操作对象的移动差值占所述当前显示界面的分辨率的比例调整为0.2;若操作对象的移动差值占所述当前显示界面的分辨率的比例为-0.3,则可以确定与操作对象的移动差值占所述当前显示界面的分辨率的比例-0.3相邻的预设比例阈值为-0.2,因此可以将操作对象的移动差值占所述当前显示界面的分辨率的比例调整为-0.2。
本说明书实施例中,若确定操作对象的移动差值占所述当前显示界面的分辨率的比例不满足预设比例阈值范围,那么为了保证目标对象角度移动的真实性、连贯性和准确性,可以基于预设比例阈值范围对操作对象的移动差值占所述当前显示界面的分辨率的比例进行调整。
本说明书另一实施例中,所述初始位置包括所述操作对象在所述当前显示界面的初始水平位置坐标和初始垂直位置坐标,所述目标位置包括所述操作对象在所述当前显示界面的目标水平位置坐标和目标垂直位置坐标;
相应的,所述基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值,包括:
基于所述初始水平位置坐标、所述初始垂直位置坐标和所述目标水平位置坐标、目标垂直位置坐标的差值,确定所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值。
实际应用中,操作对象在当前显示界面的初始位置包括操作对象在当前显示界面的x轴的位置和y轴的位置,而x轴可以理解为水平轴,y轴可以理解为垂直轴,因此操作对象在当前显示界面的初始位置可以理解为操作对象在当前显示界面的初始水平位置坐标和初始垂直位置坐标,操作对象在当前显示界面的目标位置可以理解为操作对象在当前显示界面的目标水平位置坐标和目标垂直位置坐标。
沿用上例,以操作对象在当前显示界面的初始位置可以理解为操作对象在当前显示界面的初始水平位置坐标和初始垂直位置坐标为(0,0),操作对象在当前显示界面的目标位置可以理解为操作对象在当前显示界面的目标水平位置坐标和目标垂直位置坐标为(85,20)为例,操作对象在当前显示界面的水平移动差值和垂直移动差值为(85,20)-(0,0)=(85,20)。
本说明书实施例中,基于操作对象在当前显示界面的初始水平位置坐标和初始垂直位置坐标,和操作对象在当前显示界面的目标水平位置坐标和目标垂直位置坐标可以准确的获得操作对象在当前显示界面的水平移动差值和垂直移动差值。
本说明书另一实施例中,所述确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例,包括:
确定所述当前显示界面的分辨率高度和分辨率宽度;
基于所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值,以及所述当前显示界面的分辨率高度和分辨率宽度,分别确定所述操作对象的水平移动差值、垂直移动差值占所述当前显示界面的分辨率的比例。
沿用上例,若当前游戏显示界面的分辨率高度为1080和分辨率宽度为1920,鼠标指针在当前游戏显示界面的水平移动差值和垂直移动差值为(85,20);那么计算获得的鼠标指针的水平移动差值占所述当前游戏显示界面的分辨率的比例MouseX1为0.04427≈85/1920;获得的鼠标指针的垂直移动差值占所述当前游戏显示界面的分辨率的比例MouseY1为0.01852≈20/1080。
此时,若预设比例阈值范围为MouseX1=clamp(-0.2,0.2)、MouseY1=clamp(-0.2,0.2),则可以看出鼠标指针的水平移动差值、垂直移动差值占所述当前游戏显示界面的分辨率的比例均在该范围内;那么通过此种计算方式获得的该0.04427和0.01852则为准确的鼠标指针的水平移动差值、垂直移动差值占当前游戏显示界面的分辨率的比例。
本说明书另一实施例中,所述将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率,包括:
将所述操作对象的水平移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面水平方向的移动比率;
将所述操作对象的垂直移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面垂直方向的移动比率。
沿用上例,若预设移动速率为1.0,那么将鼠标指针的水平移动差值占当前游戏显示界面的分辨率的比例乘以预设移动速率,获得鼠标指针在当前游戏显示界面水平方向的移动比率MouseX2为:MouseX2=MouseX1*DragSpeed=0.04427;将鼠标指针的垂直移动差值占当前游戏显示界面的分辨率的比例乘以预设移动速率,获得鼠标指针在当前游戏显示界面垂直方向的移动比率MouseY2为:MouseY2=MouseY1*DragSpeed=0.01852。
具体实施时,所述基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度,包括:
基于预设算法将所述操作对象在所述当前显示界面水平方向的移动比率计算为水平角度;
基于预设算法将所述操作对象在所述当前显示界面垂直方向的移动比率计算为俯仰角度;
将所述水平角度和所述俯仰角度确定为所述操作对象在所述当前显示界面的旋转角度。
实际应用中,2π是一周的弧度数(360°),对应水平角跟俯仰角的一周;操作对象的移动比率转换成对应方向的移动弧度就是最终要改变的水平角跟俯仰角度数。
沿用上例,在获得鼠标指针在当前游戏显示界面水平方向的移动比率MouseX2为:0.04427;获得鼠标指针在当前游戏显示界面垂直方向的移动比率MouseY2为:0.01852的情况下,鼠标指针在当前游戏显示界面水平方向的水平角度DeltaYaw为:DeltaYaw=MouseX*2π,即0.2781566≈0.04427*2π,且0.2781566转成角度为15.94度,即本次游戏镜头在水平角旋转的角度为15.94度;而鼠标指针在当前游戏显示界面水平方向的水平角度DeltaYaw为:DeltaYaw=MouseX*2π,即0.1163645≈0.01852*2π,且0.1163645转成角度为6.67度,即本次游戏镜头在俯仰角旋转的角度为6.67度。
那么最终将该水平角和俯仰角作为该鼠标指针在当前游戏界面的旋转角度,基于该旋转角度可以调整该当前游戏界面中该鼠标指令控制的游戏镜头的旋转角度。
本说明书实施例中,所述目标对象控制方法在基于控制请求控制操作对象在当前显示界面进行移动时,每隔预设时间间隔内计算一次操作对象的角度,基于该操作对象的角度对目标对象的视角进行旋转,以保证在一次操作过程中,目标对象的视角可以按照较短的时间间隔进行多次平滑旋转,以实现对目标对象最终的视角旋转,真实感较强,用户体验较好。
本说明书另一实施例中,所述基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转之后,还包括:
在停止控制所述操作对象在所述当前显示界面移动的情况下,将所述操作对象调整至所述当前显示界面的第一个初始位置。
其中,第一个初始位置可以理解为接收针对目标对象的控制请求后,第一次记录的该目标对象的操作对象在当前显示界面的初始位置。
实际应用中,在用户点击鼠标右键控制鼠标指针在当前游戏显示界面移动时,在鼠标指针不间断的持续移动的过程中,服务器会每隔预设时间间隔计算一次鼠标指针控制的游戏镜头的旋转角度,使得游戏镜头在游戏场景中可以进行平滑、真实的转动,而在用户松开鼠标右键的情况下,鼠标指针可以返回到用户开始按下鼠标右键时鼠标指针的初始位置。
具体实施时,通过按住鼠标右键左右拖曳鼠标,使得鼠标指针在游戏场景中控制游戏镜头的旋转角度进行旋转时,鼠标指针位置发生变化,在控制结束后,松开鼠标右键之后,鼠标指针可能会离初始位置很远,有的时可能会出现在游戏显示界面的边缘,在下次按住鼠标右键左右拖曳鼠标,使得鼠标指针在游戏场景中控制游戏镜头的旋转角度进行旋转时,用户需要先按住鼠标右键左右拖曳鼠标,使得鼠标指针脱离游戏显示界面的边缘,在此过程中,鼠标指针移动,游戏场景中的游戏镜头的角度也会跟随造成不必要的旋转,用户体验很差。
本说明书实施例中,服务器在判断鼠标右键被松开的情况下,可以将鼠标指针直接移动回本次移动该鼠标右键开始移动的初始位置,避免用户手动移动鼠标指针到合理的位置,增强用户体验。
与上述方法实施例相对应,本说明书还提供了目标对象控制装置实施例,图4示出了本说明书一个实施例提供的一种目标对象控制装置的结构示意图。如图4所示,该装置包括:
第一位置确定模块402,被配置为接收针对目标对象的控制请求,并记录所述目标对象的操作对象在当前显示界面的初始位置;
第二位置确定模块404,被配置为基于所述控制请求在所述当前显示界面移动所述操作对象,并基于预设时间间隔记录所述操作对象在所述当前显示界面的目标位置;
位置差值确定模块406,被配置为基于所述目标位置和所述初始位置确定所述操作对象在所述当前显示界面的移动差值;
目标对象控制模块408,被配置为基于所述移动差值确定所述操作对象在所述当前显示界面的旋转角度,并根据所述旋转角度控制所述目标对象旋转,且将所述目标位置作为所述初始位置,继续执行基于所述控制请求在所述当前显示界面移动所述操作对象。
可选地,所述装置,还包括:
位置调整模块,被配置为在停止控制所述操作对象在所述当前显示界面移动的情况下,将所述操作对象调整至所述当前显示界面的第一个初始位置。
可选地,所述目标对象控制模块408,进一步被配置为:
确定所述当前显示界面的分辨率,并基于所述当前显示界面的分辨率,确定所述操作对象的移动差值占所述当前显示界面的分辨率的比例;
将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面的移动比率;
基于预设算法将所述操作对象在所述当前显示界面的移动比率计算为旋转角度。
可选地,所述目标对象控制模块408,进一步被配置为:
判断所述操作对象的移动差值占所述当前显示界面的分辨率的比例是否满足预设比例阈值范围,
若否,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率获得所述操作对象在所述当前显示界面的旋转角度。
可选地,所述装置,还包括:
比例调整模块,被配置为若所述操作对象的移动差值占所述当前显示界面的分辨率的比例不满足预设比例阈值范围,则将所述操作对象的移动差值占所述当前显示界面的分辨率的比例,调整为与所述比例相邻的预设比例阈值。
可选地,所述初始位置包括所述操作对象在所述当前显示界面的初始水平位置坐标和初始垂直位置坐标,所述目标位置包括所述操作对象在所述当前显示界面的目标水平位置坐标和目标垂直位置坐标;
相应的,所述位置差值确定模块406,进一步被配置为:
基于所述初始水平位置坐标、所述初始垂直位置坐标和所述目标水平位置坐标、目标垂直位置坐标的差值,确定所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值。
可选地,所述目标对象控制模块408,进一步被配置为:
确定所述当前显示界面的分辨率高度和分辨率宽度;
基于所述操作对象在所述当前显示界面的水平移动差值和垂直移动差值,以及所述当前显示界面的分辨率高度和分辨率宽度,分别确定所述操作对象的水平移动差值、垂直移动差值占所述当前显示界面的分辨率的比例。
可选地,所述目标对象控制模块408,进一步被配置为:
将所述操作对象的水平移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面水平方向的移动比率;
将所述操作对象的垂直移动差值占所述当前显示界面的分辨率的比例乘以预设移动速率,获得所述操作对象在所述当前显示界面垂直方向的移动比率。
可选地,所述目标对象控制模块408,进一步被配置为:
基于预设算法将所述操作对象在所述当前显示界面水平方向的移动比率计算为水平角度;
基于预设算法将所述操作对象在所述当前显示界面垂直方向的移动比率计算为俯仰角度;
将所述水平角度和所述俯仰角度确定为所述操作对象在所述当前显示界面的旋转角度。
本说明书实施例提供的所述目标对象控制装置,在基于控制请求控制操作对象在当前显示界面进行移动时,每隔预设时间间隔内计算一次操作对象的角度,基于该操作对象的角度对目标对象的视角进行旋转,以保证在一次操作过程中,目标对象的视角可以按照较短的时间间隔进行多次平滑旋转,以实现对目标对象最终的视角旋转,真实感较强,用户体验较好。
上述为本实施例的一种目标对象控制装置的示意性方案。需要说明的是,该目标对象控制装置的技术方案与上述的目标对象控制方法的技术方案属于同一构思,目标对象控制装置的技术方案未详细描述的细节内容,均可以参见上述目标对象控制方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现所述标签确定方法或者所述模型训练方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的目标对象控制方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述目标对象控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述目标对象控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的目标对象控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述目标对象控制方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。