CN113209618B - 虚拟角色的控制方法、装置、设备及介质 - Google Patents
虚拟角色的控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113209618B CN113209618B CN202110610049.9A CN202110610049A CN113209618B CN 113209618 B CN113209618 B CN 113209618B CN 202110610049 A CN202110610049 A CN 202110610049A CN 113209618 B CN113209618 B CN 113209618B
- Authority
- CN
- China
- Prior art keywords
- virtual character
- movement
- animation
- transition
- state
- 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
Images
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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5252—Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
-
- 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/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟角色的控制方法、装置、设备及介质,运用于虚拟世界领域。方法包括:显示位于虚拟环境中的第一虚拟角色;接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;响应于所述移动控制操作,在过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一移动距离是所述第一虚拟角色在所述移动状态变化的第一过渡阶段中的移动距离;播放所述第一移动距离对应的所述第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。该方法可以在服务器计算压力较小的前提下,使虚拟角色的移动状态的变化表现得自然。
Description
技术领域
本申请涉及虚拟世界领域,特别涉及一种虚拟角色的控制方法、装置、设备及介质。
背景技术
虚拟角色会在三维虚拟世界中进行一系列活动,例如,虚拟角色在虚拟环境中从静止开始移动,或者,虚拟角色在虚拟环境中从移动开始停止。
相关技术会先为虚拟角色创建两个动画,一个是虚拟角色的静止动画,另一个是虚拟角色的移动动画。当用户控制一个静止的虚拟角色开始移动时,会通过程序融合的方式,将静止动画过渡到移动动画,使得虚拟角色表现出从静止到移动的过程。
但是相关技术会使得虚拟角色的移动显得不自然。
发明内容
本申请实施例提供了一种虚拟角色的控制方法、装置、设备及介质,该方法会在虚拟环境中显示虚拟角色的移动状态变化的过程,动画表现较为流畅。所述技术方案如下。
根据本申请的一个方面,提供了一种虚拟角色的移动方法,该方法包括:
显示位于虚拟环境中的第一虚拟角色;
接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;
响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一移动距离是所述第一虚拟角色在所述移动状态变化的第一过渡阶段中的第一移动距离;
播放所述第一移动距离对应的所述第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。
根据本申请的另一个方面,提供了一种虚拟角色的移动装置,该装置包括:
显示模块,用于显示位于虚拟环境中的第一虚拟角色;
接收模块,用于接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;
控制模块,用于响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一移动距离是所述第一虚拟角色在所述移动状态变化的第一过渡阶段中的第一移动距离;
所述显示模块,还用于播放所述第一移动距离对应的所述第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。
在本申请一个可选设计中,所述控制模块,还用于响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点;计算所述第一虚拟角色的当前位置与所述参考位置点之间的所述第一移动距离;在所述第一过渡动画中确定与所述第一移动距离对应的所述第一过渡动画帧。
在本申请一个可选设计中,所述控制模块,还用于根据所述第一移动距离从第一过渡动画曲线中确定目标时间戳,所述第一过渡动画曲线用于表示在所述第一过渡动画中的移动距离与时间戳之间的关系;在所述第一过渡动画中确定与所述目标时间戳对应的所述第一过渡动画帧。
在本申请一个可选设计中,所述控制模块,还用于响应于所述移动控制操作,在所述第一虚拟角色从所述站立状态变为所述行进状态的第一过渡阶段,将所述第一虚拟角色的起始位置点确定为所述参考位置点。
在本申请一个可选设计中,所述控制模块,还用于响应于所述移动控制操作,在所述第一虚拟角色从所述行进状态变为所述站立状态的第一过渡阶段,根据所述第一虚拟角色的行进参数计算预测停止点,所述行进参数包括速度大小、速度方向、摩擦力、空气阻力、加速度中的至少一种;将所述预测停止点确定为所述参考位置点。
在本申请一个可选设计中,所述接收模块,还用于接收到服务器发送的移动状态变化指令,所述移动状态变化指令用于控制所述第二虚拟角色在所述虚拟环境进行所述移动状态的变化;
所述控制模块,还用于响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,所述第二移动距离是所述第二虚拟角色在所述移动状态变化的第二过渡阶段中的移动距离;
所述显示模块,还用于播放所述第二移动距离对应的所述第二过渡动画帧,得到所述第二虚拟角色在所述第二过渡阶段中的移动动画。
在本申请一个可选设计中,所述控制模块,还用于响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与起始位置点之间的第二移动距离;在所述第二过渡动画的第二过渡动画曲线中确定与所述第二移动距离对应的第二过渡动画帧,所述第二过渡动画曲线用于表示在所述第二过渡动画中的移动距离与时间戳之间的关系。
在本申请一个可选设计中,所述控制模块,还用于响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与所述第二虚拟角色的预测停止点之间的所述第二移动距离;在所述第二过渡动画的所述第二过渡动画曲线中确定与所述第二移动距离对应的所述第二过渡动画帧。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟角色的控制方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的虚拟角色的控制方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的虚拟角色的控制方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,使得第一虚拟角色的动画和位移进行匹配,不会出现“滑步”现象,会更加自然和流畅,增强真实感。且,在服务器与客户端进行数据交互时,只需要发送数据量较少的指令和位置点的信息即可,可以降低客户端与服务器之间的数据交互量。而且,将虚拟角色的角色模型运算放到客户端上执行,而不是在服务器上执行,可以减轻服务器的计算压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机***的结构示意图;
图2是本申请一个示例性实施例提供的虚拟角色的控制方法的流程示意图;
图3是本申请一个示例性实施例提供的虚拟角色的控制方法的界面示意图;
图4是本申请一个示例性实施例提供的摄像机模型的示意图;
图5是本申请一个示例性实施例提供的第一过渡动画帧的示意图;
图6是本申请一个示例性实施例提供的第一过渡动画帧的示意图;
图7是本申请一个示例性实施例提供的虚拟角色的控制方法的流程示意图;
图8是本申请一个示例性实施例提供的过渡动画曲线的示意图;
图9是本申请一个示例性实施例提供的过渡动画曲线的示意图;
图10是本申请一个示例性实施例提供的虚拟角色的控制方法的流程示意图;
图11是本申请一个示例性实施例提供的虚拟角色的控制方法的流程示意图;
图12是本申请一个示例性实施例提供的虚拟角色的控制方法的流程示意图;
图13是本申请一个示例性实施例提供的虚拟角色的控制装置的示意图;
图14是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
动画匹配位移:虚拟角色的三维模型的动画和位移必须完全匹配才不会有“滑步”现象,由于虚拟角色的移动是由虚拟角色的双脚交替迈开而实现的,但是当虚拟角色的脚步动画和虚拟角色的实际位移不完全匹配时,虚拟角色的脚会出现横向移动;或是虚拟角色的移动速度明显大于虚拟角色脚的移动速度,为实现虚拟角色的三维模型的动画和位移完全匹配通常会采用动画中的模型数据驱动虚拟角色的真实位移。
动画帧:指动画播放过程中的一帧图像。动画帧是一幅静止的图像。这里的图像包括二维图像、2.5维图像和三维图像中的至少一种。
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真世界,也可以是半仿真半虚构的三维世界,还可以是纯虚构的三维世界。虚拟环境可以是二维虚拟世界、2.5维虚拟世界和三维虚拟世界中的任意一种。可选地,该虚拟环境还用于至少两个虚拟角色之间的对战,在该虚拟环境中具有可供至少两个虚拟角色使用的虚拟资源。可选地,该虚拟环境包括对称的左下角区域和右上角区域,属于两个敌对阵营的虚拟角色分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标。
虚拟角色:是指在虚拟世界中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。可选地,当虚拟世界为三维虚拟世界时,虚拟角色可以是三维立体模型,每个虚拟角色在三维虚拟世界中具有自身的形状和体积,占据三维虚拟世界中的一部分空间。可选地,虚拟角色是基于三维人体骨骼技术构建的三维角色,该虚拟角色通过穿戴不同的皮肤来实现不同的外在形象。在一些实现方式中,虚拟角色也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
用户界面(UserInterface,UI)控件:是指在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些UI控件响应用户的操作。
请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:第一终端110、服务器120和第二终端130。
第一终端110有支持虚拟环境的应用程序111,该应用程序111可以是多人在线对战程序。当第一终端运行应用程序111时,第一终端110的屏幕上显示应用程序111的用户界面。该应用程序111可以是第一人称射击游戏、MOBA(Multiplayer Online Battle Arena,多人在线战术竞技游戏)游戏、射击游戏、模拟游戏(Simulation Game,SLG)的任意一种。在本实施例中,以该应用程序111是MOBA游戏来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟环境中的第一虚拟角色进行活动,第一虚拟角色可以称为第一用户112的主控虚拟角色。第一虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、射击、攻击、释放技能中的至少一种。示意性的,第一虚拟角色是第一虚拟人物,比如仿真人物或动漫人物。
第二终端130有支持虚拟环境的应用程序131,该应用程序131可以是多人在线对战程序。当第二终端130运行应用程序131时,第二终端130的屏幕上显示应用程序131的用户界面。该客户端可以是第一人称射击游戏、MOBA游戏、射击游戏、SLG游戏中的任意一种,在本实施例中,以该应用程序131是MOBA游戏来举例说明。第二终端130是第二用户132使用的终端,第二用户132使用第二终端130控制位于虚拟环境中的第二虚拟角色进行活动,第二虚拟角色可以称为第二用户132的主控虚拟角色。示意性的,第二虚拟角色是第二虚拟人物,比如仿真人物或动漫人物。
可选地,第一虚拟角色和第二虚拟角色处于同一虚拟世界中。可选地,第一虚拟角色和第二虚拟角色可以属于同一个阵营、同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选的,第一虚拟角色和第二虚拟角色可以属于不同的阵营、不同的队伍、不同的组织或具有敌对关系。
可选地,第一终端110和第二终端130上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作***平台(安卓或IOS)上的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、数码播放器、膝上型便携计算机和台式计算机中的至少一种。
图1中仅示出了两个终端,但在不同实施例中存在多个其它终端可以接入服务器120。可选地,还存在一个或多个终端是开发者对应的终端,在该终端上安装有支持虚拟环境的应用程序的开发和编辑平台,开发者可在该终端上对应用程序进行编辑和更新,并将更新后的应用程序安装包通过有线或无线网络传输至服务器120,第一终端110和第二终端130可从服务器120下载应用程序安装包实现对应用程序的更新。
第一终端110、第二终端130以及其它终端通过无线网络或有线网络与服务器120相连。
服务器120包括一台服务器、多台服务器组成的服务器集群、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器120包括存储器121、处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(Input/Output Interface,I/O接口)125。其中,处理器122用于加载服务器120中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110、第二终端130以及其它终端所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的等级,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1V1对战、3V3对战、5V5对战等;面向用户的I/O接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。
图2示出了本申请一个示例性实施例提供的虚拟角色的控制方法的流程图。该方法可由图1所示的第一终端110或第二终端130或第一终端110上的客户端或第二终端130上的客户端执行,该方法包括:
步骤202:显示位于虚拟环境中的第一虚拟角色。
第一虚拟角色是本地客户端上主控的角色。第一虚拟角色包括但不限于虚拟人物、虚拟动物、动漫人物中的至少一种。
虚拟环境是三维虚拟环境。可选地,虚拟环境是二维虚拟环境,或者,虚拟环境是2.5维虚拟环境。
可选地,在客户端的用户界面上还会显示移动控件、设置控件、对话框、音量调节控件、跳跃控件、蹲下控件、准心、视角切换控件、录音控件、麦克风图标中的至少一种。移动控件用于控制虚拟角色在虚拟世界中的移动。设置控件用于设置客户端上的基本参数,基本参数包括但不限于音量、亮度、对比度、画面清晰度、灰度、帧数中的至少一种。对话框是显示用户对话的区域。音量调节控件用于调节客户端的音量大小。跳跃控件用于控制虚拟角色进行跳跃。蹲下控件用于控制虚拟角色蹲下。准心用于辅助用户瞄准虚拟环境中的虚拟对象。视角切换控件用于切换用户观察虚拟世界的视角,例如,从第一人称视角切换为第三人称视角,或者,从第三人称视角切换为第一人称视角。录音控件用于录制用户的语音。麦克风图标用于表示麦克风是否处于开启状态。
示例性的,如图3所示,在用户界面上显示其他虚拟角色301、移动控件302、设置控件303、音量调节控件304、跳跃控件305、蹲下控件306、麦克风图标307。
可选地,用户界面是在虚拟环境中通过摄像机模型对第一虚拟角色进行观察时的画面。
可选地,摄像机模型在虚拟环境中对虚拟角色进行自动跟随,即,当虚拟角色在虚拟环境中的位置发生改变时,摄像机模型跟随虚拟角色在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于虚拟角色的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟角色的相对位置不发生变化。
摄像机模型是指在虚拟环境中位于虚拟角色周围的三维模型,当采用第一人称视角时,该摄像机模型位于虚拟角色的头部附近或者位于虚拟角色的头部;当采用第三人称视角时,该摄像机模型可以位于虚拟角色的后方并与虚拟角色进行绑定,也可以位于与虚拟角色相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟环境中的虚拟角色进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于虚拟角色(比如虚拟人物的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于虚拟角色头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟环境的视角。可选地,该摄像机模型在虚拟环境中不会进行实际显示,即,在用户界面显示的虚拟环境中不显示该摄像机模型。
对该摄像机模型位于与虚拟角色相距预设距离的任意位置为例进行说明,可选地,一个虚拟角色对应一个摄像机模型,该摄像机模型可以以虚拟角色为旋转中心进行旋转,如:以虚拟角色的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,虚拟角色的任意一点可以是虚拟角色的头部、躯干、或者虚拟角色周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对虚拟角色进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。
可选地,该摄像机模型还可以在虚拟角色的不同方向以预设的角度对虚拟角色进行观察。
示意性的,请参考图4,在虚拟角色41中确定一点作为旋转中心42,摄像机模型围绕该旋转中心42进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟角色后上方的位置(比如脑部的后方位置)。示意性的,如图4所示,该初始位置为位置43,当摄像机模型旋转至位置44或者位置45时,摄像机模型的视角方向随摄像机模型的转动而进行改变。
步骤204:接收移动控制操作,移动控制操作用于控制第一虚拟角色在虚拟环境进行移动状态的变化,移动状态包括站立状态和行进状态。
移动控制操作是通过按压一个或多个预设的物理按键来控制第一虚拟角色在虚拟环境进行移动状态的变化。或者,用户也可以通过在触摸屏上进行松开、长按、点击、双击和/或滑动所产生的信号执行移动控制操作。
可选地,当终端是VR(Virtual Reality,虚拟现实)设备时,移动控制操作是用户在现实环境中的行为动作。例如,用户在现实环境中向前走了一步,则虚拟环境中的虚拟角色也相应地向前走一步。
可选地,移动状态还包括跳跃状态、转向状态、起飞状态、降落状态、下降状态、上升状态中的至少一种。示例性的,移动控制操作用于控制第一虚拟角色在虚拟环境中从站立状态变为跳跃状态。
站立状态指虚拟角色静止在虚拟环境中,行进状态指虚拟角色以固定的速率匀速行进。示例性的,行进状态指虚拟角色以3m/s的速度在虚拟环境中行进。
步骤206:响应于移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,第一移动距离是第一虚拟角色在移动状态变化的第一过渡阶段中的移动距离。
第一过渡阶段指第一虚拟角色切换移动状态的过程。例如,在本实施例中,第一过渡阶段指第一虚拟角色从站立状态变为行进状态的过程,或者,第一过渡阶段指第一虚拟角色从行进状态变为站立状态的过程。
示例性的,当第一虚拟角色在虚拟环境中的速度为0时,认为第一虚拟角色处于站立状态,将接收到移动控制操作的时刻认为是第一过渡阶段的开始时刻;当第一虚拟角色从站立状态加速到预设速度,使第一虚拟角色保持预设速度匀速运动时,将第一虚拟角色达到预设速度的时刻认为是第一过渡阶段的结束时刻,或者,当第一虚拟角色达到预设速度且第一虚拟角色以预设速度匀速运动完预设距离后,将前述第一虚拟角色以预设速度匀速运动完预设距离的时刻认为是第一过渡阶段的结束时刻。
第一过渡动画是使用第一虚拟角色的骨骼模型驱动第一虚拟角色的三维模型得到的动画。第一过渡动画属于三维动画的一种。
可选地,第一过渡动画是第一虚拟角色在移动状态变化的过渡阶段中显示的动画。示例性的,当第一虚拟角色从站立状态变为行进状态时,会显示第一过渡动画。可选地,移动状态包括站立状态、行进状态、跳跃状态、转向状态、起飞状态、降落状态、下降状态、上升状态中的至少一种。
可选地,第一过渡动画与移动状态变化的类型相关。示例性的,当第一虚拟角色从站立状态变为行进状态时,显示过渡动画1。当第一虚拟角色从行进状态变为站立状态时,显示过渡动画2。
可选地,第一过渡动画是由技术人员自行设计得到的。
可选地,第一过渡动画是通过动作捕捉技术捕捉真人动作得到的。
可选地,第一过渡动画包括从不同视角观察得到的动画。示例性的,从第一虚拟角色的正面视角观察第一虚拟角色得到第一过渡动画,或者,从第一虚拟角色的背面视角观察第一虚拟角色得到第一过渡动画。
可选地,第一过渡动画的视角是根据本地客户端的视角确定的。
过渡动画会在两段不同的动画之间起到过渡作用。在本实施例中,虚拟角色的每一种移动状态都会有对应的动画,例如,虚拟角色在站立时会显示站立动画,虚拟角色在行进时会显示行进动画。当将两段不同动画直接连接在一起时,两段动画的连接处会显得不自然,例如,将虚拟角色的站立动画和行进动画直接连接到一起,在播放站立动画完毕后,开始播放行进动画时,虚拟角色的行动会显得不自然,虚拟角色可能出现抖动、拉扯等问题,所以通过添加过渡动画来使两段动画的连接处显得自然。
第一过渡动画帧是第一过渡动画中与第一移动距离相对应的一帧图像。
可选地,第一过渡动画帧是二维图像、2.5维图像、三维图像中的至少一种。
步骤208:播放第一移动距离对应的第一过渡动画帧,得到第一虚拟角色在第一过渡阶段中的移动动画。
播放第一过渡动画帧的过程中,由于第一过渡动画帧是根据第一虚拟角色的第一移动距离确定的,所以在播放移动动画时,整个播放过程是流畅且连贯的。
示例性的,如图5所示,在第一虚拟角色500从站立状态变为行进状态的过程中,过渡动画帧501显示第一虚拟角色500处于站立状态,当第一虚拟角色500开始行进,并且已经行进一段距离后,显示过渡动画帧502,第一虚拟角色500的身体姿态已经发生改变。当虚拟角色再行进一段距离后显示过渡动画帧503,第一虚拟角色500的身体姿态再度发生改变。当第一虚拟角色500进入行进状态后,显示过渡动画帧504,在过渡动画帧504中,第一虚拟角色500的姿态表示第一虚拟角色500正在行进(图5仅示出了第一虚拟角色500从站立状态变为行进状态的过程中具有代表性的几帧过渡图像帧,在实际实现过程中,过渡图像帧的数量依据实际需要进行调整)。
可选地,第一过渡动画的最后m帧的动画帧是与移动状态变化后的移动状态对应的,m为正整数。示例性的,当第一过渡动画共有50帧且第一过渡动画是从站立状态变为行进状态时,第一过渡动画的最后5帧的动画帧表现为第一虚拟角色的行进状态。
可选地,第一过渡动画的最初n帧的动画帧是与移动状态变化前的移动状态对应的,n为正整数。示例性的,当第一过渡动画共有50帧且第一过渡动画是从站立状态变为行进状态时,第一过渡动画的最初5帧的动画帧表现为第一虚拟角色的站立状态。
示例性的,如图6所示,在第一虚拟角色600从行进状态变为站立状态的过程中,过渡动画帧601显示第一虚拟角色600处于行进状态,当第一虚拟角色600开始停止,并且已经经过一段距离后,显示过渡动画帧602,第一虚拟角色600的身体姿态已经发生改变。当虚拟角色再行进一段距离后显示过渡动画帧603,第一虚拟角色600的身体姿态再度发生改变。当第一虚拟角色600进入站立状态后,显示过渡动画帧604,在过渡动画帧604中,第一虚拟角色600的姿态表示第一虚拟角色600处于站立状态(图6仅示出了第一虚拟角色600从行进状态变为站立状态的过程中具有代表性的几帧过渡图像帧,在实际实现过程中,过渡图像帧的数量依据实际需要进行调整)。
综上所述,本实施例在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,使得第一虚拟角色的动画和位移进行匹配,不会出现“滑步”现象,会更加自然和流畅,增强真实感。且,在服务器与客户端进行数据交互时,只需要发送数据量较少的指令和位置点的信息即可,可以降低客户端与服务器之间的数据交互量。而且,将虚拟角色的角色模型运算放到客户端上执行,而不是在服务器上执行,可以减轻服务器的计算压力。
在接下来的可选实施例中,将虚拟角色的移动距离与过渡动画中的过渡动画帧相匹配,使得虚拟角色在移动状态的变化过程中,能够得到较为流畅的过渡动画来表现出虚拟角色的移动状态变化。另一方面,使用过渡动画的过渡动画曲线来求得过渡动画帧,可以得到较为准确的过渡动画帧。
图7示出了本申请一个示例性实施例提供的虚拟角色的控制方法的流程图。该方法可由图1所示的第一终端110或第二终端130或第一终端110上的客户端或第二终端130上的客户端执行,该方法包括:
步骤701:显示位于虚拟环境中的第一虚拟角色。
移动控制操作用于控制第一虚拟角色在虚拟环境进行移动状态的变化,移动状态包括站立状态和行进状态。
第一虚拟角色是本地客户端上主控的角色。第一虚拟角色包括但不限于虚拟人物、虚拟动物、动漫人物中的至少一种。
虚拟环境是三维虚拟环境。可选地,虚拟环境是二维虚拟环境,或者,虚拟环境是2.5维虚拟环境。
示例性的,如图3所示,在用户界面上显示有虚拟角色301、移动控件302、设置控件303、音量调节控件304、跳跃控件305、蹲下控件306、录音控件307、麦克风图标308。
步骤702:接收移动控制操作。
移动控制操作是通过按压一个或多个预设的物理按键来控制第一虚拟角色在虚拟环境进行移动状态的变化。或者,用户也可以通过在触摸屏上进行松开、长按、点击、双击和/或滑动所产生的信号执行移动控制操作。
可选地,当终端是VR(Virtual Reality,虚拟现实)设备时,移动控制操作是用户在现实环境中的行为动作。例如,用户在现实环境中向前走了一步,则虚拟环境中的虚拟角色也相应地向前走一步。
可选地,移动状态包括站立状态、行进状态、跳跃状态、转向状态、起飞状态、降落状态、下降状态、上升状态中的至少一种。示例性的,移动控制操作用于控制第一虚拟角色在虚拟环境中从站立状态变为跳跃状态。
步骤703:响应于移动控制操作,在移动状态变化的第一过渡阶段,获取第一虚拟角色的参考位置点。
参考位置点是根据第一虚拟角色在虚拟环境中进行移动状态的变化方式确定的。示例性的,当第一虚拟角色从站立状态变为行进状态时,对应参考位置点1,当第一虚拟角色从行进状态变为站立状态时,对应参考位置点2,参考位置点1和参考位置点2是不同的两个点。
示例性的,当第一虚拟角色从站立状态变为行进状态时,参考位置点通过以下方式得到:
响应于移动控制操作,在第一虚拟角色从站立状态变为行进状态的第一过渡阶段,将第一虚拟角色的起始位置点确定为参考位置点。
可选地,在虚拟环境中建立坐标系,通过坐标系记录第一虚拟角色的位置点。
可选地,将第一虚拟角色模型的中心点坐标作为第一虚拟角色的当前位置。
示例性的,第一虚拟角色原先站立在虚拟环境中的位置A处,第一虚拟角色即将从站立状态变为行进状态,则将第一虚拟角色原先站立的位置A记为第一虚拟角色的起始位置,也可以认为将位置A记为参考位置点。
示例性的,当第一虚拟角色从行进状态变为站立状态时,参考位置点通过以下方式得到:
1、响应于移动控制操作,在第一虚拟角色从行进状态变为站立状态的第一过渡阶段,根据第一虚拟角色的行进参数计算预测停止点。
行进参数包括速度大小、速度方向、摩擦力、空气阻力、加速度中的至少一种。
示例性的,第一虚拟角色沿第一方向行进,将第一方向确定为x轴的正方向,当第一虚拟角色在x=0处准备由行进状态转换为站立状态时,若第一虚拟角色的速度为4m/s,加速度为-2m/s2,则第一虚拟角色会在x=4处停止,进入站立状态。
行进参数会影响第一虚拟角色的运动状态变化所需的移动距离。例如,当第一虚拟角色从行进状态变为站立状态时,第一虚拟角色会做减速运动,而第一虚拟角色的加速度会受到地面摩擦力的影响,当地面摩擦力较大时,第一虚拟角色会有受到一个较大的与速度方向相反的加速度,第一虚拟角色更容易减速,使得第一虚拟角色在较短的移动距离内从行进状态切换为站立状态。类似的,当第一虚拟角色从行进状态变为站立状态时,空气阻力也会影响第一虚拟角色从行进状态变为站立状态所需的移动距离。
2、将预测停止点确定为参考位置点。
步骤704:计算第一虚拟角色的当前位置与参考位置点之间的第一移动距离。
可选地,在虚拟环境中建立坐标系,通过坐标系记录当前位置和参考位置点。示例性的,当前位置在虚拟环境中的坐标为(0,4),参考位置点在虚拟环境中的坐标为(0,7),则第一移动距离是3。
步骤705:根据第一移动距离从第一过渡动画曲线中确定目标时间戳。
过渡动画曲线用于表示在过渡动画中的移动距离与时间戳之间的关系。
由于不同的移动状态的变化方式会使用不同的过渡动画,所以过渡动画曲线是根据移动状态的变化方式确定的。示例性的,图8示出了第一虚拟角色从站立状态变为行进状态对应的过渡动画的过渡动画曲线图,该曲线图中横轴代表时间戳,纵轴代表第一移动距离。图9示出了第一虚拟角色行进状态从变为站立状态对应的过渡动画的过渡动画曲线图,同样地,该曲线图中横轴代表时间戳,纵轴代表第一移动距离。
示例性的,如图8所示,得到第一移动距离代表图8中的点801,根据点801从过渡动画曲线图中得到点802,点802代表的是目标时间戳。
示例性的,如图9所示,得到第一移动距离代表图9中的点901,根据点901从过渡动画曲线图中得到点902,点902代表的是目标时间戳。
步骤706:在第一过渡动画中确定与目标时间戳对应的第一过渡动画帧。
第一过渡动画是按照时间戳进行播放的,第一过渡动画中的每一帧都有对应的时间戳。
步骤707:播放第一移动距离对应的第一过渡动画帧,得到第一虚拟角色在第一过渡阶段中的移动动画。
示例性的,如图5所示,在第一虚拟角色500从站立状态变为行进状态的过程中,过渡动画帧501显示第一虚拟角色500处于站立状态,当第一虚拟角色500开始行进,并且已经行进一段距离后,显示过渡动画帧502,第一虚拟角色500的身体姿态已经发生改变。当虚拟角色再行进一段距离后显示过渡动画帧503,第一虚拟角色500的身体姿态再度发生改变。当第一虚拟角色500进入行进状态后,显示过渡动画帧504,在过渡动画帧504中,第一虚拟角色500的姿态表示第一虚拟角色500正在行进(图5仅示出了第一虚拟角色500从站立状态变为行进状态的过程中具有代表性的几帧过渡图像帧,在实际实现过程中,过渡图像帧的数量依据实际需要进行调整)。
示例性的,如图6所示,在第一虚拟角色600从行进状态变为站立状态的过程中,过渡动画帧601显示第一虚拟角色600处于行进状态,当第一虚拟角色600开始停止,并且已经经过一段距离后,显示过渡动画帧602,第一虚拟角色600的身体姿态已经发生改变。当虚拟角色再行进一段距离后显示过渡动画帧603,第一虚拟角色600的身体姿态再度发生改变。当第一虚拟角色600进入站立状态后,显示过渡动画帧604,在过渡动画帧604中,第一虚拟角色600的姿态表示第一虚拟角色600处于站立(图6仅示出了第一虚拟角色600从行进状态变为站立状态的过程中具有代表性的几帧过渡图像帧,在实际实现过程中,过渡图像帧的数量依据实际需要进行调整)。
综上所述,本实施例在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,会更加自然和流畅,增强真实感。且,在服务器与客户端进行数据交互时,只需要发送数据量较少的指令和位置点的信息即可,可以降低客户端与服务器之间的数据交互量。而且,将虚拟角色的角色模型运算放到客户端上执行,而不是在服务器上执行,可以减轻服务器的计算压力。
且,通过第一虚拟角色的移动距离去匹配第一虚拟角色的动画帧可以得到较为连贯的画面表现,同时,客户端只需要只需要做单一的匹配计算就可以确定动画,还可以减小客户端的计算量,提高过渡动画表现的时效性。
在接下来的可选实施例中,虚拟环境可能还存在第二虚拟角色,第二虚拟角色是由其他客户端上的用户操控的或者有AI(Artificial Intelligence,人工智能)操控的,不同于第一虚拟角色是由本地客户端上的用户操控,因此,需要介绍第二虚拟角色是如何在本地客户端上表现的。
图10示出了本申请一个示例性实施例提供的虚拟角色的控制方法的流程图。该方法可由图1所示的第一终端110或第二终端130或第一终端110上的客户端或第二终端130上的客户端执行,该方法包括:
步骤1001:显示位于虚拟环境中的第二虚拟角色。
第二虚拟角色是虚拟环境中不同于第一虚拟角色的角色。可选地,第二虚拟角色是其它客户端上的用户控制的角色,或者,第二虚拟角色是AI控制的角色。
可选地,第二虚拟角色包括但不限于虚拟人物、虚拟动物、动漫人物中的至少一种。
虚拟环境是三维虚拟环境。可选地,虚拟环境是二维虚拟环境,或者,虚拟环境是2.5维虚拟环境。
步骤1002:接收服务器发送的移动状态变化指令。
移动状态变化指令用于控制第二虚拟角色在虚拟环境进行移动状态的变化。当第二虚拟角色是其它客户端上的用户控制的角色时,移动状态变化指令是在接收其它客户端上的移动控制操作时产生的。
可选地,移动状态包括站立状态和行进状态。
可选地,移动状态还包括跳跃状态、转向状态、起飞状态、降落状态、下降状态、上升状态中的至少一种。示例性的,移动状态的变化还可以是站立状态到跳跃状态的变化。
步骤1003:响应于移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧。
可选地,当移动状态的变化包括从站立状态变为行进状态时,该步骤包括以下子步骤:
1、响应于移动状态变化指令,在第二虚拟角色的移动状态变化的第二过渡阶段,计算第二虚拟角色的当前位置与起始位置点之间的第二移动距离。
可选地,在虚拟环境中建立坐标系,通过坐标系记录第二虚拟角色的当前位置和起始位置点。
可选地,将第二虚拟角色模型的中心点坐标作为第二虚拟角色的当前位置。
示例性的,第二虚拟角色原先站立在虚拟环境中的位置B处,第二虚拟角色即将从站立状态变为行进状态,则将第二虚拟角色原先站立的位置B记为第二虚拟角色的起始位置。
2、根据第二移动距离从第二过渡动画中确定第二过渡动画帧。
进一步地,根据第二移动距离从第二过渡动画曲线中确定目标时间戳;根据目标时间戳从第二过渡动画中确定第二过渡动画帧。
过渡动画曲线用于表示在过渡动画中的移动距离与时间戳之间的关系。其中,第二过渡动画曲线的横轴代表时间戳,纵轴代表第二移动距离。
可选地,当移动状态的变化包括从行进状态变为站立状态时,移动状态变化指令包括第二虚拟角色的预测停止点,该步骤包括以下子步骤:
1、响应于移动状态变化指令,在第二虚拟角色的移动状态变化的第二过渡阶段,计算第二虚拟角色的当前位置与第二虚拟角色的预测停止点之间的第二移动距离。
可选地,在虚拟环境中建立坐标系,通过坐标系记录第二虚拟角色的当前位置和起始位置点。
可选地,将第二虚拟角色模型的中心点坐标作为第二虚拟角色的当前位置。
示例性的,第二虚拟角色原先站立在虚拟环境中的位置B处,第二虚拟角色即将从站立状态变为行进状态,则将第二虚拟角色原先站立的位置B记为第二虚拟角色的起始位置。
2、根据第二移动距离从第二过渡动画中确定第二过渡动画帧。
进一步地,根据第二移动距离从第二过渡动画曲线中确定目标时间戳;根据目标时间戳从第二过渡动画中确定第二过渡动画帧。
过渡动画曲线用于表示在过渡动画中的移动距离与时间戳之间的关系。
步骤1004:播放第二移动距离对应的第二过渡动画帧,得到第二虚拟角色在第二过渡阶段中的移动动画。
第二过渡阶段指第二虚拟角色切换移动状态的过程。例如,在本实施例中,第二过渡阶段指第二虚拟角色从站立状态变为行进状态的过程,或者,第二过渡阶段指第二虚拟角色从行进状态变为站立状态的过程。
示例性的,当第二虚拟角色在虚拟环境中的速度为0时,认为第二虚拟角色处于站立状态,将接收到移动控制操作的时刻认为是第二过渡阶段的开始时刻;当第二虚拟角色从站立状态加速到预设速度,使第二虚拟角色保持预设速度匀速运动时,将第二虚拟角色达到预设速度的时刻认为是第二过渡阶段的结束时刻,或者,当第二虚拟角色达到预设速度且第二虚拟角色以预设速度匀速运动完预设距离后,将前述第二虚拟角色以预设速度匀速运动完预设距离的时刻认为是第二过渡阶段的结束时刻。
播放第二过渡动画帧的过程中,由于第二过渡动画帧是根据第二虚拟角色的第二移动距离确定的,所以在播放移动动画时,整个播放过程是流畅且连贯的。
综上所述,本实施例在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,会更加自然和流畅,增强真实感。且,通过移动距离来确定虚拟角色的过渡动画帧,可以降低客户端与服务器之间的数据交互量,减轻服务器的计算压力。
且,由于只需要传输移动状态变化指令,传输的数据量较小,对网络的依赖较小,即使在网络延迟较大的情况下也能够实现虚拟角色过渡动画的流畅显示。
图11和图12均示出了本申请一个示例性实施例提供的虚拟角色的控制方法的流程图。在本地客户端上用户控制第一虚拟角色的移动状态发生改变时,会涉及到本地客户端、服务器和其它客户端上的显示第一虚拟角色的移动状态变化。
在本地客户端上,在步骤1101中,第一虚拟角色开始从站立状态变为行进状态,本地客户端向服务器发送开始移动通知。在步骤1102中,本地客户端记录起始位置点。在步骤1103中,本地客户端计算第一虚拟角色的当前位置与参考位置点之间的移动距离。在步骤1104中,本地客户端根据移动距离从行进过渡动画中确定行进过渡动画帧。在步骤1105中,本地客户端根据移动距离播放行进过渡动画帧,得到第一虚拟角色在行进过渡阶段中的移动动画。在步骤1106中,本地客户端上第一虚拟角色匀速行进。在步骤1107中,本地客户端上第一虚拟角色开始从行进状态变为站立状态,本地客户端向服务器发送开始停止通知。在步骤1108中,本地客户端根据第一虚拟角色的行进参数计算预测停止点,本地客户端向服务器发送预测停止点。在步骤1109中,本地客户端计算第一虚拟角色的当前位置与预测停止点之间的移动距离。在步骤1110中,本地客户端根据移动距离从站立过渡动画中确定站立过渡动画帧。在步骤1111中,本地客户端根据移动距离播放站立过渡动画帧,得到第一虚拟角色在站立过渡阶段中的移动动画。在步骤1112中,本地客户端显示第一虚拟角色站立。
在服务器上,在步骤1113中,接收到本地客户端发送的开始移动通知,第一虚拟角色开始从站立状态变为行进状态。在步骤1114中,服务器中第一虚拟角色匀速行进。在步骤1115中,在接收到本地客户端发送的开始停止通知后,第一虚拟角色开始从行进状态变为站立状态。在步骤1116中,服务器同步预测停止点。在步骤1117中,服务器中的第一虚拟角色站立。
在其它客户端上,在步骤1118中,其它客户端接收服务器发送的开始移动指令,第一虚拟角色开始从站立状态变为行进状态。在步骤1119中,其它客户端记录起始位置点。在步骤1120中,其它客户端计算第一虚拟角色的当前位置与参考位置点之间的移动距离。在步骤1121中,其它客户端根据移动距离从行进过渡动画中确定行进过渡动画帧。在步骤1122中,其它客户端根据移动距离播放行进过渡动画帧,得到第一虚拟角色在行进过渡阶段中的移动动画。在步骤1123中,其它客户端显示第一虚拟角色匀速行进。在步骤1124中,其它客户端接收到服务器发送的开始停止指令后,第一虚拟角色开始从行进状态变为站立状态。在步骤1125中,其它客户端接收预测停止点后,计算第一虚拟角色的当前位置与预测停止点之间的移动距离。在步骤1126中,其它客户端根据移动距离从站立过渡动画中确定站立过渡动画帧。在步骤1127中,其它客户端根据移动距离播放站立过渡动画帧,得到第一虚拟角色在站立过渡阶段中的移动动画。在步骤1128中,其它客户端显示第一虚拟角色站立。
综上所述,本实施例在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,会更加自然和流畅,增强真实感。且,通过移动距离来确定虚拟角色的过渡动画帧,可以降低客户端与服务器之间的数据交互量,减轻服务器的计算压力。
且,由于只需要传输移动状态变化指令,传输的数据量较小,对网络的依赖较小,即使在网络延迟较大的情况下也能够实现虚拟角色过渡动画的流畅显示。
图13示出了本申请的一个示例性实施例提供的虚拟角色的控制装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分,该装置120包括:
显示模块121,用于显示位于虚拟环境中的第一虚拟角色;
接收模块122,用于接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;
控制模块123,用于响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一移动距离是所述第一虚拟角色在所述移动状态变化的第一过渡阶段中的第一移动距离;
所述显示模块121,还用于所述第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。
在本申请一个可选设计中,所述控制模块123,还用于响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点;计算所述第一虚拟角色的当前位置与所述参考位置点之间的所述第一移动距离;在所述第一过渡动画中确定与所述第一移动距离对应的所述第一过渡动画帧。
在本申请一个可选设计中,所述控制模块123,还用于根据所述第一移动距离从第一过渡动画曲线中确定目标时间戳,所述第一过渡动画曲线用于表示在所述第一过渡动画中的移动距离与时间戳之间的关系;在所述第一过渡动画中确定与所述目标时间戳对应的所述第一过渡动画帧。
在本申请一个可选设计中,所述控制模块123,还用于响应于所述移动控制操作,在所述第一虚拟角色从所述站立状态变为所述行进状态的第一过渡阶段,将所述第一虚拟角色的起始位置点确定为所述参考位置点。
在本申请一个可选设计中,所述控制模块123,还用于响应于所述移动控制操作,在所述第一虚拟角色从所述行进状态变为所述站立状态的第一过渡阶段,根据所述第一虚拟角色的行进参数计算预测停止点,所述行进参数包括速度大小、速度方向、摩擦力、空气阻力、加速度中的至少一种;将所述预测停止点确定为所述参考位置点。
在本申请一个可选设计中,所述接收模块122,还用于接收服务器发送的移动状态变化指令,所述移动状态变化指令用于控制所述第二虚拟角色在所述虚拟环境进行所述移动状态的变化。
所述控制模块123,还用于响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,所述第二移动距离是所述第二虚拟角色在所述移动状态变化的第二过渡阶段中的移动距离。
所述显示模块121,还用于播放所述第二移动距离对应的所述第二过渡动画帧,得到所述第二虚拟角色在所述第二过渡阶段中的移动动画。
在本申请一个可选设计中,所述控制模块123,还用于响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与起始位置点之间的第二移动距离;在所述第二过渡动画的第二过渡动画曲线中确定与所述第二移动距离对应的第二过渡动画帧,所述第二过渡动画曲线用于表示在所述第二过渡动画中的移动距离与时间戳之间的关系。
在本申请一个可选设计中,所述控制模块123,还用于响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与所述第二虚拟角色的预测停止点之间的所述第二移动距离;在所述第二过渡动画的所述第二过渡动画曲线中确定与所述第二移动距离对应的所述第二过渡动画帧。
综上所述,本实施例在虚拟角色进行移动状态的变化时,会根据虚拟角色在虚拟环境中的移动距离播放对应的过渡动画帧,将过渡动画帧进行连续播放得到完整的移动动画。在显示虚拟角色的移动状态的变化时,会更加自然和流畅,增强真实感。且,通过移动距离来确定虚拟角色的过渡动画帧,可以降低客户端与服务器之间的数据交互量,减轻服务器的计算压力。
图14是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1300包括中央处理单元(英文:Central Processing Unit,简称:CPU)1301、包括随机存取存储器(英文:Random Access Memory,简称:RAM)1302和只读存储器(英文:Read-Only Memory,简称:ROM)1303的***存储器1304,以及连接***存储器1304和中央处理单元1301的***总线1305。计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)1306,和用于存储操作***1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
基本输入/输出***1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中显示器1308和输入设备1309都通过连接到***总线1305的输入/输出控制器1310连接到中央处理单元1301。基本输入/输出***1306还可以包括输入/输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1307通过连接到***总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。大容量存储设备1307及其相关联的计算机可读介质为服务器1300提供非易失性存储。也就是说,大容量存储设备1307可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器1304和大容量存储设备1307可以统称为存储器。
根据本申请的各种实施例,服务器1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1300可以通过连接在***总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机***(未示出)。
根据本申请的另一方面,还提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上述的虚拟角色的控制方法。
根据本申请的另一方面,还提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上述的虚拟角色的控制方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种虚拟角色的控制方法,其特征在于,所述方法包括:
显示位于虚拟环境中的第一虚拟角色;
接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;
响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一过渡动画是所述第一虚拟角色在移动状态变化的过渡阶段中显示的动画,所述第一移动距离是所述第一虚拟角色在移动状态变化的第一过渡阶段中的移动距离,所述第一过渡动画与移动状态变化的类型相关,当所述第一虚拟角色从所述站立状态变为所述行进状态时,所述第一过渡动画的最初n帧的动画帧与所述站立状态相对应,所述第一过渡动画的最后m帧的动画帧与所述行进状态相对应,当所述第一虚拟角色从所述行进状态变为所述站立状态时,所述第一过渡动画的最初n帧的动画帧与所述行进状态相对应,所述第一过渡动画的最后m帧的动画帧与所述站立状态相对应,所述m和所述n为正整数;
播放所述第一移动距离对应的第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,包括:
响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点;
计算所述第一虚拟角色的当前位置与所述参考位置点之间的所述第一移动距离;
在所述第一过渡动画中确定与所述第一移动距离对应的所述第一过渡动画帧。
3.根据权利要求2所述的方法,其特征在于,所述在所述第一过渡动画中确定与所述第一移动距离对应的所述第一过渡动画帧,包括:
根据所述第一移动距离从第一过渡动画曲线中确定目标时间戳,所述第一过渡动画曲线用于表示在所述第一过渡动画中的移动距离与时间戳之间的关系;
在所述第一过渡动画中确定与所述目标时间戳对应的所述第一过渡动画帧。
4.根据权利要求2所述的方法,其特征在于,所述移动状态变化包括所述第一虚拟角色从所述站立状态变为所述行进状态;
所述响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点,包括:
响应于所述移动控制操作,在所述第一虚拟角色从所述站立状态变为所述行进状态的第一过渡阶段,将所述第一虚拟角色的起始位置点确定为所述参考位置点。
5.根据权利要求2所述的方法,其特征在于,所述移动状态变化包括所述第一虚拟角色从所述行进状态变为所述站立状态;
所述响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点,包括:
响应于所述移动控制操作,在所述第一虚拟角色从所述行进状态变为所述站立状态的第一过渡阶段,根据所述第一虚拟角色的行进参数计算预测停止点,所述行进参数包括速度大小、速度方向、摩擦力、空气阻力、加速度中的至少一种;
将所述预测停止点确定为所述参考位置点。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述虚拟环境中还包括第二虚拟角色;
所述方法还包括:
接收服务器发送的移动状态变化指令,所述移动状态变化指令用于控制所述第二虚拟角色在所述虚拟环境进行所述移动状态的变化;
响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,所述第二移动距离是所述第二虚拟角色在所述移动状态变化的第二过渡阶段中的移动距离;
播放所述第二移动距离对应的所述第二过渡动画帧,得到所述第二虚拟角色在所述第二过渡阶段中的移动动画。
7.根据权利要求6所述的方法,其特征在于,所述移动状态变化包括从所述站立状态变为所述行进状态;
所述响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,包括:
响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与起始位置点之间的第二移动距离;
在所述第二过渡动画的第二过渡动画曲线中确定与所述第二移动距离对应的第二过渡动画帧,所述第二过渡动画曲线用于表示在所述第二过渡动画中的移动距离与时间戳之间的关系。
8.根据权利要求6所述的方法,其特征在于,所述移动状态的变化包括从所述行进状态变为所述站立状态;所述移动状态变化指令包括所述第二虚拟角色的预测停止点;
所述响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,包括:
响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与所述第二虚拟角色的预测停止点之间的所述第二移动距离;
在所述第二过渡动画的所述第二过渡动画曲线中确定与所述第二移动距离对应的所述第二过渡动画帧。
9.一种虚拟角色的控制装置,其特征在于,所述装置包括:
显示模块,用于显示位于虚拟环境中的第一虚拟角色;
接收模块,用于接收移动控制操作,所述移动控制操作用于控制所述第一虚拟角色在所述虚拟环境进行移动状态的变化,所述移动状态包括站立状态和行进状态;
控制模块,用于响应于所述移动控制操作,在第一过渡动画中确定与第一移动距离对应的第一过渡动画帧,所述第一过渡动画是所述第一虚拟角色在移动状态变化的过渡阶段中显示的动画,所述第一移动距离是所述第一虚拟角色在移动状态变化的第一过渡阶段中的移动距离,所述第一过渡动画与移动状态变化的类型相关,当所述第一虚拟角色从所述站立状态变为所述行进状态时,所述第一过渡动画的最初n帧的动画帧与所述站立状态相对应,所述第一过渡动画的最后m帧的动画帧与所述行进状态相对应,当所述第一虚拟角色从所述行进状态变为所述站立状态时,所述第一过渡动画的最初n帧的动画帧与所述行进状态相对应,所述第一过渡动画的最后m帧的动画帧与所述站立状态相对应,所述m和所述n为正整数;
所述显示模块,还用于播放所述第一移动距离对应的第一过渡动画帧,得到所述第一虚拟角色在所述第一过渡阶段中的移动动画。
10.根据权利要求9所述的装置,其特征在于,
所述控制模块,用于响应于所述移动控制操作,在移动状态变化的第一过渡阶段,获取所述第一虚拟角色的参考位置点;计算所述第一虚拟角色的当前位置与所述参考位置点之间的所述第一移动距离;在所述第一过渡动画中确定与所述第一移动距离对应的所述第一过渡动画帧。
11.根据权利要求10所述的装置,其特征在于,
所述控制模块,用于根据所述第一移动距离从第一过渡动画曲线中确定目标时间戳,所述第一过渡动画曲线用于表示在所述第一过渡动画中的移动距离与时间戳之间的关系;在所述第一过渡动画中确定与所述目标时间戳对应的所述第一过渡动画帧。
12.根据权利要求9至11任一项所述的装置,其特征在于,所述虚拟环境中还包括第二虚拟角色;
所述接收模块,还用于接收服务器发送的移动状态变化指令,所述移动状态变化指令用于控制所述第二虚拟角色在所述虚拟环境进行所述移动状态的变化;
所述控制模块,还用于响应于所述移动状态变化指令,在第二过渡动画中确定与第二移动距离对应的第二过渡动画帧,所述第二移动距离是所述第二虚拟角色在所述移动状态变化的第二过渡阶段中的移动距离;
所述显示模块,还用于播放所述第二移动距离对应的所述第二过渡动画帧,得到所述第二虚拟角色在所述第二过渡阶段中的移动动画。
13.根据权利要求12所述的装置,其特征在于,所述移动状态变化包括从所述站立状态变为所述行进状态;
所述控制模块,用于响应于所述移动状态变化指令,在所述第二虚拟角色的移动状态变化的第二过渡阶段,计算所述第二虚拟角色的当前位置与起始位置点之间的第二移动距离;在所述第二过渡动画的第二过渡动画曲线中确定与所述第二移动距离对应的第二过渡动画帧,所述第二过渡动画曲线用于表示在所述第二过渡动画中的移动距离与时间戳之间的关系。
14.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至8中任一项所述的虚拟角色的控制方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至8中任一项所述的虚拟角色的控制方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行权利要求1至8中任一项所述的虚拟角色的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610049.9A CN113209618B (zh) | 2021-06-01 | 2021-06-01 | 虚拟角色的控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610049.9A CN113209618B (zh) | 2021-06-01 | 2021-06-01 | 虚拟角色的控制方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113209618A CN113209618A (zh) | 2021-08-06 |
CN113209618B true CN113209618B (zh) | 2023-04-28 |
Family
ID=77082417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610049.9A Active CN113209618B (zh) | 2021-06-01 | 2021-06-01 | 虚拟角色的控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113209618B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658300B (zh) * | 2021-08-18 | 2023-05-30 | 北京百度网讯科技有限公司 | 动画播放方法、装置、电子设备以及存储介质 |
CN114627215B (zh) * | 2022-05-16 | 2022-09-16 | 山东捷瑞数字科技股份有限公司 | 基于三维软件的相机抖动动画制作的方法和装置 |
CN115779436B (zh) * | 2023-02-09 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 动画切换方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5434965B2 (ja) * | 2011-06-03 | 2014-03-05 | カシオ計算機株式会社 | 動画生成方法、動画生成装置及びプログラム |
-
2021
- 2021-06-01 CN CN202110610049.9A patent/CN113209618B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113209618A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210252398A1 (en) | Method and system for directing user attention to a location based game play companion application | |
CN113209618B (zh) | 虚拟角色的控制方法、装置、设备及介质 | |
US11724204B2 (en) | In-game location based game play companion application | |
CN111462307B (zh) | 虚拟对象的虚拟形象展示方法、装置、设备及存储介质 | |
US20230050933A1 (en) | Two-dimensional figure display method and apparatus for virtual object, device, and storage medium | |
CN112843679B (zh) | 虚拟对象的技能释放方法、装置、设备及介质 | |
JP7503122B2 (ja) | 位置に基づくゲームプレイコンパニオンアプリケーションへユーザの注目を向ける方法及びシステム | |
CN111744185B (zh) | 虚拟对象控制方法、装置、计算机设备及存储介质 | |
TWI831074B (zh) | 虛擬場景中的信息處理方法、裝置、設備、媒體及程式產品 | |
CN112402960A (zh) | 虚拟场景中状态切换方法、装置、设备及存储介质 | |
JP2023527846A (ja) | バーチャルシーンにおけるデータ処理方法、装置、コンピュータデバイス、及びコンピュータプログラム | |
WO2023134272A1 (zh) | 视野画面的显示方法、装置及设备 | |
JP2022552752A (ja) | 仮想環境の画面表示方法及び装置、並びにコンピュータ装置及びプログラム | |
JP2024507595A (ja) | 仮想リソースの投入制御方法、装置、コンピュータ機器及び記憶媒体 | |
TWI803224B (zh) | 聯絡人信息展示方法、裝置、電子設備、計算機可讀儲存媒體及計算機程式産品 | |
CN111672105A (zh) | 基于虚拟环境的视野数据包发送方法、装置、设备及介质 | |
CN114053693B (zh) | 虚拟场景中的对象控制方法、装置及终端设备 | |
CN113633968A (zh) | 一种游戏中的信息展示方法、装置、电子设备及存储介质 | |
CN109417651B (zh) | 使用基于位置的游戏配套应用程序生成挑战 | |
CN111589147A (zh) | 用户界面的显示方法、装置、设备及存储介质 | |
CN112843682B (zh) | 数据同步方法、装置、设备及存储介质 | |
WO2023169010A1 (zh) | 虚拟对象的控制方法、装置、电子设备、存储介质及程序产品 | |
CN117764758A (zh) | 用于虚拟场景的群组建立方法、装置、设备及存储介质 | |
CN116251349A (zh) | 一种游戏中目标位置的提示方法、装置及电子设备 | |
CN116920386A (zh) | 一种显示控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051659 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |