A web3D-based game development data-driven system
By using a Web3D-based game development data-driven system that leverages graph databases and WebGL 2.0/GPU acceleration technology, the system solves the problem of long development cycles in existing technologies, enables multi-user collaborative editing and rapid visual effect feedback, and improves game development efficiency.
Patent Information
- Application Number
- CN202411697089.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-11-26
AI Technical Summary
Existing Web3D game development relies on general-purpose 3D modeling software and basic Web graphics libraries, lacking targeted rendering optimization tools. This forces developers to manually write a large amount of low-level rendering code, resulting in long development cycles and low efficiency.
This paper presents a Web3D-based game development data-driven system, including a user editing system, a project management system, and a rendering system. It achieves data persistence and consistency through a graph database, and combines WebGL 2.0 and GPU acceleration technology for real-time 3D rendering, supporting multi-user collaborative editing and rapid visual effect feedback.
It enables multiple users to simultaneously adjust the same game scene, improving development efficiency, and further enhances development efficiency through real-time 3D rendering and rapid visual effect feedback.
Smart Images

Figure CN119473295B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of game development, in particular to a game development data driving system based on Web3D. BACKGROUND
[0002] Web3D technology is a technology for realizing virtual reality in a webpage. In the field of game development, existing Web3D game development mainly relies on general three-dimensional (3D) modeling software and basic Web Graphics Library (GL) Application Programming Interface (API), and lacks targeted rendering optimization tools. Developers need to manually write a large amount of underlying rendering code, which is difficult to quickly realize high-quality visual effects, resulting in a prolonged development cycle and low development efficiency. SUMMARY
[0003] The purpose of the present application is to provide a game development data driving system based on Web3D, which can improve the game development efficiency.
[0004] To achieve the above purpose, the present application provides the following solutions:
[0005] A game development data driving system based on Web3D, comprising a user editing system, a project management system, a data management system and a rendering system;
[0006] The user editing system is configured to provide a visual editing interface for users to create a game project and edit a game scene of the created game project;
[0007] The project management system is configured to synchronize a change operation generated by at least one user through the user editing system for game project creation or game scene editing to the data management system in real time;
[0008] The data management system is configured to change data according to each change operation based on a data persistence and consistency guarantee mechanism of a graph database; the data in the data change includes project data and scene data;
[0009] The rendering system is configured to perform real-time 3D rendering on the scene data in the data change and feed back the 3D rendering result to the user editing system through the project management system;
[0010] The user editing system is further configured to package and publish the 3D rendering result fed back by the rendering system.
[0011] Optionally, the scene data comprises global settings and hierarchical data, the hierarchical data is organized in a tree structure, and the hierarchical data is used to represent scene composition in the Web3D environment, and the global settings comprise rendering configuration parameters for 3D rendering.
[0012] Optionally, the visual editing interface is a React.js-based visual editing interface, and the React.js-based visual editing interface is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component.
[0013] Optionally, the user editing system further comprises a WebGL renderer, and the WebGL renderer is used to feed back user game project creation or game scene editing in real time to a 3D view.
[0014] Optionally, the user editing system further comprises a conflict detection unit, and the conflict detection unit is used to perform spatial conflict detection on user operations and to perform spatial conflict prompting on operations with spatial conflicts based on a spatial division-based conflict detection algorithm, and the user operations comprise game project creation and game scene editing.
[0015] Optionally, the project management system communicates with the user editing system and the data management system by using WebSocket, and uses an open source distributed database management system to perform real-time synchronization and version management on project data of each game project.
[0016] Optionally, the project management system is used to batch submit change operations accumulated in a latest set time period to the data management system every set time period.
[0017] Optionally, in terms of real-time 3D rendering of scene data in the data change, the rendering system is specifically used to load WebGL 2.0, and to use a deferred rendering pipeline and a graphics processor acceleration technology of WebGL 2.0 to perform real-time 3D rendering on scene data in the data change.
[0018] Optionally, the project data comprises a project ID, project configuration information, and access rights.
[0019] Optionally, the project management system is used to perform memory caching, local storage caching, and content distribution network caching on project data and scene data.
[0020] According to the specific embodiments provided in the application, the following technical effects are disclosed in the application:
[0021] The application provides a Web3D-based game development data driving system, at least one user is synchronized in real time to a data management system through a change operation of a user editing system through a project management system, data changes are made in the data management system according to each change operation based on a data persistence and consistency guarantee mechanism of a graph database, so that simultaneous adjustment of a same game scene by multiple users is realized, development efficiency is improved, in addition, scene data in the data changes are rendered in real time by a rendering system, and a 3D rendering result is fed back to the user editing system through the project management system, fast visual effect feedback is realized, and development efficiency is further improved. BRIEF DESCRIPTION OF DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description only constitute some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0023] Figure 1 A functional module schematic diagram of a Web3D-based game development data driving system provided by an embodiment of the present application is shown in the figure.
[0024] Figure 2 A project management system flow schematic diagram described in Mermaid format provided by an embodiment of the present application is shown in the figure.
[0025] Figure 3 A rendering system flow schematic diagram described in Mermaid format provided by an embodiment of the present application is shown in the figure.
[0026] Figure 4 A data management system flow schematic diagram described in Mermaid format provided by an embodiment of the present application is shown in the figure.
[0027] Figure 5 A flow schematic diagram of applying progressive loading technology to optimize the 3D model loading process provided by an embodiment of the present application is shown in the figure.
[0028] Figure 6 A scene data management method flow schematic diagram based on a graph database provided by an embodiment of the present application is shown in the figure.
[0029] Figure 7 A specific application flow schematic diagram of WebGL 2.0 and GPU acceleration technology on a Web platform provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0030] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0031] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0032] This application provides a Web3D-based data-driven system for game development, such as... Figure 1 As shown, the Web3D-based game development data-driven system includes: a user editing system, a project management system, a data management system, and a rendering system.
[0033] The user editing system provides a visual editing interface for users to create game projects and edit game scenes within those projects.
[0034] The project management system is used to synchronize changes made by at least one user through the user editing system during game project creation or game scene editing to the data management system in real time. These changes include actions performed during game project creation and game scene editing.
[0035] The data management system is used to modify data based on the data persistence and consistency guarantee mechanism of the graph database according to each of the change operations; the data in the data modification includes project data and scenario data.
[0036] The rendering system is used to perform real-time 3D rendering of the scene data during the data changes and to feed the 3D rendering results back to the user editing system through the project management system.
[0037] The user editing system is also used to package and publish the 3D rendering results returned by the rendering system.
[0038] This application uses a project management system to synchronize changes made by at least one user through the user editing system to the data management system in real time. The data management system then modifies the data based on the data persistence and consistency guarantee mechanism of the graph database according to each change operation, thereby enabling multiple users to simultaneously adjust the same game scene, improving development efficiency. In addition, the rendering system performs real-time 3D rendering of the scene data during data changes and feeds the 3D rendering results back to the user editing system through the project management system, achieving rapid visual effect feedback and further improving development efficiency.
[0039] The scene data includes global settings and hierarchical data, the hierarchical data is organized in a tree structure, and the hierarchical data is used to represent the scene composition in the Web3D environment, and the global settings include rendering configuration parameters for 3D rendering.
[0040] The user editing system provides a visual editing interface that is an intuitive and easy-to-use user interface, enabling game developers, i.e., users, to perform game project management, global setting modification, scene construction and editing, real-time preview, running test, and packaging and publishing operations. The visual editing interface is a React.js-based visual editing interface.
[0041] In an exemplary embodiment, the functions of the user editing system specifically include:
[0042] 1) Scene hierarchy management: the React.js-based visual editing interface is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component, thereby achieving efficient scene traversal and updating.
[0043] 2) Real-time preview: the user editing system further includes a WebGL renderer, which is used to feed back the user's game project creation or game scene editing in real time to a 3D view. The editor listens to changes in the scene graph (scene data) to trigger updates to the rendering system.
[0044] The WebGL renderer undertakes the actual presentation task of the 3D scene content generated by the rendering system. The scene content generated by the rendering system is displayed in a page element through the WebGL rendering kernel, i.e., the WebGL renderer displays the rendering results of the rendering system.
[0045] 3) Intelligent conflict detection: the user editing system further includes a conflict detection unit, which is used to perform spatial conflict detection on the user's operations based on a spatial division-based conflict detection algorithm and to provide spatial conflict hints for operations that have spatial conflicts, specifically, when the user drags or modifies an object, the potential spatial conflicts are checked and prompted in real time; the user's operations include game project creation and game scene editing.
[0046] 4) Performance analysis tool: the user editing system further includes a performance monitoring component, which is used to collect rendering time, component update frequency, and other data through Chrome DevTools Protocol and ReactProfilerAPI, and visualize these data using D3.js to help developers identify performance bottlenecks.
[0047] The project management system manages multiple game development projects, synchronizes project data and related resources with the data management system to ensure real-time updates and consistency of the development environment. The project management system serves as the hub connecting the user editing system, rendering system, and data management system, enabling efficient data synchronization and version control.
[0048] The project management system communicates with the user editing system and the data management system using WebSocket. The project management system uses WebSocket to enable real-time bidirectional communication, pushing incremental update data to the server when editing operations occur, while also receiving update notifications from the server.
[0049] The user editing system, project management system, data management system, and rendering system are all connected to the server, responsible for data transmission and coordination.
[0050] The relationship between the server and each module is as follows:
[0051] 1) Server and project management system: The project management system is responsible for managing multiple game development projects, ensuring that the data and related resources of these projects remain consistent and can be updated in real time. The project management system acts as the scheduling and control center in the entire system. It ensures that user editing operations are correctly synchronized into the system, and all users see a consistent project state.
[0052] 2) Server and user editing system: The user editing system establishes a WebSocket connection with the server through the project management system. When users edit a game project or scene in the editing system, the editing operations are transmitted to the server in real time through WebSocket, and the server feeds back relevant update notifications to other user editing systems to ensure that all users see the latest scene and data state. This bidirectional communication design enables real-time transmission of editing information, ensuring collaboration consistency among multiple users.
[0053] 3) Server and data management system: The data management system is responsible for persisting and managing the consistency of game project data. After receiving editing operations from the user editing system, the server pushes these update data to the data management system, which performs data changes, persistent storage, and consistency checks based on these operations. Through the connection between the server and the data management system, the data of editing operations is saved in the persistent layer, ensuring data persistence and reliability.
[0054] 4) Server update notification: When the server receives an editing operation from a user and updates the corresponding data, it needs to notify other modules (such as other online user editing systems or data management systems) so that these modules can be updated synchronously to maintain consistency. For example, when user A is editing a game scene, the server synchronizes user A's operations to the editing interfaces of other users B and C, and also writes these updates to the data management system. The main function is to maintain data synchronization and consistency between multiple modules.
[0055] The project management system uses an open-source distributed database management system (Apache Cassandra) to perform real-time synchronization and version management of project data for each game project.
[0056] The project management system is used to batch submit the latest change operations accumulated in a set time period to the data management system every set time period.
[0057] The project management system introduces a Redis-based intelligent caching mechanism, uses the Least Recently Used (LRU) algorithm to optimize data access speed, manages local cache, prioritizes caching frequently accessed scene data, reduces network requests, and improves collaboration efficiency.
[0058] The project management system implements permission management based on the Role-Based Access Control (RBAC) model, uses JSON Web Tokens (JWT) for identity verification, and ensures game project security.
[0059] The project data includes project ID, project configuration information, and access permissions, as well as user basic information, project list, and editing preferences.
[0060] The project management system is used for in-memory caching, local storage caching, and Content Delivery Network (CDN) caching of project data and scene data.
[0061] User operations are passed to the data management system through the user editing system, and the project management system is responsible for converting operations into data changes. It can be deployed to the cloud to realize real-time collaborative editing for multiple users, such as Figure 6 as shown, the specific implementation includes:
[0062] 1) Design a scene graph data model to map objects, relationships, and attributes in a 3D scene to a graph data structure. Nodes in the graph data structure represent objects in the scene, and edges represent relationships between objects.
[0063] 2) Select a graph database suitable for web environments, such as Neo4j or OrientDB, and interact with the front end through a RESTful API, where the front end refers to the user editing system, which is the front end of the entire development environment.
[0064] 3) Implement CRUD operations for scene objects through the user editing system, and use the efficient query capabilities of the graph database to quickly retrieve related objects and relationships.
[0065] 4) Design a graph-based spatial indexing structure, such as R-tree or Quadtree, to optimize the spatial query performance of large-scale scenes.
[0066] 5) Use the traversal algorithm of the graph database to implement efficient scene graph traversal and update. For example, use depth-first search (DFS) to update object hierarchy relationships.
[0067] 6) Implement graph-based LOD management, representing objects of different levels of detail as different nodes in the graph, and dynamically switching based on distance and importance.
[0068] 7) Use the transaction mechanism of the graph database to ensure data consistency when multiple users concurrently edit scene objects.
[0069] 8) Design a caching strategy to cache frequently accessed scene data on the client side, reducing network requests and improving response speed.
[0070] In an exemplary embodiment, the project management system serves as the hub connecting the user editing system, rendering system, and data management system, achieving efficient data synchronization and version control. Its implementation process and activities are as follows:
[0071] S1. Project initialization:
[0072] The project administrator creates a new game project on the server side through the user editing system, assigns resources and permissions. The user editing system is the front-end interface for users to interact with the system, and after operation through this interface, the relevant data will be transmitted to the server through the project management system.
[0073] The system automatically generates a project ID and initial configuration file.
[0074] The project administrator sets the roles of team members (such as editors, reviewers) and task areas.
[0075] S2. User access and data synchronization:
[0076] Users log in to the system through the OAuth 2.0 protocol and obtain a JWT token.
[0077] The system assigns access permissions and work areas based on user roles.
[0078] The user client registers a WebSocket connection with the server to subscribe to relevant data updates. The client refers to the access terminal of a project member such as an editor, reviewer, etc. After the user logs in to the system through the OAuth 2.0 protocol, the client (which can be a browser or other access device) registers a WebSocket connection with the project management system to subscribe to real-time updates of relevant data. The client also accesses and modifies project data through the user editing system.
[0079] The project management system pushes the initial project data to the user client.
[0080] S3. Collaborative editing session:
[0081] The user opens the user editing system, and the system starts the real-time collaboration mode.
[0082] The editing operations are synchronized to the server in real time through WebSocket.
[0083] The server processes concurrent edits using an Operational Transformation (OT) based algorithm.
[0084] The processed operations are broadcast to all relevant users to ensure data consistency.
[0085] S4. Version control and conflict resolution:
[0086] Each editing operation is treated as a micro-commit and automatically saved to the Git version control system.
[0087] The system creates checkpoints periodically (e.g., every 5 minutes) or upon user request. The purpose of creating checkpoints is to periodically save the current state of the system during the collaborative editing process of the project, so that in the event of errors, conflicts, or system abnormalities, it can be rolled back to a previous stable state. This mechanism is similar to version snapshots, which can help developers quickly recover to a certain known correct state when problems are encountered, improving data reliability and project manageability.
[0088] When a conflict occurs, the project management system attempts to automatically merge. This application uses the Operational Transformation (OT) algorithm through the project management system to handle concurrent edits by multiple users. When the modifications of two users do not conflict, the OT algorithm can merge them into a consistent modification. When there is a conflict, the system will attempt to automatically merge through predefined merging rules, such as higher priority modifications overriding lower priority modifications. If the system cannot automatically resolve the conflict, the user will be notified to handle it manually.
[0089] Conflicts that cannot be resolved automatically are notified to relevant users for manual handling.
[0090] S5. Interaction with the rendering system:
[0091] Editor operations trigger real-time rendering system updates.
[0092] The rendering system returns the updated results (such as new images or performance data) to the project management system.
[0093] The project management system distributes the rendering results to relevant users.
[0094] S6. Interaction with the data management system:
[0095] The project management system periodically (e.g., every 30 seconds) submits accumulated editor operations in batches to the data management system.
[0096] The data management system performs persistent storage and index updates.
[0097] The project management system obtains the latest scene graph data from the data management system.
[0098] S7. Cache strategy:
[0099] Distributed caching is implemented using Redis to store hot data and session information.
[0100] The LRU algorithm is used to manage cache content.
[0101] Periodically analyze user access patterns and preload potentially needed data.
[0102] S8. Session end and data archiving:
[0103] When the user ends the editing session, the system automatically saves the final state.
[0104] Generate a session report containing editing statistics and performance indicators.
[0105] Project data that has not been accessed for a long time is archived in low-cost storage.
[0106] The Mermaid format is a text-based chart description language. The project management system activity flowchart described in the Mermaid format is shown in Figure 2 .
[0107] The rendering system is responsible for converting 3D scene data into high-quality Web3D images. It closely collaborates with the project management system, user editing system, and data management system to achieve efficient real-time rendering.
[0108] In terms of real-time 3D rendering of scene data in the data changes, the rendering system is specifically configured to load WebGL 2.0, use the deferred rendering pipeline and GPU acceleration technology of WebGL 2.0 to perform real-time 3D rendering of scene data in the data changes.
[0109] In an exemplary embodiment, the detailed workflow of the rendering system is as follows:
[0110] S1. Rendering system initialization: when the project management system creates a new project, initialize the rendering system configuration; load the WebGL 2.0 context and necessary extensions; initialize the rendering pipeline and shader programs.
[0111] S2. Scene data loading and progressive loading: receive initial scene graph data from the user editing system; obtain detailed geometry, material and texture data from the data management system; implement a progressive loading mechanism.
[0112] The progressive loading mechanism includes:
[0113] a. Preprocess 3D models on the server side, create multiple LOD versions for each model, where the 3D model refers to the objects in the scene graph.
[0114] b. Client initially loads the low-detail version of the scene.
[0115] c. Build the scene graph and spatial acceleration structure (such as octree).
[0116] d. Calculate the screen space size and importance of the model based on the camera position and view angle. Here, the camera refers to a virtual camera, which is a virtual device in a 3D scene that defines the position and direction of the viewing angle in the scene. In Web3D applications, the camera position and view angle are usually determined by user interaction, such as dragging, zooming or rotating the scene, and the camera will adjust according to the user's operation. The camera position and view angle mentioned in this application refer to the position and viewing direction of the virtual camera in the 3D scene, which are used to determine the spatial size and importance of each 3D object in the screen to decide which LOD model to load. The position and view angle of the camera are determined by user interaction and internal system control.
[0117] e. Use a weight algorithm to determine the loading priority.
[0118] f. Asynchronously load higher-detail model versions using Web Workers for background processing.
[0119] g. Implement a caching mechanism to save loaded models.
[0120] S3. Render Preparation: Parse the render configuration information provided by the project management system (e.g., resolution, quality settings); set up the render target (framebuffer object) and viewport; initialize the render state (depth testing, blending mode, etc.).
[0121] S4. Main Render Loop:
[0122] a. Scene Update: Receive scene update events from the project management system. Update the scene graph and object transforms. Dynamically adjust the LOD strategy, monitor client performance.
[0123] b. Visibility Culling: Perform view frustum culling. Perform occlusion culling (using hierarchical Z-buffer).
[0124] c. Deferred Shading First Stage (G-Buffer Generation): Render geometry information, normals, and material properties to multiple render targets.
[0125] d. Lighting Computation: Use compute shaders to handle global lighting. Apply local lighting (point lights, spotlights, etc.).
[0126] e. Postprocessing: Perform anti-aliasing, depth of field, tone mapping, and other postprocessing effects.
[0127] f. Final Composition: Composite all render results to the final framebuffer.
[0128] S5. Special Render Tasks:
[0129] a. Particle System Update: Update particle state using compute shaders; render the updated particle system.
[0130] b. Instanced Rendering: Collect instanciable objects (e.g., vegetation, building details); use instanced arrays for batch rendering.
[0131] c. Terrain Rendering: Dynamically adjust terrain LOD based on camera distance; use tessellation shaders to refine the terrain mesh.
[0132] d. LOD Management: Use smooth transition techniques to switch between different LOD levels; dynamically adjust the LOD strategy based on current performance metrics and load priorities.
[0133] S6. Render Result Processing: Encode the final rendered image into a format suitable for network transmission (e.g., JPEG or WebP); send the rendered result back to the project management system through a WebSocket.
[0134] S7. Performance monitoring and optimization: Collect rendering performance metrics (frame rate, GPU usage, etc.); dynamically adjust rendering quality and LOD strategies based on performance metrics; report performance data to project management system.
[0135] S8. Rendering session end: Clean up WebGL resources and buffers; save final rendering state and cached model data to data management system.
[0136] The rendering system activity flowchart described in Mermaid format is shown in Figure 3 .
[0137] The core responsibility of the rendering system is to convert scene data into real-time images in a Web3D environment. It processes hierarchical data, implements three-dimensional rendering of the scene, and applies lighting, physics, and post-processing effects according to global settings to achieve high-quality visual output, as shown in Figure 7 , which specifically includes:
[0138] 1) Utilize the compute shader functionality of WebGL 2.0 to implement GPU-accelerated particle systems. Store particle position and velocity data in textures and use compute shaders to update particle states.
[0139] 2) Implement GPU-based picking and collision detection. Use framebuffer objects (FBOs) and color encoding techniques to render object IDs to off-screen textures, enabling efficient object selection.
[0140] 3) Utilize the multi-render target (MRT) functionality of WebGL 2.0 to implement a deferred rendering pipeline. Store geometry information, normals, and material properties in a G-buffer, then calculate lighting in subsequent steps. G-buffer is a shading technique.
[0141] 4) Use the instanced arrays feature of WebGL 2.0 to implement efficient instanced rendering. Suitable for rendering large numbers of similar objects, such as trees, grass, etc.
[0142] 5) Implement GPU-based terrain generation and dynamic LOD. Use tessellation shaders to dynamically subdivide terrain meshes and adjust detail levels based on camera distance.
[0143] 6) Utilize the transform feedback functionality of WebGL 2.0 to implement GPU-accelerated physics simulations, such as cloth simulation or fluid dynamics.
[0144] 7) Implement global illumination solutions based on compute shaders, such as ray tracing or photon mapping, to improve rendering quality.
[0145] 8) ASTC texture compression format using WebGL 2.0, reducing texture memory usage and loading time.
[0146] Among them, the global illumination solution based on the compute shader uses the compute shader function of WebGL 2.0 to hand over complex illumination calculations such as ray tracing and photon mapping to GPU processing, realizing efficient parallel computing, and achieving high-quality rendering in Web3D environment. This implementation is very suitable for game development environment that requires real-time feedback, making the rendered lighting effect closer to reality. The example process is as follows: Step 1: Generate G-buffer through MRT, including geometry information, normal and material properties. Step 2: Compute shader emits light (or photon) to simulate the reflection and refraction of light in the scene, and records the lighting information. Step 3: According to the view angle of the camera, accumulate the lighting contribution of each pixel through the compute shader to get the combination of direct light and indirect light. Step 4: Combine the lighting information with the material properties to generate the final lighting color, and perform post-processing (such as anti-aliasing, tone mapping).
[0147] The data management system is responsible for efficient storage and retrieval of large-scale 3D scene data, providing key support for rendering system and user collaborative editing. It closely cooperates with project management system, user editing system and rendering system to realize persistent storage, consistency maintenance and efficient access of data. The following is the detailed workflow of data management system:
[0148] S1. System initialization and project creation: receive new project creation request from project management system Initialize graph database (such as Neo4j) and spatial index structure Create project metadata, including project ID, configuration information and access rights.
[0149] S2. User access and data synchronization: verify user identity and permissions; according to user role and task area, prepare related scene data; use WebSocket to establish real-time data synchronization channel; push initial scene data to users, support incremental update.
[0150] S3. Scene data structure management:
[0151] a. Graph data model design: input: 3D scene objects and relationship data; processing: map scene objects to graph nodes, and map relationships between objects to edges; output: structured graph data model.
[0152] b. Spatial index construction: input: spatial position information of scene objects; processing: construct R-tree or Quadtree spatial index; output: optimized spatial query structure.
[0153] c. LOD Data Management: Input: 3D model data with multi-level detail; Processing: Storing models of different LOD levels as related nodes in the graph; Output: Data structure that supports dynamic LOD switching.
[0154] S4. Collaborative Editing Session Management: Tracks user editing session status; implements a real-time operation synchronization mechanism based on a graph database; uses distributed locks to implement concurrency control and avoid editing conflicts; broadcasts user operations to ensure the consistency of all relevant user views.
[0155] S5. Version Control and Conflict Resolution: Implement a graph-based version control system where each edit operation is a micro-commit; periodically create scenario snapshots as checkpoints; use a three-way merge algorithm to detect and resolve conflicts; maintain edit history and support rollback and branch management.
[0156] S6. Rendering System Data Interaction: Receives data requests from the rendering system, provides optimized scene data, dynamically adjusts the LOD level according to rendering requirements, and receives and stores rendering results for caching and preloading optimization.
[0157] S7. Data Persistence and Index Update: Batch processing of accumulated edit operations; updating graph database and spatial index structure; triggering cache updates to ensure data consistency.
[0158] S8. Caching Strategy Implementation: Input: User access patterns and frequency data; Processing: Analyze data access patterns and predict hot data; Output: Optimized caching strategy to support fast data access; Implement multi-level caching: memory cache, local storage cache, and CDN cache; Apply LRU algorithm to manage cached content.
[0159] S9. Performance Monitoring and Optimization: Collect data access and processing performance metrics; dynamically adjust index structure and caching strategies; implement an adaptive data preloading mechanism.
[0160] S10. Session End and Data Archiving: Save the final scenario state; generate a session report including data processing statistics; perform data compression and archiving to optimize storage usage.
[0161] A flowchart of a data management system activity described in Mermaid format is shown below. Figure 4 As shown.
[0162] In an exemplary embodiment, the operation steps of a Web3D-based game development data-driven system of this application are as follows.
[0163] Step 1: User designs and edits game scenes through user editing system: 1) Add 3D objects to the scene using a drag-and-drop interface built with React.js; 2) Adjust object properties through real-time preview function implemented with WebGL; 3) Apply progressive loading technique to optimize 3D model loading process.
[0164] As shown in Figure 5 , the application of progressive loading technique to optimize the 3D model loading process specifically includes: a. Preprocess 3D models on the server side, creating multiple LOD versions for each model. b. Client initially loads the low-detail version of the scene. c. Calculate the screen space size and importance of the model based on camera position and perspective. d. Use weight algorithm to determine loading priority. e. Asynchronously load higher-detail model versions, using Web Workers for background processing. f. Use smooth transition technology to switch between different LOD levels. g. Implement caching mechanism to save loaded models. h. Monitor client performance and dynamically adjust LOD strategy.
[0165] Step 2: User's editing operations are synchronized in real-time to the data management system through the project management system: Real-time communication is achieved using WebSocket; Apply incremental synchronization technology, only transmit changed data; Utilize the efficient query capabilities of graph databases to quickly update scene structure; Scene data management based on graph databases, as shown in Figure 6 .
[0166] Step 3: After the data management system updates the data, the rendering system immediately responds and presents the latest scene in the Web3D environment: Utilize new features of WebGL 2.0 such as compute shaders and multi-render targets to optimize rendering performance; Apply GPU acceleration techniques such as instanced rendering and GPU-based collision detection; Use deferred rendering pipeline to improve rendering efficiency for complex lighting scenes; Specific application of WebGL 2.0 and GPU acceleration techniques on Web platform, as shown in Figure 7 .
[0167] Step 4: After the user completes the design, the game project is packaged and published to the Web platform through the user editing system: Automatically check project integrity and resource dependencies; Use ASTC texture compression format to optimize resources; Generate deployment package suitable for Web platform; Provide one-key deployment function, automatically upload to specified Web server.
[0168] The interactive process in this application includes:
[0169] 1. User logs in to the user editing system and selects or creates a game project: Implement secure login mechanism based on OAuth 2.0; Provide project template function to facilitate quick creation of new projects.
[0170] 2. The project management system obtains the required project data from the data management system: using incremental synchronization technology, only the latest change data is obtained; intelligent preloading is implemented to predict the data that the user may need and load it in advance.
[0171] 3. The user edits the scene in the editing system, and all changes are synchronized to the data management system: real-time collaboration function is realized, multiple users can edit the same scene at the same time; conflict detection and resolution mechanism is provided to ensure data consistency.
[0172] 4. The rendering system renders the scene in real time according to the updated data and displays it to the user: using frame synchronization technology, the consistency of the scene state when multiple people collaborate is ensured. Progressive loading is implemented, and the content within the user's field of view is prioritized for rendering.
[0173] 5. After the user verifies the correctness, the game is deployed online using the packaging and publishing function of the user editing system: multiple platform packaging options are provided, such as Web, mobile Web, iOS / Android APP, WeChat applet, etc. Automated testing process is implemented to ensure the stability of the published version.
[0174] The present application realizes the complete workflow of game development based on Web3D, significantly improving the efficiency and collaboration of game development. The real-time rendering engine is optimized, especially for the Web platform, by adopting WebGL 2.0 and GPU acceleration technologies such as GPU-accelerated particle systems, GPU-based picking and collision detection, deferred rendering pipeline, etc., significantly improving rendering effect and performance. The data persistence and consistency guarantee mechanism based on graph database is introduced to ensure the accuracy and efficient access of game project data, especially in large-scale 3D scenes. The progressive loading technology based on LOD is implemented, which greatly improves the efficiency and user experience of multi-user collaboration development. Adaptive rendering technology is provided to enable games to achieve optimal visual effects and performance on devices with different performance.
[0175] The various modules in the present application work closely together to form a complete rendering pipeline. The user editing system is responsible for the input and management of scene data, the project management system coordinates the data interaction between modules, the rendering system performs efficient rendering operations based on these data, and the data management system ensures the consistency and efficient access of data throughout the process.
[0176] The technical features of the above embodiments can be combined in any way. To make the description concise, not all possible combinations of the technical features in the above embodiments are described, but as long as the combination of the technical features does not exist, it should be considered as the scope of the present disclosure.
[0177] The principles and implementation manners of the present application are described herein by using specific examples, and the above examples are only used to help understand the method of the present application and its core idea; meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges will have changes. In conclusion, the content of the specification should not be understood as a limitation of the present application.
Claims
1. A Web3D-based game development data-driven system, characterized in that, The Web3D-based game development data-driven system includes: a user editing system, a project management system, a data management system, and a rendering system; The user editing system provides a visual editing interface, which is used by users to create game projects and edit game scenes within the created game projects. The project management system is used to synchronize changes made by at least one user through the user editing system when creating a game project or editing a game scene to the data management system in real time. The data management system is used to modify data based on the data persistence and consistency guarantee mechanism of the graph database according to each of the change operations; the data in the data modification includes project data and scene data; the data management system is responsible for storing and retrieving 3D scene data; the data management system includes scene data structure management, which includes LOD data management. The LOD data management takes multi-level detailed 3D model data as input, can store models of different LOD levels as related nodes in the graph, and outputs a data structure that supports dynamic LOD switching; The rendering system is used to perform real-time 3D rendering of scene data during data changes and to feed the 3D rendering results back to the user editing system through the project management system. The rendering system is also used to execute special rendering tasks, including instantiation rendering, terrain rendering, and LOD management. Instantiation rendering is used to collect instantiable objects and perform batch rendering using an instantiation array. Terrain rendering is used to dynamically adjust the terrain LOD based on camera distance and refine the terrain mesh using a surface tessellation shader. LOD management is used to switch between different LOD levels using a smooth transition technique and dynamically adjust the LOD strategy based on current performance metrics and loading priority. The user editing system is also used to package and publish 3D rendering results; The project management system is responsible for translating user actions into data changes and enabling real-time collaborative editing by multiple users through cloud deployment. Specific implementations include: 1) Design a scene graph data model to map objects, relationships, and attributes in the 3D scene to a graph data structure; 2) Select a graph database for the web environment and interact with the user editing system; 3) Implement CRUD operations on scene objects through the user editing system, and retrieve related objects and relationships using a graph database; 4) Design a graph-based spatial index structure to optimize spatial query performance in large-scale scenarios; 5) Utilize graph database traversal algorithms to implement scene graph traversal and updates; 6) Implement graph-based LOD management, representing objects at different levels of detail as different nodes in the graph, and dynamically switching between them based on distance and importance; 7) Use the transaction mechanism of the graph database to ensure data consistency when multiple users concurrently edit scene objects.
2. The Web3D-based game development data-driven system according to claim 1, characterized in that, The scene data includes global settings and hierarchical data. The hierarchical data is organized in a tree structure and is used to represent the scene composition in the Web3D environment. The global settings include rendering configuration parameters for 3D rendering.
3. The Web3D-based game development data-driven system according to claim 2, characterized in that, The visual editing interface is a React.js-based visual editing interface, which is used to represent the tree structure organization corresponding to the hierarchical data, and each node in the tree structure organization is a React component.
4. The Web3D-based game development data-driven system according to claim 1, characterized in that, The user editing system also includes a WebGL renderer, which is used to provide real-time feedback of the user's game project creation or game scene editing to the 3D view.
5. The Web3D-based game development data-driven system according to claim 1, characterized in that, The user editing system also includes a conflict detection unit, which is used to perform spatial conflict detection on user operations based on a spatial partitioning conflict detection algorithm and to provide spatial conflict prompts for operations with spatial conflicts. The user's operations include creating game projects and editing game scenes.
6. The Web3D-based game development data-driven system according to claim 1, characterized in that, The project management system uses WebSocket to communicate with the user editing system and the data management system, and uses an open-source distributed database management system to synchronize and manage the project data of each game project in real time.
7. The Web3D-based game development data-driven system according to claim 1, characterized in that, The project management system is used to submit the cumulative change operations of the latest set time period to the data management system in batches at set time intervals.
8. The Web3D-based game development data-driven system according to claim 1, characterized in that, In terms of real-time 3D rendering of scene data during data changes, the rendering system is specifically used to load WebGL 2.0 and utilize WebGL 2.0's deferred rendering pipeline and graphics processor acceleration technology to perform real-time 3D rendering of scene data during data changes.
9. The Web3D-based game development data-driven system according to claim 1, characterized in that, The project data includes the project ID, project configuration information, and access permissions.
10. The Web3D-based game development data-driven system according to claim 1, characterized in that, The project management system is used to cache project data and scene data in memory, local storage, and content distribution network.
Citation Information
Patent Citations
Application program construction method and device based on model file and visual interface, equipment and storage medium
CN117806630A
Online collaborative development system and method for Web3D and computer readable storage medium
CN118967990A