CN102779028A - 一种客户端特效合成引擎的实现方法及装置 - Google Patents
一种客户端特效合成引擎的实现方法及装置 Download PDFInfo
- Publication number
- CN102779028A CN102779028A CN2011101181903A CN201110118190A CN102779028A CN 102779028 A CN102779028 A CN 102779028A CN 2011101181903 A CN2011101181903 A CN 2011101181903A CN 201110118190 A CN201110118190 A CN 201110118190A CN 102779028 A CN102779028 A CN 102779028A
- Authority
- CN
- China
- Prior art keywords
- special efficacy
- node
- synthesis phase
- event
- stage
- 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
Links
Images
Abstract
本发明公开了一种客户端特效合成引擎的实现方法及装置。该实现方法包括:按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;设置容器节点内触发下一特效合成阶段的事件条件;通过事件条件关联各创建的特效合成阶段。应用本发明,可以扩展特效合成的可编辑性、满足可变的特效合成表现需求。
Description
技术领域
本发明涉及计算机通信技术,特别涉及一种客户端特效合成引擎的实现方法及装置。
背景技术
随着计算机通信技术的发展,基于客户端/服务器(C/S,Client/Server)架构开发的大型多人在线角色扮演游戏(MMORPG,Massively MultiplayerOnline Role Playing Game),由于具有高流畅度、操作手感好、即时战斗等特点,因而,深受用户喜爱。
MMORPG采用客户端特效合成引擎来编辑并表现游戏中的特效合成,客户端特效合成引擎为用于控制角色特效合成编辑、施放流程的引擎,角色特效合成施放流程通常包含:吟唱、施放、飞行、命中等四个固定的阶段,每个阶段通过角色的动作、特效、声音等进行特效合成表现。在客户端特效合成引擎中,预先编辑并设置吟唱、施放、飞行、命中四个固定的阶段对应的特效合成及特效合成表现,在游戏进行过程中,当需要进行特效合成展示时,根据客户端特效合成引擎中预先设置的四个固定阶段对应的特效合成,依序进行展示以向游戏用户展示游戏特效。举例来说,以客户端特效合成引擎中预先设置的法师攻击特效合成为例,在游戏过程中,当客户端特效合成引擎接收到游戏服务器下发的攻击特效合成指令时,触发法师攻击特效合成,在游戏界面,法师首先进行吟唱,即执行准备动作,例如,吟唱咒语;然后执行施放,向受击目标做出攻击动作;然后执行飞行,通过攻击动作发出火球等道具;然后是命中,展示火球打到受击目标身上产生击中效果,从而完成整个攻击特效合成。
由上述可见,现有基于客户端特效合成引擎实现特效合成编辑的方法,通过在客户端特效合成引擎中预先设置固定的特效合成以及各特效合成对应的执行流程,方案不够灵活,特效合成编辑可扩展性较差,不能满足游戏用户对特效合成中各种效果的个性化表现需求,不便于实现多样化的特效合成逻辑。
发明内容
有鉴于此,本发明的主要目的在于提出一种客户端特效合成引擎的实现方法,扩展特效合成的可编辑性、满足可变的特效合成表现需求。
本发明的另一目的在于提出一种客户端特效合成引擎装置,扩展特效合成的可编辑性、满足可变的特效合成表现需求。
为达到上述目的,本发明提供了一种客户端特效合成引擎的实现方法,该方法包括:
按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;
设置容器节点内触发下一特效合成阶段的事件条件;
通过事件条件关联各创建的特效合成阶段。
所述容器节点包括:动作节点、特效节点以及事件节点。
所述时间轴为一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的动作节点、特效节点以及事件节点在预定时刻启动。
所述动作节点用于播放特效合成攻击方或受击方沿预先编辑好的路径移动的动作,设置有动作的起始事件、结束事件、攻击关键帧事件以及声音关键帧事件。
所述特效节点用以在指定角色身上绑定点处,或在目标位置沿预先编辑好的路径播放特效。
一个特效合成阶段对应的时间轴上设置有一个或多个事件节点,所述事件节点用以在时间轴上预先设定的时间位置上启动事件执行逻辑。
所述事件条件中设置有特效合成变量、和/或,阶段变量。
进一步包括:
触发特效合成的初始特效合成阶段启动;
按照时间轴顺序执行挂载于该时间轴上的容器节点;
判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行触发条件对应的下一特效合成阶段,否则,继续执行该容器节点。
通过判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式来判断容器节点内设置的事件条件是否满足触发条件。
所述判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式具体包括:
A、按照预先设置的时间周期,读取事件条件中存储的特效合成变量或阶段变量;
B、判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的下一特效合成阶段;如果不满足,返回执行步骤A。
所述判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式具体包括:
读取事件条件中存储的特效合成变量或阶段变量,判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的下一特效合成阶段;如果不满足,结束流程。
一种客户端特效合成引擎装置,该装置包括:特效合成阶段创建模块、特效合成阶段设置模块以及特效合成阶段关联模块,其中,
特效合成阶段创建模块,用于按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
特效合成阶段设置模块,用于设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点,并设置容器节点内触发下一特效合成阶段的事件条件;
特效合成阶段关联模块,用于通过特效合成阶段设置模块中设置的各特效合成阶段的事件条件关联特效合成阶段创建模块创建的各特效合成阶段。
所述时间轴为一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的包含动作节点、特效节点以及事件节点的容器节点在预定时刻启动。
进一步包括:
特效合成阶段执行模块,用于在接收到触发信息后,从特效合成阶段设置模块中读取初始特效合成阶段,按照初始特效合成阶段内设置的时间轴顺序执行挂载于该时间轴上的容器节点;判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行触发条件对应的下一特效合成阶段,否则,继续执行该容器节点直至结束。
由上述的技术方案可见,本发明提供的一种客户端特效合成引擎的实现方法及装置,按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;设置容器节点内触发下一特效合成阶段的事件条件;通过事件条件关联各创建的特效合成阶段。这样,通过将特效合成阶段抽象挂载在时间轴上的容器节点,并在容器节点内设置触发下一特效合成阶段的事件条件,使得特效合成阶段实例在执行时,可以多个特效合成阶段实例同时运行,增强了特效合成编辑的可扩展性、实现多样化的特效合成逻辑。
附图说明
图1为本发明实施例客户端特效合成引擎在游戏客户端的逻辑结构示意图;
图2为本发明实施例客户端特效合成引擎的实现方法流程示意图;
图3为本发明实施例特效合成阶段的结构示意图;
图4为本发明实施例线性与非线性结合的特效合成框架结构示意图;
图5为本发明实施例阶段内的线性关系示意图;
图6为本发明实施例“破胆”特效合成的编辑流程示意图;
图7为本发明实施例攻击特效合成编辑流程示意图;
图8为本发明实施例创建的套路选择阶段结构示意图;
图9为本发明实施例创建的阶段2结构示意图;
图10为本发明实施例创建的阶段4结构示意图;
图11为本发明实施例创建的阶段6结构示意图;
图12为本发明实施例关联的各阶段衔接关系示意图;
图13为本发明实施例客户端特效合成引擎装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
现有技术中,预先将包含四个阶段的特效合成设置在客户端特效合成引擎中,使得客户端特效合成引擎执行流程按照固定阶段执行,不能满足游戏用户的个性化表现需求,不便于实现比较复杂多变的特效合成逻辑。本发明实施例中,针对预先设置固定阶段的客户端特效合成引擎,提出了特效合成阶段的抽象概念,按照特效合成逻辑将特效合成划分为一个或多个功能阶段,并通过在各功能阶段中设置变量与事件触发检查机制以关联各阶段,从而可以编辑出各种复杂的特效合成逻辑,实现特效合成,例如,实现多实例特效合成阶段并行执行,从而增强特效合成的可扩展性、满足游戏用户可变的特效合成表现需求。
下面先对本发明实施例的客户端特效合成引擎进行说明。
图1为本发明实施例客户端特效合成引擎在游戏客户端的逻辑结构示意图。参见图1,游戏客户端包括上层逻辑层、客户端特效合成引擎层以及底层引擎层,其中,上层逻辑层包括:游戏逻辑层以及特效合成编辑器等;底层引擎层包括:角色、特效、音效等,特效合成引擎层处于角色、特效、音效等底层引擎层之上,可以被游戏逻辑层调用,也可以被特效合成编辑器直接调用;客户端特效合成引擎,是游戏客户端中用来控制角色特效合成的一套逻辑,可以抽象为一个相对独立的客户端特效合成引擎层。
本发明实施例中,客户端特效合成引擎的实现机制包括:泛化的特效合成阶段设计、事件节点的条件检查和行为触发机制、特效合成变量/阶段变量的应用机制以及阶段内节点的时间线性和阶段间事件非线性相结合的特效合成框架。
图2为本发明实施例客户端特效合成引擎的实现方法流程示意图。参见图2,该流程包括:
步骤201,按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
本步骤中,特效合成逻辑可以是特效合成的攻击方及特效合成的受击方,对于特效合成的攻击方,又可以根据攻击特效合成的多少进行划分。
步骤202,设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;
特效合成按照时间顺序执行,本步骤中,预先为每个特效合成阶段设置时间轴,在特效合成阶段执行时,以时间的顺序执行时间轴上预先设置的特效合成阶段内容,即容器节点。
特效合成阶段由时间轴以及挂载于时间轴上的动作节点、特效节点、事件节点的容器组成。其中,
时间轴是一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的动作节点、特效节点、事件节点等在预定时刻启动。
图3为本发明实施例特效合成阶段的结构示意图。参见图3,一个特效合成阶段包含三个时间轴,在每个时间轴上,分别挂载相应的动作节点、特效节点、事件节点等,挂载在时间轴上的节点包括节点起始时间点以及节点终止时间点,在时间轴运行到节点起始时间点时,触发相应的节点启动并执行。各节点起始时间点在时间轴上的位置,可根据游戏进程进行设置。
步骤203,设置容器节点内触发下一特效合成阶段的事件条件;
本步骤中,可以根据游戏进程需要以及游戏用户个性化的需求,在特效合成阶段对应的容器节点内,设置触发下一特效合成阶段的事件条件,用以实现多特效合成阶段的并行运行。
本发明实施例中,一个特效合成阶段时间轴上挂载的动作节点、特效节点、事件节点分别用以在预先设定的时间轴位置上启动相应的动作、特效、事件执行逻辑。
事件节点用以在时间轴上预先设定的时间位置上启动事件执行逻辑。事件条件用以产生新的特效合成阶段、播放音效、设置特效合成变量、向服务器发送攻击包、设置角色状态等。因而,动作节点、特效节点、事件节点都可以利用配置事件条件的机制来修改事件条件中预先设置的特效合成变量/阶段变量,用以触发是否执行预先编辑好的新的特效合成阶段。例如,客户端游戏上层模块可以通过发送特效合成变量值更新事件条件中存储的特效合成变量或阶段变量,以通知特效合成执行第几段攻击,这样,可以实现客户端游戏上层模块和单个特效合成之间的交互。再例如,客户端游戏上层模块可以通过接收的特效合成变量值更新事件条件中存储的特效合成变量或阶段变量,通知特效合成开始吟唱,而接收的特效合成变量值更新指令可以是服务器返回给客户端游戏上层模块的,通过这种机制,可以实现服务器和单个特效合成之间的交互。
实际应用中,事件条件的触发次数也可以进行配置,可以是触发一次或预先指定的次数。
特效合成变量与阶段变量,是客户端特效合成引擎中预置的一套固定变量,一方面,用于在特效合成或特效合成阶段内部保存或传递信息;另一方面,用于在外界和特效合成之间传递信息。特效合成变量在整个特效合成中可见,阶段变量只在相关阶段实例中可见。特效合成变量或阶段变量的值可以在动作节点、特效节点、事件节点的相关位置进行设置和修改;另外在特效合成运行时,游戏上层模块也可以直接对其进行设置和修改,例如,如果某个特效合成可以在一定时间内搜索周围的目标,进行攻击,次数不超过10次,则可以将设置的最多攻击次数10次保存到特效合成变量里,每搜索到一个目标进行攻击时,将保存的特效合成变量值减一,从而控制特效合成的运行逻辑或设置某些状态,这样,可以实现较大的灵活性以及特效合成可定制性。
这样,相对于现有的客户端特效合成引擎多是固定的分解为吟唱、施放、飞行、击中几个阶段,对应的编辑方式也是对每个特效合成固定配置这几个阶段的运行参数,而且这几个阶段的顺序是固定的,不需要复杂的事件行为触发机制,基于上述特效合成变量与事件条件机制来编辑特效合成,可以使特效合成的逻辑具备比较高的逻辑组合能力,例如,顺序/分支/循环,使得特效合成在编辑时具备比较高的灵活性并实现多个特效合成阶段并行运行。例如,等待触发的事件条件机制可以是等待一个特效合成变量被设置为特定值,举例来说,等待游戏服务器返回一个网络包,才触发该特效合成流程继续执行,而在接收到网络包之前,可以一直播放某个动作或特效,可以实现特效合成和游戏服务器、客户端逻辑层等外部环境的交互。
挂载的动作节点用以播放特效合成攻击方或受击方的动作,使得播放动作的角色可以在沿预先编辑好的路径移动。在动作节点中,设置有动作的起始事件、结束事件、攻击关键帧事件、声音关键帧事件等,可以在这些事件中配置事件行为,配置的方法与事件节点中配置事件行为相同。
挂载的特效节点用以在指定角色身上绑定点处播放特效,或在目标位置播放特效,特效可以绑定编辑好的路径,实现特效沿路径飞行的效果。同时,特效节点中也可以固定设置特效的起始事件、结束事件,并可以根据与事件节点中配置事件行为相同的方法,在这些事件中配置事件行为。
如上所述的路径用以为动作节点和特效节点提供运动路线。可以设定一条路径的运动方向,例如,从攻击方到受击方,以及动作节点、和/或,特效节点在该路径上的移动速度与移动方式,移动方式可以是直线运动,也可以是曲线运动。
执行特效合成时,从特效合成起始阶段开始执行,执行过程中,可能会同时产生一个或多个实例特效合成阶段,多个特效合成阶段实例可以并行执行。例如,吟唱时可以不断定时向多个目标射击,向每个目标射击可以是一个射击特效合成的一个特效合成阶段实例,这样,就具有多个特效合成阶段实例同时运行。
较佳地,在事件节点中设置事件条件。
步骤204,通过事件条件关联各创建的特效合成阶段。
本步骤中,在设置好各特效合成阶段对应的时间轴以及挂在于时间轴上的容器节点后,需要将各设置的特效合成阶段通过容器节点内设置的事件条件进行关联,使设置的各特效合成阶段按照设置的时间轴连续、有序运行。
综上,通过特效合成阶段的创建与事件条件触发机制结合在一起,可以得到一个线性与非线性相结合的特效合成框架结构。
图4为本发明实施例线性与非线性结合的特效合成框架结构示意图。参见图4,特效合成包括七个特效合成阶段:阶段1~阶段7,特效合成启动,进入阶段1,阶段1为起始阶段,在分别运行到阶段1的时间轴上事件节点1对应的时间点、事件节点2对应的时间点以及事件节点3对应的时间点时,如果各事件节点中的事件条件满足触发条件,分别触发执行阶段2、阶段3以及阶段4,阶段2、阶段3以及阶段4可以并行执行,独立运行;在分别运行到阶段2的时间轴上事件节点4对应的时间点以及事件节点5对应的时间点时,如果阶段2对应的事件节点中的事件条件满足触发条件,分别触发执行阶段5和阶段6;同理,在运行到阶段4的时间轴上事件节点6对应的时间点时,如果事件节点中的事件条件满足触发条件,触发执行阶段7;阶段3在运行完后结束。
在图4中,阶段之间的关系可以是非线性关系,即一个阶段在执行过程中,可以根据预先的设置,通过事件条件来启动新的阶段,在一个特效合成过程中,允许有多个阶段并行执行,阶段内的关系是线性关系。
图5为本发明实施例阶段内的线性关系示意图。参见图5,在阶段启动后,以阶段启动时刻为原点,按时间顺序启动设置的时间轴上的动作、特效、事件节点。例如,在启动时刻,启动动作节点,然后,依序启动第一事件节点、特效节点以及第二事件节点,在动作节点执行过程中,并行执行事件节点以及特效节点。这样,通过阶段内的线性关系,可以表现不同动作节点、特效节点以及事件节点的组合。
这样,阶段内节点的时间线性与阶段间事件非线性相结合的特效合成框架,可以让特效合成的编辑有很强的扩展性,为实现一些复杂的特效合成逻辑提供了支撑。
进一步包括:
步骤205,触发特效合成的初始特效合成阶段启动;
步骤206,按照时间轴顺序执行挂载于该时间轴上的容器节点;
步骤207,判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行步骤208,否则,继续执行该容器节点;
本步骤中,如果容器节点内未设置事件条件或设置的事件条件未满足触发条件,表明在该特效合成阶段中,没有需要并行执行的特效合成阶段,则继续执行直至该容器节点执行完毕。如果容器节点内设置有事件条件、且设置的事件条件满足触发条件,表明在该特效合成阶段中,需要并行执行触发条件对应的下一特效合成阶段。
步骤208,执行触发条件对应的下一特效合成阶段,返回执行步骤206。
本步骤中,执行触发条件对应的下一特效合成阶段具体包括:
检查事件节点中的事件条件,如果事件条件满足触发条件,执行预先编辑好的事件行为,即下一特效合成阶段,事件行为可以为一个或多个。当然,实际应用中,也可以在达到预先设定的时间轴位置时,不检查事件条件,直接执行预先编辑好的事件行为。其中,
判断事件条件满足触发条件,具体来说,是判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式(触发条件),包括循环检查判断以及一次检查判断,循环检查判断的具体应用场景可以是等待游戏服务器下发预设消息来触发事件行为,包括:
A、按照预先设置的时间周期,读取事件条件中存储的特效合成变量或阶段变量;
B、判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的事件行为;如果不满足,返回执行步骤A。
一次检查判断的具体应用场景可以是根据特效合成变量的当前值来决定是否触发新的事件行为,包括:读取事件条件中存储的特效合成变量或阶段变量,判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的事件行为;如果不满足,结束流程。
下面以“破胆”特效合成为例说明特效合成的编辑过程。
图6为本发明实施例“破胆”特效合成的编辑流程示意图。参见图6,该流程包括:
步骤601,新建“破胆”特效合成并分配标识;
本步骤中,当需要进行新的特效合成编辑时,在特效合成编辑器中新建特效合成,并为新建特效合成分配特效合成标识(ID),生成“破胆”特效合成与特效合成标识的映射关系。
在新建“破胆”特效合成后,可编辑“破胆”特效合成的基本信息,例如,特效合成名称为起手·破胆;特效合成描述为击打敌人要害造成一次普通伤害;起始阶段为1。
步骤602,为“破胆”特效合成设置第一特效合成阶段;
本步骤中,特效合成编辑器为新建的特效合成阶段自动生成一个唯一的编号,作为该特效合成阶段的ID。并编辑特效合成阶段的基本信息,例如,特效合成阶段名称为攻击、阶段描述为攻击、阶段类型为常规、实例个数为1、开始阶段分离为否、下个阶段事件为新阶段1、阶段结束事件参数为空、时间间隔事件参数为空等。
步骤603,为特效合成阶段设置时间轴及动作节点;
本步骤中,在添加动作前,需要设置时间轴用于挂载动作节点,在设置的时间轴上添加动作节点,从动作节点包含的动作列表中,选定一个动作,例如,Attack3,添加在时间轴上相应的时间点。
步骤604,设置特效合成阶段的特效节点;
本步骤中,需要为特效合成阶段加入刀光特效,重新建立一个时间轴,当然,也可以采用挂载动作节点的时间轴,然后在时间轴上添加一个美术特效,例如,TX12_11000.eff,并将该美术特效置于时间轴上合适的位置。
步骤605,设置第二特效合成阶段;
本步骤中,第二特效合成阶段为受击阶段,与设置攻击阶段相类似,例如,生成受击阶段ID,并编辑受击的基本信息,在此不再赘述。
步骤606,为第二特效合成阶段设置时间轴、受击动作节点及受击光效特效节点;
本步骤中,在受击阶段,需要为受击目标添加受击动作,并在受击目标上播放受击光效,在设置的时间轴上为受击目标添加受击动作时,将对象类型设置为目标角色1;在设置的时间轴上为受击目标添加受击光效时,加入三个特效,前两个特效分别是十字刀光和鲜血,并将其绑定到“目标角色1”,“目标角色1”是特效合成编辑器默认的单体攻击对象。
步骤607,关联第一特效合成阶段以及第二特效合成阶段形成“破胆”特效合成。
本步骤中,首先,在特效合成编辑器中选中“新阶段1”,并将阶段参数中“下个阶段ID”修改为2,这样,通过新阶段1,可以将攻击阶段及受击阶段连接起来,但此时,如果预览动画,还未产生有受击光效。
所应说明的是,修改的下个阶段ID值根据需要链接的下一阶段的ID确定。
其次,选中第一特效合成阶段(攻击阶段)里的动作,将参数“动作关键帧事件”设为“新阶段1”。
至此,“破胆”特效合成编辑完成,可以通过动画预览播放效果。
上述实施例中,特效合成包括攻击阶段和受击阶段,实际应用中,特效合成也可以包括多个攻击阶段和多个受击阶段,以下以包括多个攻击阶段和多个受击阶段的特效合成为例,说明特效合成的编辑过程,用以实现两套不同的攻击与受击表现,特效合成施放时随机播放其中一套。
图7为本发明实施例攻击特效合成编辑流程示意图。参加图7,该流程包括:
步骤701,新建攻击特效合成;
步骤702,创建以时间轴表示的包含两个事件节点的套路选择阶段;
本步骤中,设创建的套路选择阶段为阶段1,在阶段1中添加两个时间轴,在每个时间轴上分别创建一个事件节点,分别为第一事件节点和第二事件节点。
图8为本发明实施例创建的套路选择阶段结构示意图。参见图8,在阶段1设置的时间轴启动时刻创建第一事件和第二事件。
步骤703,创建两个新阶段作为攻击阶段;
本步骤中,创建两个新阶段作为攻击阶段,分别为阶段2和阶段3,其中,阶段2对应攻击模式1,阶段2对应攻击模式2,分别设置阶段2和阶段3的时间轴。
在阶段2设置的时间轴上,添加一个用于指定攻击动作的动作节点、一个用于指定攻击特效的特效节点以及两个事件节点,其中,一个事件节点用于向服务器发送攻击数据包,另一个事件节点用于控制攻击播放音效,两个事件节点的事件条件都置空。
图9为本发明实施例创建的阶段2结构示意图。参见图9,在阶段2的启动时刻,设置动作节点,然后,在时间轴上,依序设置两个事件节点以及特效节点。
阶段3的设置与阶段2相类似,不同的是,只是配置的动作节点、事件节点以及特效节点中包含的内容和属性不同,用以实现不同的攻击表现。
步骤704,创建两个新阶段作为受击阶段;
本步骤中,创建两个新阶段作为受击阶段,用于表现普通受击效果,分别为阶段4和阶段5,其中,阶段4对应受击模式1,阶段5对应受击模式2,受击模式1与攻击模式1相对应,受击模式2与攻击模式2相对应,分别设置阶段4和阶段5的时间轴。
在阶段4设置的时间轴上,添加一个用于指定受击动作的动作节点、一个用于指定受击特效的特效节点以及两个事件节点,其中,一个事件节点用于处理暴击效果,另一个事件节点用于控制播放音效,控制播放音效的事件节点中,事件条件置为空。
图10为本发明实施例创建的阶段4结构示意图。参见图10,在阶段4的启动时刻,分别设置动作节点、特效节点以及两个事件节点。
阶段5的设置与阶段4相类似,不同的是,只是配置的动作节点、事件节点以及特效节点中包含的内容和属性不同,用以实现不同的受击表现。
步骤705,创建一个新阶段作为暴击阶段;
本步骤中,创建一个阶段6作为暴击阶段,用于表现暴击效果。设置阶段6的时间轴,在阶段6设置的时间轴上,添加一个用于指定暴击特效的特效节点以及两个事件节点,其中,一个事件节点用于播放暴击音效,另一个事件节点用于触发屏幕震动效果,两个事件节点的事件条件都置空。
图11为本发明实施例创建的阶段6结构示意图。参见图11,在阶段6的启动时刻,分别设置特效节点以及两个事件节点。
步骤706,关联创建的阶段。
本步骤中,如前所述,已创建阶段1~阶段6,为了实现攻击特效合成,需要将创建的各阶段进行关联,使之实现攻击。具体来说,
首先,配置阶段1中第一事件节点的事件条件为“特效合成变量1”等于1、行为配置为启动阶段2;
配置第二事件节点的事件条件为“特效合成变量1”等于2、行为配置为启动阶段3。
实际应用中,在攻击特效合成运行时,设置“特效合成变量1”等于1还是等于2,可以是计算得到的随机值,从而可以实现随机选择运行阶段2或阶段3,以实现表现上的差异。当然,也可以选择运行阶段2和阶段3。
其次,分别设置阶段2以及阶段3动作节点中预设的攻击事件相关信息;
本步骤中,阶段2动作节点中预设的攻击事件,即用于指定攻击动作,设置攻击事件触发时间点信息以及攻击事件的事件行为配置,其中,触发时间点可以是预设的与动作关联的一个时间点,例如,设置为动作播放了一半时对应的时间点,并将攻击事件的事件行为配置为启动阶段4,这样,在阶段2中的攻击动作播放到预设的与动作关联的时间点时,就可以触发阶段4的启动。
设置阶段3动作节点中预设的攻击事件相关信息与阶段2设置相类似,不同的是,预设的与动作关联的时间点信息可能不同,以及,将阶段3中动作节点的攻击事件的事件行为配置为启动阶段5。
这样,经过如上的设置,可以设置不同的攻击阶段匹配不同的受击表现。
最后,分别设置阶段4和阶段5中事件节点的事件条件;
本步骤中,阶段4中的第一个事件节点用于处理暴击效果,将该事件节点的事件条件设置为“特效合成变量2”是否大于0,事件行为设置为启动阶段6。这样,在攻击特效合成运行时,服务器根据游戏进程以及获取的游戏相关信息,判断客户端的当前攻击是否产生暴击,如果产生暴击,则特效合成引擎动态设置“特效合成变量2”为一个大于0的值,当攻击特效合成运行到阶段4中的第一个事件节点时,读取“特效合成变量2”的值进行判断,如果“特效合成变量2”的值大于0,则启动阶段6播放暴击效果。
设置阶段5中事件节点的事件条件与阶段4设置相同。
图12为本发明实施例关联的各阶段衔接关系示意图。参见图12,特效合成启动进入阶段1(套路选择),然后,分为两个并行执行路线,一路经阶段2(攻击模式1)进入阶段4(受击模式1),最后到达阶段6(暴击)完成一路攻击;另一路经阶段3(攻击模式2)进入阶段5(受击模式2),最后到达阶段6(暴击)完成另一路攻击。
至此,攻击特效合成编辑流程结束。
由上述可见,本发明实施例的客户端特效合成引擎的实现方法,按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;设置容器节点内触发下一特效合成阶段的事件条件;通过事件条件关联各创建的特效合成阶段。这样,通过将特效合成阶段抽象容器节点,特效合成阶段概念更加泛化,同时,通过在容器节点内设置触发下一特效合成阶段的事件条件,使得特效合成阶段实例在执行时,可以多个特效合成阶段实例同时运行,增强了特效合成编辑的可扩展性、满足了游戏用户可变的特效合成表现需求;进一步地,事件节点的条件检查、行为触发机制以及事件条件内特效合成变量/阶段变量的应用更新机制,通过变量和事件的组合,可以实现特效合成阶段的分支/顺序/循环结构,可以使特效合成与外围环境,如客户端上层逻辑、服务器进行交互,从而实现各种可变的特效合成实时表现需求;而且,各特效合成阶段相互独立进行编辑,通过挂载于时间轴上事件节点的事件条件检查,关联多个相互独立的特效合成阶段,可以灵活地编辑出各种复杂的特效合成逻辑,便于实现比较复杂多变的特效合成逻辑,进一步增强了特效合成的可扩展性。
图13为本发明实施例客户端特效合成引擎装置结构示意图。参见图13,该装置包括:特效合成阶段创建模块、特效合成阶段设置模块以及特效合成阶段关联模块,其中,
特效合成阶段创建模块,用于按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
特效合成阶段设置模块,用于设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点,并设置容器节点内触发下一特效合成阶段的事件条件;
特效合成阶段关联模块,用于通过特效合成阶段设置模块中设置的各特效合成阶段的事件条件关联特效合成阶段创建模块创建的各特效合成阶段。
本发明实施例中,时间轴为一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的包含动作节点、特效节点以及事件节点的容器节点在预定时刻启动。
该装置进一步包括:
特效合成阶段执行模块,用于在接收到触发信息后,从特效合成阶段设置模块中读取初始特效合成阶段,按照初始特效合成阶段内设置的时间轴顺序执行挂载于该时间轴上的容器节点;判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行触发条件对应的下一特效合成阶段,否则,继续执行该容器节点直至结束。
针对客户端特效合成引擎的逻辑,本发明实施例中,进一步设计了配套的特效合成编辑器。
特效合成编辑器包含如下主要功能布局:菜单栏功能区、工具栏功能区、资源栏功能区、参数编辑框功能区、预览框功能区、阶段编辑框功能区、以及,时间轴及时间点编辑框功能区,其中,
菜单栏功能区用于展示特效合成编辑器的常用菜单项,工具栏功能区用于展示特效合成编辑器的常用工具项,资源栏功能区用于展示特效合成编辑器的特效合成项、动作项以及特效项等,在编辑特效合成时,可以在阶段编辑框功能区中编辑和查看特效合成中所有阶段及其关系;选中某一阶段后,可以在时间轴及时间点编辑框功能区中,查看该阶段中所有时间轴和时间点的布局;针对选中的特效合成、阶段、时间轴、特效节点、动作节点、事件节点,可以在参数编辑框功能区中查看和修改其属性参数;编辑好特效合成后,可以在预览框功能区中查看效果。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种客户端特效合成引擎的实现方法,其特征在于,该方法包括:
按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点;
设置容器节点内触发下一特效合成阶段的事件条件;
通过事件条件关联各创建的特效合成阶段。
2.如权利要求1所述的方法,其特征在于,所述容器节点包括:动作节点、特效节点以及事件节点。
3.如权利要求2所述的方法,其特征在于,所述时间轴为一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的动作节点、特效节点以及事件节点在预定时刻启动。
4.如权利要求3所述的方法,其特征在于,所述动作节点用于播放特效合成攻击方或受击方沿预先编辑好的路径移动的动作,设置有动作的起始事件、结束事件、攻击关键帧事件以及声音关键帧事件。
5.如权利要求3所述的方法,其特征在于,所述特效节点用以在指定角色身上绑定点处,或在目标位置沿预先编辑好的路径播放特效。
6.如权利要求3所述的方法,其特征在于,一个特效合成阶段对应的时间轴上设置有一个或多个事件节点,所述事件节点用以在时间轴上预先设定的时间位置上启动事件执行逻辑。
7.如权利要求1所述的方法,其特征在于,所述事件条件中设置有特效合成变量、和/或,阶段变量。
8.如权利要求1至7任一项所述的方法,其特征在于,进一步包括:
触发特效合成的初始特效合成阶段启动;
按照时间轴顺序执行挂载于该时间轴上的容器节点;
判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行触发条件对应的下一特效合成阶段,否则,继续执行该容器节点。
9.如权利要求8所述的方法,其特征在于,通过判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式来判断容器节点内设置的事件条件是否满足触发条件。
10.如权利要求9所述的方法,其特征在于,所述判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式具体包括:
A、按照预先设置的时间周期,读取事件条件中存储的特效合成变量或阶段变量;
B、判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的下一特效合成阶段;如果不满足,返回执行步骤A。
11.如权利要求9所述的方法,其特征在于,所述判断事件条件中存储的特效合成变量或阶段变量是否满足预设的事件条件表达式具体包括:
读取事件条件中存储的特效合成变量或阶段变量,判断特效合成变量或阶段变量是否满足预设的事件条件表达式,如果满足,执行预先编辑好的下一特效合成阶段;如果不满足,结束流程。
12.一种客户端特效合成引擎装置,其特征在于,该装置包括:特效合成阶段创建模块、特效合成阶段设置模块以及特效合成阶段关联模块,其中,
特效合成阶段创建模块,用于按照特效合成逻辑创建包含一个或多个特效合成阶段的特效合成;
特效合成阶段设置模块,用于设置各特效合成阶段对应的时间轴及挂载于时间轴上的容器节点,并设置容器节点内触发下一特效合成阶段的事件条件;
特效合成阶段关联模块,用于通过特效合成阶段设置模块中设置的各特效合成阶段的事件条件关联特效合成阶段创建模块创建的各特效合成阶段。
13.如权利要求12所述的装置,其特征在于,所述时间轴为一个线性执行容器,以所在特效合成阶段的启动时刻为零时刻,控制挂载的包含动作节点、特效节点以及事件节点的容器节点在预定时刻启动。
14.如权利要求12或13所述的装置,其特征在于,进一步包括:
特效合成阶段执行模块,用于在接收到触发信息后,从特效合成阶段设置模块中读取初始特效合成阶段,按照初始特效合成阶段内设置的时间轴顺序执行挂载于该时间轴上的容器节点;判断容器节点内设置的事件条件是否满足触发条件,如果满足,执行触发条件对应的下一特效合成阶段,否则,继续执行该容器节点直至结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101181903A CN102779028A (zh) | 2011-05-09 | 2011-05-09 | 一种客户端特效合成引擎的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101181903A CN102779028A (zh) | 2011-05-09 | 2011-05-09 | 一种客户端特效合成引擎的实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102779028A true CN102779028A (zh) | 2012-11-14 |
Family
ID=47123950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101181903A Pending CN102779028A (zh) | 2011-05-09 | 2011-05-09 | 一种客户端特效合成引擎的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102779028A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394331A (zh) * | 2014-12-05 | 2015-03-04 | 厦门美图之家科技有限公司 | 一种画面视频中添加匹配音效的视频处理方法 |
CN105913498A (zh) * | 2016-03-28 | 2016-08-31 | 重庆工程学院 | 采用虚幻引擎技术提供技术终端的全平台对接服务系统 |
CN108037952A (zh) * | 2017-11-30 | 2018-05-15 | 腾讯科技(成都)有限公司 | 对象操作的处理方法、对象操作数据的生成方法及装置 |
WO2019149000A1 (zh) * | 2018-01-30 | 2019-08-08 | 广州市百果园信息技术有限公司 | 互动特效视频的处理方法、介质和终端设备 |
CN110147231A (zh) * | 2019-05-23 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 组合特效生成方法、装置及存储介质 |
CN110659246A (zh) * | 2019-09-26 | 2020-01-07 | 北京百度网讯科技有限公司 | 基于容器的文件挂载方法、装置及电子设备 |
CN108983969B (zh) * | 2018-06-26 | 2021-08-06 | 魔力小鸟(北京)信息技术有限公司 | 虚拟形象交互式控制及可视化管理的系统 |
WO2021233379A1 (zh) * | 2020-05-21 | 2021-11-25 | 北京字节跳动网络技术有限公司 | 配置视频特效方法、装置、设备及存储介质 |
CN113709383A (zh) * | 2020-05-21 | 2021-11-26 | 北京字节跳动网络技术有限公司 | 配置视频特效方法、装置、设备及存储介质 |
WO2022062788A1 (zh) * | 2020-09-28 | 2022-03-31 | 北京达佳互联信息技术有限公司 | 互动特效展示方法及终端 |
US11962929B2 (en) | 2020-05-21 | 2024-04-16 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and device for configuring video special effect, and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247481A (zh) * | 2007-02-16 | 2008-08-20 | 李西峙 | 基于角色扮演的实时三维电影/游戏的制作及播放的系统和方法 |
CN101630402A (zh) * | 2008-07-14 | 2010-01-20 | 苏州远唯网络技术服务有限公司 | 一种用于电子商务的三维动画引擎 |
CN101976386A (zh) * | 2010-10-12 | 2011-02-16 | 大唐软件技术股份有限公司 | 一种流程协同的控制方法 |
-
2011
- 2011-05-09 CN CN2011101181903A patent/CN102779028A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247481A (zh) * | 2007-02-16 | 2008-08-20 | 李西峙 | 基于角色扮演的实时三维电影/游戏的制作及播放的系统和方法 |
CN101630402A (zh) * | 2008-07-14 | 2010-01-20 | 苏州远唯网络技术服务有限公司 | 一种用于电子商务的三维动画引擎 |
CN101976386A (zh) * | 2010-10-12 | 2011-02-16 | 大唐软件技术股份有限公司 | 一种流程协同的控制方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394331A (zh) * | 2014-12-05 | 2015-03-04 | 厦门美图之家科技有限公司 | 一种画面视频中添加匹配音效的视频处理方法 |
CN105913498A (zh) * | 2016-03-28 | 2016-08-31 | 重庆工程学院 | 采用虚幻引擎技术提供技术终端的全平台对接服务系统 |
CN108037952A (zh) * | 2017-11-30 | 2018-05-15 | 腾讯科技(成都)有限公司 | 对象操作的处理方法、对象操作数据的生成方法及装置 |
WO2019105395A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 对象操作的处理、对象操作数据的生成方法及计算机设备 |
CN108234903B (zh) * | 2018-01-30 | 2020-05-19 | 广州市百果园信息技术有限公司 | 互动特效视频的处理方法、介质和终端设备 |
WO2019149000A1 (zh) * | 2018-01-30 | 2019-08-08 | 广州市百果园信息技术有限公司 | 互动特效视频的处理方法、介质和终端设备 |
US11533442B2 (en) | 2018-01-30 | 2022-12-20 | Guangzhou Baiguoyuan Information Technology Co., Ltd. | Method for processing video with special effects, storage medium, and terminal device thereof |
CN108983969B (zh) * | 2018-06-26 | 2021-08-06 | 魔力小鸟(北京)信息技术有限公司 | 虚拟形象交互式控制及可视化管理的系统 |
CN110147231B (zh) * | 2019-05-23 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 组合特效生成方法、装置及存储介质 |
CN110147231A (zh) * | 2019-05-23 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 组合特效生成方法、装置及存储介质 |
CN110659246A (zh) * | 2019-09-26 | 2020-01-07 | 北京百度网讯科技有限公司 | 基于容器的文件挂载方法、装置及电子设备 |
WO2021233379A1 (zh) * | 2020-05-21 | 2021-11-25 | 北京字节跳动网络技术有限公司 | 配置视频特效方法、装置、设备及存储介质 |
CN113709383A (zh) * | 2020-05-21 | 2021-11-26 | 北京字节跳动网络技术有限公司 | 配置视频特效方法、装置、设备及存储介质 |
EP4142297A4 (en) * | 2020-05-21 | 2023-08-30 | Beijing Bytedance Network Technology Co., Ltd. | METHOD, DEVICE AND APPARATUS FOR CONFIGURATION OF A VIDEO SPECIAL EFFECT AND STORAGE MEDIA |
US11962929B2 (en) | 2020-05-21 | 2024-04-16 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and device for configuring video special effect, and storage medium |
WO2022062788A1 (zh) * | 2020-09-28 | 2022-03-31 | 北京达佳互联信息技术有限公司 | 互动特效展示方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779028A (zh) | 一种客户端特效合成引擎的实现方法及装置 | |
KR101342228B1 (ko) | 렌더링 제어 장치, 그 제어 방법, 컴퓨터 판독 가능한 저장 매체, 렌더링 서버, 및 렌더링 시스템 | |
CN107423015B (zh) | 游戏内容的同步显示方法和装置 | |
US20080016176A1 (en) | System for development of games for mobile devices and distribution thereof | |
US20070060346A1 (en) | Tool for video gaming system and method | |
US20070021203A1 (en) | Mobile handset video game system and method | |
CN106502670A (zh) | 一种游戏场景切换方法与装置 | |
CN104835187A (zh) | 一种动画编辑器及其编辑方法 | |
JP2008012112A (ja) | オンラインビデオゲーム制御サーバ、およびオンラインビデオゲーム制御方法 | |
CN106331832B (zh) | 信息显示方法和装置 | |
US20070018997A1 (en) | Graphics images system and method | |
US10398986B1 (en) | System for multiplayer game searching and matching and methods therefor | |
CN108310771A (zh) | 任务的执行方法和装置、存储介质、电子装置 | |
CN109672918A (zh) | 动画的同步播放方法和装置 | |
CN110070609A (zh) | 地形数据的处理方法、装置、存储介质、处理器及终端 | |
CN111001158A (zh) | 属性参数的更新方法和装置、存储介质及电子装置 | |
CN108144301B (zh) | 虚拟对象信息的显示方法和装置、存储介质、电子装置 | |
CN112295230A (zh) | 虚拟场景中虚拟道具的激活方法、装置、设备及存储介质 | |
CN101313363A (zh) | 一种播放视频的方法和装置 | |
CN109731337A (zh) | Unity中粒子特效创建方法、装置、电子设备及存储介质 | |
CN101308524A (zh) | 一种通用的二维横版游戏地图编辑设计 | |
CN112156472B (zh) | 虚拟道具的控制方法、装置、设备及计算机可读存储介质 | |
KR100895170B1 (ko) | 비디오 게임을 실행하는 방법 및 이동 단말기와 그 시스템 | |
JPWO2012086149A1 (ja) | コンピュータ装置、コンピュータ装置によるゲームの制御方法、及び記録媒体 | |
JP2021074395A (ja) | 音声再生プログラム、音声再生装置、および音声生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121114 |