CN104915564B - 实现虚拟角色转弯的方法和装置 - Google Patents
实现虚拟角色转弯的方法和装置 Download PDFInfo
- Publication number
- CN104915564B CN104915564B CN201510334763.4A CN201510334763A CN104915564B CN 104915564 B CN104915564 B CN 104915564B CN 201510334763 A CN201510334763 A CN 201510334763A CN 104915564 B CN104915564 B CN 104915564B
- Authority
- CN
- China
- Prior art keywords
- virtual role
- turn
- time
- turning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012795 verification Methods 0.000 claims description 5
- 230000006855 networking Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 6
- 210000004247 hand Anatomy 0.000 description 6
- 238000005452 bending Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000386 athletic effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6607—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种实现虚拟角色转弯的方法和装置。所述方法包括以下步骤:获取虚拟角色的转弯角度;获取预设的固定转弯时间;根据所述转弯角度及预设的固定转弯时间计算得到所述虚拟角色的平均角速度;以所述平均角速度控制所述虚拟角色进行转弯。上述实现虚拟角色转弯的方法和装置,通过获取虚拟角色的转弯角度,并获取预设的固定转弯时间,计算出平均角速度,以平均角速度控制虚拟角色进行转弯,在转弯过程中进行匀速转弯,可使得转弯平滑,避免了转弯过程出现卡顿现象,提高了画面的流畅度,且在转弯角度较大时,平均角速度大,能迅速而又平滑的转弯,在转弯角度小时,也能实现转弯,转弯更加精确。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种实现虚拟角色转弯的方法和装置。
背景技术
随着计算机技术的迅速发展,计算机技术给人们的生活带来了诸多便利,大大的提升了人们的生活品质。人们在享受便利生活的同时,也需要来点娱乐项目。于是,各种游戏产品应用而生。传统的游戏产品的场景中,玩家操纵虚拟角色通过位移产生转弯弯度时,通常采用固定转弯角度,每产生一点转弯的行动,就会固定去转这个固定的转弯角度,如图1所示,设置了固定转弯角度a,虚拟角色一旦转弯,若转弯角度小于固定转弯角度a,则不会转弯,若转弯角度大于固定转弯角度a,转弯过快,转弯时间明显变小,画面不流畅,出现卡顿现象。
发明内容
基于此,有必要针对传统的虚拟角色转弯画面不流畅,出现卡顿现象的问题,提供一种实现虚拟角色转弯的方法,能实现转弯,且能避免转弯过程中出现卡顿现象,提高画面的流畅度。
此外,还有必要提供一种实现虚拟角色转弯的装置,能实现转弯,且能避免转弯过程中出现卡顿现象,提高画面的流畅度。
一种实现虚拟角色转弯的方法,包括以下步骤:
获取虚拟角色的转弯角度;
获取预设的固定转弯时间;
根据所述转弯角度及预设的固定转弯时间计算得到所述虚拟角色的平均角速度;
以所述平均角速度控制所述虚拟角色进行转弯。
一种实现虚拟角色转弯的装置,包括:
角度获取模块,用于获取虚拟角色的转弯角度;
时间获取模块,用于获取预设的固定转弯时间;
处理模块,用于根据所述转弯角度及预设的固定转弯时间计算得到所述虚拟角色的平均角速度;
执行模块,用于以所述平均角速度控制所述虚拟角色进行转弯。
上述实现虚拟角色转弯的方法和装置,通过获取虚拟角色的转弯角度,并获取预设的固定转弯时间,计算出平均角速度,以平均角速度控制虚拟角色进行转弯,在转弯过程中进行匀速转弯,可使得转弯平滑,避免了转弯过程出现卡顿现象,提高了画面的流畅度,且在转弯角度较大时,平均角速度大,能迅速而又平滑的转弯,在转弯角度小时,也能实现转弯,转弯更加精确。
附图说明
图1为传统的设定固定转弯角度的示意图;
图2A为一个实施例中终端的内部结构示意图;
图2B为一个实施例中服务器的内部结构示意图;
图3为一个实施例中实现虚拟角色转弯的方法的流程图;
图4为一个实施例中获取虚拟角色的转弯角度的流程图;
图5为转弯角度形成示意图;
图6为单机游戏中实现虚拟角色转弯的示意图;
图7为联网游戏中实现虚拟角色转弯的处理时序图;
图8为NPC被控制匀速转弯的效果示意图;
图9为一个实施例中实现虚拟角色转弯的装置的结构框图;
图10为另一个实施例中实现虚拟角色转弯的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图2A为一个实施例中终端的内部结构示意图。如图2A所示,该终端包括通过系统总线连接的处理器、存储介质、内存和网络接口、声音采集装置、显示屏、扬声器和输入装置。其中,终端的存储介质存储有操作系统,还包括一种实现虚拟角色转弯的装置,该实现虚拟角色转弯的装置用于实现一种实现虚拟角色转弯的方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存为存储介质中的实现虚拟角色转弯的装置的运行提供环境,网络接口用于与服务器进行网络通信,如上传虚拟角色的数据至服务器,接收服务器返回的虚拟角色的相关数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理。本领域技术人员可以理解,图2A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2B为一个实施例中服务器的内部结构示意图。如图2B所示,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器的存储介质存储有操作系统、数据库和实现虚拟角色转弯的装置,数据库中存储有游戏场景数据和虚拟角色相关数据,该实现虚拟角色转弯的装置用于实现适用于服务器的一种实现虚拟角色转弯的方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存为存储介质中的实现虚拟角色转弯的装置的运行提供环境。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端上传的虚拟角色的数据以及向终端返回其他虚拟角色的数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中实现虚拟角色转弯的方法的流程图。如图3所示,一种实现虚拟角色转弯的方法,包括以下步骤:
步骤302,获取虚拟角色的转弯角度。
具体地,虚拟角色是指游戏中的虚拟人物。根据不同的职业等,可选择不同的人物。在终端上启动游戏客户端,运行游戏客户端,若单机游戏,则不需注册,只需使用输入的字符作为本次的玩家代号即可;若联网游戏,则通过注册账号登录服务器进行联网与其他用户进行交互操作。
终端可为台式计算机、笔记本电脑、平板电脑、智能手机、个人数字助理等。
转弯角度是指虚拟角色被控制旋转的角度,转弯角度可为0度至360度之间的数值,便于计算。虚拟角色被通过键盘、鼠标或触摸屏等输入设备输入指令发生旋转,旋转超过360度后,将所旋转的角度减去360度的整数倍得到剩余角度,作为转弯角度。
获取的转弯角度如可为30度、40度、280度等。
步骤304,获取预设的固定转弯时间。
具体地,预设的固定转弯时间是指根据需要设定的固定的转弯时间,该转弯时间被设定后,无论转弯角度多大,其所耗费的转弯时间均为该固定转弯时间。固定转弯时间可为0.1秒、0.2秒、1秒等。该预设的固定转弯时间可保存在本地,以配置文件形式保存等。
步骤306,根据该转弯角度及预设的固定转弯时间计算得到该虚拟角色的平均角速度。
具体地,根据转弯角度及预设的固定转弯时间计算得到虚拟角色的平均角速度的步骤包括:将转弯角度除以预设的固定转弯时间得到虚拟角色的平均角速度。计算公式如式(1)。
式(1)中,ω为转弯角度,t为预设的固定转弯时间,υ平均角速度。
例如,转弯角度为280度,预设的固定转弯时间为0.1秒,则平均角速度为280度/0.1秒=2800度/秒。
步骤308,以该平均角速度控制该虚拟角色进行转弯。
具体地,在游戏场景中,以平均角速度匀速控制虚拟角色进行转弯,转弯到终止位置时,停止转弯。
上述实现虚拟角色转弯的方法,通过获取虚拟角色的转弯角度,并获取预设的固定转弯时间,计算出平均角速度,以平均角速度控制虚拟角色进行转弯,在转弯过程中进行匀速转弯,可使得转弯平滑,避免了转弯过程出现卡顿现象,提高了画面的流畅度,且在转弯角度较大时,平均角速度大,能迅速而又平滑的转弯,在转弯角度小时,也能实现转弯,转弯更加精确。
图4为一个实施例中获取虚拟角色的转弯角度的流程图。如图4所示,获取虚拟角色的转弯角度的步骤包括:
步骤402,获取虚拟角色的起始位置、转弯方向及终止位置。
具体地,实时记录虚拟角色的位置,当某一时刻虚拟角色被控制转弯时,获取该时刻虚拟角色所处的位置作为转弯的起始位置。当用户通过输入设备控制虚拟角色旋转到某个位置停止旋转后产生的输入指令,记录停止的位置作为终止位置,并同时记录旋转的方向作为转弯方向。转弯方向可为顺时针或逆时针方向。
步骤404,根据该虚拟角色的起始位置、转弯方向及终止位置得到该虚拟角色的转弯角度。
具体地,将虚拟角色的起始位置、转弯方向及终止位置绘制形成转弯角度,通过角度计算器或计算程序计算得到转弯角度值。
通过获取虚拟角色的起始位置、转弯角度及终止位置计算虚拟角色的转弯角度,计算方便。
图5为转弯角度形成示意图。如图5所示,虚拟角色的起始位置为线条52,虚拟角色按逆时针旋转,转弯方向为逆时针,虚拟角色的终止位置为线条54,起始位置、转弯方向及终止位置形成转弯角度b,通过角度计算器或计算程序计算转弯角度b的值。
在一个实施例中,获取虚拟角色的转弯角度包括:获取通过触摸方式输入或语音输入或手势输入产生的转弯指令;根据该转弯指令获取虚拟角色的转弯角度。
具体地,触摸方式输入产生转弯指令是指触控智能手机等移动终端的触摸屏输入产生对应的转弯指令,例如在触摸屏上顺时针旋转或逆时针旋转。根据触摸方式产生的输入指令可获取虚拟角色的起始位置、转弯角度及终止位置,根据起始位置、转弯角度及终止位置计算转弯角度。
语音输入产生转弯指令是指接收用户的语音信息,识别语音信息得到相应的转弯指令。语音输入首先需要建立语音指令识别库,语音指令识别库中记录语音信息与指令之间的对应关系。识别用户的语音信息后,根据语音信息从语音信息与指令之间的对应关系生成对应的转弯指令。例如语音信息内容为顺时针转90度。
手势输入产生转弯指令是指接收输入的手势,识别手势得到相应的转弯指令。手势输入首先需要建立手势指令识别库,语音识别库中记录语音信息与指令之间的对应关系。识别用户的手势后,根据手势从手势与指令之间的对应关系生成对应的转弯指令。例如手势内容为顺时针60度等。
在一个实施例中,上述实现虚拟角色转弯的方法还包括:记录并存储该虚拟角色每次转弯的时间及对应的终止位置。
具体地,在游戏场景中,虚拟角色可能被控制转弯多次,每次均记录转弯的时间及对应的终止位置,方便后续同步更新。转弯的时间是指开始转弯的时刻。例如,记录的转弯的时间为1时24分30秒,终止位置为游戏场景中地图坐标(x,y)或者经纬度表示等。
在一个实施例中,上述实现虚拟角色转弯的方法还包括:当联网时,定期将本地记录的该虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验,若不相同,则将本地记录的该虚拟角色每次转弯的时间及对应的终止位置上传到服务器,以更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置,若相同,则不需更新。
具体地,终端与服务器连接,终端上的游戏客户端连接到游戏服务器,用户通过账号登录到游戏服务器。本地(即终端)记录了虚拟角色每次转弯的时间及对应的终止位置。定期可将本地的本地记录的该虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验,校验两者数据是否相同,若不同,可将本地记录的虚拟角色每次转弯的时间及对应的终止位置上传到服务器,更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置,并显示虚拟角色处于最后转弯后的终止位置。
此外,还可记录虚拟角色的起始位置及平均角速度。
在终端上显示虚拟角色的最后转弯后的终止位置,进行定期校验的过程,用户通过终端无法感知,服务器将一个终端上的虚拟角色的终止位置信息发送给另一个终端上进行显示时,采用缓冲方式,以保证数据的连贯性,避免出现卡顿现象。
需要说明的是,计算转弯角度的数据不需上传到服务器,在本地进行计算处理,节省网络资源以及减轻服务器的负担。当然也可以由服务器计算转弯角度及平均角速度。
为了更清楚的说明上述实现虚拟角色转弯的方法,下面描述其应用于单机游戏中的处理过程和联网游戏中的处理过程。
图6为单机游戏中实现虚拟角色转弯的示意图。在单机游戏中,用户通过输入玩家名称或玩家编号等进入游戏场景中,在游戏场景中,用户可通过键盘、鼠标或触摸屏等输入设备控制对应的虚拟角色62。实现虚拟角色62转弯的过程包括:检测到用户输入的转弯指令后,根据转弯指令获取虚拟角色的起始位置、转弯方向及终止位置虚拟角色的转弯角度,再根据虚拟角色的起始位置、转弯方向及终止位置形成转弯角度,计算该转弯角度的值,同时从配置文件中获取预设的固定转弯时间,再将转弯角度除以该固定转弯时间得到平均角速度,然后以该平均角速度进行匀速转弯,使得转弯平滑,画面流畅。图6中,虚拟角色62从位置1被控制转弯90°至位置2,即正对着小怪64。其中,小怪是指游戏场景中的一种虚拟生物。
图7为联网游戏中实现虚拟角色转弯的处理时序图。在联网游戏中,各用户通过注册账号登录到游戏服务器,然后以该注册账号所对应的虚拟角色名称进入到游戏场景中,用户可通过键盘、鼠标或触摸屏等输入设备控制对应的虚拟角色。如图7所示,实现虚拟角色转弯的过程包括:
(1)第一终端检测到第一用户输入的转弯指令;
(2)第一终端根据该转弯指令获取与第一用户对应的第一虚拟角色的起始位置、转弯方向及终止位置;
(3)第一终端根据第一虚拟角色的起始位置、转弯方向及终止位置形成虚拟角色的转弯角度,计算该第一虚拟角色的转弯角度的值;
(4)第一终端获取预设的固定转弯时间;
(5)第一终端根据第一虚拟角色的转弯角度的值及固定转弯时间计算得到第一虚拟角色的平均角速度;
(6)第一终端以平均角速度控制第一虚拟角色转弯至对应的终止位置;
(7)第一终端记录并保存第一虚拟角色转弯的时间、起始位置、平均转弯速度及对应的终止位置;
(8)第一终端将第一虚拟角色转弯的时间、起始位置、平均转弯速度及对应的终止位置上传到服务器;
(9)服务器接收到第一虚拟角色的起始位置、平均转弯速度、终止位置,发送给第二终端;
(10)第二终端上展示第一虚拟角色从起始位置转至终止位置。
例如,第一虚拟角色背对着第二虚拟角色,则第一虚拟角色转过180度后,正对着第二虚拟角色。
上述实现虚拟角色转弯的方法可应用于MOBA(Multiplayer Online BattleArena Games,多人在线战术竞技游戏)场景中和手游游戏产品中。手游游戏可包括单机游戏和在线游戏。在MOBA场景或手游游戏中,玩家控制NPC(游戏里面的人物,即虚拟角色)转弯,因预先设置的转弯的时间,获取到转弯的角度,采用转弯的角度除以转弯的时间可得到平均角速度,以平均角速度控制NPC进行转弯,可避免转弯过程中出现卡顿现象,提高转弯画面的流畅度。如图8所示,一种手游游戏中,NPC被控制在t时间内匀速转过对应的角度A。
此外,上述实现虚拟角色转弯的方法也可应用于在个人计算机上通过鼠标操作的游戏场景中,获取鼠标操控虚拟角色的起始位置和转弯后的终止位置获取对应的转弯角度,然后再获取转弯角度与时间的比值得到对应的平均角速度,以平均角速度控制虚拟角色进行匀速转弯,可避免转弯过程中出现卡顿现象,提高转弯画面的流畅度。
图9为一个实施例中实现虚拟角色转弯的装置的结构框图。如图9所示,一种实现虚拟角色转弯的装置,运行于终端上,包括角度获取模块910、时间获取模块920、处理模块930和执行模块940。其中:
角度获取模块910用于获取虚拟角色的转弯角度。
具体地,虚拟角色是指游戏中的虚拟人物。根据不同的职业等,可选择不同的人物。在终端上启动游戏客户端,运行游戏客户端,若单机游戏,则不需注册,只需使用输入的字符作为本次的玩家代号即可;若联网游戏,则通过注册账号登录服务器进行联网与其他用户进行交互操作。
终端可为台式计算机、笔记本电脑、平板电脑、智能手机、个人数字助理等。
转弯角度是指虚拟角色被控制旋转的角度,转弯角度可为0度至360度之间的数值,便于计算。虚拟角色被通过键盘、鼠标或触摸屏等输入设备输入指令发生旋转,旋转超过360度后,将所旋转的角度减去360度的整数倍得到剩余角度,作为转弯角度。
获取的转弯角度如可为30度、40度、280度等。
在一个实施例中,角度获取模块910还用于获取虚拟角色的起始位置、转弯方向及终止位置,以及根据该虚拟角色的起始位置、转弯方向及终止位置得到该虚拟角色的转弯角度。
具体地,实时记录虚拟角色的位置,当某一时刻虚拟角色被控制转弯时,获取该时刻虚拟角色所处的位置作为转弯的起始位置。当用户通过输入设备控制虚拟角色旋转到某个位置停止旋转后产生的输入指令,记录停止的位置作为终止位置,并同时记录旋转的方向作为转弯方向。转弯方向可为顺时针或逆时针方向。将虚拟角色的起始位置、转弯方向及终止位置绘制形成转弯角度,通过角度计算器或计算程序计算得到转弯角度值。通过获取虚拟角色的起始位置、转弯角度及终止位置计算虚拟角色的转弯角度,计算方便。
在一个实施例中,角度获取模块910还用于获取通过触摸方式输入或语音输入或手势输入产生的转弯指令,并根据所述转弯指令获取虚拟角色的转弯角度。
具体地,触摸方式输入产生转弯指令是指触控触摸屏输入产生对应的转弯指令,例如在触摸屏上顺时针旋转或逆时针旋转。根据触摸方式产生的输入指令可获取虚拟角色的起始位置、转弯角度及终止位置,根据起始位置、转弯角度及终止位置计算转弯角度。
语音输入产生转弯指令是指接收用户的语音信息,识别语音信息得到相应的转弯指令。语音输入首先需要建立语音指令识别库,语音指令识别库中记录语音信息与指令之间的对应关系。识别用户的语音信息后,根据语音信息从语音信息与指令之间的对应关系生成对应的转弯指令。例如语音信息内容为顺时针转90度。
手势输入产生转弯指令是指接收输入的手势,识别手势得到相应的转弯指令。手势输入首先需要建立手势指令识别库,语音识别库中记录语音信息与指令之间的对应关系。识别用户的手势后,根据手势从手势与指令之间的对应关系生成对应的转弯指令。例如手势内容为顺时针60度等。
时间获取模块920用于获取预设的固定转弯时间。
具体地,预设的固定转弯时间是指根据需要设定的固定的转弯时间,该转弯时间被设定后,无论转弯角度多大,其所耗费的转弯时间均为该固定转弯时间。固定转弯时间可为0.1秒、0.2秒、1秒等。该预设的固定转弯时间可保存在本地,以配置文件形式保存等。
处理模块930用于根据该转弯角度及预设的固定转弯时间计算得到该虚拟角色的平均角速度。
具体地,根据转弯角度及预设的固定转弯时间计算得到虚拟角色的平均角速度的步骤包括:将转弯角度除以预设的固定转弯时间得到虚拟角色的平均角速度。计算公式如式(1)。
式(1)中,ω为转弯角度,t为预设的固定转弯时间,υ平均角速度。
例如,转弯角度为280度,预设的固定转弯时间为0.1秒,则平均角速度为280度/0.1秒=2800度/秒。
执行模块840用于以该平均角速度控制该虚拟角色进行转弯。
具体地,在游戏场景中,以平均角速度匀速控制虚拟角色进行转弯,转弯到终止位置时,停止转弯。
上述实现虚拟角色转弯的装置,通过获取虚拟角色的转弯角度,并获取预设的固定转弯时间,计算出平均角速度,以平均角速度控制虚拟角色进行转弯,在转弯过程中进行匀速转弯,可使得转弯平滑,避免了转弯过程出现卡顿现象,提高了画面的流畅度,且在转弯角度较大时,平均角速度大,能迅速而又平滑的转弯,在转弯角度小时,也能实现转弯,转弯更加精确。
图10为另一个实施例中实现虚拟角色转弯的装置的结构框图。如图10所示,一种实现虚拟角色转弯的装置,运行于终端上,除了包括角度获取模块910、时间获取模块920、处理模块930和执行模块940,还包括记录存储模块950、校验模块960和上传模块970。其中:
记录存储模块950用于记录并存储该虚拟角色每次转弯的时间及对应的终止位置。
具体地,在游戏场景中,虚拟角色可能被控制转弯多次,每次均记录转弯的时间及对应的终止位置,方便后续同步更新。转弯的时间是指开始转弯的时刻。例如,记录的转弯的时间为1时24分30秒,终止位置为游戏场景中地图坐标(x,y)或者经纬度表示等。此外,还可记录虚拟角色的起始位置及平均角速度。
校验模块960用于当联网时,定期将本地记录的该虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验。
上传模块970用于当本地记录的该虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置不相同时,则将本地记录的该虚拟角色每次转弯的时间及对应的终止位置上传到服务器,以更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置。
具体地,定期可将本地的本地记录的该虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验,校验两者数据是否相同,若不同,可将本地记录的虚拟角色每次转弯的时间及对应的终止位置上传到服务器,更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置,并显示虚拟角色处于最后转弯后的终止位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种实现虚拟角色转弯的方法,包括以下步骤:
获取虚拟角色的转弯角度,所述虚拟角色是指游戏中的虚拟人物;
获取预设的固定转弯时间;
根据所述转弯角度及预设的固定转弯时间计算得到所述虚拟角色的平均角速度;
以所述平均角速度控制所述虚拟角色进行转弯;
所述获取虚拟角色的转弯角度的步骤包括:
获取虚拟角色的起始位置、转弯方向及终止位置;
根据所述虚拟角色的起始位置、转弯方向及终止位置得到所述虚拟角色的转弯角度。
2.根据权利要求1所述的方法,其特征在于,所述获取虚拟角色的转弯角度的步骤包括:
获取通过触摸方式输入或语音输入或手势输入产生的转弯指令;
根据所述转弯指令获取虚拟角色的转弯角度。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录并存储所述虚拟角色每次转弯的时间及对应的终止位置。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当联网时,定期将本地记录的所述虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验,若不相同,则将本地记录的所述虚拟角色每次转弯的时间及对应的终止位置上传到服务器,以更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置。
5.一种实现虚拟角色转弯的装置,其特征在于,包括:
角度获取模块,用于获取虚拟角色的转弯角度,所述虚拟角色是指游戏中的虚拟人物;
时间获取模块,用于获取预设的固定转弯时间;
处理模块,用于根据所述转弯角度及预设的固定转弯时间计算得到所述虚拟角色的平均角速度;
执行模块,用于以所述平均角速度控制所述虚拟角色进行转弯;
所述角度获取模块还用于获取虚拟角色的起始位置、转弯方向及终止位置,以及根据所述虚拟角色的起始位置、转弯方向及终止位置得到所述虚拟角色的转弯角度。
6.根据权利要求5所述的装置,其特征在于,所述角度获取模块还用于获取通过触摸方式输入或语音输入或手势输入产生的转弯指令,并根据所述转弯指令获取虚拟角色的转弯角度。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
记录存储模块,用于记录并存储所述虚拟角色每次转弯的时间及对应的终止位置。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
校验模块,用于当联网时,定期将本地记录的所述虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置进行校验;
上传模块,用于当本地记录的所述虚拟角色每次转弯的时间及对应的终止位置与服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置不相同时,则将本地记录的所述虚拟角色每次转弯的时间及对应的终止位置上传到服务器,以更新服务器上记录的虚拟角色的每次转弯的时间及对应的终止位置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510334763.4A CN104915564B (zh) | 2015-06-16 | 2015-06-16 | 实现虚拟角色转弯的方法和装置 |
JP2017544610A JP6470845B2 (ja) | 2015-06-16 | 2016-02-01 | 仮想キャラクタターンを実施するための方法および端末 |
CA2975004A CA2975004C (en) | 2015-06-16 | 2016-02-01 | Method and terminal for implementing virtual character turning |
PCT/CN2016/073060 WO2016201993A1 (zh) | 2015-06-16 | 2016-02-01 | 实现虚拟角色转弯的方法和终端 |
KR1020177022693A KR101954010B1 (ko) | 2015-06-16 | 2016-02-01 | 가상 캐릭터의 터닝을 구현하기 위한 방법 및 단말기 |
EP16810734.0A EP3312747B1 (en) | 2015-06-16 | 2016-02-01 | Method and terminal for implementing virtual character turning |
US15/657,922 US10204399B2 (en) | 2015-06-16 | 2017-07-24 | Method and terminal for implementing turning of virtual character |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510334763.4A CN104915564B (zh) | 2015-06-16 | 2015-06-16 | 实现虚拟角色转弯的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915564A CN104915564A (zh) | 2015-09-16 |
CN104915564B true CN104915564B (zh) | 2017-03-22 |
Family
ID=54084625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510334763.4A Active CN104915564B (zh) | 2015-06-16 | 2015-06-16 | 实现虚拟角色转弯的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10204399B2 (zh) |
EP (1) | EP3312747B1 (zh) |
JP (1) | JP6470845B2 (zh) |
KR (1) | KR101954010B1 (zh) |
CN (1) | CN104915564B (zh) |
CA (1) | CA2975004C (zh) |
WO (1) | WO2016201993A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915564B (zh) * | 2015-06-16 | 2017-03-22 | 深圳市腾讯计算机系统有限公司 | 实现虚拟角色转弯的方法和装置 |
CN108579079B (zh) * | 2018-04-27 | 2022-02-18 | 网易(杭州)网络有限公司 | 虚拟对象转向控制方法及装置、电子设备、存储介质 |
CN108837508B (zh) * | 2018-06-21 | 2022-04-29 | 网易(杭州)网络有限公司 | 游戏中控制载具的方法和装置 |
CN109091865A (zh) * | 2018-08-02 | 2018-12-28 | 苏州蜗牛数字科技股份有限公司 | 虚拟角色转向同步方法、存储设备及游戏终端 |
CN110170167B (zh) * | 2019-05-28 | 2023-02-28 | 上海米哈游网络科技股份有限公司 | 一种画面显示方法、装置、设备及介质 |
JP7434601B2 (ja) * | 2021-05-14 | 2024-02-20 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | ウィジェットの表示方法、装置、機器及びコンピュータプログラム |
CN115273515B (zh) * | 2022-06-23 | 2024-05-07 | 智道网联科技(北京)有限公司 | 车辆转弯处导航画面显示方法、设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118248A (zh) * | 2006-07-31 | 2008-02-06 | 阿尔派株式会社 | 角速度计算装置 |
CN101751688A (zh) * | 2008-11-28 | 2010-06-23 | 康佳集团股份有限公司 | 一种机顶盒菜单的实现方法及系统 |
CN103760981A (zh) * | 2014-01-21 | 2014-04-30 | 北京师范大学 | 一种磁场可视化及交互方法 |
CN103914067A (zh) * | 2013-01-05 | 2014-07-09 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100374175C (zh) * | 1997-11-25 | 2008-03-12 | 世嘉股份有限公司 | 图象生成装置及方法 |
JP3568861B2 (ja) * | 2000-01-27 | 2004-09-22 | 株式会社スクウェア・エニックス | ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3780512B2 (ja) * | 2002-07-30 | 2006-05-31 | 株式会社光栄 | プログラム、記録媒体及びゲーム装置 |
KR100481140B1 (ko) * | 2004-05-06 | 2005-04-07 | 엔에이치엔(주) | 메신저 서버와 연동하여 게임 캐릭터의 위치 정보를제공하는 온라인 게임 방법 및 온라인 게임 시스템 |
JP4388878B2 (ja) * | 2004-10-19 | 2009-12-24 | 任天堂株式会社 | 入力処理プログラムおよび入力処理装置 |
JP2009093437A (ja) * | 2007-10-09 | 2009-04-30 | Sega Corp | 画像表示プログラムおよび画像表示装置 |
JP5745204B2 (ja) * | 2008-07-28 | 2015-07-08 | 株式会社バンダイナムコエンターテインメント | プログラム、情報記憶媒体及びゲーム機 |
JP5587800B2 (ja) * | 2011-01-12 | 2014-09-10 | 株式会社スクウェア・エニックス | ネットワークゲームシステム、ゲーム装置、サーバ装置、及びプログラム |
EP2497547B1 (en) * | 2011-03-08 | 2018-06-27 | Nintendo Co., Ltd. | Information processing program, information processing apparatus, information processing system, and information processing method |
US9230368B2 (en) * | 2013-05-23 | 2016-01-05 | Microsoft Technology Licensing, Llc | Hologram anchoring and dynamic positioning |
CN104915564B (zh) * | 2015-06-16 | 2017-03-22 | 深圳市腾讯计算机系统有限公司 | 实现虚拟角色转弯的方法和装置 |
-
2015
- 2015-06-16 CN CN201510334763.4A patent/CN104915564B/zh active Active
-
2016
- 2016-02-01 WO PCT/CN2016/073060 patent/WO2016201993A1/zh active Application Filing
- 2016-02-01 KR KR1020177022693A patent/KR101954010B1/ko active IP Right Grant
- 2016-02-01 CA CA2975004A patent/CA2975004C/en active Active
- 2016-02-01 EP EP16810734.0A patent/EP3312747B1/en active Active
- 2016-02-01 JP JP2017544610A patent/JP6470845B2/ja active Active
-
2017
- 2017-07-24 US US15/657,922 patent/US10204399B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118248A (zh) * | 2006-07-31 | 2008-02-06 | 阿尔派株式会社 | 角速度计算装置 |
CN101751688A (zh) * | 2008-11-28 | 2010-06-23 | 康佳集团股份有限公司 | 一种机顶盒菜单的实现方法及系统 |
CN103914067A (zh) * | 2013-01-05 | 2014-07-09 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN103760981A (zh) * | 2014-01-21 | 2014-04-30 | 北京师范大学 | 一种磁场可视化及交互方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101954010B1 (ko) | 2019-03-04 |
EP3312747A4 (en) | 2018-04-25 |
WO2016201993A1 (zh) | 2016-12-22 |
US10204399B2 (en) | 2019-02-12 |
JP2018512899A (ja) | 2018-05-24 |
EP3312747B1 (en) | 2019-09-25 |
US20170323428A1 (en) | 2017-11-09 |
CN104915564A (zh) | 2015-09-16 |
KR20170105069A (ko) | 2017-09-18 |
JP6470845B2 (ja) | 2019-02-13 |
CA2975004A1 (en) | 2016-12-22 |
EP3312747A1 (en) | 2018-04-25 |
CA2975004C (en) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915564B (zh) | 实现虚拟角色转弯的方法和装置 | |
CN110278388A (zh) | 展示视频的生成方法、装置、设备及存储介质 | |
CN109091861B (zh) | 游戏中的交互控制方法、电子设备及存储介质 | |
US9697562B2 (en) | Resource provisioning for electronic books | |
CN110898429B (zh) | 一种游戏剧情展现方法、装置、电子设备及存储介质 | |
CN106909448A (zh) | 用于执行应用的方法、系统和客户端设备 | |
CN107441707A (zh) | 用户角色的自动攻击控制方法 | |
US11465044B2 (en) | Method and system for providing game based on video call and object recognition | |
US20230290043A1 (en) | Picture generation method and apparatus, device, and medium | |
WO2021159825A1 (zh) | 直播互动方法及系统 | |
CN108419137A (zh) | 数据处理方法和数据处理装置 | |
CN114007098B (zh) | 一种用于智能课堂中3d全息视频的生成方法和装置 | |
KR20180043866A (ko) | 웨어러블 디바이스와의 연동을 통한 컨텐츠 소비 방법 및 시스템 | |
US20150141154A1 (en) | Interactive Experimentation | |
CN111744197B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US10102395B2 (en) | System and method for creating and transitioning to multiple facets of a social media object in a social network | |
CN103635965B (zh) | 信息处理装置以及信息处理装置的控制方法 | |
CN114028814A (zh) | 虚拟建筑升级方法及装置、计算机存储介质、电子设备 | |
KR20140019136A (ko) | 네트워크를 경유한 지식컨텐츠의 제공방법 | |
CN115155057B (zh) | 界面显示方法及装置、存储介质、电子设备 | |
CN115243097B (zh) | 一种录制方法及装置和电子设备 | |
US20210250312A1 (en) | Method, system, and non-transitory computer-readable record medium for providing fiction in messenger | |
CN114449355B (zh) | 一种直播互动的方法、装置、设备及存储介质 | |
Tregel et al. | StreetConqAR: Augmented Reality Anchoring in Pervasive Games | |
CN116681807A (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 |