An online collaborative development system, method and computer readable storage medium for Web3D

Through the Web3D online collaborative development system, multi-user collaborative editing is achieved in a network environment, which solves the problem of data inconsistency and supports ordinary users to create 3D content through browsers.

CN118967990BActive Publication Date: 2025-10-10JILIN ANIMATION INST +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410896417.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-05
Publication Date
2025-10-10
Estimated Expiration
2044-07-05

AI Technical Summary

Technical Problem

Existing Web3D applications do not yet support multi-person online collaborative editing, and real-time collaboration among multiple users can easily lead to data inconsistencies. Existing 3D content production software lacks network collaboration capabilities, and ordinary users have low creative participation.

Method used

An online collaborative development system for Web3D is provided, which includes a rendering system, an editing system and a synchronization system. The rendering system converts 3D scene data into Web visualization images, the editing system receives user operations and generates modification messages, and the synchronization system performs data updates and conflict detection to ensure data consistency.

Benefits of technology

It enables collaborative editing among multiple users in a network environment, solves the problem of data inconsistency, lowers the user threshold, and supports ordinary users to participate in 3D content creation through browsers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118967990B_ABST
    Figure CN118967990B_ABST
Patent Text Reader

Abstract

The application discloses an online collaborative development system, method and computer readable storage medium for Web3D, relates to the technical field of network collaborative development, and comprises a rendering system, an editing system and a synchronization system. The rendering system is used for converting current 3D scene data of collaborative editing into a Web visual image; the editing system is used for providing a user interface, receiving user operations, converting the user operations into modifications of the current 3D scene data, and generating a message describing the modification operations; the synchronization system is used for updating the current 3D scene data according to the message describing the modification operations, and sending the updated 3D scene data to the editing system; and the editing system sends the received updated 3D scene data to the rendering system for updating the Web visual image. The application supports collaborative editing of a 3D scene by multiple users under a network environment, and solves the problem of real-time collaboration of multiple users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network collaborative development, and in particular to an online collaborative development system, method and computer-readable storage medium for Web3D. Background Art

[0002] With the development of Web3D technology, 3D web applications are becoming increasingly widespread, such as virtual social networking, digital twins, VR / AR, and more. The demand for creating 3D digital content is growing, and more and more applications require editing and displaying 3D scenes in a web environment. However, current Web3D applications are primarily focused on single-user use and have yet to achieve multi-person online collaborative editing. Furthermore, multi-person collaborative editing typically requires data synchronization through a server, which places enormous computing and storage pressures when processing large amounts of 3D data.

[0003] At the same time, multi-user collaborative creation is a critical requirement for 3D content production. However, existing 3D content creation software is mostly desktop applications that do not support multi-user network collaboration. Users must collaborate through version control systems such as Git, but these lack real-time collaboration capabilities. To support the participation of ordinary users in 3D content creation, browser-based 3D creation tools such as Spoke have emerged. However, these tools also face the challenge of real-time multi-user collaboration. When multiple users simultaneously edit a 3D scene, data inconsistencies may arise.

[0004] How to support the collaborative creation of 3D digital content by ordinary users is a technical problem that needs to be solved urgently. Therefore, there is an urgent need for a lightweight and efficient method that can realize multi-person online collaborative editing of 3D scenes in a web environment. Summary of the Invention

[0005] In order to solve the problem in the prior art that ordinary users have low creative participation and lack collaborative capabilities, the present invention provides an online collaborative development system, method and computer-readable storage medium for Web3D to support multi-user online collaborative creation of 3D digital content.

[0006] To achieve the above object, the present invention provides the following solutions:

[0007] An online collaborative development system for Web3D, comprising:

[0008] Rendering system, used to convert the collaboratively edited current 3D scene data into a web-visualized image;

[0009] An editing system is configured to acquire current 3D scene data for collaborative editing and send the current 3D scene data to the rendering system, and provide a user interface, receive user operations, and convert the user operations into modifications of the current 3D scene data to generate a message describing the modification operations;

[0010] A synchronization system is configured to update the current 3D scene data according to the message describing the modification operations and send the updated 3D scene data to the editing system;

[0011] The editing system sends the received updated 3D scene data to the rendering system for updating of the Web visualized image.

[0012] To achieve the above object, the application further provides the following solutions.

[0013] An online collaborative development method for Web 3D includes:

[0014] Acquiring current 3D scene data for collaborative editing and converting the current 3D scene data into a Web visualized image;

[0015] Acquiring user operations; the operations include selection, translation, rotation, scaling, addition and deletion;

[0016] Updating the current 3D scene data according to the user operations;

[0017] Updating the Web visualized image according to the updated 3D scene data.

[0018] To achieve the above object, the application further provides the following solutions.

[0019] A computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the above online collaborative development method for Web 3D.

[0020] According to the embodiments of the application, the following technical effects are achieved.

[0021] 1. Supporting collaborative editing of 3D scenes by multiple users in a network environment, solving the problem of real-time collaboration of multiple users;

[0022] 2. Ensuring consistency of editing data through operation recording, conflict detection and resolution, solving the problem of data inconsistency caused by multiple user collaboration;

[0023] 3. Based on Web technology, supporting access of various terminals, and ordinary users can participate in the creation of 3D content without professional training. BRIEF DESCRIPTION OF DRAWINGS

[0024] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0025] Figure 1 This is a structural diagram of the online collaborative development system for Web3D provided in Example 1;

[0026] Figure 2 A workflow diagram of the online collaborative development system for Web3D provided in Example 1;

[0027] Figure 3 This is a flowchart of the online collaborative development method for Web3D provided in Example 2. DETAILED DESCRIPTION

[0028] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0029] The purpose of the present invention is to provide an online collaborative development system, method and computer-readable storage medium for Web3D to support multi-user network collaborative creation of 3D digital content.

[0030] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0031] Example 1

[0032] like Figures 1-2 As shown, the online collaborative development system for Web3D provided by this embodiment includes: a rendering system, an editing system and a synchronization system.

[0033] The rendering system is used to convert the stored collaboratively edited current 3D scene data into a web visualization image.

[0034] The editing system is used to obtain the current 3D scene data for collaborative editing and send the current 3D scene data to the rendering system; it is also used to provide a user interface, receive user operations, and convert user operations into modifications to the current 3D scene data, and generate messages describing the modification operations.

[0035] A synchronization system is configured to update the current 3D scene data according to the message describing the modification operation, and send the updated 3D scene data to the editing system.

[0036] Further, the rendering system first parses the hierarchical structure in the 3D scene data, and constructs a corresponding tree structure in memory according to the hierarchical relationship and node attributes. Then, the rendering system traverses each node of the tree, and according to the type and attributes of the node, uses WebGL or WebGPU and other Web graphics APIs to convert it into graphics elements such as meshes, materials, textures, cameras, and lights that can be rendered in the browser, and assembles them into a complete 3D scene. Finally, the rendering system renders the 3D scene into a frame of 2D image according to the position and parameters of the camera, and presents it on the Web page.

[0037] The rendering system includes a global setting module, a hierarchical structure parsing module, and an effect enhancement module.

[0038] The global setting module is configured to store the global settings in the current 3D scene data.

[0039] The hierarchical data conversion module is configured to parse the hierarchical structure in the current 3D scene data and convert it into a Web visual image. The hierarchical data conversion module uses a recursive descent method to recursively parse each node and its attributes in the tree structure according to the type identifier of the node in the 3D scene data, until all nodes are parsed into renderable graphics elements. During the conversion process, the hierarchical data conversion module will consider the transform matrix of each node and apply it to the child nodes, thereby realizing the hierarchical effects such as position, rotation, and scaling between parent and child nodes. For some common 3D formats such as glTF and FBX, the hierarchical data conversion module will use ready-made parser libraries to speed up the parsing speed.

[0040] The effect enhancement module is configured to enhance the Web visual image according to the global settings. After generating the graphics elements, the effect enhancement module will apply the corresponding shader program to the graphics elements according to the global settings such as ambient lighting, shadows, post-processing, and other parameters, to render more realistic and artistic visual effects.

[0041] Furthermore, after receiving a user operation, the editing system first determines the type of operation, such as selection, translation, rotation, scaling, addition, deletion, etc. Then, the editing system finds the corresponding node or attribute in the 3D scene data based on the operation type and parameters. Next, the editing system modifies the attribute value of the corresponding node or changes the position of the node in the hierarchical structure based on the specific content of the operation. For example, if the user selects an object on the interface and drags it, the editing system will calculate the distance and direction of the mouse movement, and then apply this change to the position attribute of the selected object, thereby realizing the translation operation of the object. After sending the user's modification operation to the cloud-based editing operation synchronization system, the editing system will receive the updated 3D scene data from the synchronization system. The editing system then sends the updated 3D scene data to the rendering system, and the rendering system regenerates the web visualization image based on the new 3D scene data to reflect the latest status of the 3D scene.

[0042] The editing system includes: a user interaction module, a scene reading module, a message generation module and a scene update module.

[0043] The user interaction module is used to provide a user interface and receive user operations.

[0044] The scene reading module is used to obtain the 3D scene data currently being collaboratively edited. When multiple people are collaborating on a scene, all participating editing system clients will connect to the same synchronization system and subscribe to updates to the same 3D scene data. When a user opens a scene through the editing system's interface, the scene reading module sends a request to the synchronization system to obtain the scene data. The request contains the unique ID of the scene to be edited. After receiving the request, the synchronization system searches the database for the 3D scene data corresponding to the ID and sends it to the requesting editing system client. In this way, all participating clients will obtain the latest version of the same 3D scene data, thereby enabling collaborative editing by multiple people.

[0045] The message generation module is used to convert user operations into modifications to scene data and generate messages describing the modification operations. The message body contains information such as the operation version number, user ID, operation type, operation path, attribute name, old value, new value, and operation timestamp.

[0046] The scene update module is used to refresh the current 3D scene data according to the 3D scene data updated by the synchronization system, and send the updated 3D scene data to the rendering system.

[0047] Further, after receiving the operation records from different editing system clients, the synchronization system queues them in the order of their timestamps. Then, the synchronization system checks the operation records one by one to determine whether there is a conflict between the current operation and the historical operation. Common conflict cases include: different clients modifying the same attribute at the same time, different clients deleting or adding the same node at the same time, etc. When a conflict is detected, the synchronization system automatically decides which operation of the client to adopt according to a preset strategy. For example, based on the "later wins" strategy, the synchronization system adopts the operation with the latest timestamp; based on the "majority" strategy, the synchronization system adopts the operation that is recognized by the majority of the clients. After the synchronization system makes a decision, it generates a unified operation sequence, eliminates or modifies the conflicting operations, and then synchronizes the final operation result to all clients.

[0048] The synchronization system includes a version control module, an operation record module, a conflict detection module, a conflict resolution module, and a data synchronization module.

[0049] The version control module is configured to store version information of the scene data.

[0050] The operation record module is configured to record user operations of each editing system client.

[0051] The conflict detection module is configured to detect conflicts in the operation records.

[0052] The conflict resolution module is configured to resolve operation conflicts. When the conflict detection module of the synchronization system detects two or more editing operations that have conflicts, the conflict resolution module is triggered to resolve the conflicts. The conflict resolution module first analyzes the type, object, and operation content of each conflicting operation, and then provides a unified solution according to a preset resolution rule. Common resolution rules include: a priority-based rule, i.e., different types of operations are assigned different priorities, and operations with higher priorities will overwrite operations with lower priorities; a timestamp-based rule, i.e., the order of operation occurrence is used as the basis, and later-occurring operations will overwrite earlier-occurring operations; a user permission-based rule, i.e., according to the permission level of the user initiating the operation, it is determined which operation to adopt. The purpose of the conflict resolution module is to ensure that operations from different clients can be applied to the scene data in a certain and consistent manner during editing, avoiding mutual contradictions or overwriting, thereby ensuring the correctness and efficiency of collaborative editing.

[0053] The data synchronization module is configured to send the result to each editing system client.

[0054] In the above process, the editing system and the synchronization system can communicate through a network. The synchronization system coordinates the operations of each editing system client through the means of operation records and conflict detection, solves the data inconsistency problem that may be caused by multi-user collaborative editing, and ensures the consistency of the edited data.

[0055] The online collaborative development system for Web3D provided by the embodiment supports multiple clients to connect and participate in collaboration at the same time, and ordinary users can edit 3D content through a browser. Compared with existing 3D digital content creation software, the embodiment greatly reduces the threshold for users and supports more extensive participation of ordinary users in the creation of 3D digital content. At the same time, the embodiment also solves the data inconsistency problem that may occur in the multi-user network collaboration process.

[0056] Embodiment Two

[0057] Based on the online collaborative development system for Web3D provided by Embodiment One, the embodiment provides an online collaborative development method for Web3D, as shown in Figure 3 The method comprises the following steps.

[0058] S1: Obtain current 3D scene data for collaborative editing, and convert the current 3D scene data into a Web visualization image. Specifically, the method comprises the following steps: parsing the hierarchical structure in the current 3D scene data; constructing a tree structure according to the hierarchical relationship and node attributes in the hierarchical structure; traversing each node of the tree structure, and converting the node into a graphical element according to the type and attributes of the node, to construct a 3D scene using a Web graphics API; and rendering the 3D scene to obtain a Web visualization image.

[0059] S2: Obtain a user operation; the operation comprises selection, translation, rotation, scaling, addition, and deletion.

[0060] S3: Update the current 3D scene data according to the user operation. Specifically, the method comprises the following steps: converting the user operation into a modification of the current 3D scene data, to generate a message describing the modification operation; and updating the current 3D scene data according to the message describing the modification operation.

[0061] S4: Update the Web visualization image according to the updated 3D scene data.

[0062] Further, converting the user operation into a modification of the current 3D scene data, to generate a message describing the modification operation, specifically comprises the following steps.

[0063] According to the user operation, determine the corresponding node or attribute in the current 3D scene data;

[0064] According to the specific content of the user operation, the attribute value of the corresponding node is modified or the position of the node in the hierarchical structure is changed.

[0065] Further, the current 3D scene data is updated according to the message describing the modification operation, specifically comprising:

[0066] It is judged whether the current operation conflicts with the historical operation;

[0067] If yes, the operation to be selected is determined according to a preset strategy, and the current 3D scene data is updated according to the message describing the modification operation corresponding to the selected operation;

[0068] If no, the current 3D scene data is updated according to the message describing the modification operation corresponding to the operation arranged in the time stamp order.

[0069] Embodiment three

[0070] A computer readable storage medium having stored thereon a computer program, the computer program being executed by a processor to implement the online collaborative development method for Web3D in embodiment two.

[0071] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided by the present invention can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processors (GPUs), digital signal processors (DSPs), or programmable logic devices (PLCs).

[0072] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0073] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The above examples are only intended to help understand the method and core concept of the present invention. At the same time, those skilled in the art will find that the specific implementation methods and application scopes may vary based on the concept of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.

Claims

1. An online collaborative development system for Web3D, characterized by: include: Rendering system, used to convert the collaboratively edited current 3D scene data into a web-visualized image; The rendering system first parses the hierarchical structure of the 3D scene data and constructs a corresponding tree structure in memory based on the hierarchical relationships and node attributes. The rendering system traverses each node in the tree and, based on the node type and attributes, uses WebGL or WebGPU's Web graphics API to convert it into meshes, materials, textures, cameras, and light source graphic elements that can be rendered in the browser, assembling them into a complete 3D scene. The rendering system then renders the 3D scene into a 2D image based on the camera's position and parameters, and presents it on the web page. The editing system is configured to obtain the current 3D scene data being collaboratively edited and send the current 3D scene data to the rendering system; further configured to provide a user interface, receive user operations, convert the user operations into modifications to the current 3D scene data, and generate a message describing the modification operation: determining the corresponding node or attribute in the current 3D scene data based on the user operation; modifying the attribute value of the corresponding node or changing the position of the node in the hierarchical structure based on the specific content of the user operation; the message body including the operation version number, user ID, operation type, operation path, attribute name, old value, new value, and operation timestamp; The synchronization system is used to update the current 3D scene data according to the message describing the modification operation, and send the updated 3D scene data to the editing system. Specifically, after the synchronization system makes a decision, it will generate a unified operation sequence, eliminate or correct the conflicting operations, and synchronize the final operation results to all clients; the synchronization system includes: a version control module, an operation record module, a conflict detection module, a conflict resolution module and a data synchronization module; the version control module is used to store version information of the scene data; the operation record module is used to record user operations of each editing system client; the conflict detection module is used to detect conflicts in the operation record; the conflict resolution module is used to resolve operation conflicts. When the conflict detection module of the synchronization system finds that two or more editing operations conflict, it triggers the conflict resolution module to perform conflict resolution; the conflict resolution module analyzes the type, object, and operation content attributes of each conflicting operation, and provides a unified solution according to preset resolution rules; the resolution rules include: Based on the priority rule, different priorities are assigned to different types of operations, and operations with higher priorities will overwrite operations with lower priorities; based on the timestamp rule, operations that occur later will overwrite operations that occur earlier based on the time sequence of operations; based on the user authority rule, the authority of the user initiating the operation determines whose operation will be adopted; the data synchronization module is used to send the results to each editing system client; when multiple people collaborate to edit a scene, all editing system clients participating in the collaboration will connect to the same synchronization system and subscribe to updates to the same 3D scene data; when a user opens a scene through the editing system interface, the scene reading module will send a request to the synchronization system to obtain the scene data, and the request contains the unique ID of the scene to be edited; after receiving the request, the synchronization system will search for the 3D scene data of the corresponding ID in the database and send it to the requesting editing system client; all clients participating in the collaboration will obtain the latest version of the same 3D scene data, thereby realizing collaborative editing by multiple people; The editing system sends the received updated 3D scene data to the rendering system to update the Web visualization image.

2. The online collaborative development system for Web3D according to claim 1, characterized in that: The rendering system specifically includes: The global setting module is used to store the global settings in the current 3D scene data; Hierarchical structure parsing module, used to parse the hierarchical structure in the current 3D scene data and convert it into a Web visualization image; The effect enhancement module is used to enhance the effect of the Web visualization image according to global settings.

3. The online collaborative development system for Web3D according to claim 1, characterized in that: The editing system specifically includes: User interaction module, used to provide a user interface and receive user operations; The scene reading module is used to obtain the current 3D scene data for collaborative editing; A message generation module is used to convert user operations into modifications to the current 3D scene data and generate messages describing the modification operations; The scene update module is used to refresh the current 3D scene data according to the 3D scene data updated by the synchronization system, and send the updated 3D scene data to the rendering system.

4. An online collaborative development method for Web3D, characterized in that: include: Acquire the collaboratively edited current 3D scene data, and convert the current 3D scene data into a Web visualization image; The rendering system first parses the hierarchical structure of the 3D scene data and constructs a corresponding tree structure in memory based on the hierarchical relationships and node attributes. The rendering system traverses each node in the tree and, based on the node type and attributes, uses WebGL or WebGPU's Web graphics API to convert it into meshes, materials, textures, cameras, and light source graphic elements that can be rendered in the browser, assembling them into a complete 3D scene. The rendering system then renders the 3D scene into a 2D image based on the camera's position and parameters, and presents it on the web page. Obtain user operations; the operations include selection, translation, rotation, scaling, adding, and deleting; Updating the current 3D scene data according to the user operation specifically includes: Convert the user operation into a modification of the current 3D scene data, and generate a message describing the modification operation: determine the corresponding node or attribute in the current 3D scene data according to the user operation; modify the attribute value of the corresponding node or change the position of the node in the hierarchical structure according to the specific content of the user operation; the message body includes the operation version number, user ID, operation type, operation path, attribute name, old value, new value and operation timestamp; The current 3D scene data is updated according to the message describing the modification operation, specifically including: determining whether there is a conflict between the current operation and the historical operation; if so, determining the operation to be selected according to a preset strategy, and updating the current 3D scene data according to the message describing the modification operation corresponding to the selected operation; if not, updating the current 3D scene data according to the message describing the modification operation corresponding to the operation arranged in timestamp order. Specifically, after the synchronization system makes a decision, a unified operation sequence is generated, the conflicting operations are eliminated or corrected, and the final operation results are synchronized to all clients; when multiple people collaborate to edit a scene, all editing system clients participating in the collaboration will connect to the same synchronization system and subscribe to updates to the same 3D scene data; when a user opens a scene through the editing system interface, the scene reading module will send a request to the synchronization system to obtain the scene data, and the request contains the unique ID of the scene to be edited; after receiving the request, the synchronization system will search for the 3D scene data corresponding to the ID in the database and send it to the requesting editing system client; all clients participating in the collaboration will obtain the latest version of the same 3D scene data, thereby realizing collaborative editing by multiple people; Update the web visualization image according to the updated 3D scene data.

5. The online collaborative development method for Web3D according to claim 4, characterized in that: Converting the current 3D scene data into a Web visualization image specifically includes: Analyze the hierarchical structure in the current 3D scene data; Constructing a tree structure according to the hierarchical relationship and node attributes in the hierarchical structure; Traversing each node of the tree structure, converting the node into a graphic element using a Web graphics API according to the type and attribute of the node, and constructing a 3D scene; The 3D scene is rendered to obtain a Web visualization image.

6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the online collaborative development method for Web3D described in any one of claims 4 to 5 is implemented.

Citation Information

Patent Citations

  • BIM project multi-user cooperation management method and system, terminal and storage medium

    CN115033968A