CN111917852A - Multi-person network synchronization system based on Unity and development method - Google Patents
Multi-person network synchronization system based on Unity and development method Download PDFInfo
- Publication number
- CN111917852A CN111917852A CN202010720055.5A CN202010720055A CN111917852A CN 111917852 A CN111917852 A CN 111917852A CN 202010720055 A CN202010720055 A CN 202010720055A CN 111917852 A CN111917852 A CN 111917852A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- unity
- client
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000011161 development Methods 0.000 title claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000003491 array Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 230000018109 developmental process Effects 0.000 claims 1
- 230000033772 system development Effects 0.000 claims 1
- 230000006399 behavior Effects 0.000 abstract description 8
- 239000012141 concentrate Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention discloses a Unity-based multi-person Network synchronization system and a development step thereof, which consists of a thread pool, a data serialization module, a data deserialization module, a binary data transmission module and a multi-module of a Network Object, and comprises the following specific steps: creating a Unity project, adding a server and a client, newly building a C # script, compiling a synchronization behavior component, adding a networkObject component, setting an ID (identity) number, and finally adding the synchronization behavior component, wherein the invention provides a lightweight network synchronization system which can be quickly built for Unity developers; too much learning cost and a server building process are not needed, so that a developer is enabled to concentrate on functional logic development without worrying about network transmission, sticky packet loss, network searching and other bottom contents; and also provides efficient data serialization and deserialization methods and interfaces for developers, which can be used for file storage and data parsing.
Description
Technical Field
The invention relates to the technical field of computer software development, in particular to a Unity-based multi-person network synchronization system and a development step thereof.
Background
As social software, VR, has enjoyed network gaming, more and more developers are realizing that programs with multi-player network synchronization functionality are more competitive. Unity, as a main development platform for VR and network games, does not have the capability of friendly multi-player network development.
In the Unity 2017 edition, an official has introduced a multi-user network synchronization related module, but the module stops updating and is marked as discarding due to various reasons of the module and the outside, and the multi-user network synchronization function of the official is in a blank state all the time. In addition, the Unity platform has a plug-in Photon with network synchronization, which can also realize multi-person synchronization, but the whole Photon system is too large, the learning cost of developers is high, and the server is troublesome to build.
Disclosure of Invention
The invention aims to provide a Unity-based multi-person network synchronization system and a development step thereof, so as to solve the problems in the background technology.
In order to achieve the purpose, the invention provides the following technical scheme: a development step of a Unity-based multi-person network synchronization system comprises the following specific steps:
firstly, a Unity program unity.exe is started, a Unity project is created, and a scene is created to serve as an initialization entrance scene;
secondly, if the Server is used as the Server, adding a Server component; if the Client side exists, a Client component is added. Both the Server component and the Client component need to set the same Application Identity and Port, the former is used to identify the same program, and the latter is used to specify the Port of data transmission. Because the setting of the server side is simple, because almost all functions are packaged, only the client side is described later;
and step three, building a C # script and writing a synchronous behavior component. The most important point in this process is the process serialization and deserialization, which will be described in more detail within the program modules.
Fourth, add NetworkObject component and set ID number. The ID number is a unique identifier for this object, and any message sent and arriving requires an ID number to be directed, which can be assigned automatically by the system or manually as required by the developer.
And fifthly, adding a synchronization behavior component. The development work in the editor is now complete.
A multi-person Network synchronization system based on Unity comprises a thread pool, a data serialization and deserialization module, a binary data transmission module and a Network Object module. Wherein,
1. and (4) thread pool. Because each tcp/udp connection needs to have a separate thread for maintenance, and frequent creation and destruction of threads can generate more memory garbage and performance overhead, the invention makes a thread pool of network connection at the bottom layer, resets and collects data in the threads into the thread pool after connection failure, and takes out the threads from the thread pool and initializes the threads for use when new connection needs to be created, thereby effectively avoiding unnecessary thread garbage and performance overhead. Similarly, data exchange among threads is conflicted due to the use of multiple threads, and in order to avoid the main thread card frame, received network messages are collected by a thread-safe queue, and the messages in the queue are processed in the main thread.
2. Data serialization and deserialization. The structure and storage of the different data are different, for example, data of vector2 (two-dimensional vector) type is stored with two float types, and data of vector3 (three-dimensional vector) type is stored with 4 float types. However, tcp/udp network transmission can only use binary data, so that binary conversion processing is required to be performed on data to be transmitted in advance, and this process is called serialization. The serialization is to convert the data into binary byte arrays arranged according to a sequence queue, and the deserialization is to take out the data from the queue and restore the data according to the same sequence. The invention provides a complete tool for data serialization and deserialization, wherein the class names are buffer writer write and buffer reader read, and corresponding interfaces ILexNetSerializable and deserializable objects ILexNetDeserializable are provided for a complex structure. In addition, from a performance aspect, since both bufferwrite and BufferReader are operations on a block of memory, memory garbage and performance problems result when both are heavily created and destroyed. Both bufferwrite and BufferReader have an implementation of an object pool. Taking the aforementioned vector3 as an example, the steps for serializing the vector3 object are: taking out a buffer Write from the object pool, then splitting vector3 into a basic data structure, wherein the result is 3 float data xyz, and then writing the xyz into the memory block by using the Write method in the buffer Write in sequence; the steps to deserialize the vector3 object are: and taking out a buffer reader from the object pool, transferring the buffer reader into the memory block, reading the memory block from the buffer reader by using a ReadFloat according to the sequence of xyz, creating a structure of vector3, and assigning values to xyz respectively.
3. And (4) transmitting binary data. When the data is serialized, the data needs to be transmitted through tcp/udp, but the network transmission process is not straight and smooth, and sometimes the smoothness sometimes blocks to cause data loss, so that a middleware special for processing network transmission is required: all data needing to be transmitted can be collected in a queue in advance, and a piece of data is taken out from the queue for transmission after the last piece of data is received, so that the phenomenon that a transmission thread is blocked and falsely killed can be avoided, and the data can be automatically transmitted according to the network condition and cannot be lost.
4. The transmission data needs to be sent and received, and the NetworkObject provides the sent data and also processes the received data, so to speak, the NetworkObject serves as a key ring for logic processing in the network system. Before each data transmission, NetworkObject adds some custom protocol contents: the network object also can select a reliable data channel from tcp or an unreliable data channel from udp to transmit according to requirements. When a new message is received, the NetworkObject can analyze the data content, judge whether the message is correct, then find out the corresponding network object and execute the corresponding method.
Further, the multi-person network synchronization system comprises the following operation flow steps:
firstly, the starting program is selected to be started as a server or a client.
Secondly, after the server is started, the server monitors the connection of all network cards; after starting up as a client, the client will find the server through udp broadcast. Two data channels, tcp and udp, are established when a new client connection request is received. tcp is used as a reliable data transmission channel for important command transmission of switches and buttons; udp serves as an unreliable data transmission channel for displaying animation, transitioning the transmission of these unimportant commands.
Thirdly, after receiving the message, the server analyzes the message content, and determines the processing mode of the message according to the message behavior defined by the client: a is sent to all clients B, C except the client B is sent to a specific client D for data storage, and the server processes the message according to the processing modes.
Furthermore, the multi-person network synchronization system supports two system structures, namely an independent server A + a plurality of clients, and an embedded server B + a plurality of clients. The mode A is suitable for being used under the conditions that the number of clients is large and the performance requirement of the server is high; because the server operates independently, the hardware performance of the server can be configured according to specific use occasions, and the state of the client does not influence the server. The mode B is suitable for the condition that the number of clients is small and the clients need to be conveniently dismounted and mounted, and any client can be used as a server, so that an independent server can be saved, and the client can be quickly built, used and dismounted under any condition.
Compared with the prior art, the invention has the beneficial effects that: a lightweight and rapidly-built network synchronization system is provided for Unity developers; too much learning cost and a server building process are not needed, so that a developer is enabled to concentrate on functional logic development without worrying about network transmission, sticky packet loss, network searching and other bottom contents; and also provides efficient data serialization and deserialization methods and interfaces for developers, which can be used for file storage and data parsing.
Drawings
FIG. 1 is a schematic flow chart of the development steps of the present invention;
FIG. 2 is a schematic block diagram of the system of the present invention;
FIG. 3 is a schematic flow chart illustrating the operation of the present invention;
FIG. 4 is a schematic structural diagram of a multi-user network synchronization system A according to the present invention;
fig. 5 is a schematic structural diagram of a multi-user network synchronization system B according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
As shown in fig. 4 and 5, the present invention supports two system architectures: a is independent server + a plurality of customer ends, B embeds server + a plurality of customer ends. The mode A is suitable for being used under the conditions that the number of clients is large and the performance requirement of the server is high; because the server operates independently, the hardware performance of the server can be configured according to specific use occasions, and the state of the client does not influence the server. The mode B is suitable for the condition that the number of clients is small and the clients need to be conveniently dismounted and mounted, and any client can be used as a server, so that an independent server can be saved, and the client can be quickly built, used and dismounted under any condition. However, in any system structure, the implementation inside the software is similar, and as shown in fig. 1, the working steps of the software developed in the editor will be described in detail below, taking the creation of a basic network synchronization as an example:
1. exe and create a Unity project, and then create a scene as an initialization entry scene.
2. If the Server is used as the Server, adding a Server component; if the Client side exists, a Client component is added. Both the Server component and the Client component need to set the same Application Identity and Port, the former is used to identify the same program, and the latter is used to specify the Port of data transmission. Since the server side setup is simple, we only describe the client side later since the present invention has packaged almost all functions.
3. And newly building a C # script and writing a synchronous behavior component. The most important point in this process is the process serialization and deserialization, which will be described in more detail within the program modules.
4. Add NetworkObject component and set ID number. The ID number is a unique identifier for this object, and any message sent and arriving requires an ID number to be directed, which can be assigned automatically by the system or manually as required by the developer.
5. And finally adding a synchronous behavior component.
The development work in the editor is now complete. However, the whole process can be completed by the working steps in the runtime, and the runtime process is described below with reference to fig. 3:
1. after the starting program is started, the server or the client is selected to be started.
2. After the server is started, the server monitors the connection of all network cards; after starting up as a client, the client will find the server through udp broadcast. Two data channels, tcp and udp, are established when a new client connection request is received. tcp is used as a reliable data transmission channel for important command transmission of switches and buttons; udp serves as an unreliable data transmission channel for displaying animation, transitioning the transmission of these unimportant commands.
3. When the server receives the message, the server analyzes the message content, and determines the processing mode of the message according to the message behavior defined by the client: a is sent to all clients B, C except the client B is sent to a specific client D for data storage, and the server processes the message according to the processing modes.
The invention mainly comprises a thread pool, a data serialization and deserialization module, a binary data transmission module and a Network Object module, and is explained according to the content shown in figure 2 as follows:
1. and (4) thread pool. Because each tcp/udp connection needs to have a separate thread for maintenance, and frequent creation and destruction of threads can generate more memory garbage and performance overhead, the invention makes a thread pool of network connection at the bottom layer, resets and collects data in the threads into the thread pool after connection failure, and takes out the threads from the thread pool and initializes the threads for use when new connection needs to be created, thereby effectively avoiding unnecessary thread garbage and performance overhead. Similarly, data exchange among threads is conflicted due to the use of multiple threads, and in order to avoid the main thread card frame, received network messages are collected by a thread-safe queue, and the messages in the queue are processed in the main thread.
2. Data serialization and deserialization. The structure and storage of the different data are different, for example, data of vector2 (two-dimensional vector) type is stored with two float types, and data of vector3 (three-dimensional vector) type is stored with 4 float types. However, tcp/udp network transmission can only use binary data, so that binary conversion processing is required to be performed on data to be transmitted in advance, and this process is called serialization. The serialization is to convert the data into binary byte arrays arranged according to a sequence queue, and the deserialization is to take out the data from the queue and restore the data according to the same sequence. The invention provides complete tools for data serialization and deserialization, class names are buffer writer and buffer reader, and corresponding interfaces ILexNetSerializable and ILexNetDeserializable are also provided for complex structures. In addition, from a performance aspect, since both bufferwrite and BufferReader are operations on a block of memory, memory garbage and performance problems result when both are heavily created and destroyed. Both bufferwrite and BufferReader have an implementation of an object pool. Taking the aforementioned vector3 as an example, the steps for serializing the vector3 object are: taking out a buffer Write from the object pool, then splitting vector3 into a basic data structure, wherein the result is 3 float data xyz, and then writing the xyz into the memory block by using the Write method in the buffer Write in sequence; the steps to deserialize the vector3 object are: and taking out a buffer reader from the object pool, transferring the buffer reader into the memory block, reading the memory block from the buffer reader by using a ReadFloat according to the sequence of xyz, creating a structure of vector3, and assigning values to xyz respectively.
3. And (4) transmitting binary data. When the data is serialized, the data needs to be transmitted through tcp/udp, but the network transmission process is not straight and smooth, and sometimes the smoothness sometimes blocks to cause data loss, so that a middleware special for processing network transmission is required: all data needing to be transmitted can be collected in a queue in advance, and a piece of data is taken out from the queue for transmission after the last piece of data is received, so that the phenomenon that a transmission thread is blocked and falsely killed can be avoided, and the data can be automatically transmitted according to the network condition and cannot be lost.
4. The transmission data needs to be sent and received, and the NetworkObject provides the sent data and also processes the received data, so to speak, the NetworkObject serves as a key ring for logic processing in the network system. Before each data transmission, NetworkObject adds some custom protocol contents: the network object also can select a reliable data channel from tcp or an unreliable data channel from udp to transmit according to requirements. When a new message is received, the NetworkObject can analyze the data content, judge whether the message is correct, then find out the corresponding network object and execute the corresponding method.
Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that changes, modifications, substitutions and alterations can be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.
Claims (4)
1. A multi-person network synchronization system development method based on Unity comprises the following specific steps:
firstly, a Unity program unity.exe is started, a Unity project is created, and a scene is created to serve as an initialization entrance scene;
secondly, the Unity project is used as a Server, and a Server component is added; the Unity project is used as a Client, a Client component is added, the same Application Identity and Port are required to be set for both the Server component and the Client component, the former is used for identifying the same program, and the latter is used for specifying a Port for data transmission;
step three, newly building a C # script and compiling a synchronous behavior component;
fourthly, adding a NetworkObject component and setting an ID number, wherein the ID number is a unique identifier of the object, the sending and the arrival of any message need the ID number for guidance, and the ID number can be automatically or manually allocated by a system according to the needs of developers;
and fifthly, finally adding a synchronous behavior component, and finishing the development work in the editor.
2. A multi-person Network synchronization system based on Unity is characterized in that the multi-person Network synchronization system consists of a thread pool, a plurality of modules of data serialization, data deserialization, binary data transmission and Network Object, wherein,
the thread pool resets the data in the thread and collects the data into the thread pool after the connection fails;
the data serialization converts data into binary byte arrays, the binary byte arrays are arranged according to a sequence queue, and the data deserialization takes out the data from the queue and restores the data according to the same sequence;
the binary data transmission is a middleware specially processing network transmission, all data to be transmitted are collected into a queue in advance by the binary data transmission, and a piece of data is taken out from the queue for transmission after the last piece of data is received;
the Network Object provides the transmitted data and also processes the received data, and before transmitting the data each time, the Network Object adds some self-defined protocol contents: the network object NetworkObject can select a reliable data channel from a tcp or an unreliable data channel from a udp to transmit according to requirements, and when a new message is received, the network object NetworkObject can analyze data content, judge whether the message is correct, find a corresponding network object and execute a corresponding method.
3. The Unity-based multi-person network synchronization system as claimed in claim 2, wherein said multi-person network synchronization system is run by the following steps:
firstly, selecting to start a program as a server or a client after starting the program;
secondly, after the server is started, the server monitors the connection of all network cards; after the client is started, the client finds a server through udp broadcasting, two data channels, namely tcp and udp, are established after a new client connection request is received, and the tcp is used as a reliable data transmission channel and is used for important command transmission of a switch and a button; udp is used as an unreliable data transmission channel for displaying animation and transiting the unimportant command transmission;
thirdly, after receiving the message, the server analyzes the message content, and determines the processing mode of the message according to the message behavior defined by the client: a is sent to all clients B, C except the client B is sent to a specific client D for data storage, and the server processes the message according to the processing modes.
4. The Unity-based multi-person network synchronization system as recited in claim 2, wherein said multi-person network synchronization system supports two system architectures,
a first mode a, an independent server + multiple clients; the mode A is suitable for being used under the conditions that the number of clients is large and the performance requirement of the server is high;
in a second mode B, an embedded server + a plurality of clients; the B mode is suitable for the condition that the number of clients is small and the clients need to be conveniently disassembled and assembled.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720055.5A CN111917852A (en) | 2020-07-23 | 2020-07-23 | Multi-person network synchronization system based on Unity and development method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720055.5A CN111917852A (en) | 2020-07-23 | 2020-07-23 | Multi-person network synchronization system based on Unity and development method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111917852A true CN111917852A (en) | 2020-11-10 |
Family
ID=73280750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010720055.5A Pending CN111917852A (en) | 2020-07-23 | 2020-07-23 | Multi-person network synchronization system based on Unity and development method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917852A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112473128A (en) * | 2020-11-24 | 2021-03-12 | 杭州电魂网络科技股份有限公司 | Method, device, electronic equipment and storage medium for isolating game logic |
CN113596111A (en) * | 2021-07-08 | 2021-11-02 | 南京智联达科技有限公司 | Distributed node-node communication method |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201491032U (en) * | 2009-08-21 | 2010-05-26 | 西安迅腾科技有限责任公司 | Large-scale multithread communication server |
CN101799751A (en) * | 2009-12-02 | 2010-08-11 | 山东浪潮齐鲁软件产业股份有限公司 | Method for building monitoring agent software of host machine |
CN102546437A (en) * | 2012-02-20 | 2012-07-04 | 南京邮电大学 | Internet of things platform-oriented socket implementation method |
WO2013126507A1 (en) * | 2012-02-21 | 2013-08-29 | Brass Monkey, Inc. | Mobile embedded servers systems and methods related thereto |
US20140337734A1 (en) * | 2013-05-09 | 2014-11-13 | Linda Bradford | Content management system for a 3d virtual world |
CN105006017A (en) * | 2015-07-01 | 2015-10-28 | 国家电网公司 | Simulation method for generating three-dimensional scene based on Unity dynamic technology |
CN107454177A (en) * | 2017-08-15 | 2017-12-08 | 合肥丹朋科技有限公司 | The dynamic realizing method of network service |
CN107679281A (en) * | 2017-09-05 | 2018-02-09 | 国家电网公司 | Intelligent station three-dimensional scenic analogue system and implementation method based on Unity dynamic generations |
US20180308287A1 (en) * | 2015-10-16 | 2018-10-25 | Bent Image Lab, Llc | Augmented reality platform |
WO2018223800A1 (en) * | 2017-06-08 | 2018-12-13 | 腾讯科技(深圳)有限公司 | Data processing method and device, storage medium, and electronic device |
US20190342386A1 (en) * | 2017-05-18 | 2019-11-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for playing scene animation |
US20190362312A1 (en) * | 2017-02-20 | 2019-11-28 | Vspatial, Inc. | System and method for creating a collaborative virtual session |
CN110659030A (en) * | 2019-09-23 | 2020-01-07 | 深圳市众学科技有限公司 | Unity project compiling method, system, computer device and storage medium |
CN110673911A (en) * | 2019-09-17 | 2020-01-10 | 张维加 | Cross-equipment editing system for digital files |
-
2020
- 2020-07-23 CN CN202010720055.5A patent/CN111917852A/en active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201491032U (en) * | 2009-08-21 | 2010-05-26 | 西安迅腾科技有限责任公司 | Large-scale multithread communication server |
CN101799751A (en) * | 2009-12-02 | 2010-08-11 | 山东浪潮齐鲁软件产业股份有限公司 | Method for building monitoring agent software of host machine |
CN102546437A (en) * | 2012-02-20 | 2012-07-04 | 南京邮电大学 | Internet of things platform-oriented socket implementation method |
WO2013126507A1 (en) * | 2012-02-21 | 2013-08-29 | Brass Monkey, Inc. | Mobile embedded servers systems and methods related thereto |
US20140337734A1 (en) * | 2013-05-09 | 2014-11-13 | Linda Bradford | Content management system for a 3d virtual world |
CN105006017A (en) * | 2015-07-01 | 2015-10-28 | 国家电网公司 | Simulation method for generating three-dimensional scene based on Unity dynamic technology |
US20180308287A1 (en) * | 2015-10-16 | 2018-10-25 | Bent Image Lab, Llc | Augmented reality platform |
US20190362312A1 (en) * | 2017-02-20 | 2019-11-28 | Vspatial, Inc. | System and method for creating a collaborative virtual session |
US20190342386A1 (en) * | 2017-05-18 | 2019-11-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for playing scene animation |
WO2018223800A1 (en) * | 2017-06-08 | 2018-12-13 | 腾讯科技(深圳)有限公司 | Data processing method and device, storage medium, and electronic device |
CN107454177A (en) * | 2017-08-15 | 2017-12-08 | 合肥丹朋科技有限公司 | The dynamic realizing method of network service |
CN107679281A (en) * | 2017-09-05 | 2018-02-09 | 国家电网公司 | Intelligent station three-dimensional scenic analogue system and implementation method based on Unity dynamic generations |
CN110673911A (en) * | 2019-09-17 | 2020-01-10 | 张维加 | Cross-equipment editing system for digital files |
CN110659030A (en) * | 2019-09-23 | 2020-01-07 | 深圳市众学科技有限公司 | Unity project compiling method, system, computer device and storage medium |
Non-Patent Citations (7)
Title |
---|
刘贤梅等: "Unity引擎下多人在线网络游戏的设计与开发", 《计算机系统应用》 * |
干建松: "基于unity局域网同步与多角色玩家的设计与实现", 《盐城工学院学报(自然科学版)》 * |
烂笔头-27: "手把手教你实现Unity网络同步", 《HTTPS://WWW.GAMERES.COM/828970.HTML》 * |
甄希金等: "基于VR技术的多人协同船舶消防系统开发及应用", 《船舶工程》 * |
谢宏兰: "基于Unity3D射击游戏的设计与实现", 《现代信息科技》 * |
郭骁等: "基于Unity3D的聊天室应用程序开发", 《电脑知识与技术》 * |
阚阔等: "基于分布式虚拟现实的连铸多人协作系统", 《物联网技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112473128A (en) * | 2020-11-24 | 2021-03-12 | 杭州电魂网络科技股份有限公司 | Method, device, electronic equipment and storage medium for isolating game logic |
CN112473128B (en) * | 2020-11-24 | 2023-12-26 | 杭州电魂网络科技股份有限公司 | Method, apparatus, electronic device and storage medium for isolating game logic |
CN113596111A (en) * | 2021-07-08 | 2021-11-02 | 南京智联达科技有限公司 | Distributed node-node communication method |
CN113596111B (en) * | 2021-07-08 | 2024-02-09 | 南京智联达科技有限公司 | Distributed-based inter-node communication method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10355911B2 (en) | System and method for processing information via networked computers including request handlers, process handlers, and task handlers | |
US20090210482A1 (en) | Framework for Rendering Plug-ins in Remote Access Services | |
CN111917852A (en) | Multi-person network synchronization system based on Unity and development method | |
CN103164244A (en) | Firmware system remote updating method based on universal extensible firmware interface | |
CN112527647B (en) | NS-3-based Raft consensus algorithm test system | |
CN109766201A (en) | Task distribution method, server, client and system | |
CN109101342A (en) | Distributed job control method for coordinating, device, computer equipment and storage medium | |
CN102455951A (en) | Fault tolerance method and system of virtual machines | |
CN112764877A (en) | Method and system for communication between hardware acceleration equipment and process in docker | |
EP4102367A1 (en) | Message format indicator for resource-constrained devices | |
CN109669788A (en) | The MPI implementation method of multi core chip towards direct memory access interconnection communication | |
CN114095343A (en) | Disaster recovery method, device, equipment and storage medium based on double-active system | |
CN112446948B (en) | Virtual reality courseware processing method and device, electronic equipment and storage medium | |
CN112748907B (en) | C/S mode general measurement and control software architecture based on hardware resources and design method | |
CN114565098A (en) | Quantum computation simulation multi-node task scheduling method and equipment | |
CN111949475A (en) | Method and system for achieving distributed task scheduling based on zookeeper shell | |
KR20220079156A (en) | Virtual machine connection management server, operating method thereof, and program using the same | |
CN114051047B (en) | Session message backup method and device, network equipment and storage medium | |
CN112463212B (en) | Environment building method and device supporting cross-system platform | |
CN1744042A (en) | Method for realizing automatic change of computer start sequence | |
CN104539698B (en) | A kind of multithreading socket synchronous communication cut-in method based on delay amendment | |
KR102633494B1 (en) | Vehicle management system with adaptive autosar platform | |
JP2000148516A (en) | System for controlling execution order of moving object | |
CN109873831A (en) | A kind of method and system of data transmission | |
CN118467455A (en) | Data transmission method, computer program product, equipment and computer 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 |