CN102521520B - 应用于3d网络游戏中的相机控制方法 - Google Patents

应用于3d网络游戏中的相机控制方法 Download PDF

Info

Publication number
CN102521520B
CN102521520B CN201110436348.1A CN201110436348A CN102521520B CN 102521520 B CN102521520 B CN 102521520B CN 201110436348 A CN201110436348 A CN 201110436348A CN 102521520 B CN102521520 B CN 102521520B
Authority
CN
China
Prior art keywords
camera
game role
vector
current
angle
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
Application number
CN201110436348.1A
Other languages
English (en)
Other versions
CN102521520A (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.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology 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 Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN201110436348.1A priority Critical patent/CN102521520B/zh
Publication of CN102521520A publication Critical patent/CN102521520A/zh
Application granted granted Critical
Publication of CN102521520B publication Critical patent/CN102521520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明提供了应用于3D网络游戏中的相机控制方法。该方法包括:A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上;B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。

Description

应用于3D网络游戏中的相机控制方法
技术领域
本发明涉及计算机技术,特别涉及应用于3D网络游戏中的相机控制方法。 
背景技术
3D网络游戏中的相机一般用来控制当前游戏场景中的视角。一般情况下,3D网络游戏世界中有以下三种矩阵:世界矩阵(world matrix),其用于控制对象在游戏场景中的位置或者姿态,视/相机矩阵(view matrix)其用于控制相机在游戏场景中的位置和姿态,进而决定游戏场景中哪些物体是可见的,哪些物体是不可见的;投影矩阵(project matrix),其用于控制可见物体在屏幕上如何显示。 
目前网络游戏中主流的做法是将相机绑定在游戏角色身上,由玩家通过鼠标来控制相机角度转动和相机半径。然而,由于网络游戏中比如网络战斗游戏,游戏角色移动频繁,大量的移动可能造成目标角色移出相机的可视范围,在这种情况下,需要玩家频繁手动控制鼠标将相机移动至可以看见目标角色的角度和半径,这需要玩家进行大量繁琐的操作,对玩家的要求过高,增加游戏者的负担。 
发明内容
本发明提供了应用于3D网络游戏中的相机控制方法,以实现根据当前玩家控制的角色和目标角色位置自动调整相机的位置。 
本发明提供的技术方案包括: 
一种应用于3D网络游戏中的相机控制方法,包括: 
A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上; 
B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。 
由以上技术方案可以看出,本发明中,通过将相机的视点位置始终绑定在玩家控制的当前游戏角色上;利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内,这相比于现有技术在网络游戏中释放了玩家的大量操作,降低了玩家的负担,避免由于玩家手工控制相机带来的诸多缺陷。 
附图说明
图1为本发明实施例提供的基本流程图; 
图2为本发明实施例应用的三维坐标系示意图; 
图3为本发明实施例提供的调整示意图; 
图4为本发明实施例提供的另一调整示意图。 
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。 
本发明提供了应用于3D网络游戏中的相机控制方法,该方法在网络游戏中释放了玩家的大量操作,降低了玩家的负担,其根据玩家当前控制的网络游戏角色(简称当前游戏角色)和该网络游戏角色的目标游戏角色的位置自动调整相机的位置,比如相机的角度和相机的半径,以保证将当前游戏角色和目标游戏角色同时锁定在相机的视野范围内。 
下面对本发明提供的方法进行描述: 
参见图1,图1为本发明实施例提供的方法流程图。如图1所示,该流程可包括以下步骤: 
步骤101,将相机的视点位置始终绑定在玩家控制的当前游戏角色上。 
步骤102,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。 
至此,完成图1所示的流程。需要说明的是,该流程是在当前游戏角色存在对应的目标游戏角色的情况下执行的,如果当前游戏角色不存在对应的目标游戏角色,则可直接按照现有流程处理,或者按照预先设置的其他方式执行,本发明不具体限定。 
下面对图1所示流程中步骤102进行详细描述: 
以本发明使用的三维坐标系为左手坐标系(x、y、z)为例,具体如图2所示,当然,本发明也可采用其他类型的三维坐标系,具体原理类似左手坐标系(x,y,z)。在图2中,x、z为水平方向坐标轴,y为竖直方向坐标轴。 
基于图2所示的三维坐标系,本发明中,针对相机定义以下几个核心变量作:当前游戏角色在三维坐标系中的位置vSelfPos(x,y,z),目标游戏角色在三维坐标系中的位置vTargetPos(x,y,z),相机在三维坐标系中的视点位置vCameraEyesPos(x,y,z),相机的当前位置vCameraPos(x,y,z),相机的半径fCameraRadius,相机的当前方向向量vCameraDir(x,y,z)相机的当前方向向量换算出以下三个角度:相机的当前方向与x轴的夹角Yaw,与y轴的夹角Pitch,与z轴的夹角Roll。 
基于上述定义的变量,下面对图1所示流程中步骤102进行描述: 
在上述步骤101中,相机的视点位置vCameraEyesPos(x,y,z)始终绑定在玩家控制的当前游戏角色vSelfPos(x,y,z)上,其中,该vSelfPos(x,y,z)中的y表示当前游戏角色的竖直高度。 
另外,上述步骤102的调整目的是控制当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。其中,该调整的前提是在能不调整的情况下尽量不进行调整,或者使用最小的调整时间来达到调整的目的,这种策略使相机的调整更趋近于一种类似玩家自己在做相机调整的方式。下面举例几种 情况对步骤102进行描述: 
情况1:当前游戏角色靠近相机一侧,同时所述相机没有被碰撞的情况。 
其中,情况1中,以及下述各个情况中所述的相机被碰撞,主要是指:相机与地形或者场景中建筑产生碰撞。 
基于情况1,则上述步骤102具体可为: 
将所述相机的半径锁定在第一设定半径,并将所述相机与竖直坐标轴Y轴的夹角Pitch锁定在第一设定角度,并利用所述当前游戏角色的位置和所述目标游戏角色的位置自适应调整所述相机的当前视点位置与所述相机当前位置之间的向量。至于相机与z轴的夹角本情况1下可不进行调整。 
其中,第一设定半径、第一设定角度的设置均是按照保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内的原则设置的。优选地,本发明可设置第一设定半径为8米,第一设定角度为15°。 
至于调整相机的当前视点位置与所述相机当前位置之间的向量,其包括: 
步骤B11,确定所述当前游戏角色和所述目标游戏角色之间的距离,判断所述距离是否小于第一设定距离,如果是,结束调整,否则,执行步骤B12; 
步骤B12,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量; 
步骤B13,调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第一设定角度范围内。 
其中,第一设定距离、第一设定角度范围的设置均是按照保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内的原则设置的。这里,可建议第一设定距离为3米,第一设定角度范围为[45°,-45°]。基于上述步骤B11至步骤B13的描述,可以看出,当所述当前游戏角色和所述目标游戏角色之间的距离小于3米时,结束调整,进而不需要调整所述相机的当前视点位置与所述相机当前位置之间的向量,而当所述当前游戏角色和所述目标游戏角色之间的距离大于或等于3米时,需要调整相机,以使上述确定的夹 角锁定在[45°,-45°]中,进而保证所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。 
至于如何通过调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第一设定角度范围,其可包括: 
判断该确定的夹角是否在第一设定角度范围内,如果是,则结束调整,否则, 
将所述当前游戏角色与所述目标游戏角色之间的向量在其两侧分别偏移第二设定角度和第三设定角度,得到第二向量和第三向量; 
确定所述相机的当前视点位置与所述相机当前位置之间的向量分别与所述第二向量和第三向量形成的夹角,得到取值最小的夹角,将所述相机的当前视点位置与所述相机当前位置之间的向量向取值最小的夹角所涉及的向量偏移。 
其中,第二设定角度和第三设定角度的设置均是按照保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内的原则设置的,这里,可建议第二设定角度为+5°,第三设定角度可为-5°。基于此,如图3所示,在图3中,线1为所述相机的当前视点位置与所述相机当前位置之间的向量,线2为所述当前游戏角色与所述目标游戏角色之间的向量,如果在步骤B11中,确定出线1与线2之间的夹角不在第一设定角度范围内,比如,以第一设定角度范围为[45°,-45°]为例,线1与线2之间的夹角大于45°,如此,就需要将线2分别偏移+5°和-5°,得到如图3所示的线3和线4,之后,确定线1分别与线3、线4形成的夹角中哪一个夹角小,在图3中,线1与线3之间的夹角小于线1与线4之间的夹角,基于此,线1就需要向线3偏移,直至偏移至线3。 
至此,通过上面描述,能够实现情况1下相机的调整,保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。 
情况2:当前游戏角色靠近所述相机、且所述相机被碰撞的情况。 
针对情况2,则步骤102中的调整包括以下步骤: 
步骤B21,首先进行如情况1所述的将以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量调整至第一设定范围内,如果通过将确定的夹角锁 定在第一设定角度范围内不再有碰撞,则只需要将确定的夹角锁定在第一设定角度范围内即可,而如果通过将确定的夹角锁定在第一设定角度范围内还有碰撞,则,执行步骤B22; 
步骤B22,缩小所述相机的半径,所述相机的半径会缩小至第一设定相机范围,该第一设定相机范围的设置是按照保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内的原则设置的,这里可为[3米,8米]。如果将所述相机的半径缩小至第一设定相机范围时不再有碰撞,则不再进行调整,否则,执行步骤B23; 
步骤B23,尝试对所述相机与数值坐标轴Y轴的夹角Pitch进行自适应调整,如果在Pitch调整到第一最大设定角度比如20°时,仍不能避免所述相机被碰撞,则执行步骤B24。优选地,本发明中,步骤B23是在相机的半径缩小至第一设定相机范围中的最小值后仍有碰撞时执行的。 
步骤B24,通过对所述相机当前位置与水平坐标轴X轴的夹角进行插值将所述相机转向靠近所述目标游戏角色一侧,并判断转向相机后是否避免所述相机被碰撞,如果是,返回上述的步骤B21。 
本发明中,将相机转向靠近目标一侧后,理论上不存在转到目标一测进行上述三种调整还会有碰撞的情况。因此,通过上述步骤,能够实现在情况2时,通过调整相机的位置,将所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内。
情况3,所述当前游戏角色保持竖直高度YDist不变远离所述相机、且所述相机没有被碰撞的情况。 
针对情况3,步骤102中的调整包括: 
按照所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内的原则调整所述相机的半径fcameraRadius和相机与竖直坐标轴Y轴的夹角Pitch,并利用所述当前游戏角色的位置和目标游戏角色的位置自适应调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内。 
其中,本情况3中,调整相机的当前视点位置与所述相机当前位置之间的向量与上述情况1中的调整类似,具体包括: 
步骤B31,确定所述当前游戏角色和所述目标游戏角色之间的距离,判断所述距离是否小于第一设定距离,如果是,结束调整,否则,执行步骤B32;
步骤B32,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量; 
步骤B33,调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第二设定角度范围内。 
其中,第二设定角度范围的设置是按照保证当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内的原则设置的,这里可为[25°,-25°]。 
其中,按照所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内的原则调整所述相机的fcameraRadius和相机与竖直坐标轴Y轴的夹角Pitch包括: 
步骤30,利用所述当前游戏角色保持不变的竖直高度YDist,确定所述当前游戏角色靠近所述相机时的水平距离XDist;在情况3中,基于上面描述的情况1,在当前游戏角色靠近所述相机时,所述相机与竖直坐标轴Y轴的夹角Pitch锁定在第一设定角度(以15°为例),基于此,如图4所示的情况3,YDist为:fCameraRadius*sin(15°),相应地,基于图4所示的情况3,则当前游戏角色靠近所述相机时与相机在水平方向的距离为XDist=fCameraRadius*cos(15°)。 
步骤31,将所述水平距离XDist加上所述当前游戏角色与所述目标游戏角色之间的当前水平距离,将得到的结果确定为所述当前游戏角色当前远离所述相机的水平距离XNewDist;具体地,步骤31通过下式实现: 
xNewDist=当前角色与目标角色之间的水平距离+XDist。 
步骤32,按照以下公式计算相机与竖直坐标轴Y轴的夹角Pitch:Pitch=atan(YDist/XNewDist);以及按照以下公式计算相机的半径fcameraRadius:fcameraRadius=YDist/sin(pitch)。其中,sin为正弦函数,atan为反正切函数。 
至此,完成情况3的描述。 
情况4:在所述当前游戏角色远离所述相机、且所述相机被碰撞的情况。 
本情况4类似情况2,具体为: 
B41,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量,判断将确定的夹角锁定在第二设定角度范围内是否避免所述相机被碰撞,如果是,结束调整,如果否,则执行步骤B42; 
步骤B42,缩小所述相机的半径,如果将所述相机的半径缩小至第二设定相机范围时仍不能避免所述相机被碰撞,则执行步骤B43,否则,结束调整; 
本步骤B42中,相机半径的调整范围为: 
[YDist/sin(atan(当前角色与目标角色之间的水平距离+XDist/2),YDist/sin(pitch)]。 
步骤B43,尝试对所述相机与数值坐标轴Y轴的夹角Pitch进行自适应调整,如果在Pitch调整到第二最大设定角度(比如当前pitch与5°的和)时,仍不能避免所述相机被碰撞,则执行步骤B44; 
优选地,本步骤B43中,pitch值调整为[pitch,pitch+5°]。 
B44,通过对所述相机当前位置与水平坐标轴X轴的夹角进行插值将所述相机转向靠近所述目标游戏角色一侧,并判断转向相机后是否避免所述相机被碰撞,如果是,返回步骤B41。 
其中,通过调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第二设定角度范围内包括: 
判断确定的夹角是否在第二设定角度范围内,如果是,则结束调整,否则, 
将所述当前游戏角色与所述目标游戏角色之间的向量在其两侧分别偏移第二设定角度和第三设定角度,得到第二向量和第三向量; 
确定所述相机的当前视点位置与所述相机当前位置之间的向量分别与所述第二向量和第三向量形成的夹角,得到取值最小的夹角,将所述相机的当前视点位置与所述相机当前位置之间的向量向取值最小的夹角所涉及的向量 偏移。 
至此,完成情况4的描述。 
以上对本发明提供的方法进行了描述。 
由以上技术方案可以看出,本发明中,通过将相机的视点位置始终绑定在玩家控制的当前游戏角色上;利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内,这相比于现有技术在网络游戏中释放了玩家的大量操作,降低了玩家的负担,避免由于玩家手工控制相机带来的诸多缺陷。 
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 

Claims (7)

1.一种应用于3D网络游戏中的相机控制方法,其特征在于,该方法包括: 
A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上; 
B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内; 
步骤B中的调整包括: 
在所述当前游戏角色靠近所述相机、且所述相机没有被碰撞的情况下,将所述相机的半径锁定在第一设定半径,并将所述相机与竖直坐标轴Y轴的夹角Pitch锁定在第一设定角度,并利用所述当前游戏角色的位置和所述目标游戏角色的位置自适应调整所述相机的当前视点位置与所述相机当前位置之间的向量; 
所述调整相机的当前视点位置与所述相机当前位置之间的向量包括: 
B11,确定所述当前游戏角色和所述目标游戏角色之间的距离,判断所述距离是否小于第一设定距离,如果是,结束调整,否则,执行步骤B12; 
B12,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量; 
B13,调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第一设定角度范围内。 
2.一种应用于3D网络游戏中的相机控制方法,其特征在于,该方法包括: 
A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上; 
B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内; 
步骤B中的调整包括: 
B21,在所述当前游戏角色靠近所述相机、且所述相机被碰撞的情况下,执行步骤B22; 
B22,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量,判断将确定的夹角锁定在第一设定角度范围内是否避免所述相机被碰撞,如果是,结束调整,如果否,则执行步骤B23; 
B23,缩小所述相机的半径,如果将所述相机的半径缩小至第一设定相机范围时仍不能避免所述相机被碰撞,则执行步骤B24,否则,结束调整; 
B24,尝试对所述相机与数值坐标轴Y轴的夹角Pitch进行自适应调整,如果在Pitch调整到第一最大设定角度时,仍不能避免所述相机被碰撞,则执行步骤B25; 
B25,通过对所述相机当前位置与水平坐标轴X轴的夹角进行插值将所述相机转向靠近所述目标游戏角色一侧,并判断转向相机后是否避免所述相机被碰撞,如果是,返回步骤B22。 
3.根据权利要求1或2所述的方法,其特征在于,调整相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第一设定角度范围内包括: 
判断该确定的夹角是否在第一设定角度范围内,如果是,则结束调整,否则, 
将所述当前游戏角色与所述目标游戏角色之间的向量在其两侧分别偏移第二设定角度和第三设定角度,得到第二向量和第三向量; 
确定所述相机的当前视点位置与所述相机当前位置之间的向量分别与所述第二向量和第三向量形成的夹角,得到取值最小的夹角,将所述相机的当前视点位置与所述相机当前位置之间的向量向取值最小的夹角所涉及的向量偏移。 
4.一种应用于3D网络游戏中的相机控制方法,其特征在于,该方法包括: 
A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上; 
B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内; 
步骤B中的调整包括: 
在所述当前游戏角色保持竖直高度YDist不变远离所述相机、且所述相机没有被碰撞的情况下,按照所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内的原则调整所述相机的半径fcameraRadius和相机与竖直坐标轴Y轴的夹角Pitch,并利用所述当前游戏角色的位置和目标游戏角色的位置自适应调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内; 
所述调整相机的当前视点位置与所述相机当前位置之间的向量包括: 
B31,确定所述当前游戏角色和所述目标游戏角色之间的距离,判断所述距离是否小于第一设定距离,如果是,结束调整,否则,执行步骤B32; 
B32,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量; 
B33,调整所述相机的当前视点位置与所述相机当前位置之间的向量,以使确定的夹角锁定在第二设定角度范围内。 
5.根据权利要求4所述的方法,其特征在于,按照所述当前游戏角色和所述目标游戏角色始终在所述相机的视野范围内的原则调整所述相机的fcameraRadius和相机与竖直坐标轴Y轴的夹角Pitch包括: 
利用所述当前游戏角色保持不变的竖直高度YDist,确定所述当前游戏角色靠近所述相机时的水平距离XDist; 
将所述水平距离XDist加上所述当前游戏角色与所述目标游戏角色之间的当前水平距离,将得到的结果确定为所述当前游戏角色当前远离所述相机的水平距离XNewDist; 
按照以下公式计算相机与竖直坐标轴Y轴的夹角Pitch:Pitch=atan(YDist/XNewDist); 
以及按照以下公式计算相机的半径fcameraRadius:fcameraRadius=YDist/sin(pitch); 
其中,sin为正弦函数,atan为反正切函数。 
6.一种应用于3D网络游戏中的相机控制方法,其特征在于,该方法包括: 
A,将相机的视点位置始终绑定在玩家控制的当前游戏角色上; 
B,利用所述当前游戏角色的位置和所述当前游戏角色的目标游戏角色的位置自适应调整相机的位置,以使所述当前游戏角色和所述目标游戏角色同时锁定在相机视野范围内; 
步骤B中的调整包括: 
B41,在所述当前游戏角色远离所述相机、且所述相机被碰撞的情况下,执行步骤B42; 
B42,确定以下两个向量组成的夹角:所述相机的当前视点位置与所述相机当前位置之间的向量,以及所述当前游戏角色与所述目标游戏角色之间的向量,判断将确定的夹角锁定在第二设定角度范围内是否避免所述相机被碰撞,如果是,结束调整,如果否,则执行步骤B43; 
B43,缩小所述相机的半径,如果将所述相机的半径缩小至第二设定相机范围时仍不能避免所述相机被碰撞,则执行步骤B44,否则,结束调整; 
B44,尝试对所述相机与数值坐标轴Y轴的夹角Pitch进行自适应调整,如果在Pitch调整到第二最大设定角度时,仍不能避免所述相机被碰撞,则执行步骤B45; 
B45,通过对所述相机当前位置与水平坐标轴X轴的夹角进行插值将所述相机转向靠近所述目标游戏角色一侧,并判断转向相机后是否避免所述相机被碰撞,如果是,返回步骤B42。 
7.根据权利要求4或6所述的方法,其特征在于,调整相机的当前视点位置与所述相机当前位置之间的向量,以使将确定的夹角锁定在第二设定角度范围内包括: 
判断确定的夹角是否在第二设定角度范围内,如果是,则结束调整,否则, 
将所述当前游戏角色与所述目标游戏角色之间的向量在其两侧分别偏移第二设定角度和第三设定角度,得到第二向量和第三向量; 
确定所述相机的当前视点位置与所述相机当前位置之间的向量分别与所述第二向量和第三向量形成的夹角,得到取值最小的夹角,将所述相机的当前视 点位置与所述相机当前位置之间的向量向取值最小的夹角所涉及的向量偏移。 
CN201110436348.1A 2011-12-22 2011-12-22 应用于3d网络游戏中的相机控制方法 Active CN102521520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110436348.1A CN102521520B (zh) 2011-12-22 2011-12-22 应用于3d网络游戏中的相机控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110436348.1A CN102521520B (zh) 2011-12-22 2011-12-22 应用于3d网络游戏中的相机控制方法

Publications (2)

Publication Number Publication Date
CN102521520A CN102521520A (zh) 2012-06-27
CN102521520B true CN102521520B (zh) 2014-12-03

Family

ID=46292431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110436348.1A Active CN102521520B (zh) 2011-12-22 2011-12-22 应用于3d网络游戏中的相机控制方法

Country Status (1)

Country Link
CN (1) CN102521520B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104835198B (zh) * 2015-05-19 2018-09-14 网易(杭州)网络有限公司 游戏场景展示方法和装置
CN106582015B (zh) * 2016-11-24 2020-01-07 北京乐动卓越科技有限公司 一种在2d游戏中实现3d效果展示的方法及系统
CN106730852B (zh) * 2016-12-20 2020-03-10 网易(杭州)网络有限公司 游戏系统中虚拟镜头的控制方法及控制装置
CN107519644B (zh) * 2017-08-15 2020-10-23 网易(杭州)网络有限公司 一种3d游戏中的视角调整方法及装置
CN107481305B (zh) * 2017-08-18 2021-02-09 苏州歌者网络科技有限公司 游戏动画制作方法
CN108126343A (zh) * 2017-12-20 2018-06-08 网易(杭州)网络有限公司 游戏角色的视线调整方法、装置、处理器和终端
CN111111184B (zh) * 2019-12-26 2023-12-12 珠海金山数字网络科技有限公司 一种虚拟镜头调整方法及装置
CN111752434A (zh) * 2020-06-23 2020-10-09 万鹤龄 一种游戏视野变换方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1676184A (zh) * 2004-03-31 2005-10-05 世嘉股份有限公司 图像生成装置、图像显示方法和程序
CN1696973A (zh) * 2004-05-11 2005-11-16 世嘉股份有限公司 图像处理程序、游戏处理程序及游戏信息处理装置
CN101549207A (zh) * 2008-04-04 2009-10-07 株式会社万代南梦宫游戏 游戏动画发送系统及游戏动画发送方法
CN101681438A (zh) * 2007-03-02 2010-03-24 有机运动公司 跟踪三维对象的系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515221B2 (ja) * 2004-10-29 2010-07-28 任天堂株式会社 ゲームプログラム
JP4710997B2 (ja) * 2009-03-13 2011-06-29 株式会社セガ ゲーム装置及びゲームプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1676184A (zh) * 2004-03-31 2005-10-05 世嘉股份有限公司 图像生成装置、图像显示方法和程序
CN1696973A (zh) * 2004-05-11 2005-11-16 世嘉股份有限公司 图像处理程序、游戏处理程序及游戏信息处理装置
CN101681438A (zh) * 2007-03-02 2010-03-24 有机运动公司 跟踪三维对象的系统和方法
CN101549207A (zh) * 2008-04-04 2009-10-07 株式会社万代南梦宫游戏 游戏动画发送系统及游戏动画发送方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"基于Morfit 3D引擎的三维游戏开发研究";涂超;《微机发展》;20051031;第15卷(第10期);第68-71页 *
"基于OGRE多摄像机系统切换的实现";柯健等;《苏州市职业大学学报》;20100630;第21卷(第2期);第51-53页 *
JP特开2009-131652A 2009.06.18 *
柯健等."基于OGRE多摄像机系统切换的实现".《苏州市职业大学学报》.2010,第21卷(第2期),第51-53页. *
涂超."基于Morfit 3D引擎的三维游戏开发研究".《微机发展》.2005,第15卷(第10期),第68-71页. *

Also Published As

Publication number Publication date
CN102521520A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521520B (zh) 应用于3d网络游戏中的相机控制方法
CN109974727B (zh) 一种机器人充电方法、装置及机器人
WO2020211812A1 (zh) 一种飞行器降落方法及装置
CN104820978B (zh) 一种ccd相机的基准定位方法
US20220066477A1 (en) Method, electronic device, and system for controlling cooperative operations of unmanned aerial vehicles
CN104270513B (zh) 一种移动终端调节屏幕亮度的方法及装置
KR101260132B1 (ko) 스테레오 매칭 처리 장치, 스테레오 매칭 처리 방법, 및 기록 매체
CN108259877B (zh) 一种白平衡处理方法及装置
CN106094880B (zh) 基于十二点支撑的垂直发射平台姿态调平控制方法
CN110559647B (zh) 虚拟射击游戏中准星显示的控制方法及装置、介质、设备
CN109685857A (zh) 一种全自动丝印机视觉标定及对位贴合算法
US20190041729A1 (en) Method and system for controlling tracking photographing of stabilizer
CN112508912B (zh) 地面点云数据滤除方法及装置、臂架防碰撞方法及系统
CN103200358A (zh) 摄像机与目标场景之间的坐标转换方法及装置
CN105551020A (zh) 一种检测目标物尺寸的方法及装置
CN110528830A (zh) 墙面处理机器人及其精度对位装置和精度校正方法
CN106559628A (zh) 一种投影的方法、装置和终端
EP3101621A2 (en) Overhead image generation apparatus
CN112967344A (zh) 相机外参标定的方法、设备、存储介质及程序产品
CN112388626B (zh) 机器人辅助导航方法
CN103884272B (zh) 一种物体位置确定方法、装置及移动电子设备
CN103558868A (zh) 混凝土喷射机的喷嘴喷射角度控制设备、方法及工程机械
CN103594797B (zh) 一种卫星天线对星系统及方法
CN113497897B (zh) 车路协同路侧相机安装参数调整方法、装置和电子设备
CN106767762A (zh) 非可见激光定标室内定位导航方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant