CN111145317B - 游戏动画的播放方法、装置及服务器 - Google Patents
游戏动画的播放方法、装置及服务器 Download PDFInfo
- Publication number
- CN111145317B CN111145317B CN201911373444.9A CN201911373444A CN111145317B CN 111145317 B CN111145317 B CN 111145317B CN 201911373444 A CN201911373444 A CN 201911373444A CN 111145317 B CN111145317 B CN 111145317B
- Authority
- CN
- China
- Prior art keywords
- playing
- instruction
- behavior
- animation
- user
- 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 103
- 230000006399 behavior Effects 0.000 claims abstract description 156
- 230000008569 process Effects 0.000 claims abstract description 34
- 239000012634 fragment Substances 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 4
- 230000003542 behavioural effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000009417 prefabrication Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- 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
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种游戏动画的播放方法、装置及服务器,包括:播放预先创建的动画;判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令或者AI的行为,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
Description
技术领域
本发明涉及游戏动画技术领域,尤其是涉及一种游戏动画的播放方法、装置及服务器。
背景技术
当前游戏开发过程中,为了增加玩家对游戏背景的理解和提升游戏故事的完整性,在任务与任务之间或游戏副本的开启时,都会使用剧情动画进行过渡,来增强游戏的叙事性;叙事性玩法可以让玩家在游戏过程中体验游戏背景,了解任务和玩法,作为游戏操控者体验自己所掌控或无法掌控的故事和情景的发生。
为了增加游戏叙事性玩法的体验,通常需要非线性播放游戏剧情动画,同时编辑较复杂的场景动画,根据不同的展现方式和不同的游戏效果,在使用Timeline编辑工具时,会利用较多的Timeline轨道以及绑定较多的资源,导致在打AB(AssetBundle,存在于硬盘上的文件)资源时,占用的空间较大,易出现很多不必要或者麻烦的问题。
发明内容
有鉴于此,本发明的目的在于提供一种游戏动画的播放方法、装置及服务器,在实现游戏叙事性玩法的同时,使游戏动画资源占用较小的内存空间。
第一方面,本发明实施例提供了一种游戏动画的播放方法,该方法包括:播放预先创建的动画;其中,动画包括多种轨道类型;判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;当目标片段播放到尾帧时,判断AI是否完成该行为指令;如果否,暂停播放或循环播放目标片段。
进一步地,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行行为指令的步骤,包括:传送行为指令至AI,以使AI根据行为指令做出相应的行为;实时监测AI执行行为指令的回调结果。
进一步地,传送行为指令至AI,包括:传送行为指令完成的标志至AI。
进一步地,判断AI是否完成行为指令的步骤,包括:通过状态机判断AI是否满足行为指令完成的标志。
进一步地,暂停播放或循环播放目标片段的步骤,包括:获取目标片段中未完成行为指令的当前片段;根据用户指令和当前片段的AI控制轨道,设置当前片段暂停播放,或者设置当前片段循环播放。
进一步地,该方法还包括:如果设置当前片段暂停播放,实时判断AI是否完成行为指令;如果设置当前片段循环播放,当当前片段播放到尾帧时,判断AI是否完成行为指令。
进一步地,该方法还包括,判断动画是否播放完毕;如果没有播放完毕,继续播放动画中未播放的片段。
第二方面,本发明实施例提供了一种游戏动画的播放装置,该装置包括:动画播放模块,用于播放预先创建的动画;其中,动画包括多种轨道类型;轨道类型判断模块,用于判断动画所包含的轨道类型中,是否存在AI控制轨道;目标片段播放模块,如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行行为指令;行为指令判断模块,用于当目标片段播放到尾帧时,判断AI是否完成行为指令;如果否,暂停播放或循环播放目标片段。
第三方面,本发明实施例提供了一种服务器,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现权利要求1-7任一项的游戏动画的播放方法。
第四方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-7任一项的游戏动画的播放方法。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种游戏动画的播放方法、装置及服务器;首先播放预先创建的动画;然后判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令或AI的行为,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种游戏动画的播放方法的流程图;
图2为本发明实施例提供的另一种游戏动画的播放方法的流程图;
图3为本发明实施例提供的另一种游戏动画的播放方法的流程图;
图4为本发明实施例提供的一种游戏动画的播放装置的结构示意图;
图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前为了方便游戏开发者,Unity游戏引擎推出了Timeline工具,基础用法是以时间轴为驱动和载体控制人物,动画,特效,声音等,通过类似影片或者音频剪辑的操作,从而达到剧情等过渡型游戏叙事玩法体验的提升。但是当编辑较复杂的场景动画的时,根据不同的展现方式和不同的效果,会使用到很多的Timeline轨道以及绑定较多的资源,导致在打AB资源包将其所依赖的资源一同打包,占用空间较大的Playable文件,造成资源包过大,易出现很多不必要或者麻烦的问题。基于此,本发明实施例提供的一种游戏动画的播放方法、装置及服务器,利用Timeline功能判断并控制AI(计算机控制的游戏对象)状态行为,扩展Timeline时间控制器,在保证非线性播放的同时,占用较小的内存空间,从而避免不必要或者麻烦的问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种游戏动画的播放方法、装置及服务器进行详细介绍。
首先,本发明实施例提供了一种游戏动画的播放方法,如图1所示,该方法包括以下步骤:
步骤S102,播放预先创建的动画;其中,该动画包括多种轨道类型;
上述预先创建的动画可以通过Timeline工具制作得到,因此通过Timeline工具制作得到的游戏动画,也可以称为Timeline预制;Timeline工具可以非常方便的进行场景动画的创建和修改,包括物体、声音、粒子、动画、特效、自定义Playable以及Timeline等多种资源进行整合,从而能够较方便的生成很棒的场景动画。上述轨道类型可以是基本的轨道类型也可以是自定义的轨道类型,每个轨道可以绑定需要的资源。具体制作上述动画时,该动画可以包括多种轨道类型,可以根据动画想要呈现的效果和实现的功能,选择不同的轨道类型。上述预先创建的动画在播放之前,通常可以通过异步加载方式,将创建的动画文件加载到当前的播放设备中,同时还可以节省资源占用。
另外,在播放动画的过程中可能会出现多个轨道融合的情况,这时需要进行过混合处理,为每个轨道设置权重。比如,两个音频轨道融合,需要有一个过渡的过程,其中第一轨道播放鸟叫,第二轨道播放汽车发动机的声音,这时需要设置轨道的权重,使第一轨道的声音播放一段是时间后,鸟叫声逐渐降低至没有,与此同时第二轨道的声音逐渐从0开始升高到最大。第一轨道的声音开始降低至没有,也就是第一轨道的权重从100%减小至0,同样的第二轨道的声音逐渐从0开始升高到最大,第二轨道的权重从0增大至100%。
通常Unity引擎中自带的Timeline轨道已经设置了过混合处理的功能,但是自定义扩展的轨道,需要根据具体需求将权重数值进行或混合处理,以使轨道的权重根据实际需求进行渐变。具体可以通过以下代码实现:
步骤S104,判断动画所包含的轨道类型中,是否存在AI控制轨道;
上述AI可以理解为计算机控制的游戏对象,上述AI控制轨道可以是自定义的轨道类型,也可以是自定义扩展的轨道。在播放动画的过程中,该动画的每一帧都会进行判断,可以得到每一帧绑定的轨道,进而得到上述动画包含的AI控制轨道的每一帧动画。
步骤S106,如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;
在动画播放的过程中,当判断存在AI控制轨道时,可以得到包含的该AI控制轨道的每一帧动画,进而可以获取存在该AI控制轨道的目标片段,另外还可以获得该轨道可以执行的命令类型。该目标片段所包含轨道的每一帧都可进行命令接收、检查发送和等待完成调回的通知。在目标片段的播放过程中,用户可以根据播放的动画或者自己的想法,选择具体的操作,进而该AI控制轨道会接收到用户的具体指令,AI控制轨道可以预先设置AI可能的行为指令,在具体播放时可以根据用户的指令来确定具体的AI行为指令,根据该AI行为指令以控制AI执行对应的行为动作。另外,AI自身可能也具有行为,因此,该AI控制轨道还可能会判断到AI的具体行为,并根据该行为控制AI执行对应的行为动作。
举例说明,当目标片段播放时突然出现了许多怪物,也就是上述AI,用户可以根据自己的想法选择隐藏、攻击或者移动等的操作。若用户选择攻击AI,该AI控制轨道将会接收到用户的攻击指令,从而调用该AI控制轨道预先设置AI攻击的行为指令,以使AI攻击用户控制的对象。
步骤S108,当目标片段播放到尾帧时,判断AI是否完成该行为指令;如果否,暂停播放或循环播放目标片段。
在目标片段播放的过程中,同时会判断每一帧动画的位置,若播放的当前帧为目标片段的尾帧时,则判断目标片段中的AI是否完成了行为指令,可以判断每一帧包含的AI或者用户的位置。举例说明,当AI执行攻击行为指令时,由于用户并没有配合与AI进行攻击对抗,而是一直在躲避,这时则需要暂停播放目标片段,以使AI可能需要与用户控制的对象进行长时间的攻击对抗。另外,若在播放目标片段的过程中用户一直没有做出相应的操作指令,这时将会循环播放该目标片段,直到用户做出相应的操作指令,同时AI完成相应的行为指令。比如,播放到突然出现许多怪物的片段,这时用户没有做任何指令,这时当目标片段播放到尾帧时,判断出AI并没有完成任何行为指令,则循环播放目标片段。
本发明实施例提供了一种游戏动画的播放方法,首先播放预先创建的动画;然后判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令或AI行为,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
本发明实施例提供了另一种游戏动画的播放方法,该方法在上述实施例方法的基础上实现;该方法重点描述如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行行为指令步骤的具体实现过程(通过步骤S206-S208实现),以及判断AI是否完成行为指令步骤的具体实现过程(通过步骤S210实现),如图2所示,该方法包括如下步骤:
步骤S202,播放预先创建的动画;其中,动画包括多种轨道类型;
步骤S204,判断动画所包含的轨道类型中,是否存在AI控制轨道;
在播放动画的过程中,判断每一帧播放动画的过程中,可以得到每一帧绑定的资源,进而得到上述动画包含的AI控制轨道的每一帧动画,其中可以包括AI控制轨道所控制的AI、用户、或者其他类型的资源等。判断动画所包含的轨道的资源具体可以通过以下代码实现:
trackBinding=playerData as PlatoonAIGroup;
if(trackBinding==null)
return;
在动画播放时,上述代码包含在public override void ProcessFrame(Playableplayable,FrameData info,object playerData)函数中,每播放一帧就会调用一次该函数,从而得到每一帧绑定的轨道。
步骤S206,如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,传送行为指令至AI,以使AI根据行为指令做出相应的行为;
上述传送行为指令至AI还包括传送行为指令完成的标志至AI。该标志可以包括AI移动到某个坐标位置、AI被用户控制的对象打死或者用户控制的角色被AI打死等。举例说明,当确定的AI行为指令为移动,则传送移动的行为指令至对应的AI,同时传送移动到目的地的坐标位置。可以是AI根据移动的行为指令进行移动,同时根据移动到目的地的坐标位置,当移动到该坐标位置时则完成此次移动的行为指令。
具体实现时,首先需要判断播放的当前帧是否为目标片段的第一帧,得到目标片段的第一帧之后开始获取目标片段。判断过程可以通过以下代码实现:
传送行为指令和行为指令完成的标志至AI后,AI不会立即执行该行为指令,首先需要判断该行为指令是否开始执行,当判断出行为指令还未执行时,实例化新的AI控制指令,并调用执行函数,控制AI执行上述行为指令。具体可以通过以下代码实现:
步骤S208,实时监测AI执行行为指令的回调结果;
具体实现时,可以通过AI的自身带有的函数实时监测AI的行为状态,并将监测的结果实时传送至AI控制轨道。具体可以通过以下代码实现:
步骤S210,当目标片段播放到尾帧时,通过状态机判断AI是否满足行为指令完成的标志;如果否,暂停播放或循环播放所述目标片段。
举例说明,行为指令完成的标志为控制AI移动到指定坐标位置,当目标片段播放到尾帧时,可以通过状态机判断AI是否移动到指定的坐标位置。如果移动至指定位置,可以通过状态机判断AI移动命令完成后的行为触发命令。具体可以通过以下代码实现:
本发明实施例提供了另一种游戏动画的播放方法,首先播放预先创建的动画;然后判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,传送行为指令以及行为指令完成的标志至AI,以使AI根据行为指令做出相应的行为;实时监测AI执行行为指令的回调结果;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
本发明实施例提供了另一种游戏动画的播放方法,该方法在上述实施例方法的基础上实现;该方法重点描述暂停播放或循环播放目标片段步骤的具体实现过程(通过步骤实现S312实现),如图3所示,该方法包括如下步骤:
步骤S302,播放预先创建的动画;其中,动画包括多种轨道类型;
步骤S304,判断动画所包含的轨道类型中,是否存在AI控制轨道;
步骤S306,如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,传送行为指令至AI,以使AI根据行为指令做出相应的行为;
步骤S308,实时监测AI执行行为指令的回调结果。
步骤S310,当所述目标片段播放到尾帧时,通过状态机判断AI是否满足行为指令完成的标志;
步骤S312,如果否,获取目标片段中未完成行为指令的当前片段;根据用户指令和当前片段的AI控制轨道,设置当前片段暂停播放,或者设置当前片段循环播放。
举例说明,如果AI的行为指令完成的标志是移动到指定的坐标位置,当AI没有移动到指定的坐标位置时,获取目标片段中AI移动的当前片段,这种情况下可能是因为用户控制的对象阻挡了AI的移动道路,则如果设置当前片段循环播放,也就是循环播放AI移动的当前片段,当播放到尾帧时,继续判断AI是否移动到指定坐标位置。如果AI的行为指令完成的标志是AI死亡或者AI将用户控制的对象打死,获取目标片段中AI与用户控制的对象攻击的当前片段,这种情况下可能是因为攻击的次数较少,则可以设置当前片段暂停播放,然后实时判断是AI死亡还是AI将用户控制的对象打死,从而使动画达到非线性播放的效果。具体可以通过以下代码实现:
另外,上述方法还包括,判断动画是否播放完毕;如果没有播放完毕,继续播放动画中未播放的片段。
预先创建的动画可以包含一个或多个AI控制轨道,当第一个AI控制轨道的片段播放完以后,可能后面还有未播放的非AI控制轨道的片段,也有可能是AI控制轨道的片段,因此需要判断是否播放完,如果没有播放完,继续执行播放动画中未播放的片段的步骤。
本发明实施例提供了另一种游戏动画的播放方法,首先播放预先创建的动画;然后判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,传送行为指令以及行为指令完成的标志至AI,以使AI根据行为指令做出相应的行为;实时监测AI执行行为指令的回调结果;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,可以根据具体玩家操作和选择的不同使游戏任务的AI行为不同,发展方向不同,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
另外,上述方法可以根据非线性Timeline的操作使用于非游戏领域,例如新媒体展览展示从而达到不同的人机交互体验。
对应于上述游戏动画的播放方法实施例,本发明实施例还提供了一种游戏动画的播放装置,如图4所示,该装置包括:
动画播放模块41,用于播放预先创建的动画;其中,动画包括多种轨道类型;
轨道类型判断模块42,用于判断动画所包含的轨道类型中,是否存在AI控制轨道;
目标片段播放模块43,如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行行为指令;
行为指令判断模块44,用于当目标片段播放到尾帧时,判断AI是否完成行为指令;如果否,暂停播放或循环播放目标片段。
进一步地,上述轨道类型判断模块还用于:传送行为指令至AI,以使AI根据行为指令做出相应的行为;实时监测AI执行行为指令的回调结果。
进一步地,上述轨道类型判断模块还用于:传送行为指令完成的标志至AI。
进一步地,上述行为指令判断模块还用于:通过状态机判断AI是否满足行为指令完成的标志。
进一步地,上述行为指令判断模块还用于:获取目标片段中未完成所述行为指令的当前片段;根据用户指令和当前片段的AI控制轨道,设置当前片段暂停播放,或者设置当前片段循环播放。
进一步地,上述行为指令判断模块还用于:如果设置当前片段暂停播放,实时判断AI是否完成所述行为指令;如果设置当前片段循环播放,当当前片段播放到尾帧时,判断AI是否完成行为指令。
进一步地,上述装置还用于:判断动画是否播放完毕;如果没有播放完毕,继续播放动画中未播放的片段。
本发明实施例提供了一种游戏动画的播放装置;首先播放预先创建的动画;然后判断动画所包含的轨道类型中,是否存在AI控制轨道;如果是,在播放存在AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据AI控制轨道确定用户指令对应AI的行为指令,控制AI执行该行为指令;最后当目标片段播放到尾帧时,判断AI是否完成上述行为指令;如果否,暂停播放或循环播放目标片段。该方式,在播放动画的过程中,通过用户的行为指令,确定AI的行为指令,根据该行为指令进行异步资源加载和缓存方式,获取轨道类型和片段所绑定的资源,实现了非线性播放,同时减少了内存空间的占用,从而避免了不必要或者麻烦的问题,增加了游戏叙事性的玩法体验。
本发明实施例提供的游戏动画的播放装置,与上述实施例提供的游戏动画的播放方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种服务器,参见图5所示,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述游戏动画的播放方法。
进一步地,图5所示的服务器还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述游戏动画的播放方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的游戏动画的播放方法、装置以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种游戏动画的播放方法,其特征在于,所述方法包括:
播放预先创建的动画; 其中,所述动画包括多种轨道类型;
判断所述动画所包含的所述轨道类型中,是否存在AI控制轨道;
如果是,在播放存在所述AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据所述AI控制轨道确定所述用户指令对应AI的行为指令,控制所述AI执行所述行为指令;
当所述目标片段播放到尾帧时,判断所述AI是否完成所述行为指令;如果否,暂停播放或循环播放所述目标片段;
所述在播放预先创建的动画之前,所述方法还包括:
通过异步加载的方式,将创建的动画文件加载到当前的播放设备中;
根据预设权重规则为每个所述轨道类型设置唯一权重值;其中,在多个所述轨道融合时,每个所述轨道通过所述权重值过渡;
所述暂停播放或循环播放所述目标片段的步骤,包括:
获取所述目标片段中未完成所述行为指令的当前片段;
根据所述用户指令和所述当前片段的AI控制轨道,设置所述当前片段暂停播放,或者设置所述当前片段循环播放;
其中,所述用户指令为用户的具体指令或AI的行为中的一种;
所述用户的具体指令为所述用户根据所述动画或所述用户自身的想法选择的具体的操作;
所述根据所述用户指令和所述当前片段的AI控制轨道,设置所述当前片段暂停播放,或者设置所述当前片段循环播放的步骤包括:
当所述用户没有配合所述AI的行为做出所述具体指令时,设置所述当前片段暂停播放;
当所述用户没有做出所述具体指令时,设置所述当前片段循环播放。
2.根据权利要求1所述的方法,其特征在于,如果接收到用户指令,根据所述AI控制轨道确定所述用户指令对应AI的行为指令,控制所述AI执行所述行为指令的步骤,包括:
传送所述行为指令至所述AI,以使所述AI根据所述行为指令做出相应的行为;
实时监测所述AI执行所述行为指令的回调结果。
3.根据权利要求2所述的方法,其特征在于,传送所述行为指令至所述AI,包括:传送所述行为指令完成的标志至所述AI。
4.根据权利要求1所述的方法,其特征在于,判断所述AI是否完成所述行为指令的步骤,包括:通过状态机判断所述AI是否满足所述行为指令完成的标志。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果设置所述当前片段暂停播放,实时判断所述AI是否完成所述行为指令;
如果设置所述当前片段循环播放,当所述当前片段播放到尾帧时,判断所述AI是否完成所述行为指令。
6. 根据权利要求1所述的方法,其特征在于, 所述方法还包括,判断所述动画是否播放完毕;
如果没有播放完毕,继续播放所述动画中未播放的片段。
7.一种游戏动画的播放装置,其特征在于,所述装置包括:
动画播放模块,用于播放预先创建的动画; 其中,所述动画包括多种轨道类型;
轨道类型判断模块,用于判断所述动画所包含的所述轨道类型中,是否存在AI控制轨道;
目标片段播放模块,如果是,在播放存在所述AI控制轨道的目标片段的播放过程中,如果接收到用户指令,根据所述AI控制轨道确定所述用户指令对应AI的行为指令,控制所述AI执行所述行为指令;
行为指令判断模块,用于当所述目标片段播放到尾帧时,判断所述AI是否完成所述行为指令;如果否,暂停播放或循环播放所述目标片段;
所述动画播放模块,还用于通过异步加载的方式,将创建的动画文件加载到当前的播放设备中;根据预设权重规则为每个所述轨道类型设置唯一权重值;其中,在多个所述轨道融合时,每个所述轨道通过所述权重值过渡;
所述行为指令判断模块,还用于获取所述目标片段中未完成所述行为指令的当前片段;根据所述用户指令和所述当前片段的AI控制轨道,设置所述当前片段暂停播放,或者设置所述当前片段循环播放;
其中,所述用户指令为用户的具体指令或AI的行为中的一种;所述用户的具体指令为所述用户根据所述动画或所述用户自身的想法选择的具体的操作;
所述行为指令判断模块,还用于当所述用户没有配合所述AI的行为做出所述具体指令时,设置所述当前片段暂停播放;
当所述用户没有做出所述具体指令时,设置所述当前片段循环播放。
8.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-6任一项所述的游戏动画的播放方法。
9.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-6任一项所述的游戏动画的播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911373444.9A CN111145317B (zh) | 2019-12-26 | 2019-12-26 | 游戏动画的播放方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911373444.9A CN111145317B (zh) | 2019-12-26 | 2019-12-26 | 游戏动画的播放方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145317A CN111145317A (zh) | 2020-05-12 |
CN111145317B true CN111145317B (zh) | 2024-05-14 |
Family
ID=70521232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911373444.9A Active CN111145317B (zh) | 2019-12-26 | 2019-12-26 | 游戏动画的播放方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145317B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111760293B (zh) * | 2020-07-07 | 2024-02-09 | 网易(杭州)网络有限公司 | 时间轴工具的资源动态加载方法及装置、电子设备 |
CN111921193A (zh) * | 2020-08-11 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法及相关设备 |
CN113633970B (zh) * | 2021-08-18 | 2024-03-08 | 腾讯科技(成都)有限公司 | 动作效果的显示方法、装置、设备及介质 |
CN115035218B (zh) * | 2022-08-11 | 2022-11-01 | 湖南湘生网络信息有限公司 | 交互动画制作方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689278A (zh) * | 2007-06-21 | 2010-03-31 | 微软公司 | 视频游戏中的响应性过场动画 |
WO2015074469A1 (zh) * | 2013-11-20 | 2015-05-28 | 乐视网信息技术(北京)股份有限公司 | 一种实现画中画播放的方法及画中画播放装置 |
CN105435450A (zh) * | 2015-11-27 | 2016-03-30 | 深圳市望尘科技有限公司 | 一种预先生成游戏对战片段的游戏实现方法 |
CN105457275A (zh) * | 2015-11-23 | 2016-04-06 | 网易(杭州)网络有限公司 | 网络游戏中自动战斗的方法及客户端、移动终端和电脑终端 |
WO2017166622A1 (zh) * | 2016-03-28 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种视频播放方法、播放终端及媒体服务器 |
CN108762906A (zh) * | 2018-05-25 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 场景切换方法、装置、电子设备以及可读存储介质 |
WO2018210071A1 (zh) * | 2017-05-18 | 2018-11-22 | 腾讯科技(深圳)有限公司 | 场景动画的播放方法、装置及系统 |
CN109493402A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 一种剧情动画的制作方法和装置 |
-
2019
- 2019-12-26 CN CN201911373444.9A patent/CN111145317B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689278A (zh) * | 2007-06-21 | 2010-03-31 | 微软公司 | 视频游戏中的响应性过场动画 |
WO2015074469A1 (zh) * | 2013-11-20 | 2015-05-28 | 乐视网信息技术(北京)股份有限公司 | 一种实现画中画播放的方法及画中画播放装置 |
CN105457275A (zh) * | 2015-11-23 | 2016-04-06 | 网易(杭州)网络有限公司 | 网络游戏中自动战斗的方法及客户端、移动终端和电脑终端 |
CN105435450A (zh) * | 2015-11-27 | 2016-03-30 | 深圳市望尘科技有限公司 | 一种预先生成游戏对战片段的游戏实现方法 |
WO2017166622A1 (zh) * | 2016-03-28 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种视频播放方法、播放终端及媒体服务器 |
WO2018210071A1 (zh) * | 2017-05-18 | 2018-11-22 | 腾讯科技(深圳)有限公司 | 场景动画的播放方法、装置及系统 |
CN108762906A (zh) * | 2018-05-25 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 场景切换方法、装置、电子设备以及可读存储介质 |
CN109493402A (zh) * | 2018-11-09 | 2019-03-19 | 网易(杭州)网络有限公司 | 一种剧情动画的制作方法和装置 |
Non-Patent Citations (4)
Title |
---|
A New Hybrid Approach to the Animation of Complex Character Interactions in Games;D. Kravtsov;2011 Third International Conference on Games and Virtual Worlds for Serious Applications;20110728;全文 * |
剧情动画在电子游戏中的作用;耿英华;朱姝;;广东技术师范学院学报;20101215(12);全文 * |
基于UE4的ACT类游戏的设计与实现;吴洪晨;;产业科技创新;20190115(02);全文 * |
基于Unity3D在基本游戏框架下客户端研究与实现;梁成;;现代计算机(专业版);20150905(25);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111145317A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145317B (zh) | 游戏动画的播放方法、装置及服务器 | |
CN106582020B (zh) | 一种游戏关卡处理方法和装置 | |
CN112473144A (zh) | 游戏资源数据的处理方法及装置 | |
US20090021512A1 (en) | Image generation device, automatic generation method, recording medium, and program | |
US20210283504A1 (en) | Computer system and game system | |
KR102533175B1 (ko) | 온라인 게임에서의 아이템 다이어리 서비스 제공 방법 및 시스템 | |
US20100175057A1 (en) | Associating advertisements and game data in a flash-based gaming environment | |
CN115671735A (zh) | 游戏中的对象选中方法、装置和电子设备 | |
JP7381856B2 (ja) | 音声再生プログラム、音声再生装置、および音声生成方法 | |
JP7104522B2 (ja) | ゲームプログラム、情報処理方法、及び情報処理装置 | |
CN112734942B (zh) | Ar内容播放修改方法、装置、计算机设备及存储介质 | |
JP6576544B2 (ja) | 情報処理装置、情報処理方法、コンピュータ読み取り可能な記憶媒体 | |
JP7171186B2 (ja) | ゲームプログラム、情報処理方法、及び情報処理装置 | |
JP6978694B2 (ja) | ゲームプログラムおよびゲーム装置 | |
JP3796252B2 (ja) | ゲームプログラム及びゲーム装置 | |
CN117138346A (zh) | 游戏编辑方法、游戏控制方法、装置和电子设备 | |
CN117244238A (zh) | 游戏更新画面的显示控制方法、装置及电子设备 | |
JP2018099296A (ja) | ゲームプログラム、及び記憶媒体 | |
JP2007037728A (ja) | 音出力装置、音出力方法及びプログラム | |
CN116939234A (zh) | 游戏直播方法、装置和电子设备 | |
CN116251345A (zh) | 游戏中的交互控制方法、装置和电子设备 | |
CN116943193A (zh) | 游戏中的交互控制方法、装置和电子设备 | |
CN116301495A (zh) | 游戏中的控制方法、装置和电子设备 | |
CN117482527A (zh) | 虚拟角色的控制方法、编辑方法、装置和电子设备 | |
CN116850581A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |