发明内容
有鉴于此,本申请实施例提供了一种虚拟相机的控制方法及装置、计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种虚拟相机的控制方法,包括:
调整虚拟相机与游戏角色之间的位置,获取所述虚拟相机与游戏角色之间的水平观察距离;
在确定所述虚拟相机与游戏角色之间的水平观察距离达到预设的水平距离阈值的情况下,将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处,并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作;
若是,根据所述调整指令确定所述虚拟相机的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动;
若否,根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
可选的,还包括:
在所述虚拟相机与游戏角色之间的水平观察距离大于预设的水平距离阈值的情况下,根据调整指令继续调整虚拟相机与游戏角色之间的位置。
可选的,调整虚拟相机与游戏角色之间的位置包括:
获取所述游戏角色站立的游戏地面;
将所述虚拟相机移动至与所述游戏角色站立的游戏地面的水平面上。
可选的,根据所述调整指令确定所述虚拟相机的镜头转动参数包括:
根据所述调整指令确定所述虚拟相机的镜头向靠近所述游戏角色的方向移动的虚拟水平距离;
根据所述虚拟水平距离与所述预设的水平距离阈值的比值,得到所述虚拟相机的镜头转动参数。
可选的,根据所述虚拟相机的镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动包括:
根据所述虚拟相机的镜头转动参数获取对应的偏转角度;
将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度。
可选的,所述调整指令为由鼠标或键盘输入的指令。
本申请实施例还公开了一种虚拟相机的控制装置,包括:
调整模块,被配置为调整虚拟相机与游戏角色之间的位置,获取所述虚拟相机与游戏角色之间的水平观察距离;
检测模块,被配置为在确定所述虚拟相机与游戏角色之间的水平观察距离达到预设的水平距离阈值的情况下,将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处,并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作,若是执行旋转模块,若否执行所述调整模块;
旋转模块,被配置为根据所述调整指令确定所述虚拟相机的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动;
所述调整模块进一步被配置为根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
可选的,所述调整模块,还被配置为:在所述虚拟相机与游戏角色之间的水平观察距离大于预设的水平距离阈值的情况下,根据调整指令继续调整虚拟相机与游戏角色之间的位置。
可选的,所述调整模块包括:
获取单元,被配置为获取所述游戏角色站立的游戏地面;
移动单元,被配置为将所述虚拟相机移动至与所述游戏角色站立的游戏地面的水平面上。
可选的,所述旋转模块包括:
虚拟检测单元,被配置为根据所述调整指令确定所述虚拟相机的镜头向靠近所述游戏角色的方向移动的虚拟水平距离;
第一计算单元,被配置为根据所述虚拟水平距离与所述预设的水平距离阈值的比值,得到所述虚拟相机的镜头转动参数。
可选的,所述旋转模块还包括:
第二计算单元,被配置为根据所述虚拟相机的镜头转动参数获取对应的偏转角度;
镜头转动单元,被配置为将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度。
可选的,所述调整指令为由鼠标或键盘输入的指令。
本申请实施例还公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述方法的步骤。
本申请实施例还公开了一种计算机可读存储介质,其存储有计算机指令,,该指令被处理器执行时实现如上所述方法的步骤。
本申请提供的一种虚拟相机的控制方法及装置、计算设备及计算机可读存储介质,通过设置虚拟镜头与游戏角色之间的水平距离阈值,从而避免了虚拟镜头在特殊位置或角度下拍摄到游戏角色的隐私部位,符合了相关法律与道德规范,同时,在玩家试图超过水平距离阈值继续拉近虚拟相机与游戏角色之间的距离的情况下,本申请通过将虚拟相机固定在水平距离阈值的位置处,并将玩家的对虚拟相机进行移动的调整指令换算为旋转指令,从而尽可能的减小了相关法律与道德规范对玩家在操作和游戏体验上的影响。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种虚拟相机的控制方法及装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的虚拟相机的控制方法的示意性流程图,包括步骤201至步骤204。
步骤201:调整虚拟相机与游戏角色之间的位置,获取所述虚拟相机与游戏角色之间的水平观察距离。
本申请提供的一个实施例,如图3所示,在3D游戏的场景中包括游戏角色31和对所述游戏角色31进行拍摄的虚拟相机32,玩家在游戏中通过调整所述虚拟相机32与所述游戏角色31之间的位置或角度,从而能够观察游戏场景中的环境或所述游戏角色31的饰品,例如所述游戏角色31的坐骑、主副手武器、服装、发型、脸部模型和装饰物等等,但是,在所述虚拟相机32较为贴近为女性角色的所述游戏角色31的情况下,就会出现所述虚拟相机32拍摄到所述女性角色的所述游戏角色31的隐私部位的情况,导致所述3D游戏违反了相关法律和道德规范,因此,本系统在调整所述虚拟相机32与所述游戏角色31之间的位置的同时,还在水平方向上获取所述虚拟相机32的所在位置A与所述游戏角色31的所在位置O处之间的水平观察距离AO。
步骤202:在确定所述虚拟相机与游戏角色之间的水平观察距离达到预设的水平距离阈值的情况下,将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处,并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作。若是,则执行步骤203;若否,则执行步骤204。
本申请提供的一个实施例,如图3所示,为了避免所述虚拟相机32出现拍摄到为女性角色的所述游戏角色31的隐私部位的情况,以所述游戏角色31的所在位置O处为中心,在水平方向上预设了一个水平距离阈值BO,所述水平距离阈值BO为使为女性角色的所述游戏角色31的隐私部位在所述虚拟相机32的视野内消失的最小水平距离,因此,在确定所述虚拟相机32与游戏角色31之间的水平观察距离AO等于所述水平距离阈值BO的情况下,则将所述虚拟相机32固定在位置B处使得玩家无法继续拉近所述虚拟相机32与所述游戏角色31之间的水平距离;然后进一步判断玩家下达的调整指令,即判断根据玩家的调整指令使得所述虚拟相机32是否还会向靠近所述游戏角色31的方向动作。
步骤203:根据所述调整指令确定所述虚拟相机的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动。
本申请提供的一个实施例,如图3所示,若根据玩家的调整指令会使得所述虚拟相机32向靠近所述游戏角色31的方向动作,即调整指令的内容为将所述虚拟相机32由位置B处继续向位置O处的方向移动,则根据所述调整指令确定一个所述虚拟相机32的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机32的视角向远离所述游戏角色31的方向转动,从而避免了所述游戏角色31的隐私部位出现在所述的虚拟相机32的视角中。
步骤204:根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
本申请提供的一个实施例,如图3所示,若根据玩家的调整指令会使得所述虚拟相机32向远离所述游戏角色31的方向动作,即调整指令的内容为将所述虚拟相机32由位置B处向远离位置O处的方向移动,则不对玩家的操作进行任何限制或修改。
可选的,在本申请实施例中,还包括:在所述虚拟相机与游戏角色之间的水平观察距离大于预设的水平距离阈值的情况下,根据调整指令继续调整虚拟相机与游戏角色之间的位置。
本申请提供的一个实施例,如图3所示,在确定所述虚拟相机32与游戏角色31之间的水平观察距离AO大于所述水平距离阈值BO的情况下,则根据调整指令继续调整虚拟相机32与游戏角色31之间的位置,玩家可以根据自己的喜好观察游戏角色31或者游戏内的环境。
本申请通过设置虚拟镜头与游戏角色之间的水平距离阈值,从而避免了虚拟镜头在特殊位置或角度下拍摄到游戏角色的隐私部位,符合了相关法律与道德规范,同时,在玩家试图超过水平距离阈值继续拉近虚拟相机与游戏角色之间的距离的情况下,本申请通过将虚拟相机固定在水平距离阈值的位置处,并将玩家的对虚拟相机进行移动的调整指令换算为旋转指令,从而尽可能的减小了相关法律与道德规范对玩家在操作和游戏体验上的影响。
在本申请实施例中,如图4所示,调整虚拟相机与游戏角色之间的位置包括步骤401至步骤402:
步骤401:获取所述游戏角色站立的游戏地面。
步骤402:将所述虚拟相机移动至与所述游戏角色站立的游戏地面的水平面上。
在本申请实施例中,如图3所示,在所述游戏角色31站立在游戏地面33上,例如,在所述游戏角色31为穿着裙子的女性游戏角色的情况下,现有技术将女性游戏角色的裙底空间34直接设置为禁区并严格禁止虚拟相机32高度贴近所述游戏地面33。然而在本申请中,所述虚拟相机32可以移动至高度贴近所述游戏地面33的位置C处,并沿与女性游戏角色站立的游戏地面33的水平面移动至位置B处。
本申请在玩家通过移动虚拟相机以及转动视角观察游戏角色时,允许虚拟相机贴近地面但是对虚拟相机与游戏角色之间设置了水平距离阈值,从而减少了对玩家的限制。
在本申请实施例中,如图5所示,根据所述调整指令确定所述虚拟相机的镜头转动参数包括步骤501至步骤502:
步骤501:根据所述调整指令确定所述虚拟相机的镜头向靠近所述游戏角色的方向移动的虚拟水平距离。
步骤502:根据所述虚拟水平距离与所述预设的水平距离阈值的比值,得到所述虚拟相机的镜头转动参数。
在本申请实施例中,如图3所示,在玩家通过调整指令欲将所述虚拟相机32移动至位置D处的情况下,系统根据所述调整指令将所述虚拟相机32固定在位置B处,并通过计算确定玩家试图继续靠近所述游戏角色31的虚拟水平距离即距离BD,并根据所述虚拟水平距离与所述预设的水平距离阈值的比值,即所述距离BD与所述距离BO的比值,得到一个所述虚拟相机32的镜头转动参数α。
本申请通过将玩家试图继续靠近游戏角色的虚拟水平距离转换为对应的镜头转动参数,从而将虚拟镜头的平动与所述虚拟镜头的转动之间建立起一个特定的数学关系,从而根据玩家的调整指令实现虚拟镜头的平动和转动之间的切换。
在本申请实施例中,如图6所示,根据所述虚拟相机的镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动包括步骤601至步骤602:
步骤601:根据所述虚拟相机的镜头转动参数获取对应的偏转角度。
步骤602:将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度。
在本申请实施例中,如图3和图7所示,在所述虚拟相机32当前的视角为第一视角71的情况下,系统根据所述虚拟相机32的镜头转动参数α获取一个对应的偏转角度θ,将所述虚拟相机32由第一视角71向远离所述游戏角色31的方向旋转所述偏转角度θ,得到旋转后的所述虚拟相机32的第二视角72。
本申请通过根据所述虚拟相机的镜头转动参数获取对应的偏转角度,并将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度,使得所述虚拟相机在不能进行平动的情况下,可以将虚拟水平距离转换为转动的角度,并向远离所述游戏角色的方向偏转,从而虚拟相机避免直接观察游戏地面或游戏角色的脚部,保证了玩家的游戏体验。
可选的,所述调整指令为由鼠标或键盘输入的指令,例如玩家通过滚动所述鼠标的滚轮对所述虚拟相机的位置或角度进行调整,或者玩家通过对所述键盘上的按键进行操作对所述虚拟相机的位置或角度进行调整。
其中,处理器120可以执行图8所示方法中的步骤。图8是示出了根据本申请另一实施例的虚拟相机的控制方法的示意性流程图,包括步骤801至步骤811。
步骤801:获取所述游戏角色站立的游戏地面。
步骤802:将所述虚拟相机移动至与所述游戏角色站立的游戏地面的水平面上。
在本申请实施例中,如图3所示,所述游戏角色31站立在游戏地面33上,例如,在所述游戏角色31为穿着裙子的女性游戏角色的情况下,现有技术将女性游戏角色的裙底空间34直接设置为禁区并严格禁止虚拟相机32高度贴近所述游戏地面33。然而在本申请中,所述虚拟相机32可以移动至高度贴近所述游戏地面33的位置C处,并沿所述游戏角色31站立的游戏地面33的水平面移动。
步骤803:获取所述虚拟相机与游戏角色之间的水平观察距离。
步骤804:判断所述虚拟相机与游戏角色之间的水平观察距离是否达到预设的水平距离阈值。若是,则执行步骤805;若否,则执行步骤811。
步骤805:将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处(位置B),并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作。若是,则执行步骤806;若否,则执行步骤810。
步骤806:根据所述调整指令确定所述虚拟相机的镜头向靠近所述游戏角色的方向移动的虚拟水平距离。
步骤807:根据所述虚拟水平距离与所述预设的水平距离阈值的比值,得到所述虚拟相机的镜头转动参数。
在本申请实施例中,如图3所示,在玩家通过调整指令欲将所述虚拟相机32由位置B处移动至位置D处的情况下,系统根据所述调整指令将所述虚拟相机32固定在位置B处,并通过计算确定玩家试图继续靠近所述游戏角色31的虚拟水平距离即距离BD,并根据所述虚拟水平距离与所述预设的水平距离阈值的比值,即所述距离BD与所述距离BO的比值,得到一个所述虚拟相机32的镜头转动参数α。
步骤808:根据所述虚拟相机的镜头转动参数获取对应的偏转角度。
步骤809:将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度。
在本申请实施例中,如图3和图7所示,在所述虚拟相机32当前的视角为第一视角71的情况下,系统根据所述虚拟相机32的镜头转动参数α获取一个对应的偏转角度θ,将所述虚拟相机32由第一视角71向远离所述游戏角色31的方向旋转所述偏转角度θ,得到旋转后的所述虚拟相机32的第二视角72。
步骤810:根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
步骤811:根据调整指令继续调整虚拟相机与游戏角色之间的位置。
在本申请实施例中,如图9所示,在所述虚拟相机位于所述位置B的右侧即所述虚拟相机的位置与所述游戏角色31之间的水平距离大于所述水平距离阈值的情况下,系统不对玩家的操作进行任何限制,然而在玩家将所述虚拟相机32移动到所述位置B处时,若系统根据玩家的指令判断出所述玩家欲将所述虚拟相机32向靠近所述游戏角色31的方向继续移动至位置D处,则系统会将所述虚拟相机32固定在位置B处,并将所述虚拟相机32向远离游戏角色31的方向旋转所述偏转角度θ,即将所述虚拟相机32由第一视角71旋转至第二视角72,且所述偏转角度θ的大小根据距离BD与距离BO(水平距离阈值)的比值决定,比值越大则所述偏转角度θ的角度越大。
可选的,所述调整指令为由鼠标或键盘输入的指令,例如玩家通过滚动所述鼠标的滚轮对所述虚拟相机的位置或角度进行调整,或者玩家通过对所述键盘上的按键进行操作对所述虚拟相机的位置或角度进行调整。
本申请在玩家通过移动虚拟相机以及转动视角观察游戏角色时,允许虚拟相机贴近地面但是对虚拟相机与游戏角色之间设置了水平距离阈值,当虚拟相机与游戏角色的水平距离未达到水平距离阈值时,不对玩家的操作进行任何限制修改,而一旦虚拟相机与游戏角色的水平距离达到水平距离阈值,则玩家将无法继续拉近虚拟相机与游戏角色之间的水平距离,此时,当玩家继续向靠近游戏角色的方向拉近虚拟相机,则系统将锁定虚拟相机的位置,并根据玩家试图拉近虚拟相机的距离将虚拟相机的镜头向远离游戏角色的方向旋转一定的角度。
本申请一实施例还提供一种虚拟相机的控制装置,如图10所示,包括:
调整模块1001,被配置为调整虚拟相机与游戏角色之间的位置,获取所述虚拟相机与游戏角色之间的水平观察距离;
检测模块1002,被配置为在确定所述虚拟相机与游戏角色之间的水平观察距离达到预设的水平距离阈值的情况下,将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处,并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作,若是执行旋转模块1003,若否执行所述调整模块1001;
旋转模块1003,被配置为根据所述调整指令确定所述虚拟相机的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动;
所述调整模块1001进一步被配置为根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
可选的,所述调整模块1001还被配置为在所述虚拟相机与游戏角色之间的水平观察距离大于预设的水平距离阈值的情况下,根据调整指令继续调整虚拟相机与游戏角色之间的位置。
可选的,所述调整模块1001包括:
获取单元,被配置为获取所述游戏角色站立的游戏地面;
移动单元,被配置为将所述虚拟相机移动至与所述游戏角色站立的游戏地面的水平面上。
可选的,所述旋转模块1003包括:
虚拟检测单元,被配置为根据所述调整指令确定所述虚拟相机的镜头向靠近所述游戏角色的方向移动的虚拟水平距离;
第一计算单元,被配置为根据所述虚拟水平距离与所述预设的水平距离阈值的比值,得到所述虚拟相机的镜头转动参数。
可选的,所述旋转模块1003还包括:
第二计算单元,被配置为根据所述虚拟相机的镜头转动参数获取对应的偏转角度;
镜头转动单元,被配置为将所述虚拟相机的镜头向远离所述游戏角色的方向旋转所述偏转角度。
可选的,所述调整指令为由鼠标或键盘输入的指令。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
调整虚拟相机与游戏角色之间的位置,获取所述虚拟相机与游戏角色之间的水平观察距离;
在确定所述虚拟相机与游戏角色之间的水平观察距离达到预设的水平距离阈值的情况下,将所述虚拟相机的位置固定在与游戏角色之间的水平距离为所述预设的水平距离阈值的位置处,并在接收到调整指令的情况下,判断虚拟相机是否向靠近所述游戏角色的方向动作;
若是,根据所述调整指令确定所述虚拟相机的镜头转动参数,并根据所述镜头转动参数将所述虚拟相机的视角向远离所述游戏角色的方向转动;
若否,根据所述调整指令继续调整所述虚拟相机与游戏角色之间的位置。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述虚拟相机的控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该计算机可读存储介质的技术方案与上述的自动化测试方法的技术方案属于同一构思,计算机可读存储介质的技术方案未详细描述的细节内容,均可以参见上述自动化测试方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。