Method and device for data migration between game engines, storage medium and electronic device

By building named pipes between game engines and performing format conversion, the problem of low data migration efficiency between game engines is solved, achieving efficient and automatic data migration and scene restoration.

CN115738239BActive Publication Date: 2026-06-19NETEASE (HANGZHOU) NETWORK CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
NETEASE (HANGZHOU) NETWORK CO LTD
Filing Date
2022-12-01
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

When migrating data between different game engines, existing technologies require a lot of manual labor and are difficult to achieve fast and efficient data migration, resulting in inconsistent scene editing effects with the original scene.

Method used

By constructing named pipes to transmit data between the engine to be migrated and the target engine, and by converting the format of model data and scene data, the data can be recognized between different engines using FBX and JSON formats, thus achieving automatic migration.

🎯Benefits of technology

It eliminates the need for developers to manually manipulate scenes and artists to re-edit them, improving the efficiency of data migration between game engines and ensuring that the target engine can reproduce the same effects as the original scene and model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115738239B_ABST
    Figure CN115738239B_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, storage medium, and electronic device for data migration between game engines. The method includes: constructing a named pipe between the engine to be migrated and the target engine, wherein the named pipe is used for data transmission between the engine to be migrated and the target engine; acquiring model data of the model to be migrated and scene data of the game scene in the engine to be migrated; converting the model data to a model format to obtain converted model data, and converting the scene data to a scene format to obtain converted scene data; and migrating the converted model data and converted scene data from the engine to be migrated to the target engine through the named pipe, so as to restore the model to be migrated and the game scene in the target engine. This disclosure solves the technical problem of low migration efficiency in related technologies when migrating data between different game engines.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computers, and more specifically, to a method, apparatus, storage medium, and electronic device for data migration between game engines. Background Technology

[0002] Game engines are typically used in game or film development. Currently, there are numerous game engines available, which can be categorized into commercial engines and self-developed engines. The original format of model assets across different engines is almost identical, created using different DCC (Digital Content Creation) software. Some engines can output data in different formats to different commercial engines, while others have unique model data structures that require format conversion before data from other game engines can be used.

[0003] However, during project development, it may be necessary to change the game engine. When changing the game engine, data migration of model and scene data is required. Currently, data migration between different game engines involves determining the model to be exported, selecting the storage path and model type in the DCC software, setting the required model information based on the model type, obtaining the model file, starting another game engine, creating the project structure, selecting the folder to store the model file, selecting the model file to execute the import command, and setting the axis and auxiliary information to be adjusted when importing the model file. Then, after the data is imported into the game engine, model detection is performed, and after the model is imported into the game engine, a scene is created, and the model is added for scene replication and editing.

[0004] As the above shows, in existing technologies, the process of migrating data between game engines consumes enormous manual resources. It is equivalent to re-executing the development process, converting model data, transforming coordinate system space, and re-editing scenes, which is both time-consuming and lacks any sense of design. Scene editing usually requires artists to spend a lot of time to complete, and the effect of the re-edited scene is difficult to match the original scene.

[0005] There is currently no effective solution to the above problems. Summary of the Invention

[0006] This disclosure provides at least some embodiments of a data migration method, apparatus, storage medium, and electronic device between game engines, to at least solve the technical problem of low migration efficiency when migrating data between different game engines in the related art.

[0007] According to one embodiment of this disclosure, a data migration method between game engines is provided, comprising: constructing a named pipe between the engine to be migrated and the target engine, wherein the named pipe is used for data transmission between the engine to be migrated and the target engine; obtaining model data of the model to be migrated and scene data of the game scene in the engine to be migrated; performing model format conversion on the model data to obtain converted model data, and performing scene format conversion on the scene data to obtain converted scene data; and migrating the converted model data and the converted scene data from the engine to be migrated to the target engine through the named pipe, so as to restore the model to be migrated and the game scene in the target engine.

[0008] According to one embodiment of this disclosure, a data migration device between game engines is also provided, comprising: a pipeline construction module for constructing a named pipeline between the engine to be migrated and the target engine, wherein the named pipeline is used for data transmission between the engine to be migrated and the target engine; a data acquisition module for acquiring model data of the model to be migrated and scene data of the game scene in the engine to be migrated; a format conversion module for converting the model data to a model format to obtain converted model data, and converting the scene data to a scene format to obtain converted scene data; and a data migration module for migrating the converted model data and the converted scene data from the engine to be migrated to the target engine through the named pipeline, so as to restore the model to be migrated and the game scene in the target engine.

[0009] According to one embodiment of the present disclosure, a computer-readable storage medium is also provided, which stores a computer program, wherein the computer program is configured to execute the data migration method between game engines described above when running.

[0010] According to one embodiment of this disclosure, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the data migration method between game engines as described above.

[0011] In at least some embodiments of this disclosure, a named pipe is used to establish a bridge for data transmission between two engines. By constructing a named pipe between the engine to be migrated and the target engine, the model data of the model to be migrated and the scene data of the game scene in the engine to be migrated are obtained. Then, the model data is converted to a model format to obtain converted model data, and the scene data is converted to a scene format to obtain converted scene data. Finally, the converted model data and the converted scene data are migrated from the engine to be migrated to the target engine through the named pipe, so as to restore the model to be migrated and the game scene in the target engine.

[0012] In the above process, named pipes establish a data transfer channel between the engine to be migrated and the target engine. Through this named pipe, model and scene data from the engine to be migrated can be imported into the target engine without manual intervention from developers or the need for artists to recreate and edit scenes, thus improving the efficiency of data migration between different game engines. Furthermore, before migrating data between different game engines, the model and scene data are formatted separately to ensure that the converted data is recognizable by the target engine. This allows the target engine to recreate scenes and models with the same effect as the originals, thus avoiding the problem of inaccurate scene and model reproduction found in related technologies.

[0013] Therefore, the solution provided in this disclosure achieves the goal of data migration between different game engines, thereby improving the technical effect of data migration efficiency between different game engines and solving the technical problem of low migration efficiency when migrating data between different game engines in related technologies. Attached Figure Description

[0014] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:

[0015] Figure 1 This is a hardware structure block diagram of a terminal device for a data migration method between game engines according to an embodiment of this disclosure;

[0016] Figure 2 This is a flowchart of a data migration method between game engines according to one embodiment of the present disclosure;

[0017] Figure 3 This is a display interface of the Unity engine according to one embodiment of the present disclosure;

[0018] Figure 4 This is a data migration interface according to one embodiment of the present disclosure;

[0019] Figure 5 This is a structural block diagram of a data migration apparatus between game engines according to one optional embodiment of the present disclosure;

[0020] Figure 6 This is a schematic diagram of an electronic device according to one alternative embodiment of the present disclosure. Detailed Implementation

[0021] To enable those skilled in the art to better understand the present disclosure, the technical solutions of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of the present disclosure, and not all embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present disclosure.

[0022] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0023] In one possible implementation, regarding the common practice in data migration between game engines in the computer field, which involves re-executing the development process, model data conversion, coordinate system space transformation, and scene re-editing in the target game engine, the inventors, after practice and careful research, have found that the related technologies still suffer from low migration efficiency when migrating data between different game engines. Based on this, this disclosure proposes a data migration method between game engines, which uses named pipes to establish a bridge for data transmission between the two engines, thereby realizing data migration between different game engines and solving the technical problem of low migration efficiency when migrating data between different game engines in the related technologies, thus achieving the technical effect of improving the data migration efficiency between different game engines.

[0024] The methods and embodiments described above in this disclosure can be executed in mobile terminals, computer terminals, or similar terminal devices. These terminal devices may be smartphones, tablets, PDAs, mobile internet devices, tablets, game consoles, etc. Figure 1 This is a hardware structure block diagram of a terminal device for a data migration method between game engines according to an embodiment of this disclosure. Figure 1 As shown, the terminal device may include one or more ( Figure 1Only one is shown in the diagram. Processor 102 (processor 102 may include, but is not limited to, a central processing unit (CPU), graphics processing unit (GPU), digital signal processing (DSP) chip, microprocessor (MCU), programmable logic device (FPGA), neural network processor (NPU), tensor processor (TPU), artificial intelligence (AI) type processor, etc.) and memory 104 for storing data. In one embodiment of this disclosure, it may also include: input / output device 108 and display device 110.

[0025] In some optional embodiments primarily focused on gaming scenarios, the aforementioned device may also provide a human-computer interaction interface with a touch-sensitive surface. This interface can sense finger contact and / or gestures to interact with a graphical user interface (GUI). The human-computer interaction functions may include the following: creating web pages, drawing, word processing, creating electronic documents, playing games, video conferencing, instant messaging, sending and receiving emails, call interfaces, playing digital videos, playing digital music, and / or web browsing, etc. Executable instructions for performing the aforementioned human-computer interaction functions are configured / stored in one or more processor-executable computer program products or readable storage media.

[0026] Those skilled in the art will understand that Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the terminal device described above. For example, the terminal device may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0027] According to one embodiment of this disclosure, an embodiment of a data migration method between game engines is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0028] In one possible implementation, this disclosure provides a data migration method between game engines, wherein a terminal device can serve as the execution subject of the method provided in this embodiment. Figure 2 This is a flowchart of a data migration method between game engines according to one embodiment of the present disclosure, such as... Figure 2 As shown, the method includes the following steps:

[0029] Step S202: Construct a named pipe between the engine to be migrated and the target engine, wherein the named pipe is used to transfer data between the engine to be migrated and the target engine.

[0030] In step S202, the engine to be migrated and the target engine are different game engines. Both the engine to be migrated and the target engine can be commercial engines, such as Unity, UE5, Maya, 3ds Max, Rhino, ZBrush, Google SketchUp, Poser, Blender, FormZ, LightWave 3D, C4D, etc.; or both can be self-developed engines. In this embodiment, Unity is used as the engine to be migrated and UE5 is used as the target engine for explanation. Unity is a platform for real-time creation and operation of 3D interactive content, applicable to game development, art design, architectural design, automotive design, film and television, etc.

[0031] In addition, in step S202, named pipes are a simple inter-process communication (IPC, Instruction Per Clock) mechanism. Named pipes can be set between different processes on the same computer or between different processes on different computers across a network to achieve reliable, one-way or two-way data communication.

[0032] It should be noted that in this embodiment, the named pipe establishes a channel for data transmission between the engine to be migrated and the target engine. Through this named pipe, model data and scene data in the engine to be migrated can be imported into the target engine without manual operation by developers or re-creation and editing of scenes by artists, thereby improving the efficiency of data migration between different game engines.

[0033] Step S204: Obtain the model data of the model to be migrated and the scene data of the game scene in the engine to be migrated.

[0034] In step S204, the model data of the model to be transferred may include, but is not limited to, the lighting information, color information, normal information, vertex information, etc. of the model to be transferred, and the scene data of the game scene may include, but is not limited to, the model name, the position of the virtual model in the game scene, the rotation angle of the virtual model, the size of the virtual model, etc. of the virtual model contained in the engine to be transferred.

[0035] In addition, the model data of the model to be migrated and the scene data of the game scene in the engine to be migrated are stored in the data storage area corresponding to the engine to be migrated. The engine to be migrated can read the model data and scene data from this data storage area.

[0036] Step S206: Convert the model data to a model format to obtain the converted model data, and convert the scene data to a scene format to obtain the converted scene data.

[0037] In step S206, the model data undergoes a model format conversion, which can be done by converting the model data to FBX file format. FBX is a universal model format that supports all mainstream 2D ​​and 3D data elements, as well as audio and video media elements. It allows for the exchange of model, material, motion, and camera information between software such as Max, Maya, and Softimage, thereby leveraging the advantages of software like Max and Maya. In other words, FBX is a model format that various game engines can recognize and use.

[0038] Additionally, scene data can be converted to a specific format, such as JSON. JSON is a data exchange format, consisting of text files that store information according to a specific format. In this embodiment, JSON is a scene format that various game engines can recognize and use.

[0039] It should be noted that the model data and scene data are converted into a format that can be recognized and used by various game engines. This allows the target engine to directly use the model data and scene data to restore the original model and scene after the model data and scene data are migrated to the target engine, without the need for developers to redevelop the model or artists to re-edit the scene, thus reducing the manual cost of data migration.

[0040] In step S208, the converted model data and converted scene data are transferred from the engine to be transferred to the target engine through a named pipe, so as to restore the model to be transferred and the game scene in the target engine.

[0041] In step S208, the engine to be migrated can respond to the data migration instruction and transmit the model data and scene data to the target engine through a named pipe, so that the model to be migrated and the game scene can be restored in the target engine, and the game developers can edit the model to be migrated and / or the game scene in the target engine.

[0042] Based on the scheme defined in steps S202 to S208 above, it can be understood that, in at least some embodiments of this disclosure, a bridge for data transmission between two engines is established using named pipes. This involves constructing a named pipe between the engine to be migrated and the target engine, obtaining model data of the model to be migrated and scene data of the game scene from the engine to be migrated, then converting the model data to a model format to obtain converted model data, and converting the scene data to a scene format to obtain converted scene data. Finally, the converted model data and converted scene data are migrated from the engine to be migrated to the target engine through the named pipes, so as to restore the model to be migrated and the game scene in the target engine.

[0043] It is noteworthy that in this disclosure, named pipes establish a data transfer channel between the engine to be migrated and the target engine. Through these named pipes, model and scene data from the engine to be migrated can be imported into the target engine without manual intervention from developers or the need for artists to recreate and edit scenes, thus improving the efficiency of data migration between different game engines. Furthermore, before migrating data between different game engines, the model and scene data are formatted separately to ensure that the converted data is recognizable by the target engine. This allows the target engine to recreate scenes and models with the same effect as the originals, thereby avoiding the problem of failing to accurately recreate scenes and models in related technologies.

[0044] Therefore, the solution provided in this disclosure achieves the goal of data migration between different game engines, thereby improving the technical effect of data migration efficiency between different game engines and solving the technical problem of low migration efficiency when migrating data between different game engines in related technologies.

[0045] In one alternative embodiment, such as Figure 2 As shown, a communication bridge needs to be built between the engine to be migrated and the target engine before data migration can be performed.

[0046] Specifically, the terminal device responds to the data migration command, starts the first pipeline process, and connects the first pipeline process and the second pipeline process based on the pipeline identifier of the named pipeline to construct a named pipeline. The second pipeline process is the process started by the target engine, and the pipeline identifier is the identifier of the named pipeline determined by the target engine.

[0047] It should be noted that the first pipe process mentioned above is the process started in the engine to be migrated, and the second pipe process is the process started in the target engine. Additionally, the identifier for the named pipe can be, but is not limited to, the name of the named pipe.

[0048] Optionally, we will use Unity as the engine to be migrated and UE5 as the target engine for explanation. First, UE5 starts the named pipe server (i.e., the second pipe process) and specifies the name of the named pipe (i.e., the identifier of the named pipe); then, in Unity, the named pipe client (i.e., the first pipe process) is started. The pipe client connects to the pipe server according to the name. After the connection is completed, the named pipe between Unity and UE5 is created.

[0049] It should be noted that a named pipe is a one-way or two-way pipe for communication between a server process and one or more client processes. Named pipes can be used between unrelated processes and between different computers. When a server process creates a named pipe, it can specify a name for the pipe. Any process can open the other end of the pipe through that name and communicate with the server process according to the given permissions.

[0050] In addition, it should be noted that by establishing a communication bridge between the engine to be migrated and the target engine, data migration between the two engines can be realized, thereby improving the efficiency of data migration between different engines.

[0051] Furthermore, after establishing a communication bridge between the engine to be migrated and the target engine, the terminal device performs format conversion on the scene data and model data respectively, so that the target engine can recognize and use the scene data and model data.

[0052] In one optional embodiment, when converting scene data into scene format, the terminal device determines the scene format that the target engine can recognize, obtains the target scene format, and converts the scene format of the scene data into the target scene format to obtain the converted scene data.

[0053] Optionally, the terminal device traverses the entire Unity scene to obtain information such as the name, position, rotation, and scale of each model, and saves this information in a preset data structure. Then, the preset data structure is stored in a JSON file. UE5 restores the scene one-to-one according to the JSON file and saves the scene in the specified path, thereby realizing the format conversion of the scene data.

[0054] In addition, before converting the scene data, the terminal device can identify the target scene data whose scene format is not the target scene format, and only convert the target scene data, thereby avoiding the problem of converting all scenes and increasing the system workload.

[0055] It should be noted that the target scene format mentioned above can be, but is not limited to, JSON file format. Since JSON files are a file format that various engines can recognize and use, converting scene data to JSON file format allows the target engine to recognize and use the scene data, thereby accurately reconstructing the original scene based on the scene data and ensuring the accuracy of scene data migration.

[0056] Furthermore, it should be noted that the aforementioned preset data structure can be a `data` data structure, where data exists in key-value pairs. After the data migration is complete, this `data` data structure will be deleted to free up memory and improve system performance.

[0057] In addition, scene data-related information is stored in a preset data structure. This data structure is used to collect all scene data, and after collection, the scene data is saved to a JSON file at once, avoiding the problem of repeatedly reading and writing to the JSON file and increasing system energy consumption.

[0058] Furthermore, although both the Unity engine and the UE5 engine use a left-handed coordinate system, their axes and rotations are inconsistent. Therefore, in this embodiment, the terminal device performs format conversion on the virtual model's position, rotation, and size information, while also performing consistency processing, so that the virtual model's position, rotation, and size information can be in the same coordinate system in the target engine.

[0059] In one optional embodiment, when converting the model data into a model format, the terminal device determines the model format that the target engine can recognize, obtains the target model format, and converts the model format of the model data into the target model format to obtain the converted model data.

[0060] It should be noted that the target model format mentioned above can be, but is not limited to, FBX file format. FBX is a universal model format that supports all mainstream 2D ​​and 3D data elements, as well as audio and video media elements. Since FBX files are a file format that various engines can recognize and use, converting model data to FBX format allows target engines to recognize and use the model data, thereby accurately reconstructing the original model and ensuring the accuracy of model data migration.

[0061] Furthermore, all virtual models in the Unity engine are composed of meshes, which consist of vertices and connections. The default meshes in Unity cannot be used by other engines; therefore, it is necessary to convert the mesh format of virtual models in Unity. Typically, FBX file format is the data format recognized and used by various engines. Therefore, in this embodiment, it is necessary to convert the mesh data of Unity's default meshes, such as cylinders, cubes, and spheres, to FBX format so that the UE5 engine can recognize FBX file format model data when processing it.

[0062] In one optional embodiment, during the format conversion of the model data, the terminal device further determines the target model data from the model data and converts the model format of the target model data to the target model format, thereby obtaining the converted model data. The target model data is in a non-target model format. That is, in this embodiment, the terminal device only performs format conversion on model data that is not in FBX format, thus avoiding the problem of increasing system workload by converting all models.

[0063] Furthermore, after converting the model data to its correct format, the terminal device removes duplicate model data to improve data transmission speed. Specifically, the terminal device calculates the hash value corresponding to the converted model data to obtain the target hash value for each model to be migrated. Then, it checks whether the target hash value exists in the target storage area. If the target hash value exists, the identifier of the model to be migrated corresponding to the target hash value is determined as the first identifier; if the target hash value does not exist, the identifier of the model to be migrated corresponding to the target hash value is determined as the second identifier. The target storage area stores model data of virtual models imported into the target engine. The first identifier indicates that migration of the virtual model corresponding to the first identifier is prohibited, and the second identifier indicates that migration of the virtual model corresponding to the second identifier is allowed.

[0064] It should be noted that the hash value mentioned above can be, but is not limited to, an MD5 hash. An MD5 hash is a string used to compare two files, and each file can be associated with a unique MD5 hash. Therefore, in this embodiment, to avoid duplicate imports of the same model, MD5 hashes are used to compare FBX file information. Identifying identical FBX files using MD5 hashes ensures that only one import operation is performed on the same FBX file, thereby accelerating the migration speed of model data.

[0065] Furthermore, such as Figure 2 As shown, after completing the format conversion of model data and scene data, the terminal device can migrate the converted model data and scene data from the engine to be migrated to the target engine via named pipes. Specifically, the terminal device determines the migration order of the converted model data and scene data, and migrates them from the engine to be migrated to the target engine according to the migration order via named pipes.

[0066] Optionally, the migration order described above can be to migrate the model data first, followed by the scene data. Once the migration order is determined, the engine to be migrated can transfer the model data and scene data to the target engine via named pipes according to the migration order.

[0067] In addition, in this embodiment, besides setting the migration order for different types of data, the migration order of data contained in each data type can also be set according to the data priority. For example, model data includes data of model 1 and data of model 2, but model 1 is more important than model 2. Therefore, when migrating model data, data of model 1 is transmitted first to ensure that important data is transmitted first.

[0068] in addition, Figures 3 to 4 The diagram illustrates the interface of the method provided in this embodiment. The terminal device copies the OverpassUnityPlugin plugin to the Editor folder within the Unity engine. After the OverpassUnityPlugin plugin runs, the first pipeline process can be started in the Unity engine, such as... Figure 3 In the Unity engine's display interface shown, the OverpassUnityPlugin is loaded. At this point, a migration control appears in the Unity toolbar. Clicking the migration control will trigger a pop-up window. Figure 4 The data migration interface is shown below. Similarly, copy the OverpassUEPlugin plugin to the Plugins folder in the UE5 engine. After restarting the UE5 engine, migration controls will appear in the UE5 toolbar. During data migration, users only need to open the scene to be converted in the Unity engine and simultaneously open the UE5 engine, then click... Figure 4 The "Change Scene" function can be used to migrate scene data; users can use it through... Figure 4 Select the FBX file from the FBX file selection box and click the "Convert Model" control to migrate the model data.

[0069] As described above, this disclosure provides a data migration method between game engines. This method establishes a communication bridge between two game engines through named pipes, automatically migrating model and scene data from the Unity engine to the UE5 engine. This allows the UE5 engine to recreate the virtual models and game scenes from the Unity engine. This process eliminates the need for artists to manually export models from DCC and re-import them into the engine, as well as to recreate and re-edit scenes, thus reducing labor costs and improving data migration efficiency.

[0070] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this disclosure.

[0071] This embodiment also provides a data migration device between game engines, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0072] Figure 5 This is a structural block diagram of a data migration apparatus between game engines according to one embodiment of the present disclosure, such as... Figure 5 As shown, the device includes: a pipeline construction module 501, a data acquisition module 503, a format conversion module 505, and a data migration module 507.

[0073] The system includes: a pipeline construction module 501, used to construct a named pipeline between the engine to be migrated and the target engine, whereby the named pipeline is used for data transmission between the two engines; a data acquisition module 503, used to acquire model data of the model to be migrated and scene data of the game scene from the engine to be migrated; a format conversion module 505, used to convert the model data to a model format to obtain converted model data, and to convert the scene data to a scene format to obtain converted scene data; and a data migration module 507, used to migrate the converted model data and converted scene data from the engine to be migrated to the target engine through the named pipeline, so as to restore the model to be migrated and the game scene in the target engine.

[0074] It should be noted that the pipeline construction module 501, data acquisition module 503, format conversion module 505 and data migration module 507 mentioned above correspond to steps S202 to S208 of the above embodiments. The four units and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in the above embodiments.

[0075] Optionally, the pipeline construction module includes a process startup module and a first construction module. The process startup module is used to start a first pipeline process in response to a data migration instruction. The first construction module is used to connect the first pipeline process and a second pipeline process based on the pipe identifier of the named pipe to construct a named pipe. The second pipeline process is the process started by the target engine, and the pipe identifier is the identifier of the named pipe determined by the target engine.

[0076] Optionally, the format conversion module includes a first determining module and a first conversion module. The first determining module is used to determine the scene format that the target engine can recognize, thus obtaining the target scene format; the first conversion module is used to convert the scene format of the scene data into the target scene format, thus obtaining the converted scene data.

[0077] Optionally, the format conversion module includes a second determining module and a second conversion module. The second determining module is used to determine the model format that the target engine can recognize, thus obtaining the target model format; the second conversion module is used to convert the model format of the model data into the target model format, thus obtaining the converted model data.

[0078] Optionally, the second conversion module includes a third determining module and a third conversion module. The third determining module is used to determine the target model data from the model data, wherein the model format of the target model data is a non-target model format; the third conversion module is used to convert the model format of the target model data to the target model format to obtain the converted model data.

[0079] Optionally, the data migration device between game engines further includes: a calculation module, a detection module, a fourth determination module, and a fifth determination module. The calculation module is used to calculate the hash value corresponding to the converted model data after converting the model data into a model format, thus obtaining the target hash value for each model to be migrated. The detection module is used to detect whether the target hash value exists in the target storage area, where the target storage area stores the model data of the virtual models imported into the target engine. The fourth determination module is used to determine the identifier of the model to be migrated corresponding to the target hash value as a first identifier when the target hash value is detected in the target storage area, where the first identifier indicates that migration of the virtual model corresponding to the first identifier is prohibited. The fifth determination module is used to determine the identifier of the model to be migrated corresponding to the target hash value as a second identifier when the target hash value is detected not in the target storage area, where the second identifier indicates that migration of the virtual model corresponding to the second identifier is permitted.

[0080] Optionally, the data migration module includes a sixth determination module and a migration module. The sixth determination module is used to determine the migration order of the converted model data and the converted scene data; the migration module is used to migrate the converted model data and the converted scene data from the engine to be migrated to the target engine through named pipes, according to the migration order.

[0081] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0082] Embodiments of this disclosure also provide a computer-readable storage medium storing a computer program configured to perform the steps in any of the above method embodiments when executed.

[0083] Optionally, in this embodiment, the computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0084] Optionally, in this embodiment, the computer-readable storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0085] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a computer-readable storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0086] In exemplary embodiments of this disclosure, a computer-readable storage medium stores a program product capable of implementing the methods described above in this embodiment. In some possible implementations, various aspects of the embodiments of this disclosure may also be implemented as a program product including program code, which, when the program product is run on a terminal device, causes the terminal device to perform the steps according to various exemplary embodiments of this disclosure described in the "Exemplary Methods" section above.

[0087] The program product for implementing the above-described method according to embodiments of the present disclosure may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the embodiments of the present disclosure is not limited thereto. In the embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0088] The aforementioned program product may take the form of any combination of one or more computer-readable media. Such computer-readable storage media may be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples (not exhaustive) of computer-readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0089] It should be noted that the program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0090] Embodiments of this disclosure also provide an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.

[0091] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0092] Figure 6 This is a schematic diagram of an electronic device according to an embodiment of the present disclosure. Figure 6As shown, the electronic device 600 is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0093] like Figure 6 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processor 610, at least one memory 620, a bus 630 connecting different system components (including memory 620 and processor 610), and a display 640.

[0094] The memory 620 stores program code that can be executed by the processor 610, causing the processor 610 to perform the steps described in the method section of the embodiments of this disclosure according to various exemplary implementations of this disclosure.

[0095] The memory 620 may include a readable medium in the form of volatile memory cells, such as random access memory (RAM) 6201 and / or cache memory 6202, and may further include a read-only memory (ROM) 6203, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.

[0096] In some instances, memory 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, including but not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Memory 620 may further include memory remotely located relative to processor 610, which can be connected to electronic device 600 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0097] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, peripheral bus, graphics acceleration port, processor 610, or a local bus using any of the various bus structures.

[0098] The display 640 may be, for example, a touchscreen liquid crystal display (LCD) that allows a user to interact with the user interface of the electronic device 600.

[0099] Optionally, the electronic device 600 can also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 600, and / or any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via the input / output (I / O) interface 650. Furthermore, the electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via a network adapter 660. Figure 6 As shown, network adapter 660 communicates with other modules of electronic device 600 via bus 630. It should be understood that, although... Figure 6 As not shown in the diagram, other hardware and / or software modules may be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0100] The aforementioned electronic device 600 may further include: a keyboard, a cursor control device (such as a mouse), an input / output interface (I / O interface), a network interface, a power supply, and / or a camera.

[0101] Those skilled in the art will understand that Figure 6 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, electronic device 600 may also include components that are more... Figure 6 The more or fewer components shown, or having the same Figure 6 Different configurations are shown. The memory 620 can be used to store computer programs and corresponding data, such as the computer program and corresponding data corresponding to the data migration method between game engines in this embodiment. The processor 610 executes various functional applications and data processing by running the computer program stored in the memory 620, thereby realizing the aforementioned data migration method between game engines.

[0102] The sequence numbers of the embodiments disclosed above are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0103] In the above embodiments of this disclosure, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0104] In the several embodiments provided in this disclosure, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.

[0105] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0106] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0107] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0108] The above description is only a preferred embodiment of this disclosure. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles of this disclosure, and these improvements and modifications should also be considered within the scope of protection of this disclosure.

Claims

1. A method for data migration between game engines, characterized in that, include: Construct a named pipe between the engine to be migrated and the target engine, wherein the named pipe is used to perform data transmission between the engine to be migrated and the target engine; Obtain the model data of the model to be migrated and the scene data of the game scene from the engine to be migrated; Determine the model format that the target engine can recognize to obtain the target model format; Determine target model data from the model data, wherein the model format of the target model data is a non-target model format; The model format of the target model data is converted to the target model format to obtain the converted model data, and the scene data is converted to the scene format to obtain the converted scene data. Determine the migration order between the transformed model data and the transformed scene data; Through the named pipeline, the transformed model data and the transformed scene data are migrated from the engine to be migrated to the target engine in the migration order, so as to restore the model to be migrated and the game scene in the target engine.

2. The method according to claim 1, characterized in that, Construct a named pipe between the engine to be migrated and the target engine, including: In response to the data migration command, start the first pipeline process; Based on the pipe identifier of the named pipe, the first pipe process and the second pipe process are connected to construct the named pipe, wherein the second pipe process is the process started by the target engine, and the pipe identifier is the identifier of the named pipe determined by the target engine.

3. The method according to claim 1, characterized in that, The scene data is converted to a scene format to obtain the converted scene data, including: Determine the scene format that the target engine can recognize to obtain the target scene format; The scene data is converted from its scene format to the target scene format to obtain the converted scene data.

4. The method according to claim 1, characterized in that, After obtaining the transformed model data, the method further includes: Calculate the hash value corresponding to the transformed model data to obtain the target hash value corresponding to each model to be transferred; Detect whether the target hash value exists in the target storage area, wherein the target storage area is used to store model data of the virtual model that has been imported into the target engine; When the target hash value is detected in the target storage area, the identifier of the model to be migrated corresponding to the target hash value is determined as a first identifier, wherein the first identifier indicates that the virtual model corresponding to the first identifier is prohibited from being migrated; When the target hash value is not detected in the target storage area, the identifier of the model to be migrated corresponding to the target hash value is determined as a second identifier, wherein the second identifier indicates that the virtual model corresponding to the second identifier is migrated.

5. A data migration device between game engines, characterized in that, include: The pipeline construction module is used to construct named pipelines between the engine to be migrated and the target engine, wherein the named pipelines are used to perform data transmission between the engine to be migrated and the target engine; The data acquisition module is used to acquire model data of the model to be migrated in the engine to be migrated and scene data of the game scene; The format conversion module is used to determine the model format that the target engine can recognize, and obtain the target model format; determine the target model data from the model data, wherein the model format of the target model data is a non-target model format; convert the model format of the target model data to the target model format to obtain the converted model data; and perform scene format conversion on the scene data to obtain the converted scene data. The data migration module is used to determine the migration order of the converted model data and the converted scene data; through the named pipe, the converted model data and the converted scene data are migrated from the engine to be migrated to the target engine according to the migration order, so as to restore the model to be migrated and the game scene in the target engine.

6. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores a computer program, wherein the computer program is configured to execute, when run by a processor, the data migration method between game engines as described in any one of claims 1 to 4.

7. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the data migration method between game engines as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Data exchange method and device between game engines, storage medium and electronic equipment

    CN111414409A

  • Data migration system and method

    US20040111726A1