CN103823705A - 虚拟角色转向控制方法及其系统 - Google Patents

虚拟角色转向控制方法及其系统 Download PDF

Info

Publication number
CN103823705A
CN103823705A CN201310554148.5A CN201310554148A CN103823705A CN 103823705 A CN103823705 A CN 103823705A CN 201310554148 A CN201310554148 A CN 201310554148A CN 103823705 A CN103823705 A CN 103823705A
Authority
CN
China
Prior art keywords
virtual role
angle
destination locations
steering
angular range
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
Application number
CN201310554148.5A
Other languages
English (en)
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.)
GUANGZHOU FEIDONG SOFTWARE SCIENCE & TECHNOLOGY Co Ltd
Original Assignee
GUANGZHOU FEIDONG SOFTWARE SCIENCE & 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 GUANGZHOU FEIDONG SOFTWARE SCIENCE & TECHNOLOGY Co Ltd filed Critical GUANGZHOU FEIDONG SOFTWARE SCIENCE & TECHNOLOGY Co Ltd
Priority to CN201310554148.5A priority Critical patent/CN103823705A/zh
Publication of CN103823705A publication Critical patent/CN103823705A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Steering Control In Accordance With Driving Conditions (AREA)

Abstract

本发明提供一种虚拟角色转向控制方法及其系统,包括:设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度;根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度;如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。本发明可以使虚拟角色的转向更合理,减小转向延时,有效提供控制效率和响应速度。

Description

虚拟角色转向控制方法及其系统
技术领域
本发明涉及计算机控制技术的领域,特别是涉及一种虚拟角色转向控制方法,以及一种虚拟角色转向控制系统。 
背景技术
创建虚拟角色是计算机技术的一种很重要的应用,通过计算机创建虚拟角色,可控制该虚拟角色完成各种模拟操作,以模拟各种现实生活场景。虚拟角色包括在仿真软件中创建的虚拟角色、游戏中的虚拟角色等,而控制所述虚拟角色的操作最经常是控制所述虚拟角色移动。 
通常,在控制虚拟角色移动时(特别是在第三人称的控制角度),需要通过鼠标点击等手段输入移动的目的地。而当所述虚拟角色当前正面的方向与目的地的方向不一致时,就需要控制所述虚拟角色转向所述目的地。而一般地,在虚拟角色的转向过程中,所述虚拟角色的转向控制经常出现不合理的情形。如图1所示,鼠标的单击点在虚拟角色的左边,而虚拟角色无法识别单击点的左右,其可能从右边转向所述单击点,则转向的角度将大于从坐标转向的角度,导致转向延时,影响控制效率和响应速度。 
发明内容
针对上述问题,本发明提出一种虚拟角色转向控制方法及其系统,可以使虚拟角色的转向更合理,减小转向延时,有效提供控制效率和响应速度。 
一种虚拟角色转向控制方法,包括以下步骤: 
设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度; 
根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围; 
在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度; 
如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟 角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。 
一种虚拟角色转向控制系统,包括: 
转向角度模块,用于设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度; 
转向范围模块,用于根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围; 
目的位置检测模块,用于在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度; 
转向模块,用于如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。 
本发明的虚拟角色转向控制方法及其系统中,首先设定参考坐标系,根据虚拟角色的转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;当检测到移动指令时,获取从所述虚拟角色的位置到所述目的位置的偏转角度,判断所述偏转角度落在虚拟角色的左转向角度范围还是右转向角度范围,从而控制虚拟角色从对应的方向转向所述目的位置,减少从另一个方向转向目的位置而导致的转向延时,提高转向效率和响应速度。 
附图说明
图1是本发明现有技术的一种虚拟角色转向控制的示意图; 
图2是本发明虚拟角色转向控制方法的流程示意图; 
图3是本发明虚拟角色转向控制方法一个实施例的参考坐标系示意图; 
图4是本发明虚拟角色转向控制方法一个实施例的虚拟角色的转向角度示意图; 
图5是本发明虚拟角色转向控制方法一个实施例的虚拟角色的左、右转向角度范围示意图; 
图6是本发明虚拟角色转向控制方法一个实施例的虚拟角色转向的偏转角度示意图; 
图7是本发明虚拟角色转向控制方法另一个实施例的虚拟角色的转向角度示意图; 
图8是本发明虚拟角色转向控制方法另一个实施例的虚拟角色的左、右转向角度范围示意图; 
图9是本发明虚拟角色转向控制方法另一个实施例的虚拟角色转向的偏转角度示意图; 
图10是本发明虚拟角色转向控制系统的结构示意图。 
具体实施方式
请参阅图2,图2是本发明虚拟角色转向控制方法的流程示意图。 
所述虚拟角色转向控制方法,包括以下步骤: 
S102,设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度; 
S104,根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围; 
S106,在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度; 
S108,如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。 
本发明的虚拟角色转向控制方法,首先设定参考坐标系,根据虚拟角色的转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;当检测到移动指令时,获取从所述虚拟角色的位置到所述目的位置的偏转角度,判断所述偏转角度落在虚拟角色的左转向角度范围还是右转向角度范围,从而控制虚拟角色从对应的方向转向所述目的位置,减少从另一个方向转向目的位置而导致的转向延时,提高转向效率和响应速度。 
其中,所述参考坐标系可以是所述虚拟角色活动平面内的任意一点作为原 点。设定所述参考坐标系的坐标轴的角度参考值,例如,定义所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或者360度,其中n为整数。 
可进一步定义所述参考坐标系左边区域或右边区域,例如定义所述参考坐标系左边区域是[0度,180度],反之为右边区域是[181度,360度)。 
所述虚拟角色在所述参考坐标系中的转向角度,是指所述虚拟角色的正面轴向在所述参考坐标系中的指向的角度。例如所述虚拟角色的正面轴向在所述参考坐标系中的指向的角度为270度,则所述虚拟角色的转向角度为270度。 
要确定所述虚拟角色的正面轴向,可在所述虚拟角色的中心点正前方和正后方各取一个定位点,从正后方的定位点到正前方的定位点的连线所指向的方向即为所述虚拟角色的正面轴向。 
在一个优选实施方式中,设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度的步骤包括: 
设定所述参考坐标系的坐标轴的角度参考值; 
确定所述虚拟角色的正面轴向与所述参考坐标系的坐标轴的第一夹角; 
根据所述参考坐标系的坐标轴的角度参考值,以及所述第一夹角,计算所述虚拟角色的转向角度。 
例如定义所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度;根据所述虚拟角色的中心点前后的定位点的连线确定一个方向,该方向与所述参考坐标系的X轴正向的第一夹角为45度,与Y轴正向的第一夹角为135度,则所述虚拟角色的转向角度为45度。 
获取所述虚拟角色的转向角度之后,根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围。 
在所述虚拟角色的左转向角度范围是以所述虚拟角色的转向角度α,以及α±180度为分界,在所述虚拟角色的正面轴向左手边的范围;所述虚拟角色的右转向角度范围是以所述虚拟角色的转向角度α,以及α±180度为分界,在所述虚拟角色的正面轴向右手边的范围。 
在获取所述虚拟角色在所述参考坐标系中的转向角度后,可进一步判断所述转向角度是在所述参考坐标系左边区域[0度,180度],还是在右边区域[181度,360度),以确定所述虚拟角色的左、右转向角度范围。 
优选地,当所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度;如果所述虚拟角色的转向角度α大于180度,则其右转向角度范围是[α-180度,α],其余为左转向角度范围;如果所述虚拟角色的转向角度α小于180度,则其左转向角度范围是[α,α+180度],其余为右转向角度范围。 
例如,定义所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度,所述虚拟角色的转向角度为45度。则,所述虚拟角色的左转向角度范围L=[45,225]度,右转向范围为R=[0,45]度以及[225,360]度。 
特别地,当所述偏转角度落在所述左转向角度范围和所述右转向角度范围的重叠区域时,将所述偏转角度的取值加1度或者减1度,然后再判断所述偏转角度落在所述虚拟角色的左转向角度范围或者右转向角度范围。 
因为当所述偏转角度落在所述左转向角度范围和所述右转向角度范围的重叠区域时,无法根据上述方式处理,所以针对这种特别的情况,需要将所述偏转角度的取值加1度或者减1度(加1度或者减1度可以预设),由于一度的差距不大,机会忽略,所以通过刻意引入一度的误差,就可以解决上述特别情况下无法控制择优转向的问题。 
在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度。 
虚拟角色的移动指令通常带有移动的目的位置坐标,读取所述目的位置坐标,以及所述虚拟角色的位置坐标,根据上述两个坐标可以计算从所述虚拟角色的位置坐标到所述目的位置坐标的连线或矢量,根据所述连线或矢量与所述参考坐标系的坐标轴夹角,可以得到所述连线或矢量指向的角度,即为所述虚拟角色的位置到所述目的位置的偏转角度。 
假设所述虚拟角色A的位置坐标为点A,鼠标单击输入的目的位置坐标为 点B,从点A到点B的连线确定一个矢量AB,所述矢量AB所指向的角度为80度(与X轴正向夹角为10度,与Y轴正向夹角为100度),则所述虚拟角色A的位置到所述目的位置点B的偏转角度为80度。 
作为一种优选实施方式,获取所述虚拟角色的位置到所述目的位置点的偏转角度的步骤包括: 
建立相对坐标系,其中,所述相对坐标系的原点与所述虚拟角色的位置坐标重叠,所述相对坐标的坐标轴与所述地图坐标的坐标轴同向平行; 
获取所述目的位置在所述相对坐标系中的相对坐标,计算所述相对坐标系的原点到所述目的位置的相对坐标的连线与所述相对坐标系的坐标轴的第二夹角; 
根据参考坐标系的坐标轴的转向角度,以及所述第二夹角,计算所述虚拟角色的位置到所述目的位置的偏转角度。 
通过上述方式,可以快速地定位所述目的位置在所述相对坐标系中的相对坐标,从而确定所述相对位置对于所述虚拟角色的位置,以及角度,从而计算出所述虚拟角色的位置到所述目的位置的偏转角度,进一步提高控制效率和响应速度。 
在计算出所述虚拟角色的位置到所述目的位置的偏转角度之后,控制所述虚拟角色从左边或从右边转向所述目的位置坐标: 
如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。 
通过本发明的虚拟角色转向控制方法,可以检测到移动指令指示的目的位置在虚拟角色的左转向角度范围还是右转向角度范围,从而控制虚拟角色对应从左或者右方向转向所述目的位置,减少从另一个方向转向目的位置而导致的转向延时,提高转向效率和响应速度。 
作为本发明的一种优选实施方式,在控制所述虚拟角色从左边或从右边转向所述目的位置坐标时,可在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次调整,直到达到所述虚拟角色的位置到所述目的位置的偏转角度,其中, 每次增大或减小的角度等于预设的缓动增量角度。 
上述处理方式可以避免虚拟角色在转向过程中突然转向,不自然的现象。提高虚拟角色转向的仿真效果。 
而在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次增大或者减少时,可在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次与一个所述缓动增量角度相加;其中,当所述虚拟角色从左边转向(逆时针方向)所述目的位置坐标时,所述缓动增量角度的取值为负;当所述虚拟角色从右边转向(顺时针方向)所述目的位置坐标,所述缓动增量角度的取值为正。本领域技术人员也可根据系统需要对该缓动增量角度作不同定义,如设置从左边转向时取值为正,从右边转向时取值为负。 
下面以具体的实施例说明本发明的虚拟角色转向控制方法。 
1.确立参考坐标系,如图3所示,所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度。以所述Y轴负向为准,可进一步定义所述参考坐标系的左右区域划分方式为:左边区域∈[0度,180度],反之为右边区域∈[181度,360度); 
2.获取角色1的转向角度,假设角色1的转向角度为320度,则其落在所述参考坐标系的右边区域,如图4所示;(注意特殊性:角色3转向角度为180度和角色2转向角度为360度,要计算区分左边还是右边时,需要为它的转向角度加或减1度,才能区分。) 
3.计算角色1的左转向角度范围和右转向角度范围,由于已知角色1此时的转向角度属于所述参考坐标系的右边区域,转向角度为320度,大于180度,因此,此时的反方向角度为:角色1的转向角度-180度,即320度-180度=140度,那么可得出角色1的右转向角度范围∈[140,320],反之为角色1的左转向角度范围,如图5所示; 
4.设置相对坐标,计算角色1的位置到单击点1的位置的连线与0度坐标轴所构成夹角,假设所述夹角度是80度,如图6所示,那么根据角色1的右边∈[140,320],80度不属于[140,320]区间值,所以单击点1在角色1的左转向角度范围内。再定义角色1向左边转(逆时针方向)的缓动增量值为负,向右边 转(顺时针方向)的缓动增量值为正; 
5.执行刷新帧频,让角色1的转向角度每帧加上缓动增量(增量负数为向左转,正数为向右转),逐步执行角色1的转向控制。 
作为另一种情况的举例,在上述步骤2中,假设角色1的转向为45度,则其落在所述参考坐标系的左边区域,如图7所示;(注意特殊性:角色3转向角度为180度和角色2的转向角度为360度,要计算区分左边还是右边时,需要为它的转向角度加或减1度,才能区分。) 
则步骤3中,计算角色1的左转向角度范围和右转向角度范围,由于已知角色1此时的转向角度属于所述参考坐标系的左边区域,转向角度为45度,小于180度,因此,此时的反方向角度为:角色1的转向角度+180度,即45度+180度=225度,那么可得出角色1的左转向角度范围∈[45度,225度],反之为角色1的右转向角度范围;如图8所示。 
在步骤4中,计算角色1的位置到单击点1的位置的连线与0度坐标轴所构成夹角,假设所述夹角度是260度,那么根据角色1的左转向角度范围∈[45度,225度],260度不属于[45度,225度]这个区间值,所以单击点1在角色1的右转向角度范围,再定义角色向左边转的缓动增量值为负,向右边转的缓动增量值为正,如图9所示。 
在步骤5中,执行刷新帧频,让角色角度每帧加上缓动增量(增量负数为向左转,正数为向右转)。 
请参阅图10,图10是本发明虚拟角色转向控制系统的结构示意图。 
所述虚拟角色转向控制系统,包括: 
转向角度模块10,用于设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度; 
转向范围模块20,用于根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围; 
目的位置检测模块30,用于在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度; 
转向模块40,用于如果所述偏转角度落在所述虚拟角色的左转向角度范围, 则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。 
本发明的虚拟角色转向控制系统,首先设定参考坐标系,根据虚拟角色的转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;当检测到移动指令时,获取从所述虚拟角色的位置到所述目的位置的偏转角度,判断所述偏转角度落在虚拟角色的左转向角度范围还是右转向角度范围,从而控制虚拟角色从对应的方向转向所述目的位置,减少从另一个方向转向目的位置而导致的转向延时,提高转向效率和响应速度。 
其中,所述参考坐标系可以是所述虚拟角色活动平面内的任意一点作为原点。设定所述参考坐标系的坐标轴的角度参考值,例如,定义所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或者360度,其中n为整数。 
所述转向角度模块10可进一步定义所述参考坐标系左边区域或右边区域,例如定义所述参考坐标系左边区域是[0度,180度],反之为右边区域是[181度,360度)。 
所述虚拟角色在所述参考坐标系中的转向角度,是指所述虚拟角色的正面轴向在所述参考坐标系中的指向的角度。例如所述虚拟角色的正面轴向在所述参考坐标系中的指向的角度为270度,则所述虚拟角色的转向角度为270度。 
要确定所述虚拟角色的正面轴向,可在所述虚拟角色的中心点正前方和正后方各取一个定位点,从正后方的定位点到正前方的定位点的连线所指向的方向即为所述虚拟角色的正面轴向。 
在一个优选实施方式中所述转向角度模块10包括: 
用于设定所述参考坐标系的坐标轴的角度参考值的模块; 
用于确定所述虚拟角色的正面轴向与所述参考坐标系的坐标轴的第一夹角的模块; 
用于根据所述参考坐标系的坐标轴的角度参考值,以及所述第一夹角,计算所述虚拟角色的转向角度的模块。 
获取所述虚拟角色的转向角度之后,所述转向范围模块20根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围。 
所述虚拟角色的左转向角度范围是以所述虚拟角色的转向角度α,以及α±180度为分界,在所述虚拟角色的正面轴向左手边的范围;所述虚拟角色的右转向角度范围是以所述虚拟角色的转向角度α,以及α±180度为分界,在所述虚拟角色的正面轴向右手边的范围。 
所述转向范围模块20在获取所述虚拟角色在所述参考坐标系中的转向角度后,可进一步判断所述转向角度是在所述参考坐标系左边区域[0度,180度],还是在右边区域[181度,360度),以确定所述虚拟角色的左、右转向角度范围。 
优选地,当所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度;如果所述虚拟角色的转向角度α大于180度,则其右转向角度范围是[α-180度,α],其余为左转向角度范围;如果所述虚拟角色的转向角度α小于180度,则其左转向角度范围是[α,α+180度],其余为右转向角度范围。 
例如,定义所述参考坐标系的X轴正向为90度,Y轴正向为180度,X轴负向为270度,而Y轴负向为0度或360度,所述虚拟角色的转向角度为45度。则,所述虚拟角色的左转向角度范围L=[45,225]度,右转向范围为R=[0,45]度以及[225,360]度。 
特别地,当所述偏转角度落在所述左转向角度范围和所述右转向角度范围的重叠区域时,所述转向范围模块20将所述偏转角度的取值加1度或者减1度,然后再判断所述偏转角度落在所述虚拟角色的左转向角度范围或者右转向角度范围。 
因为当所述偏转角度落在所述左转向角度范围和所述右转向角度范围的重叠区域时,无法根据上述方式处理,所以针对这种特别的情况,需要将所述偏转角度的取值加1度或者减1度(加1度或者减1度可以预设),由于一度的差距不大,机会忽略,所以通过刻意引入一度的误差,就可以解决上述特别情况下无法控制择优转向的问题。 
在检测到移动指令时,所述目的位置检测模块30根据所述移动指令指示的 目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度。 
虚拟角色的移动指令通常带有移动的目的位置坐标,所述目的位置检测模块30读取所述目的位置坐标,以及所述虚拟角色的位置坐标,根据上述两个坐标可以计算从所述虚拟角色的位置坐标到所述目的位置坐标的连线或矢量,根据所述连线或矢量与所述参考坐标系的坐标轴夹角,可以得到所述连线或矢量指向的角度,即为所述虚拟角色的位置到所述目的位置的偏转角度。 
所述虚拟角色A的位置坐标为点A,鼠标单击输入的目的位置坐标为点B,从点A到点B的连线确定一个矢量AB,所述矢量AB所指向的角度为80度(与X轴正向夹角为10度,与Y轴正向夹角为100度),则所述虚拟角色A的位置到所述目的位置点B的偏转角度为80度。 
作为一种优选实施方式,所述目的位置检测模块30包括: 
用于建立相对坐标系的模块,其中,所述相对坐标系的原点与所述虚拟角色的位置坐标重叠,所述相对坐标的坐标轴与所述地图坐标的坐标轴同向平行; 
用于获取所述目的位置在所述相对坐标系中的相对坐标,计算所述相对坐标系的原点到所述目的位置的相对坐标的连线与所述相对坐标系的坐标轴的第二夹角的模块; 
以及,用于根据参考坐标系的坐标轴的转向角度,以及所述第二夹角,计算所述虚拟角色的位置到所述目的位置的偏转角度的模块。 
通过上述方式,可以快速地定位所述目的位置在所述相对坐标系中的相对坐标,从而确定所述相对位置对于所述虚拟角色的位置,以及角度,从而计算出所述虚拟角色的位置到所述目的位置的偏转角度,进一步提高控制效率和响应速度。 
在计算出所述虚拟角色的位置到所述目的位置的偏转角度之后,所述转向模块30控制所述虚拟角色从左边或从右边转向所述目的位置坐标: 
如果所述偏转角度落在所述虚拟角色的左转向角度范围,则所述转向模块30控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则所述转向模块30控制所述虚拟角色从右边转向所述目的位置坐标。 
通过本发明的虚拟角色转向控制系统,可以检测到移动指令指示的目的位置在虚拟角色的左转向角度范围还是右转向角度范围,从而控制虚拟角色对应从左或者右方向转向所述目的位置,减少从另一个方向转向目的位置而导致的转向延时,提高转向效率和响应速度。 
作为本发明的一种优选实施方式,所述转向模块30在控制所述虚拟角色从左边或从右边转向所述目的位置坐标时,可在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次调整,直到达到所述虚拟角色的位置到所述目的位置的偏转角度,其中,每次增大或减小的角度等于预设的缓动增量角度。 
上述处理方式可以避免虚拟角色在转向过程中突然转向,不自然的现象。提高虚拟角色转向的仿真效果。 
而在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次增大或者减少时,可在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次与一个所述缓动增量角度相加;其中,当所述虚拟角色从左边转向所述目的位置坐标时,所述缓动增量角度的取值为负;当所述虚拟角色从右边转向所述目的位置坐标,所述缓动增量角度的取值为正。 
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。 

Claims (10)

1.一种虚拟角色转向控制方法,其特征在于,包括以下步骤:
设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度;
根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;
在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度;
如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。
2.如权利要求1所述的虚拟角色转向控制方法,其特征在于,设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度的步骤包括:
设定所述参考坐标系的坐标轴的角度参考值;
确定所述虚拟角色的正面轴向与所述参考坐标系的坐标轴的第一夹角;
根据所述参考坐标系的坐标轴的角度参考值,以及所述第一夹角,计算所述虚拟角色的转向角度。
3.如权利要求1所述的虚拟角色转向控制方法,其特征在于,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度的步骤包括:
建立相对坐标系,其中,所述相对坐标系的原点与所述虚拟角色的位置坐标重叠,所述相对坐标的坐标轴与所述地图坐标的坐标轴同向平行;
获取所述目的位置在所述相对坐标系中的相对坐标,计算所述相对坐标系的原点到所述目的位置的相对坐标的连线与所述相对坐标系的坐标轴的第二夹角;
根据参考坐标系的坐标轴的转向角度,以及所述第二夹角,计算所述虚拟角色的位置到所述目的位置的偏转角度。
4.如权利要求1至3任一项所述的虚拟角色转向控制方法,其特征在于,控制所述虚拟角色从左边或从右边转向所述目的位置坐标的步骤包括:
在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次调整,直到达到所述虚拟角色的位置到所述目的位置的偏转角度,其中,每次增大或减小的角度等于预设的缓动增量角度。
5.如权利要求4所述的虚拟角色转向控制方法,其特征在于,在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次增大或者减少,直到达到所述虚拟角色的位置到所述目的位置的偏转角度的步骤包括:
在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次与一个所述缓动增量角度相加;其中,当所述虚拟角色从左边转向所述目的位置坐标时,所述缓动增量角度的取值为负;当所述虚拟角色从右边转向所述目的位置坐标,所述缓动增量角度的取值为正。
6.如权利要求1所述的虚拟角色转向控制方法,其特征在于,当所述偏转角度落在所述左转向角度范围和所述右转向角度范围的重叠区域时,将所述偏转角度的取值加1度或者减1度,然后再判断所述偏转角度落在所述虚拟角色的左转向角度范围或者右转向角度范围。
7.一种虚拟角色转向控制系统,其特征在于,包括:
转向角度模块,用于设定参考坐标系,获取虚拟角色在所述参考坐标系中的转向角度;
转向范围模块,用于根据所述转向角度,获取虚拟角色的左转向角度范围和右转向角度范围;
目的位置检测模块,用于在检测到移动指令时,根据所述移动指令指示的目的位置,获取从所述虚拟角色的位置到所述目的位置的偏转角度;
转向模块,用于如果所述偏转角度落在所述虚拟角色的左转向角度范围,则控制所述虚拟角色从左边转向所述目的位置坐标,如果所述偏转角度落在所述虚拟角色的右转向角度范围,则控制所述虚拟角色从右边转向所述目的位置坐标。
8.如权利要求7所述的虚拟角色转向控制系统,其特征在于,所述转向角度模块包括:
用于设定所述参考坐标系的坐标轴的角度参考值的模块;
用于确定所述虚拟角色的正面轴向与所述参考坐标系的坐标轴的第一夹角的模块;
用于根据所述参考坐标系的坐标轴的角度参考值,以及所述第一夹角,计算所述虚拟角色的转向角度的模块。
9.如权利要求7所述的虚拟角色转向控制系统,其特征在于,所述目的位置检测模块包括:
用于建立相对坐标系的模块,其中,所述相对坐标系的原点与所述虚拟角色的位置坐标重叠,所述相对坐标的坐标轴与所述地图坐标的坐标轴同向平行;
用于获取所述目的位置在所述相对坐标系中的相对坐标,计算所述相对坐标系的原点到所述目的位置的相对坐标的连线与所述相对坐标系的坐标轴的第二夹角的模块;
以及,用于根据参考坐标系的坐标轴的转向角度,以及所述第二夹角,计算所述虚拟角色的位置到所述目的位置的偏转角度的模块。
10.如权利要求7至9任一项所述的虚拟角色转向控制系统,其特征在于,所述目的位置检测模块在转向过程的每帧图像中将所述虚拟角色的偏转角度逐次调整,直到达到所述虚拟角色的位置到所述目的位置的偏转角度,其中,每次增大或减小的角度等于预设的缓动增量角度。
CN201310554148.5A 2013-11-08 2013-11-08 虚拟角色转向控制方法及其系统 Pending CN103823705A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310554148.5A CN103823705A (zh) 2013-11-08 2013-11-08 虚拟角色转向控制方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310554148.5A CN103823705A (zh) 2013-11-08 2013-11-08 虚拟角色转向控制方法及其系统

Publications (1)

Publication Number Publication Date
CN103823705A true CN103823705A (zh) 2014-05-28

Family

ID=50758790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310554148.5A Pending CN103823705A (zh) 2013-11-08 2013-11-08 虚拟角色转向控制方法及其系统

Country Status (1)

Country Link
CN (1) CN103823705A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293070A (zh) * 2016-07-27 2017-01-04 网易(杭州)网络有限公司 虚拟角色视角方向控制方法及装置
CN106527736A (zh) * 2016-12-02 2017-03-22 中国矿业大学(北京) 一种基于虚拟现实设备体验外部伤害导致伤残的方法
CN107247512A (zh) * 2017-05-05 2017-10-13 北京凌宇智控科技有限公司 一种转向控制方法、装置及系统
CN107551542A (zh) * 2017-08-11 2018-01-09 杭州电魂网络科技股份有限公司 一种虚拟角色的控制方法及装置
CN108579079A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 虚拟对象转向控制方法及装置、电子设备、存储介质
CN112148622A (zh) * 2020-10-15 2020-12-29 腾讯科技(深圳)有限公司 虚拟道具的控制方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3183632B2 (ja) * 1997-06-13 2001-07-09 株式会社ナムコ 情報記憶媒体及び画像生成装置
CN101524591A (zh) * 2008-03-07 2009-09-09 株式会社万代南梦宫游戏 游戏装置
CN102770836A (zh) * 2010-02-26 2012-11-07 阿尔卡特朗讯公司 用于在三维虚拟环境中控制对象的运动的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3183632B2 (ja) * 1997-06-13 2001-07-09 株式会社ナムコ 情報記憶媒体及び画像生成装置
CN101524591A (zh) * 2008-03-07 2009-09-09 株式会社万代南梦宫游戏 游戏装置
CN102770836A (zh) * 2010-02-26 2012-11-07 阿尔卡特朗讯公司 用于在三维虚拟环境中控制对象的运动的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾洪亮 等: "《3ds Max三维动画制作简明教程》", 30 September 2009, 航空工业出版社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293070A (zh) * 2016-07-27 2017-01-04 网易(杭州)网络有限公司 虚拟角色视角方向控制方法及装置
CN106527736A (zh) * 2016-12-02 2017-03-22 中国矿业大学(北京) 一种基于虚拟现实设备体验外部伤害导致伤残的方法
CN107247512A (zh) * 2017-05-05 2017-10-13 北京凌宇智控科技有限公司 一种转向控制方法、装置及系统
WO2018201825A1 (zh) * 2017-05-05 2018-11-08 北京凌宇智控科技有限公司 一种转向控制方法、装置及系统
CN107551542A (zh) * 2017-08-11 2018-01-09 杭州电魂网络科技股份有限公司 一种虚拟角色的控制方法及装置
CN108579079A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 虚拟对象转向控制方法及装置、电子设备、存储介质
CN112148622A (zh) * 2020-10-15 2020-12-29 腾讯科技(深圳)有限公司 虚拟道具的控制方法、装置、电子设备及存储介质
CN112148622B (zh) * 2020-10-15 2022-02-25 腾讯科技(深圳)有限公司 虚拟道具的控制方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN103823705A (zh) 虚拟角色转向控制方法及其系统
US10235764B2 (en) Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene
JP6652631B2 (ja) ナビゲーションマップの制御方法、装置及び記憶媒体
GB2580824A (en) Virtual access to a limited-access object
CN102646258B (zh) 图像裁剪方法及系统
CN103486969B (zh) 机器视觉对准方法及其装置
CN111324945B (zh) 传感器方案确定方法、装置、设备及存储介质
CN110502293B (zh) 一种截屏方法及终端设备
CN103886107A (zh) 基于天花板图像信息的机器人定位与地图构建系统
US20160179101A1 (en) Control method and system for adjusting relative position of mobile household device with respect to human
CN102509072B (zh) 基于区域间差异的图像中显著对象的检测方法
US10969946B2 (en) Methods, devices, and systems for controlling movement of a moving object
EP2882180A1 (en) Control method, control apparatus and control device
CN103631419A (zh) 基于遥控触摸板的光标定位方法及系统
CN105573334A (zh) 无人机无头模式的实现方法及其控制系统
CN106802664A (zh) 一种无人机无头模式的飞行控制方法及无人机
CN103529959A (zh) 基于关键点射线碰撞检测的框选方法、系统及电子设备
CN110865560A (zh) 回零运动控制方法、终端设备及计算机可读存储介质
US20150185875A1 (en) Control system and method for controlling user interfaces for electronic device
US20150035749A1 (en) Information processing device, information processing method, and program
CN106095158A (zh) 光标的位移矢量的计算方法、装置及控制光标移动的系统
CN105446496A (zh) 光标控制装置及其光标控制方法
CN105808130A (zh) 界面切换方法及应用界面切换方法的电子装置
US20160305793A1 (en) Map display system, method, and program
CN104699120A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140528