CN111124695A - Dynamic effect management method, system and equipment - Google Patents
Dynamic effect management method, system and equipment Download PDFInfo
- Publication number
- CN111124695A CN111124695A CN201911162236.4A CN201911162236A CN111124695A CN 111124695 A CN111124695 A CN 111124695A CN 201911162236 A CN201911162236 A CN 201911162236A CN 111124695 A CN111124695 A CN 111124695A
- Authority
- CN
- China
- Prior art keywords
- effect
- manager
- scene
- dynamic effect
- dynamic
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multi Processors (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种动效管理方法、系统及设备。本说明书一实施例的方法流程包括:创建用于管理级联动效的动效管理器,其中,每个所述动效管理器对应一个级联动效,每个级联动效由相互间存在预设执行顺序的一系列场景动效组合构成,每个场景动效由针对单一动效显示对象的一系列原子动效组成,所述注册并实例化动效管理器包括:将所述场景动效注册在所述动效管理器中并指定所述动效管理器对应的场景动效执行关系,所述场景动效执行关系用于描述所述级联动效中各个场景动效间的执行关系。
The present application discloses a dynamic effect management method, system and device. The method process of an embodiment of the present specification includes: creating a motion effect manager for managing cascade effects, wherein each of the motion managers corresponds to a cascade effect, and each cascade effect is preset by mutual existence The execution sequence is composed of a series of scene animation effects, each scene animation effect is composed of a series of atomic animation effects for a single animation effect display object, and the registering and instantiating the animation effect manager includes: registering the scene animation effects In the motion effect manager, a scene motion effect execution relationship corresponding to the motion effect manager is specified, and the scene motion effect execution relationship is used to describe the execution relationship between each scene motion effect in the cascade effect.
Description
技术领域technical field
本说明书涉及计算机技术领域,尤其涉及一种动效管理方法、系统及设备。This specification relates to the field of computer technology, and in particular, to a dynamic effect management method, system, and device.
背景技术Background technique
在现有技术的应用场景中,为了提升用户体验,某些程序开发引擎(例如,游戏开发引擎)中提供了基础的动效显示组件(原子动效),例如简单的点到点移动、缩放、旋转等。这样,开发人员在进行软件开发时就可以调用原子动效进行组合,从而构成各种“炫酷”的复杂动效显示。In the application scenarios of the prior art, in order to improve the user experience, some program development engines (eg, game development engines) provide basic motion display components (atomic motion effects), such as simple point-to-point movement, zooming , rotation, etc. In this way, developers can call atomic motion effects for combination during software development, thereby forming various "cool" complex motion effects displays.
然而,在实际应用场景中,一个复杂动效显示通常包括多个显示对象的一系列动效,每个显示对象自身的动效又是由一系列原子动效组成。在一个复杂动效显示中,各个原子动效间层层抽象,存在极为复杂的相互关系。开发者需要为多个原子动效编排一个复杂的执行逻辑才能实现一个复杂动效显示,这就使得针对复杂动效显示的管理维护存在很大执行难度。进一步的,当存在多个复杂动效显示时,各个复杂动效显示间也会存在显示冲突、原子动效重复调用以及显示对象重复调用等问题,使得管理维护执行难度进一步增加。However, in practical application scenarios, a complex animation display usually includes a series of animation effects of multiple display objects, and the animation effect of each display object itself is composed of a series of atomic animation effects. In a complex animation display, the atomic animations are abstracted layer by layer, and there are extremely complex interrelationships. Developers need to arrange a complex execution logic for multiple atomic animation effects to realize a complex animation effect display, which makes the management and maintenance of complex animation effect display very difficult to execute. Further, when there are multiple complex dynamic effect displays, there will also be display conflicts, repeated calls of atomic dynamic effects, and repeated calls of display objects among the complex dynamic effect displays, which further increases the difficulty of management and maintenance execution.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本说明书实施例提供了一种动效管理方法、系统及设备,用于解决现有技术中针对复杂动效显示管理维护执行难度大的问题。In view of this, the embodiments of the present specification provide a dynamic effect management method, system and device, which are used to solve the problem of difficult execution of complex dynamic effect display management and maintenance in the prior art.
本说明书实施例采用下述技术方案:The embodiments of this specification adopt the following technical solutions:
本说明书实施例提供一种动效管理方法,所述方法包括:The embodiment of this specification provides a dynamic effect management method, and the method includes:
创建用于管理级联动效的动效管理器,其中,每个所述动效管理器对应一个级联动效,每个级联动效由相互间存在预设执行顺序的一系列场景动效组合构成,每个场景动效由针对单一动效显示对象的一系列原子动效组成,所述注册并实例化动效管理器包括:Create a motion effect manager for managing cascade effects, wherein each of the motion managers corresponds to a cascade effect, and each cascade effect is composed of a series of scene motion effect combinations with a preset execution order. , each scene animation consists of a series of atomic animations for a single animation display object, and the registration and instantiation of the animation manager includes:
将所述场景动效注册在所述动效管理器中并指定所述动效管理器对应的场景动效执行关系,所述场景动效执行关系用于描述所述级联动效中各个场景动效间的执行关系。Register the scene motion effect in the motion effect manager and specify the scene motion effect execution relationship corresponding to the motion effect manager, and the scene motion effect execution relationship is used to describe each scene motion effect in the cascade effect. Execution relationship between effects.
在本说明书一实施例中,所述场景动效包含用于通知所述动效管理器其动效执行完毕的出口。In an embodiment of the present specification, the scene animation includes an exit for notifying the animation manager that the animation has been executed.
在本说明书一实施例中,指定所述动效管理器对应的场景动效执行关系,其中,所述场景动效执行关系对应不带权的有向无环图。In an embodiment of this specification, a scene animation effect execution relationship corresponding to the animation effect manager is specified, wherein the scene animation effect execution relationship corresponds to an unweighted directed acyclic graph.
在本说明书一实施例中,指定所述动效管理器对应的场景动效执行关系,包括:In an embodiment of this specification, specifying a scene animation effect execution relationship corresponding to the animation effect manager includes:
根据所述场景动效间的预设执行顺序进行建模,生成对应的有向无环图;Modeling is performed according to the preset execution sequence between the scene motion effects, and a corresponding directed acyclic graph is generated;
保存所述有向无环图的图状态。Save the graph state of the directed acyclic graph.
在本说明书一实施例中,保存所述有向无环图的图状态,其中,将所述图状态保存到并查集中。In an embodiment of the present specification, the graph state of the directed acyclic graph is saved, wherein the graph state is saved in a union search set.
在本说明书一实施例中,将所述场景动效注册在所述动效管理器中并指定所述动效管理器对应的场景动效执行关系,其中:In an embodiment of this specification, the scene animation effect is registered in the animation effect manager and the scene animation effect execution relationship corresponding to the animation effect manager is specified, wherein:
注册所有的场景动效以生成动效管理器模板,基于所述动效管理器模板指定不同的场景动效执行关系以生成不同的动效管理器;Registering all scene animations to generate animation manager templates, and specifying different scene animation execution relationships based on the animation manager templates to generate different animation managers;
或者,or,
在所述动效管理器中注册对应的级联动效所包含的场景动效并指定所述动效管理器对应的场景动效执行关系。The scene motion effects included in the corresponding cascade effects are registered in the motion effect manager, and the execution relationship of the scene motion effects corresponding to the motion effect manager is specified.
本说明书实施例还提供了一种动效运行方法,所述方法包括:The embodiment of this specification also provides a dynamic effect operation method, the method includes:
监控级联动效是否被触发,其中,所述级联动效对应根据本说明书实施例所述方法而创建的动效管理器;monitoring whether a cascade effect is triggered, wherein the cascade effect corresponds to a motion effect manager created according to the method described in the embodiments of this specification;
如果所述级联动效被触发,确定被触发的级联动效;If the cascade effect is triggered, determine the triggered cascade effect;
运行所述被触发的级联动效所对应的动效管理器,其中,运行所述动效管理器包括:按照所述动效管理器对应的场景动效执行关系依次执行指定的场景动效。Running the motion effect manager corresponding to the triggered cascade effect, wherein running the motion effect manager includes: sequentially executing the specified scene motion effects according to the scene motion effect execution relationship corresponding to the motion effect manager.
在本说明书一实施例中:In an embodiment of this specification:
所述方法还包括,基于多个级联动效间的运行冲突为对应的多个动效管理器添加互斥锁;The method further includes adding a mutual exclusion lock to a plurality of corresponding motion effect managers based on running conflicts among the plurality of cascade effects;
运行所述被触发的级联动效所对应的动效管理器,其中,在执行动效管理器前检测所述动效管理器是否已被添加互斥锁,若已被添加互斥锁,将当前的动效管理器执行操作加入等待执行队列,按照所述等待执行队列排列顺序依次执行动效管理器,并且,在所述动效管理器执行完毕后释放对应的互斥锁。Run the motion effect manager corresponding to the triggered cascade effect, wherein, before executing the motion effect manager, it is detected whether the motion effect manager has been added with a mutex lock, and if a mutex lock has been added, the The execution operation of the current motion effect manager is added to the waiting execution queue, the motion effect manager is executed in sequence according to the arrangement order of the waiting execution queue, and the corresponding mutex is released after the execution of the motion effect manager is completed.
在本说明书一实施例中:In an embodiment of this specification:
所述动效管理器对应的场景动效执行关系对应不带权的有向无环图,所述场景动效执行关系以所述有向无环图的图状态形式被保存;The scene motion effect execution relationship corresponding to the motion effect manager corresponds to an unweighted directed acyclic graph, and the scene motion effect execution relationship is saved in the form of the graph state of the directed acyclic graph;
按照所述动效管理器对应的场景动效执行关系依次执行指定的场景动效,包括:Execute the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager, including:
根据所述图状态生成对应的有向无环图;generate a corresponding directed acyclic graph according to the graph state;
对所述有向无环图进行拓扑排序,基于拓扑排序结果依次执行指定的场景动效。Topological sorting is performed on the directed acyclic graph, and a specified scene dynamic effect is sequentially executed based on the topological sorting result.
本说明书实施例还提出了一种动效管理系统,所述系统包括:The embodiment of this specification also proposes a dynamic effect management system, the system includes:
管理器构建模块,其用于注册并实例化用于管理级联动效的动效管理器,其中,每个所述动效管理器对应一个级联动效,每个级联动效由相互间存在预设执行顺序的一系列场景动效组合构成,每个场景动效由针对单一动效显示对象的一系列原子动效组成,所述管理器构建模块包括:The manager building module is used to register and instantiate a motion manager for managing cascade effects, wherein each of the motion managers corresponds to a cascade effect, and each cascade effect is pre-existing with each other. Suppose that a series of scene animation effects in the execution order are composed of a series of scene animation effects, each scene animation effect is composed of a series of atomic animation effects for a single animation effect display object, and the manager building module includes:
场景动效注册单元,其用于将所述场景动效注册在所述动效管理器中;a scene dynamic effect registration unit, which is used for registering the scene dynamic effect in the dynamic effect manager;
执行关系构建单元,其用于指定所述动效管理器对应的场景动效执行关系,所述场景动效执行关系用于描述所述级联动效中各个场景动效间的执行关系。An execution relationship construction unit, which is used for specifying a scene motion effect execution relationship corresponding to the motion effect manager, and the scene motion effect execution relationship is used to describe the execution relationship between each scene motion effect in the cascade effect.
本说明书实施例还提出了一种动效运行系统,所述系统包括:The embodiment of the present specification also proposes a dynamic effect running system, and the system includes:
动效监控模块,其用于监控级联动效是否被触发,如果被触发,确定被触发的级联动效;The dynamic effect monitoring module is used to monitor whether the cascade effect is triggered, and if it is triggered, determine the triggered cascade effect;
管理器运行模块,其用于运行所述被触发的级联动效所对应的动效管理器,其中:A manager running module, which is used for running the motion effect manager corresponding to the triggered cascade effect, wherein:
所述动效管理器为根据本说明书实施例所述动效管理系统所创建的动效管理器;The motion effect manager is a motion effect manager created by the motion effect management system according to the embodiment of this specification;
运行所述动效管理器包括,按照所述动效管理器对应的场景动效执行关系依次执行指定的场景动效。Running the motion effect manager includes executing the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager.
本说明书实施例还提出了一种用于在访问方设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行本说明书实施例所述系统所述的方法。The embodiment of the present specification also proposes a device for information processing at the device side of the access party, the device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed When the processor is executed, the device is triggered to execute the method described in the system described in the embodiments of this specification.
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:根据本说明书一实施例的方法,将级联动效中各个原子动效间的复杂相互关系通过动效显示对象的不同加以划分,从而将原子动效间的复杂相互关系上位为场景动效间的执行顺序,使得级联动效中的各个动效间的关系更加层次化、逻辑化,从而大大降低了级联动效的复杂程度,便于对级联动效进行管理维护。The above-mentioned at least one technical solution adopted in the embodiment of the present specification can achieve the following beneficial effects: according to the method of an embodiment of the present specification, the complex interrelationship between the various atomic dynamic effects in the cascade effect is divided by the difference of the dynamic effect display objects, In this way, the complex interrelationship between atomic motion effects is elevated to the execution order between scene motion effects, which makes the relationship between each motion effect in the cascade effect more hierarchical and logical, thus greatly reducing the complexity of the cascade effect. It is convenient to manage and maintain the cascade effect.
附图说明Description of drawings
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The schematic embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation of the present application. In the attached image:
图1、图6~图8为本说明书实施例中应用程序的运行方法的流程图;Fig. 1, Fig. 6-Fig. 8 are flow charts of the running method of the application program in the embodiment of this specification;
图2、图4以及图5为本说明书实施例中应用程序的运行方法的部分流程图;Fig. 2, Fig. 4 and Fig. 5 are partial flow charts of the running method of the application program in the embodiment of this specification;
图3为本说明书一实施例中的有向无环图;FIG. 3 is a directed acyclic graph in an embodiment of the specification;
图9、图10为本说明书实施例中系统的结构框图。FIG. 9 and FIG. 10 are structural block diagrams of the system in the embodiment of the specification.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below with reference to the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
针对现有技术中针对复杂动效显示管理维护执行难度大的问题,本说明书一实施例提出了一种动效管理方法。为了提出本说明书实施例的方法,发明人首先分析现有技术中复杂动效显示的应用场景。在实际应用场景中,一个复杂动效显示通常包括多个显示对象的一系列动效,每个显示对象自身的动效又是由一系列原子动效组成。Aiming at the problem in the prior art that it is difficult to perform management and maintenance of complex dynamic effect display, an embodiment of this specification proposes a dynamic effect management method. In order to propose the method of the embodiment of the present specification, the inventor first analyzes the application scenario of complex dynamic effect display in the prior art. In a practical application scenario, a complex animation display usually includes a series of animation effects of multiple display objects, and the animation effect of each display object itself is composed of a series of atomic animation effects.
例如,在某游戏中,针对能量收取操作的一系列动效显示如下:For example, in a game, a series of animations for the energy harvesting operation are displayed as follows:
1.能量收取时,能量球由大变小,并且能量从能量槽中“飘”出;1. When the energy is collected, the energy ball changes from large to small, and the energy "floats" out of the energy tank;
2.能量收取后,镜头推动,让小人展示在屏幕的中央;2. After the energy is charged, the camera is pushed, so that the villain is displayed in the center of the screen;
3.人物开始跳动,向前行走;3. The character begins to jump and walk forward;
4.人物行走的同时,砖块开始铺动;4. While the characters are walking, the bricks begin to be laid;
5.人物行走的同时,镜头开始随时人物的位置而发生移动;5. While the characters are walking, the camera starts to move according to the position of the characters;
6.人物行走完毕,遮挡终点的云层开始向上移动。6. After the character walks, the cloud layer covering the end point begins to move upward.
通过上述动效显示不难看到,复杂动效存在多个显示对象(例如,能量球、能量槽、人物、砖块、云层),需要分别针对每个显示对象调用不同的原子动效,各个原子动效的调用执行顺序(例如,先后执行、同步执行)安排、同一原子动效针对不同显示对象的调用、同一原子动效针对同一显示对象的分阶段调用等等,都需要动效开发者预先设定。这就导致动效设定过程繁琐,很容易出现设定错误,而且,在设定完成时,复杂动效显示最终的显示效果越“炫酷”,调用的原子动效越多,其包含的原子动效间的相互关系也就越复杂。并且,由于原子动效通常会被多次重复调用,这就导致复杂动效显示中原子动效间的相互关系很难理清。It is not difficult to see from the above dynamic effect display that there are multiple display objects (for example, energy balls, energy slots, characters, bricks, clouds) in complex dynamic effects. The order of execution of animation calls (for example, sequential execution, synchronous execution), the invocation of the same atomic animation for different display objects, the staged invocation of the same atomic animation for the same display object, etc. set up. This leads to a cumbersome animation setting process, and it is easy to make setting errors. Moreover, when the setting is completed, the final display effect of the complex animation display is more "cool", and the more atomic animations are called, and the more The interrelationships between atomic dynamics are more complex. Moreover, since atomic animations are usually called repeatedly for many times, it is difficult to clarify the relationship between atomic animations in complex animations.
针对上述情况,在本说明书一实施例中,采用了层次划分的方式来整理复杂动效中的原子动效间的相互关系。具体的,考虑到在复杂动效显示中,虽然存在同一原子动效针对不同显示对象的调用、同一原子动效针对同一显示对象的分阶段调用等重复调用的情况,但是在在复杂动效显示中,不同的显示对象间是存在可以进行明确划分的界限的。因此,在本说明书一实施例中,将由多个原子动效组成的、单个显示对象的动作集合定义为场景动效。将复杂动效显示转换为由多个场景动效串联和/或并联组成的级联动效。这样就可以将对复杂动效显示中多个存在执行顺序逻辑、重复调用等复杂相互关系的原子动效的维护管理,转换为分别针对多个显示对象的原子动效的维护管理(场景动效维护关系)以及针对多个场景动效的维护管理两个部分,这大大降低了维护管理的难度。In view of the above situation, in an embodiment of this specification, a hierarchical division method is adopted to sort out the relationship between atomic motion effects in complex motion effects. Specifically, considering that in the complex dynamic effect display, although there are repeated calls of the same atomic dynamic effect for different display objects, and the same atomic dynamic effect is called in stages for the same display object, etc., but in the complex dynamic effect display , there are boundaries that can be clearly divided between different display objects. Therefore, in an embodiment of the present specification, an action set of a single display object composed of multiple atomic animation effects is defined as a scene animation effect. Convert complex animation displays into cascaded animations consisting of multiple scene animations in series and/or in parallel. In this way, the maintenance and management of multiple atomic animations with complex interrelations such as execution sequence logic and repeated calls in the complex animation display can be converted into the maintenance and management of atomic animations for multiple display objects (scene animations). Maintenance relationship) and maintenance management for multiple scene animations, which greatly reduces the difficulty of maintenance management.
根据本说明书一实施例的方法,将级联动效中各个原子动效间的复杂相互关系通过动效显示对象的不同加以划分,从而将原子动效间的复杂相互关系上位为场景动效间的执行顺序,使得级联动效中的各个动效间的关系更加层次化、逻辑化,从而大大降低了级联动效的复杂程度,便于对级联动效进行管理维护。According to the method of an embodiment of the present specification, the complex interrelationships between the various atomic motion effects in the cascade effect are divided by the difference of the motion effect display objects, so that the complex interrelationships between the atomic motion effects are elevated to the one between the scene motion effects. The execution sequence makes the relationship between the various effects in the cascade effect more hierarchical and logical, which greatly reduces the complexity of the cascade effect and facilitates the management and maintenance of the cascade effect.
以下结合附图,详细说明本说明书各实施例提供的技术方案。The technical solutions provided by the embodiments of the present specification will be described in detail below with reference to the accompanying drawings.
在本说明书一实施例中,如图1所示,动效管理方法包括:In an embodiment of this specification, as shown in FIG. 1 , the dynamic effect management method includes:
S110,创建用于管理级联动效的动效管理器,其中,每个动效管理器对应一个级联动效,每个级联动效由相互间存在预设执行顺序的一系列场景动效组合构成,每个场景动效由针对单一动效显示对象的一系列原子动效组成;S110: Create a motion effect manager for managing cascade effects, wherein each motion manager corresponds to a cascade effect, and each cascade effect is composed of a series of scene motion effects combinations with a preset execution order between them , each scene animation consists of a series of atomic animations for a single animation display object;
步骤S110包括:Step S110 includes:
S111,将场景动效注册在动效管理器中;S111, register the scene dynamic effect in the dynamic effect manager;
以及,as well as,
S112,指定动效管理器对应的场景动效执行关系,场景动效执行关系用于描述级联动效中各个场景动效间的执行关系。S112 , specifying a scene motion effect execution relationship corresponding to the motion effect manager, where the scene motion effect execution relationship is used to describe the execution relationship between each scene motion effect in the cascade effect.
根据本说明书一实施例的方法,将级联动效中各个原子动效间的复杂相互关系通过动效显示对象的不同加以划分,从而将原子动效间的复杂相互关系上位为场景动效间的执行顺序,使得级联动效中的各个动效间的关系更加层次化、逻辑化,从而大大降低了级联动效的复杂程度,便于对级联动效进行管理维护。According to the method of an embodiment of the present specification, the complex interrelationships between the various atomic motion effects in the cascade effect are divided by the difference of the motion effect display objects, so that the complex interrelationships between the atomic motion effects are elevated to the one between the scene motion effects. The execution sequence makes the relationship between the various effects in the cascade effect more hierarchical and logical, which greatly reduces the complexity of the cascade effect and facilitates the management and maintenance of the cascade effect.
具体的,在本说明书一实施例中,在创建用于管理级联动效的动效管理器的过程中,采用注册并实例化的流程创建动效管理器。Specifically, in an embodiment of this specification, in the process of creating a dynamic effect manager for managing cascade effects, a process of registration and instantiation is used to create the dynamic effect manager.
具体的,在本说明书一实施例中,注册即是为该动效管理器设置标识的过程,一个动效管理器会对应管理一个级联动效,故每一个动效管理器都存在一个唯一标识。Specifically, in an embodiment of this specification, registration is the process of setting an identifier for the motion effect manager. One motion effect manager will correspondingly manage one cascaded effect, so each motion effect manager has a unique identifier. .
进一步的,在面向对象的编程中,通常把用类创建对象的过程称为实例化。在本说明书一实施例中,实例化是指将一个拥有唯一标识的动效管理器创建出来。在本说明书一实施例中,所有的动效管理器均是由动效管理器类进行实例化产生的。动效管理器类是对动效管理器的抽象和描述模版,可以将动效管理器类看成是一个工厂,其会生产很多的动效管理器,这些被生产出来的动效管理器会去分别管理不同的级联动效,这种生产称为动效管理器的实例化。Further, in object-oriented programming, the process of creating an object with a class is usually called instantiation. In an embodiment of this specification, instantiation refers to creating a motion effect manager with a unique identifier. In an embodiment of this specification, all motion effect managers are generated by instantiating the motion effect manager class. The motion manager class is an abstraction and description template for the motion manager. The motion manager class can be regarded as a factory, which will produce many motion managers, and these produced motion managers will To manage different cascade effects separately, this production is called instantiation of the motion manager.
具体的,在本说明书一实施例中,当需要管理一个级联动效时,需要先注册并实例化一个动效管理器,注册即是给当前需要实例化的动效管理器赋予一个唯一的标识(即名称),当完成实例化后,该动效管理器就会带有名称这个标识属性。实例化完成的动效管理器具备管理及执行级联动效的能力。Specifically, in an embodiment of this specification, when a cascading effect needs to be managed, it is necessary to register and instantiate a motion effect manager first. Registration is to give a unique identifier to the motion effect manager that needs to be instantiated currently. (i.e. name), when instantiated, the motion manager will have a name as an identifying attribute. The instantiated motion manager has the ability to manage and execute cascade effects.
具体的,在本说明书一实施例中,在将场景动效注册在动效管理器中的过程中,注册是指将场景动效模块储存在动效管理器中。注册场景动效的操作细节包括:以交底书中的那个级联动效为例,如何将其中的某个场景动效注册到动效管理器,以及,之后在运行级联动效时,如何运行某个场景动效。Specifically, in an embodiment of the present specification, in the process of registering the scene motion effect in the motion effect manager, the registration refers to storing the scene motion effect module in the motion effect manager. The operation details of registering the scene animation include: taking the cascade effect in the disclosure book as an example, how to register a scene animation to the animation manager, and how to run a certain scene animation when running the cascade effect later. scene animation.
具体的,在本说明书一实施例中,在一具体应用场景中,动效管理器类属性描述如下:Specifically, in an embodiment of this specification, in a specific application scenario, the properties of the motion manager class are described as follows:
■cascadeName:动效管理器唯一标识■cascadeName: Unique ID of the motion manager
■cascadeManage:{//储存场景动效间的关系children:[],//存储场景动效unionFind:{}//储存场景动效间关系,为并查集。}■cascadeManage:{//Storing the relationship between scene animations children:[],//Storing scene animation effects unionFind:{}//Storing the relationship between scene animations, which is a union search. }
■sceneManage:场景动效储存■sceneManage: scene animation storage
■graphInfo:动效管理器最终生成的图信息■graphInfo: The graph information finally generated by the motion manager
■status:当前动效管理器执行状态■status: Current Motion Manager execution status
■finishSceneNum:已执行的场景动效个数■finishSceneNum: Number of executed scene animations
■sceneNum:已注册的场景动效个数■sceneNum: The number of registered scene animations
■beforeRun:级联动效执行前的回调函数BeforeRun: the callback function before the cascade effect is executed
■finished:级联动效完成执行的回调函数■finished: The callback function for the completion of the cascade effect execution
■beforeNext:每个场景动效执行前的回调函数。■beforeNext: The callback function before each scene animation is executed.
进一步的,在实现复杂动效显示时,通常可行的方案是:通过监听特定事件的回调和/或特定数据的数据变更来执行预先定义好动效。由于一个复杂动效包含众多的原子动效,这就使得上述事件/数据监听操作层层嵌套,逻辑关系十分混乱,不仅代码的可读性及可维护性差,而且复杂动效的可扩展性被大大限制。当存在多个不同的复杂动效显示时,上述问题体现的更为突出。Further, when implementing complex motion effects display, a generally feasible solution is to execute predefined motion effects by listening to callbacks of specific events and/or data changes of specific data. Since a complex motion effect contains many atomic motion effects, the above event/data monitoring operations are nested layer by layer, and the logical relationship is very chaotic, not only the code readability and maintainability are poor, but also the scalability of complex motion effects. is greatly restricted. The above problems are more prominent when there are multiple different complex animation displays.
针对上述问题,本说明书一实施例中还提出了一种动效运行方法。在本说明书一实施例中,在执行级联动效时,将一个级联动效作为一个整体来执行。具体的,注册并实例化用于管理级联动效的动效管理器,每个动效管理器对应一个级联动效,当需要进行级联动效展示时运行对应的动效管理器。In response to the above problems, an embodiment of the present specification also proposes a dynamic effect operation method. In an embodiment of the present specification, when the cascade effect is executed, one cascade effect is executed as a whole. Specifically, a motion effect manager for managing cascade effects is registered and instantiated, each motion manager corresponds to a cascade effect, and the corresponding motion manager is run when the cascade effect display needs to be performed.
具体的,在本说明书一实施例中,如图2所示,动效管理方法还包括:Specifically, in an embodiment of this specification, as shown in FIG. 2 , the dynamic effect management method further includes:
S220,监控级联动效是否被触发,其中,级联动效对应根据本说明书实施例所述的动效管理办法生成的动效管理器;S220, monitoring whether the cascading effect is triggered, wherein the cascading effect corresponds to the motion effect manager generated according to the motion effect management method described in the embodiment of this specification;
S221,如果被触发,确定被触发的级联动效;S221, if triggered, determine the triggered cascade effect;
S230,运行被触发的级联动效所对应的动效管理器;步骤S230包括,按照动效管理器对应的场景动效执行关系依次执行指定的场景动效。S230, running the motion effect manager corresponding to the triggered cascade effect; step S230 includes executing the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager.
根据本说明书一实施例的方法,使用实例化的动效管理器管理级联动效中场景动效的执行顺序,使得在实现级联动效时不需要考虑其内部各个动效间的相互关系,进一步降低了管理维护级联动效的难度。According to the method of an embodiment of the present specification, the instantiated motion effect manager is used to manage the execution sequence of the scene motion effects in the cascade effect, so that the interrelationship among the internal motion effects does not need to be considered when the cascade effect is realized, and further Reduces the difficulty of managing and maintaining cascade effects.
进一步的,在本说明书一实施例中,在将场景动效注册在动效管理器中并指定所述动效管理器对应的场景动效执行关系的过程中,注册所有的场景动效以生成动效管理器模板,基于动效管理器模板指定不同的场景动效执行关系以生成不同的动效管理器。Further, in an embodiment of this specification, in the process of registering the scene animation effect in the animation effect manager and specifying the scene animation effect execution relationship corresponding to the animation effect manager, all the scene animation effects are registered to generate Motion manager template, based on the motion manager template, specify different scene motion execution relationships to generate different motion managers.
进一步的,在本说明书一实施例中,在将场景动效注册在动效管理器中并指定所述动效管理器对应的场景动效执行关系的过程中,在动效管理器中注册该动效管理器对应的级联动效所包含的场景动效并指定该动效管理器对应的场景动效执行关系。Further, in an embodiment of this specification, in the process of registering the scene dynamic effect in the dynamic effect manager and specifying the scene dynamic effect execution relationship corresponding to the dynamic effect manager, the scene dynamic effect is registered in the dynamic effect manager. The scene animation included in the cascade effect corresponding to the animation manager and the execution relationship of the scene animation corresponding to the animation manager is specified.
进一步的,在本说明书一实施例中,实现级联动效的过程即是按照动效管理器对应的场景动效执行关系依次执行指定的场景动效。为了便于按照预定执行顺序执行场景动效,在本说明书一实施例中,场景动效包含用于通知动效管理器其动效执行完毕的出口。在按照动效管理器对应的场景动效执行关系依次执行指定的场景动效的过程中,当一个场景动效执行完毕后,其通过自身的出口通知动效管理器,告知动效执行完毕,使得动效管理器可以执行下一个场景动效。Further, in an embodiment of the present specification, the process of realizing the cascade effect is to execute the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager. In order to facilitate the execution of the scene animation effect according to the predetermined execution order, in an embodiment of the present specification, the scene animation effect includes an exit for notifying the animation effect manager that the execution of the animation effect is completed. In the process of executing the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager, when a scene motion effect is executed, it notifies the motion effect manager through its own exit, and informs that the motion effect is completed. Enables the Motion Manager to execute the next scene motion.
进一步的,在实际应用场景中,有向无环图指的是一个无回路的有向图。有向无环图的生成树个数等于入度非零的节点的入度积。在本说明书一实施例中,为了确保场景动效的顺利执行,构成一个级联动效的多个场景动效之间的执行顺序即对应一个具有特定执行顺序但并不具备环路的执行顺序线路。具体的,即动效管理器对应的场景动效执行关系对应的应该是一不带权的有向无环图。因此,在本说明书一实施例中,在指定动效管理器对应的场景动效执行关系的过程中,需要确保场景动效执行关系对应不带权的有向无环图。Further, in practical application scenarios, a directed acyclic graph refers to a directed graph without loops. The number of spanning trees of a directed acyclic graph is equal to the in-degree product of nodes with non-zero in-degree. In an embodiment of this specification, in order to ensure the smooth execution of the scene animation effect, the execution sequence of multiple scene animation effects constituting a cascade effect corresponds to an execution sequence circuit with a specific execution sequence but no loop. . Specifically, the scene dynamic effect execution relationship corresponding to the dynamic effect manager should correspond to an unweighted directed acyclic graph. Therefore, in an embodiment of the present specification, in the process of specifying the scene motion effect execution relationship corresponding to the motion effect manager, it is necessary to ensure that the scene motion effect execution relationship corresponds to an unweighted directed acyclic graph.
具体的,以一个应用场景为例,针对某游戏中能量收取操作的一系列动效显示可以生成如图3所示的有向无环图。Specifically, taking an application scenario as an example, a directed acyclic graph as shown in FIG. 3 can be generated for a series of dynamic effects display of an energy harvesting operation in a game.
具体的,在本说明书一实施例中,通过保存场景动效执行关系所对应的有向无环图来保存动效管理器对应的场景动效执行关系。具体的,在本说明书一实施例中,如图4所示,指定动效管理器对应的场景动效执行关系的过程包括:Specifically, in an embodiment of the present specification, the scene dynamic effect execution relationship corresponding to the dynamic effect manager is saved by saving the directed acyclic graph corresponding to the scene dynamic effect execution relationship. Specifically, in an embodiment of the present specification, as shown in FIG. 4 , the process of specifying the scene dynamic effect execution relationship corresponding to the dynamic effect manager includes:
S410,根据场景动效间的预设执行顺序进行建模,生成对应的有向无环图;S410, perform modeling according to a preset execution sequence between scene motion effects, and generate a corresponding directed acyclic graph;
S420,保存有向无环图的图状态。S420, save the graph state of the directed acyclic graph.
进一步的,在一些有N个元素的集合应用问题中,通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这样最终构成的集合称为并查集。在本说明书一实施实例中,为了便于保存有向无环图的图状态,以及,为了便于之后调用并解析已保存的图状态,将有向无环图的图状态保存到并查集中。Further, in some set application problems with N elements, each element is usually formed into a single-element set at the beginning, and then the sets of elements belonging to the same group are merged in a certain order, during which it is necessary to repeatedly search. Which collection an element is in. The resulting set is called a union set. In an example of this specification, in order to save the graph state of the DAG, and to facilitate later calling and parsing the saved graph state, the graph state of the DAG is saved in the union search set.
进一步的,在实际应用场景中,对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序的序列,简称拓扑序列。Further, in practical application scenarios, topological sorting of a directed acyclic graph G is to arrange all vertices in G into a linear sequence, so that any pair of vertices u and v in the graph, if edge < u, v > ∈ E(G), then u appears before v in the linear sequence. Usually, such a linear sequence is called a sequence satisfying topological order, or topological sequence for short.
在本说明书一实施例中,在动效运行方法中,动效管理器对应的场景动效执行关系对应不带权的有向无环图,场景动效执行关系以有向无环图的图状态形式被保存。In an embodiment of this specification, in the dynamic effect operation method, the scene dynamic effect execution relationship corresponding to the dynamic effect manager corresponds to a directed acyclic graph without weights, and the scene dynamic effect execution relationship is a graph of a directed acyclic graph. The state form is saved.
如图5所示,按照动效管理器对应的场景动效执行关系依次执行指定的场景动效的过程包括:As shown in Figure 5, the process of sequentially executing the specified scene motion effects according to the scene motion effect execution relationship corresponding to the motion effect manager includes:
S510,根据预先保存的、动效管理器对应的图状态生成对应的有向无环图;S510, generate a corresponding directed acyclic graph according to a pre-saved graph state corresponding to the motion effect manager;
S520,对有向无环图进行拓扑排序,基于拓扑排序结果(拓扑序列)依次执行指定的场景动效。S520 , perform topological sorting on the directed acyclic graph, and execute the specified scene motion effects in sequence based on the topological sorting result (topological sequence).
具体的,在本说明书一实施例中,在一具体应用场景中,执行代码定义如下:Specifically, in an embodiment of this specification, in a specific application scenario, the execution code is defined as follows:
■generateGraph:生成动效管理器的执行拓扑图GenerateGraph: Generate the execution topology of the motion manager
■bindScene:注册场景动效至级联动效中bindScene: Register the scene animation to the cascade effect
■addSceneSeq:注册场景动效的执行顺序■addSceneSeq: Register the execution order of scene animation
■addScene:注册场景动效■addScene: Register scene animation
■run:执行级联动效run: execute cascade effect
■initCascade:动效管理器的执行入口■initCascade: The execution entry of the motion manager
■next:通知动效管理器完成当前场景动效,开始执行下一个场景动效。■next: Notify the animation manager to complete the animation of the current scene and start executing the animation of the next scene.
进一步的,在实际应用场景中,不同的级联动效在执行时可能存在冲突,因此,在本说明书一实施例中,为存在执行冲突的级联动效所对应的动效管理器添加标签,确保存在执行冲突的级联动效所对应的动效管理器不会同时执行。Further, in practical application scenarios, different cascade effects may conflict during execution. Therefore, in an embodiment of this specification, a label is added to the motion effect manager corresponding to the cascade effect with execution conflict to ensure that the Motion managers corresponding to cascaded effects with conflicting executions will not execute at the same time.
具体的,在编程中,引入了对象互斥锁的概念来保证共享数据操作的完整性。每个对象都对应于一个可称为"互斥锁"的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。因此,在本说明书一实施例中,动效管理方法还包括,基于多个级联动效间的运行冲突为对应的多个动效管理器添加互斥锁;在运行被触发的级联动效所对应的动效管理器时,在执行动效管理器前检测动效管理器是否已被添加互斥锁,若已被添加互斥锁,将当前的动效管理器执行操作加入等待执行队列,按照等待执行队列的排列顺序依次执行动效管理器,并且,在执行完毕所述动效管理器对应的级联动效后释放对应的互斥锁。Specifically, in programming, the concept of object mutual exclusion lock is introduced to ensure the integrity of shared data operations. Each object corresponds to a flag called a "mutex lock", which is used to ensure that only one thread can access the object at any one time. Therefore, in an embodiment of the present specification, the dynamic effect management method further includes: adding a mutual exclusion lock to the corresponding multiple dynamic effect managers based on the running conflict among the multiple cascaded effects; For the corresponding motion manager, check whether the motion manager has been added with a mutex before executing the motion manager. If a mutex has been added, add the current motion manager execution operation to the waiting queue for execution. The motion effect managers are sequentially executed according to the arrangement order of the waiting execution queue, and the corresponding mutex locks are released after the cascading effects corresponding to the motion effect managers are executed.
具体的,在本说明书一实施例中,动效运行方法还包括,基于多个级联动效间的运行冲突为对应的多个动效管理器添加互斥锁;运行被触发的级联动效所对应的动效管理器,其中,在执行动效管理器前检测动效管理器是否已被添加互斥锁,若已被添加互斥锁,将当前的动效管理器执行操作加入等待执行队列,按照等待执行队列排列顺序依次执行动效管理器,并且,在动效管理器执行完毕后释放对应的互斥锁。Specifically, in an embodiment of the present specification, the method for running a dynamic effect further includes: adding a mutual exclusion lock to the corresponding multiple dynamic effect managers based on the running conflict among the multiple cascaded effects; The corresponding motion effect manager, in which, before executing the motion effect manager, it is detected whether the motion effect manager has been added with a mutex lock. If a mutex lock has been added, the current motion effect manager execution operation is added to the waiting queue for execution , execute the motion effect manager in sequence in the order of waiting for the execution queue, and release the corresponding mutex after the execution of the motion effect manager is completed.
进一步的,在本说明书一实施例中,互斥锁的添加环节可以在动效管理器注册环节中实施。具体的,在本说明书一实施例中,如图6所示,动效管理方法包括:Further, in an embodiment of the present specification, the adding link of the mutual exclusion lock may be implemented in the registration link of the motion effect manager. Specifically, in an embodiment of this specification, as shown in FIG. 6 , the dynamic effect management method includes:
S610,注册并实例化用于管理级联动效的动效管理器,包括:S610, register and instantiate a motion effect manager for managing cascade effects, including:
S611,将场景动效注册在动效管理器中;S611, register the scene dynamic effect in the dynamic effect manager;
S612,根据场景动效间的预设执行顺序进行建模,生成对应的有向无环图;S612, perform modeling according to a preset execution sequence between scene motion effects, and generate a corresponding directed acyclic graph;
S613,将有向无环图的图状态保存到并查集;S613, save the graph state of the directed acyclic graph to the union search set;
S620,基于级联动效间的运行冲突为动效管理器添加互斥锁。S620, adding a mutual exclusion lock to the motion effect manager based on the running conflict between the cascade effects.
进一步的,在本说明书一实施例中,如图7所示,动效运行方法包括:Further, in an embodiment of this specification, as shown in FIG. 7 , the dynamic effect operation method includes:
S710,监控级联动效是否被触发;S710, monitor whether the cascade effect is triggered;
S711,如果被触发,确定被触发的级联动效;S711, if triggered, determine the triggered cascade effect;
S720,检测被触发的级联动效所对应的动效管理器是否被添加有互斥锁;S720, detecting whether the motion effect manager corresponding to the triggered cascade effect is added with a mutex;
S731,如果没有被添加互斥锁,执行当前的动效管理器执行操作;S731, if the mutex is not added, execute the current motion effect manager execution operation;
S741,如果被添加有互斥锁,将当前的动效管理器执行操作加入等待执行队列;S741, if a mutex is added, add the current motion manager execution operation to the waiting execution queue;
S742,当等待执行队列中的动效管理器执行操作对应的互斥锁被释放时,执行该动效管理器执行操作;S742, when the mutex corresponding to the execution operation of the motion effect manager in the waiting execution queue is released, execute the motion effect manager execution operation;
S743,在执行完毕动效管理器对应的级联动效后释放对应的互斥锁。S743, release the corresponding mutex lock after the cascading effect corresponding to the motion effect manager is completed.
进一步的,在步骤S731以及步骤S743中,根据预先保存的、动效管理器对应的图状态生成对应的有向无环图;对有向无环图进行拓扑排序,基于拓扑排序结果(拓扑序列)依次执行指定的场景动效。Further, in step S731 and step S743, a corresponding directed acyclic graph is generated according to the pre-saved graph state corresponding to the motion effect manager; the directed acyclic graph is topologically sorted, based on the topological sorting result (topological sequence). ) executes the specified scene animation in sequence.
进一步的,在本说明书一实施例中,在运行动效管理器的过程中为相同的级联动效添加互斥锁。具体的,在本说明书一实施例中,如图8所示,动效管理方法包括:Further, in an embodiment of the present specification, a mutual exclusion lock is added for the same cascade effect during the process of running the motion effect manager. Specifically, in an embodiment of this specification, as shown in FIG. 8 , the dynamic effect management method includes:
S810,实例化动效管理器;S810, instantiate the motion effect manager;
S811,在动效管理器中注册场景动效及其执行关系;S811, register the scene dynamic effect and its execution relationship in the dynamic effect manager;
S812,存储图的状态;S812, store the state of the graph;
S820,开始运行级联动效;S820, start running cascade effect;
S821,生成有向无环图,当前状态机初始化;S821, a directed acyclic graph is generated, and the current state machine is initialized;
S830,判断当前级联动效(动效管理器)是否已加锁;S830, determine whether the current cascade effect (motion effect manager) has been locked;
S831,如果已加锁,将当前级联动效添加至等待执行队列,等待锁释放后执行;S831, if it has been locked, add the current cascade effect to the waiting execution queue, and execute it after the lock is released;
S832,如果未加锁,为相同的级联动效添加互斥锁;S832, if not locked, add a mutex for the same cascade effect;
在为相同的级联动效添加互斥锁完毕或等待执行队列中的级联动效的互斥锁被释放时,S840,从有向无环图源点进行拓扑并执行对应的场景动效;After adding the mutex for the same cascade effect or waiting for the mutex of the cascade effect in the execution queue to be released, S840 performs topology from the source point of the directed acyclic graph and executes the corresponding scene effect;
S841,当前节点的场景动效执行完毕后寻找下一层级的所有节点并执行对应的场景动效;S841, after the execution of the scene motion effect of the current node is completed, search for all nodes in the next level and execute the corresponding scene motion effect;
S850,当所有节点对应的场景动效执行完毕后级联动效执行结束;S850, when all the scene motion effects corresponding to the nodes are executed, the cascade effect execution ends;
S851,释放对应的互斥锁。S851, release the corresponding mutex.
根据本说明书实施例的方法,通过动效管理器来管理场景动效组合构成的级联动效。先进行可执行动效的注册,然后指定动效间的执行关系,动效管理器会自动对相同的级联动效添加互斥锁,用户只需在需要执行该级联动效的入口处执行即可。在动效管理器提供的接口处还可以进行数据的监控等扩展操作。解决了使用数据流和事件机制进行动效管理的痛点,提升了代码的可维护性以及很大程度的降低了动效的管理成本。According to the method of the embodiment of the present specification, the cascading effect composed of the scene dynamic effect combination is managed by the dynamic effect manager. Register the executable animation effect first, and then specify the execution relationship between the animation effects. The animation effect manager will automatically add a mutex to the same cascade effect. The user only needs to execute it at the entrance where the cascade effect needs to be executed. Can. Extended operations such as data monitoring can also be performed at the interface provided by the motion manager. It solves the pain point of using data flow and event mechanism for dynamic effect management, improves the maintainability of the code and greatly reduces the cost of dynamic effect management.
进一步的,基于本说明书实施例的方法,本说明书实施例还提出了一种动效管理系统。具体的,在本说明书一实施例中,如图9所示,动效管理系统包括:Further, based on the method of the embodiment of the present specification, the embodiment of the present specification also proposes a dynamic effect management system. Specifically, in an embodiment of this specification, as shown in FIG. 9 , the dynamic effect management system includes:
管理器构建模块910,其用于注册并实例化用于管理级联动效的动效管理器,其中,每个动效管理器对应一个级联动效,每个级联动效由相互间存在预设执行顺序的一系列场景动效组合构成,每个场景动效由针对单一动效显示对象的一系列原子动效组成。A manager building module 910, which is used to register and instantiate a motion effect manager for managing cascade effects, wherein each motion manager corresponds to a cascade effect, and each cascade effect is preset by mutual existence A sequence of scene animations are executed sequentially, and each scene animation consists of a series of atomic animations for a single animation display object.
管理器构建模块910包括:Manager building block 910 includes:
场景动效注册单元911,其用于将场景动效注册在动效管理器中;A scene dynamic effect registration unit 911, which is used to register the scene dynamic effect in the dynamic effect manager;
执行关系构建单元912,其用于指定动效管理器对应的场景动效执行关系,场景动效执行关系用于描述级联动效中各个场景动效间的执行关系。The execution relationship construction unit 912 is used for specifying the scene motion effect execution relationship corresponding to the motion effect manager, and the scene motion effect execution relationship is used to describe the execution relationship between each scene motion effect in the cascade effect.
进一步的,基于本说明书实施例的方法,本说明书实施例还提出了一种动效运行系统。具体的,在本说明书一实施例中,如图10所示,动效运行系统包括:Further, based on the method of the embodiment of the present specification, the embodiment of the present specification also proposes a dynamic effect running system. Specifically, in an embodiment of this specification, as shown in FIG. 10 , the dynamic effect operation system includes:
动效监控模块110,其用于监控级联动效是否被触发,如果被触发,确定被触发的级联动效;The dynamic effect monitoring module 110 is used to monitor whether the cascade effect is triggered, and if it is triggered, determine the triggered cascade effect;
管理器运行模块120,其用于运行被触发的级联动效所对应的动效管理器,其中:The manager operation module 120 is used for running the motion effect manager corresponding to the triggered cascade effect, wherein:
动效管理器为根据本说明书实施例所述动效管理系统所生成的动效管理器;The motion effect manager is a motion effect manager generated by the motion effect management system according to the embodiment of this specification;
运行动效管理器包括,按照动效管理器对应的场景动效执行关系依次执行指定的场景动效。Running the motion effect manager includes executing the specified scene motion effects in sequence according to the scene motion effect execution relationship corresponding to the motion effect manager.
进一步的,基于本发明的方法,本发明还提出了一种用于在访问方设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行本发明所述的方法。Further, based on the method of the present invention, the present invention also proposes a device for information processing at the device side of the access party, the device comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein , when the computer program instructions are executed by the processor, the device is triggered to execute the method of the present invention.
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, improvements in a technology could be clearly differentiated between improvements in hardware (eg, improvements to circuit structures such as diodes, transistors, switches, etc.) or improvements in software (improvements in method flow). However, with the development of technology, the improvement of many methods and processes today can be regarded as a direct improvement of the hardware circuit structure. Designers almost get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware entity modules. For example, a Programmable Logic Device (PLD) (eg, a Field Programmable Gate Array (FPGA)) is an integrated circuit whose logical function is determined by an accessor programming the device. It is programmed by the designer to "integrate" a digital system on a PLD without having to ask the chip manufacturer to design and manufacture a dedicated integrated circuit chip. And, instead of making integrated circuit chips by hand, these days, much of this programming is done using software called a "logic compiler", which is similar to the software compiler used in program development and writing, but before compiling The original code also has to be written in a specific programming language, which is called Hardware Description Language (HDL), and there is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (RubyHardware Description Language), etc. The most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should also be clear to those skilled in the art that a hardware circuit for implementing the logic method process can be easily obtained by simply programming the method process in the above-mentioned several hardware description languages and programming it into the integrated circuit.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicon Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps. The same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, when describing the above device, the functions are divided into various units and described respectively. Of course, when implementing the present application, the functions of each unit may be implemented in one or more software and/or hardware.
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-persistent memory in computer readable media, random access memory (RAM) and/or non-volatile memory in the form of, for example, read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for related parts, please refer to the partial descriptions of the method embodiments.
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。The above descriptions are merely examples of the present application, and are not intended to limit the present application. Various modifications and variations of this application are possible for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included within the scope of the claims of this application.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162236.4A CN111124695B (en) | 2019-11-25 | 2019-11-25 | Dynamic effect management method, system and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162236.4A CN111124695B (en) | 2019-11-25 | 2019-11-25 | Dynamic effect management method, system and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124695A true CN111124695A (en) | 2020-05-08 |
CN111124695B CN111124695B (en) | 2023-05-16 |
Family
ID=70496454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911162236.4A Active CN111124695B (en) | 2019-11-25 | 2019-11-25 | Dynamic effect management method, system and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124695B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827165A (en) * | 2022-05-30 | 2022-07-29 | 蚂蚁区块链科技(上海)有限公司 | Method and block link point for grouping multiple transactions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002301127B2 (en) * | 1996-06-05 | 2005-11-03 | Sega Enterprises, Ltd | Fictitious virtual centripetal calculation and simulation system |
US20060078165A1 (en) * | 2004-09-24 | 2006-04-13 | Nissan Motor Co., Ltd. | Motion detection apparatus and motion detection method |
CN102521202A (en) * | 2011-11-18 | 2012-06-27 | 东南大学 | Automatic discovery method of complex system oriented MAXQ task graph structure |
CN107943457A (en) * | 2017-11-17 | 2018-04-20 | 中山大学 | A kind of workflow modeling method and system of service-oriented object |
CN108319547A (en) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | Method for generating test case, device and system |
-
2019
- 2019-11-25 CN CN201911162236.4A patent/CN111124695B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002301127B2 (en) * | 1996-06-05 | 2005-11-03 | Sega Enterprises, Ltd | Fictitious virtual centripetal calculation and simulation system |
US20060078165A1 (en) * | 2004-09-24 | 2006-04-13 | Nissan Motor Co., Ltd. | Motion detection apparatus and motion detection method |
CN102521202A (en) * | 2011-11-18 | 2012-06-27 | 东南大学 | Automatic discovery method of complex system oriented MAXQ task graph structure |
CN108319547A (en) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | Method for generating test case, device and system |
CN107943457A (en) * | 2017-11-17 | 2018-04-20 | 中山大学 | A kind of workflow modeling method and system of service-oriented object |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827165A (en) * | 2022-05-30 | 2022-07-29 | 蚂蚁区块链科技(上海)有限公司 | Method and block link point for grouping multiple transactions |
CN114827165B (en) * | 2022-05-30 | 2024-01-23 | 蚂蚁区块链科技(上海)有限公司 | Method and block link point for grouping multiple transactions |
Also Published As
Publication number | Publication date |
---|---|
CN111124695B (en) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7262775B2 (en) | System supporting animation of graphical display elements through animation object instances | |
JP2009532756A (en) | Declarative model for concurrency control of lightweight threads | |
JP2009532758A (en) | A framework for modeling continuations in a workflow | |
CN110401700A (en) | Model loading method and system, control node and execution node | |
CN116932092A (en) | Method, device, medium and equipment for automatically generating operator calling code | |
CN116880995B (en) | A method, device, storage medium and electronic equipment for executing model tasks | |
CN117032999B (en) | CPU-GPU cooperative scheduling method and device based on asynchronous running | |
CN115756449B (en) | A page multiplexing method, device, storage medium and electronic equipment | |
CN116185532B (en) | A task execution system, method, storage medium and electronic device | |
CN116107728B (en) | Task execution method and device, storage medium and electronic equipment | |
CN111124695A (en) | Dynamic effect management method, system and equipment | |
CN119271433A (en) | Task processing method and equipment | |
Sampson | Process-oriented patterns for concurrent software engineering | |
Bergenti et al. | Agent architecture and interaction protocols for corporate memory management systems | |
Bouakaz et al. | Design of safety-critical Java level 1 applications using affine abstract clocks | |
Khot | Concurrent Patterns and Best Practices: Build scalable apps with patterns in multithreading, synchronization, and functional programming | |
CN116167437B (en) | Chip management system, method, device and storage medium | |
US20180357095A1 (en) | Asynchronous sequential processing execution | |
CN120179249B (en) | Object-process relationship modeling method, device, terminal and medium | |
Louati et al. | RTO-RTDB: A real-time object-oriented database model | |
US20250182034A1 (en) | Hierarchical process model representation with upward callability | |
Arjomandi et al. | Concurrency abstractions in a c++ class library | |
CN120295734A (en) | Task processing method and equipment | |
Kim et al. | Time-triggered Message-triggered Object Programming Scheme and Its Support Middleware | |
CN119537391A (en) | Table-based data updating method, device, electronic device and storage medium |
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 |