技术领域Technical Field
本发明涉及3D模型技术领域,特别涉及一种在Web端控制3D虚拟模型的方法、装置、设备及介质。The present invention relates to the technical field of 3D models, and in particular to a method, device, equipment and medium for controlling a 3D virtual model on a Web terminal.
背景技术Background Art
目前,在Web端控制3D模型的技术已经有了一定的发展,以下是几种现有技术及其应用现状:At present, the technology of controlling 3D models on the Web has been developed to a certain extent. The following are several existing technologies and their application status:
1. Three.js1. Three.js
Three.js是一个流行的JavaScript库,用于在Web浏览器中创建和显示3D图形。Three.js提供了丰富的API,使开发者能够轻松地创建、操作和渲染3D模型。Three.js is a popular JavaScript library for creating and displaying 3D graphics in web browsers. Three.js provides a rich API that enables developers to easily create, manipulate, and render 3D models.
应用现状:Application status:
创建和渲染3D模型:Three.js被广泛用于游戏开发、数据可视化、虚拟现实和增强现实等领域。Create and render 3D models: Three.js is widely used in game development, data visualization, virtual reality, and augmented reality.
动画和交互:Three.js支持各种动画效果和用户交互,可以通过编写JavaScript代码实现复杂的模型控制。Animation and interaction: Three.js supports various animation effects and user interactions, and can achieve complex model control by writing JavaScript code.
缺陷:defect:
高门槛:虽然Three.js功能强大,但需要开发者具有一定的JavaScript和3D图形学知识。对于非专业开发者来说,学习和使用Three.js存在一定的难度。High threshold: Although Three.js is powerful, it requires developers to have certain knowledge of JavaScript and 3D graphics. For non-professional developers, learning and using Three.js is somewhat difficult.
代码复杂性:实现复杂的模型控制和交互需要编写大量的代码,维护和扩展也相对困难。Code complexity: Implementing complex model control and interaction requires writing a lot of code, which is also relatively difficult to maintain and expand.
2. Babylon.js2. Babylon.js
Babylon.js是另一个强大的Web端3D引擎,提供了完整的工具集来创建、渲染和控制3D模型。它支持多种格式的3D模型,并且可以在各种设备和平台上运行。Babylon.js is another powerful web-side 3D engine that provides a complete toolset to create, render, and control 3D models. It supports 3D models in multiple formats and can run on a variety of devices and platforms.
应用现状:Application status:
高性能渲染:Babylon.js在WebGL的基础上提供了高性能的3D渲染,适用于游戏、建筑可视化等需要高图形性能的应用。High-performance rendering: Babylon.js provides high-performance 3D rendering based on WebGL, which is suitable for applications that require high graphics performance, such as games and architectural visualization.
丰富的特性:支持物理引擎、骨骼动画、粒子系统等高级特性。Rich features: Supports advanced features such as physics engine, skeletal animation, particle system, etc.
缺陷:defect:
复杂性:与Three.js类似,Babylon.js的强大功能和丰富特性也意味着较高的学习曲线和复杂的代码实现。Complexity: Similar to Three.js, the powerful functions and rich features of Babylon.js also mean a high learning curve and complex code implementation.
灵活性:尽管提供了很多特性,但在某些特定场景下,开发者仍需要进行大量的自定义和优化。Flexibility: Although it provides many features, developers still need to perform a lot of customization and optimization in some specific scenarios.
3. A-Frame3. A-Frame
A-Frame是一个基于HTML的Web框架,用于构建虚拟现实(VR)体验。它使得开发者可以通过编写HTML标签来创建3D场景和对象,而无需深入了解JavaScript。A-Frame is an HTML-based web framework for building virtual reality (VR) experiences. It allows developers to create 3D scenes and objects by writing HTML tags without having to have a deep understanding of JavaScript.
应用现状:Application status:
简化开发:A-Frame通过HTML标签的方式简化了3D内容的创建,降低了入门门槛,适合快速原型开发和简单的3D应用。Simplified development: A-Frame simplifies the creation of 3D content through HTML tags, lowering the entry threshold and making it suitable for rapid prototyping and simple 3D applications.
VR支持:内置对VR设备的支持,可以方便地创建跨平台的VR体验。VR Support: Built-in support for VR devices makes it easy to create cross-platform VR experiences.
缺陷:defect:
性能限制:由于使用了较高层次的抽象,A-Frame在性能上可能不如直接使用WebGL的Three.js或Babylon.js。Performance limitations: Due to the use of a higher level of abstraction, A-Frame may not perform as well as Three.js or Babylon.js which use WebGL directly.
功能局限:对于复杂的3D应用,A-Frame的灵活性和扩展性不如Three.js和Babylon.js。Functional limitations: For complex 3D applications, A-Frame is not as flexible and extensible as Three.js and Babylon.js.
尽管上述技术在Web端3D模型控制方面已经取得了显著进展,但仍存在以下共同的缺陷:Although the above technologies have made significant progress in web-based 3D model control, they still have the following common defects:
学习曲线陡峭:无论是Three.js还是Babylon.js,都要求开发者具备较强的编程技能和3D图形学知识,对于非专业开发者来说存在较高的学习和使用门槛。Steep learning curve: Both Three.js and Babylon.js require developers to have strong programming skills and 3D graphics knowledge, and there is a high learning and usage threshold for non-professional developers.
代码复杂性高:实现复杂的模型控制和交互需要编写大量的代码,增加了开发和维护的难度。High code complexity: Implementing complex model control and interaction requires writing a large amount of code, which increases the difficulty of development and maintenance.
灵活性和扩展性:尽管这些技术提供了丰富的功能,但在某些特定应用场景下,开发者仍需要进行大量的自定义和优化。Flexibility and scalability: Although these technologies provide rich functionality, developers still need to perform a lot of customization and optimization in certain specific application scenarios.
发明内容Summary of the invention
有鉴于此,本发明实施例提供了一种在Web端控制3D虚拟模型的方法,以解决现有技术中存在的学习难度大、开发维护难度大、灵活扩展性差的技术问题。该方法包括:In view of this, an embodiment of the present invention provides a method for controlling a 3D virtual model on a Web terminal to solve the technical problems existing in the prior art, such as high learning difficulty, high development and maintenance difficulty, and poor flexible scalability. The method includes:
获取JSON数据结构的命令信息,解析所述命令信息获得控制命令;Obtain command information of a JSON data structure, and parse the command information to obtain a control command;
将每个所述控制命令与执行时间和执行模块ID关联,其中,执行模块ID与控制命令的操作类型对应;Associating each of the control commands with an execution time and an execution module ID, wherein the execution module ID corresponds to an operation type of the control command;
确定执行时间为当前时间的控制命令为当前控制命令;Determine the control command whose execution time is the current time as the current control command;
判断所述当前控制命令的操作类型,若所述当前控制命令的操作类型为直接控制命令,则根据对应的执行模块ID调用直接控制模块,通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型;若所述当前控制命令的操作类型为间接控制命令,则根据对应的执行模块ID调用间接控制模块,通过所述间接控制模块根据所述当前控制命令检测对应的前置事件是否存在,若是,继续执行下一个直接控制命令,若否,继续检测直至检测到对应的前置事件,其中,通过所述间接控制命令实现的前置事件是执行下一个直接控制命令的前置条件,每个所述间接控制命令关联一个所述直接控制命令,所述直接控制命令关联一个所述间接控制命令或不关联所述间接控制命令。Determine the operation type of the current control command. If the operation type of the current control command is a direct control command, call the direct control module according to the corresponding execution module ID, and control the 3D virtual model according to the current control command through the direct control module; if the operation type of the current control command is an indirect control command, call the indirect control module according to the corresponding execution module ID, and detect whether the corresponding predecessor event exists according to the current control command through the indirect control module. If so, continue to execute the next direct control command; if not, continue to detect until the corresponding predecessor event is detected, wherein the predecessor event implemented by the indirect control command is a prerequisite for executing the next direct control command, and each of the indirect control commands is associated with one direct control command, and the direct control command is associated with one indirect control command or is not associated with the indirect control command.
本发明实施例还提供了一种在Web端控制3D虚拟模型的装置,以解决现有技术中存在的学习难度大、开发维护难度大、灵活扩展性差的技术问题。该装置包括:The embodiment of the present invention also provides a device for controlling a 3D virtual model on a Web terminal to solve the technical problems of high learning difficulty, high development and maintenance difficulty, and poor flexible scalability in the prior art. The device includes:
解析单元,用于获取JSON数据结构的命令信息,解析所述命令信息获得控制命令;A parsing unit, used to obtain command information of a JSON data structure, and parse the command information to obtain a control command;
关联单元,用于将每个所述控制命令与执行时间和执行模块ID关联,其中,执行模块ID与控制命令的操作类型对应;an associating unit, configured to associate each of the control commands with an execution time and an execution module ID, wherein the execution module ID corresponds to an operation type of the control command;
确定单元,用于确定执行时间为当前时间的控制命令为当前控制命令;A determination unit, used to determine a control command whose execution time is the current time as the current control command;
控制单元,用于判断所述当前控制命令的操作类型,若所述当前控制命令的操作类型为直接控制命令,则根据对应的执行模块ID调用直接控制模块,通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型;若所述当前控制命令的操作类型为间接控制命令,则根据对应的执行模块ID调用间接控制模块,通过所述间接控制模块根据所述当前控制命令检测对应的前置事件是否存在,若是,继续执行下一个直接控制命令,若否,继续检测直至检测到对应的前置事件,其中,通过所述间接控制命令实现的前置事件是执行下一个直接控制命令的前置条件,每个所述间接控制命令关联一个所述直接控制命令,所述直接控制命令关联一个所述间接控制命令或不关联所述间接控制命令。A control unit is used to determine the operation type of the current control command. If the operation type of the current control command is a direct control command, the direct control module is called according to the corresponding execution module ID, and the 3D virtual model is controlled according to the current control command through the direct control module; if the operation type of the current control command is an indirect control command, the indirect control module is called according to the corresponding execution module ID, and the indirect control module is used to detect whether a corresponding preceding event exists according to the current control command. If so, continue to execute the next direct control command; if not, continue to detect until the corresponding preceding event is detected, wherein the preceding event implemented by the indirect control command is a prerequisite for executing the next direct control command, and each of the indirect control commands is associated with one of the direct control commands, and the direct control command is associated with one of the indirect control commands or is not associated with the indirect control command.
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的在Web端控制3D虚拟模型的方法,以解决现有技术中存在的学习难度大、开发维护难度大、灵活扩展性差的技术问题。An embodiment of the present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, any of the above-mentioned methods for controlling a 3D virtual model on a Web side is implemented to solve the technical problems existing in the prior art of high learning difficulty, high development and maintenance difficulty, and poor flexible scalability.
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的在Web端控制3D虚拟模型的方法的计算机程序,以解决现有技术中存在的学习难度大、开发维护难度大、灵活扩展性差的技术问题。An embodiment of the present invention also provides a computer-readable storage medium, which stores a computer program for executing any of the above-mentioned methods for controlling a 3D virtual model on a Web side, so as to solve the technical problems existing in the prior art such as high learning difficulty, high development and maintenance difficulty, and poor flexible scalability.
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:传统的Web端3D模型控制技术通常需要开发者具备较强的编程和3D图形学知识,而本申请通过使用简单的JSON数据结构定义控制命令来控制3D模型,使得用户可以通过简单的JSON配置文件实现复杂的3D模型控制,避免了学习编程和3D图形学知识的要求,简化了操作难度,降低了开发难度和门槛,使得更多的开发者能够参与到Web端3D应用的开发中来;采用JSON数据结构,无需编写复杂的代码,即可实现对3D模型的灵活控制,从而节省了大量的开发时间,提高了开发效率,减少了程序代码的复杂性,提高了代码的可读性和可维护性;JSON数据结构支持多种控制命令和参数配置,方便开发者根据具体需求进行扩展和定制,提高了灵活和可扩展性,有利于扩展3D技术在各个领域的应用,也能够提供更加丰富和吸引人的用户体验。Compared with the prior art, the beneficial effects that can be achieved by at least one of the above-mentioned technical solutions adopted in the embodiments of this specification include at least the following: the traditional Web-side 3D model control technology usually requires developers to have strong programming and 3D graphics knowledge, while the present application uses a simple JSON data structure to define control commands to control 3D models, so that users can achieve complex 3D model control through simple JSON configuration files, avoiding the requirement of learning programming and 3D graphics knowledge, simplifying the difficulty of operation, reducing the difficulty and threshold of development, and enabling more developers to participate in the development of Web-side 3D applications; by adopting the JSON data structure, flexible control of the 3D model can be achieved without writing complex codes, thereby saving a lot of development time, improving development efficiency, reducing the complexity of program code, and improving the readability and maintainability of the code; the JSON data structure supports a variety of control commands and parameter configurations, which is convenient for developers to expand and customize according to specific needs, improves flexibility and scalability, is conducive to expanding the application of 3D technology in various fields, and can also provide a richer and more attractive user experience.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
图1是本发明实施例提供的一种在Web端控制3D虚拟模型的方法的流程图;FIG1 is a flow chart of a method for controlling a 3D virtual model on a Web terminal provided by an embodiment of the present invention;
图2是本发明实施例提供的一种在Web端控制3D虚拟模型的方法的原理示意图;FIG2 is a schematic diagram of a method for controlling a 3D virtual model on a Web terminal provided by an embodiment of the present invention;
图3是本发明实施例提供的一种计算机设备的结构框图;FIG3 is a structural block diagram of a computer device provided by an embodiment of the present invention;
图4是本发明实施例提供的一种在Web端控制3D虚拟模型的装置的结构框图。FIG. 4 is a structural block diagram of a device for controlling a 3D virtual model on a Web side provided by an embodiment of the present invention.
具体实施方式DETAILED DESCRIPTION
下面结合附图对本申请实施例进行详细描述。The embodiments of the present application are described in detail below with reference to the accompanying drawings.
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following describes the implementation methods of the present application through specific specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The present application can also be implemented or applied through other different specific implementation methods, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that, in the absence of conflict, the following embodiments and the features in the embodiments can be combined with each other. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work belong to the scope of protection of the present application.
在本发明实施例中,提供了一种在Web端控制3D虚拟模型的方法,如图1所示,该方法包括:In an embodiment of the present invention, a method for controlling a 3D virtual model on a Web side is provided. As shown in FIG1 , the method includes:
步骤S101:获取JSON数据结构的命令信息,解析所述命令信息获得控制命令;Step S101: Acquire command information in a JSON data structure, and parse the command information to obtain a control command;
步骤S102:将每个所述控制命令与执行时间和执行模块ID关联,其中,执行模块ID与控制命令的操作类型对应;Step S102: Associating each of the control commands with an execution time and an execution module ID, wherein the execution module ID corresponds to an operation type of the control command;
步骤S103:确定执行时间为当前时间的控制命令为当前控制命令;Step S103: determining the control command whose execution time is the current time as the current control command;
步骤S104:判断所述当前控制命令的操作类型,若所述当前控制命令的操作类型为直接控制命令,则根据对应的执行模块ID调用直接控制模块,通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型;若所述当前控制命令的操作类型为间接控制命令,则根据对应的执行模块ID调用间接控制模块,通过所述间接控制模块根据所述当前控制命令检测对应的前置事件是否存在,若是,继续执行下一个直接控制命令,若否,继续检测直至检测到对应的前置事件,其中,通过所述间接控制命令实现的前置事件是执行下一个直接控制命令的前置条件,每个所述间接控制命令关联一个所述直接控制命令,所述直接控制命令关联一个所述间接控制命令或不关联所述间接控制命令。Step S104: Determine the operation type of the current control command. If the operation type of the current control command is a direct control command, call the direct control module according to the corresponding execution module ID, and control the 3D virtual model according to the current control command through the direct control module; if the operation type of the current control command is an indirect control command, call the indirect control module according to the corresponding execution module ID, and detect whether the corresponding predecessor event exists according to the current control command through the indirect control module. If so, continue to execute the next direct control command; if not, continue to detect until the corresponding predecessor event is detected, wherein the predecessor event implemented by the indirect control command is a prerequisite for executing the next direct control command, and each of the indirect control commands is associated with one direct control command, and the direct control command is associated with one indirect control command or is not associated with the indirect control command.
由图1所示的流程可知,在本发明实施例中,传统的Web端3D模型控制技术通常需要开发者具备较强的编程和3D图形学知识,而本申请通过使用简单的JSON数据结构定义控制命令来控制3D模型,使得用户可以通过简单的JSON配置文件实现复杂的3D模型控制,避免了学习编程和3D图形学知识的要求,简化了操作难度,降低了开发难度和门槛,使得更多的开发者能够参与到Web端3D应用的开发中来;采用JSON数据结构,无需编写复杂的代码,即可实现对3D模型的灵活控制,从而节省了大量的开发时间,提高了开发效率,减少了程序代码的复杂性,提高了代码的可读性和可维护性;JSON数据结构支持多种控制命令和参数配置,方便开发者根据具体需求进行扩展和定制,提高了灵活和可扩展性,有利于扩展3D技术在各个领域的应用,也能够提供更加丰富和吸引人的用户体验。As can be seen from the process shown in Figure 1, in the embodiment of the present invention, the traditional Web-side 3D model control technology usually requires developers to have strong programming and 3D graphics knowledge, while the present application controls the 3D model by using a simple JSON data structure to define control commands, so that users can achieve complex 3D model control through a simple JSON configuration file, avoiding the requirement of learning programming and 3D graphics knowledge, simplifying the difficulty of operation, reducing the development difficulty and threshold, and enabling more developers to participate in the development of Web-side 3D applications; using the JSON data structure, flexible control of the 3D model can be achieved without writing complex code, thereby saving a lot of development time, improving development efficiency, reducing the complexity of program code, and improving the readability and maintainability of the code; the JSON data structure supports a variety of control commands and parameter configurations, which is convenient for developers to expand and customize according to specific needs, improves flexibility and scalability, is conducive to expanding the application of 3D technology in various fields, and can also provide a richer and more attractive user experience.
具体实施时,由于通过JSON数据结构定义控制命令,使得用户可以通过简单的JSON配置文件实现各种过复杂的3D模型控制,简化操作,降低了开发难度和门槛。此外,JSON数据结构支持多种控制命令和参数配置,方便开发者根据具体需求进行扩展和定制,提高了3D虚拟模型控制的灵活性和可扩展性。如图2所示,例如可以通过以下方式获取JSON数据结构的命令信息,可以通过网站直接导入JSON数据结构的命令信息,还可以通过拖拽图形块,选择图形块之间的交互逻辑,进而根据交互逻辑和拖拽的图形块形式JSON数据结构的命令信息。In specific implementation, since the control commands are defined through the JSON data structure, users can achieve various overly complex 3D model controls through a simple JSON configuration file, simplifying operations and reducing the difficulty and threshold of development. In addition, the JSON data structure supports a variety of control commands and parameter configurations, which is convenient for developers to expand and customize according to specific needs, and improves the flexibility and scalability of 3D virtual model control. As shown in Figure 2, for example, the command information of the JSON data structure can be obtained in the following ways: the command information of the JSON data structure can be directly imported through the website, and the interaction logic between the graphic blocks can be selected by dragging the graphic blocks, and then the command information of the JSON data structure can be formed according to the interaction logic and the dragged graphic blocks.
具体实施时,由于JSON数据结构支持多种控制命令、参数配置、逻辑嵌套关系,使得通过JSON数据结构的命令信息可以输入各种控制需求、各种复杂控制过程的控制命令,为了准确地获取不同的控制命令,提出了根据所述命令信息的JSON逻辑嵌套关系进行递归解析,得到每个所述控制命令,每个所述控制命令包括操作类型和对应的操作参数。In the specific implementation, since the JSON data structure supports multiple control commands, parameter configurations, and logical nested relationships, the command information of the JSON data structure can be used to input control commands for various control requirements and various complex control processes. In order to accurately obtain different control commands, it is proposed to perform recursive parsing according to the JSON logical nested relationship of the command information to obtain each of the control commands, and each of the control commands includes an operation type and corresponding operation parameters.
具体实施时,上述JSON数据结构的命令信息可以包含一系列控制命令,控制命令可以分为直接控制命令和间接控制命令两个大类。每个命令包括操作类型和对应的操作参数(例如,模型信息、操作动作、操作的位置信息、操作的大小倍数等等)。In specific implementation, the command information of the above JSON data structure may include a series of control commands, which can be divided into two categories: direct control commands and indirect control commands. Each command includes an operation type and corresponding operation parameters (for example, model information, operation action, operation location information, operation size multiples, etc.).
例如,直接控制命令可以包括但不限于移动(move)、旋转(rotate)、缩放(scale)、更换材质(change_material)等控制操作。For example, the direct control command may include, but is not limited to, control operations such as move, rotate, scale, and change material.
间接控制命令可以分为条件控制、逻辑控制、人为控制等大类。即条件控制的前置事件包括但不限于当模型满足XX控制等条件事件,逻辑控制的前置事件包括但不限于重复执行等等逻辑事件,人为控制的前置事件包括但不限于用户点击控制等用户行为事件。Indirect control commands can be divided into conditional control, logic control, manual control and other categories. That is, the pre-events of conditional control include but are not limited to when the model meets the conditional events such as XX control, the pre-events of logic control include but are not limited to logical events such as repeated execution, and the pre-events of manual control include but are not limited to user behavior events such as user click control.
具体实施时,上述JSON数据结构的命令信息的示例如下:In specific implementation, an example of the command information of the above JSON data structure is as follows:
{{
"commands": ["commands": [
{"type": "move", "parameters": {"x": 10, "y": 0, "z": 5}},{"type": "move", "parameters": {"x": 10, "y": 0, "z": 5}},
{"type": "rotate", "parameters": {"axis": "y", "angle": 90}},{"type": "rotate", "parameters": {"axis": "y", "angle": 90}},
{"type": "scale", "parameters": {"x": 2, "y": 2, "z": 2}},{"type": "scale", "parameters": {"x": 2, "y": 2, "z": 2}},
{"type": "change_material", "parameters": {"color": "red"}}{"type": "change_material", "parameters": {"color": "red"}}
]]
}}
具体实施时,由于JSON数据结构的命令信息的使用,使得本申请控制3D模型的具体过程与现有控制3D模型的过程不同:现有控制3D模型的过程只是单纯的操作模型或者控制场景中的其他元素,并不能实现基于某些前置事件来进行后续的操作模型或者控制场景中的其他元素;而本申请的JSON数据结构的命令信息可以控制3D模型模拟真实世界的各种事件发生,由于间接控制命令的使用使得3D模型模的控制有逻辑判断和事件触发机制,例如,实现一个用户点击开关,灯会对应变亮或者变暗的事件。现有技术需要技术人员通过编写代码实现用户点击开关的过程以及灯变亮或者变暗的过程,本申请只需要普通用户编写json数据结构的命令信息就能实现,不需要编写复杂的代码,还可以增强用户的参与体验。本申请会对json数据结构的命令信息进行解析,将逻辑部分解析得到间接控制命令,将其他控制信息解析得到直接控制命令,还可以根据嵌套关系解析得到间接控制命令与直接控制命令的关联关系,例如,“用户点击开关”是通过间接控制命令实现,“灯会对应变亮或者变暗”是通过直接控制命令实现,只有检测到“用户点击开关”这个事件(可以通过检测程序检测用户的点击操作)了,才会执行“灯会对应变亮或者变暗”这个命令去控制灯模型的亮或暗。During specific implementation, due to the use of command information of the JSON data structure, the specific process of controlling the 3D model in this application is different from the existing process of controlling the 3D model: the existing process of controlling the 3D model is simply to operate the model or control other elements in the scene, and cannot realize subsequent operation of the model or control other elements in the scene based on certain pre-events; while the command information of the JSON data structure of this application can control the 3D model to simulate various events in the real world. Due to the use of indirect control commands, the control of the 3D model model has logical judgment and event triggering mechanisms. For example, when a user clicks a switch, the light will brighten or dim accordingly. The prior art requires technicians to write code to implement the process of the user clicking the switch and the process of the light brightening or dimming. This application only requires ordinary users to write command information of the json data structure to achieve it. There is no need to write complex code, and it can also enhance the user's participation experience. This application will parse the command information of the json data structure, parse the logical part to obtain the indirect control command, parse other control information to obtain the direct control command, and can also parse the association between the indirect control command and the direct control command based on the nested relationship. For example, "the user clicks the switch" is implemented through an indirect control command, and "the light will brighten or dim accordingly" is implemented through a direct control command. Only when the "user clicks the switch" event is detected (the user's click operation can be detected through a detection program), the "light will brighten or dim accordingly" command will be executed to control the brightness or darkness of the light model.
具体实施时,为了完成不同3D模型的控制需求,每个所述间接控制命令需要关联一个所述直接控制命令,但是,所述直接控制命令可以关联一个所述间接控制命令,也可以不关联所述间接控制命令。During specific implementation, in order to meet the control requirements of different 3D models, each of the indirect control commands needs to be associated with one of the direct control commands. However, the direct control command may be associated with one of the indirect control commands or may not be associated with the indirect control command.
具体实施时,为了可以便捷、高效、准确地完成直接控制命令、间接控制命令的执行过程,如图2所示,可以预先设置直接控制模块,用于完成不同直接控制命令的控制操作,可以预先设置间接控制模块,用于执行不同的间接控制命令,如检测条件事件、用户行为事件,或判断逻辑事件等。During specific implementation, in order to complete the execution process of direct control commands and indirect control commands conveniently, efficiently and accurately, as shown in FIG2 , a direct control module can be pre-set to complete the control operations of different direct control commands, and an indirect control module can be pre-set to execute different indirect control commands, such as detecting condition events, user behavior events, or judging logic events.
具体实施时,为了进一步提高控制的灵活性或某个控制过程的时序性,提出了将每个所述控制命令与对应的执行时间和执行模块ID关联,例如,In specific implementation, in order to further improve the flexibility of control or the timing of a certain control process, it is proposed to associate each of the control commands with the corresponding execution time and execution module ID, for example,
根据所述命令信息中配置的时间信息(例如,在命令信息中可以定义某个控制命令的执行时间,如,第5秒执行一个控制命令,在第8秒执行另一个控制命令)确定每个所述控制命令对应的执行时间,或者,根据所述命令信息中JSON逻辑嵌套关系的递归顺序确定每个所述控制命令对应的执行时间;根据所述命令信息中配置的操作信息,确定每个所述控制命令的操作类型,根据所述操作类型确定每个所述控制命令关联的执行模块ID。The execution time corresponding to each of the control commands is determined according to the time information configured in the command information (for example, the execution time of a certain control command can be defined in the command information, such as executing one control command at the 5th second and executing another control command at the 8th second), or the execution time corresponding to each of the control commands is determined according to the recursive order of the JSON logical nesting relationship in the command information; the operation type of each of the control commands is determined according to the operation information configured in the command information, and the execution module ID associated with each of the control commands is determined according to the operation type.
例如,JSON的每个部分的控制命令会进行时间的绑定。根据不同控制命令的执行时间,程序可以从任意时间点进行开始对应执行时间的控制命令(即控制命令的执行时间可以任意定义、配置某个时间点,无需按照时间的连续性进行配置,不同控制命令之间的执行时间可以是间断、不连续的)或者将程序执行到某个时间点暂停。JSON解析后会实时记录执行时间和JSON控制命令对应执行模块的ID。按照递归解析的顺序执行控制命令,如果解析到直接控制命令会直接就执行,解析到间接控制命令,会根据间接控制命令的分类判断是暂停、延时还是满足条件后的执行。如是暂停和满足条件后的执行,会暂停时间线,暂停JSON解析,等执行完暂停和满足条件后,重新启动,会根据之前记录的执行时间或者执行模块的ID进行继续执行,直到整个JSON解析完毕。例如,模型A左移,然后监测用户点击后,模型A右移,可以直接进行右移及后续操作。For example, the control commands of each part of JSON will be bound to time. According to the execution time of different control commands, the program can start the control command corresponding to the execution time from any time point (that is, the execution time of the control command can be arbitrarily defined and configured at a certain time point, without the need to configure it according to the continuity of time, and the execution time between different control commands can be intermittent or discontinuous) or pause the program execution at a certain time point. After JSON parsing, the execution time and the ID of the execution module corresponding to the JSON control command will be recorded in real time. The control commands are executed in the order of recursive parsing. If a direct control command is parsed, it will be executed directly. If an indirect control command is parsed, it will be judged whether it is paused, delayed, or executed after the conditions are met according to the classification of the indirect control command. If it is paused and the execution is executed after the conditions are met, the timeline will be paused, the JSON parsing will be paused, and after the execution is completed and the conditions are met, it will be restarted. It will continue to execute according to the previously recorded execution time or the ID of the execution module until the entire JSON is parsed. For example, model A moves left, and then after monitoring the user's click, model A moves right, and the right move and subsequent operations can be performed directly.
具体实施时,确定执行时间为当前时间的控制命令为当前控制命令,包括:在解析所述命令信息获得控制命令的过程中,将当前解析得到的控制命令作为所述当前控制命令;判断所述当前控制命令关联的执行时间是否为当前时间,若是,则执行所述当前控制命令,若否,则暂停对所述命令信息的解析,直至执行完所述当前控制命令,继续解析所述命令信息获得下一个控制命令。In specific implementation, determining a control command whose execution time is the current time as the current control command includes: in the process of parsing the command information to obtain the control command, using the control command currently parsed as the current control command; judging whether the execution time associated with the current control command is the current time, if so, executing the current control command, if not, pausing the parsing of the command information until the current control command is executed, and continuing to parse the command information to obtain the next control command.
例如,在对JSON数据结构的命令信息解析时会对JSON数据进行一个递归解析,找到里边的逻辑控制部分,进行单独的处理。例如,控制过程是:A模型和B模型碰撞后执行C操作,当解析到这部分JSON数据时,会先执行代码进行A模型和B模型碰撞的监测(即先执行A模型和B模型碰撞这个间接控制命令,会在每个帧内进行模型box相交校验和模型平面内的相交校验,满足其中一个条件会判定为碰撞),此时整个JSON数据的解析会处于暂停的状态,当监测到A模型和B模型碰撞后,找到直接控制模块进行C操作,即执行C操作的直接控制命令,并继续进行JSON数据的解析。For example, when parsing the command information of the JSON data structure, the JSON data will be recursively parsed to find the logical control part inside and perform separate processing. For example, the control process is: after the collision between model A and model B, operation C will be executed. When this part of the JSON data is parsed, the code will be executed first to monitor the collision between model A and model B (that is, the indirect control command of the collision between model A and model B will be executed first, and the model box intersection check and the model plane intersection check will be performed in each frame. If one of the conditions is met, it will be judged as a collision). At this time, the parsing of the entire JSON data will be suspended. When the collision between model A and model B is detected, the direct control module will be found to perform operation C, that is, the direct control command of operation C will be executed, and the parsing of the JSON data will continue.
具体实施时,若在通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型的过程中,3D虚拟模型的变化(或称为过程数据)产生了额外事件;在判断下一个控制命令的操作类型为间接控制命令且所述额外事件属于所述下一个控制命令实现的前置事件的情况下,则执行下一个控制命令。In specific implementation, if in the process of controlling the 3D virtual model according to the current control command through the direct control module, the change of the 3D virtual model (or called process data) generates an additional event; when it is determined that the operation type of the next control command is an indirect control command and the additional event is a prerequisite event for the implementation of the next control command, the next control command is executed.
例如,在执行模型放大的直接控制命令的过程中,模型的放大可能会触发模型间的相交这样的间接控制命令,从而影响时间轴的暂停和启动。此时,需要判断模型间的相交这样的情况是不是下一个间接控制命令实现的前置事件,若是,则执行,若否,则不执行。For example, in the process of executing the direct control command of model enlargement, the enlargement of the model may trigger an indirect control command such as the intersection between models, thereby affecting the pause and start of the timeline. At this time, it is necessary to determine whether the intersection between models is a pre-event for the next indirect control command to be implemented. If so, it is executed, otherwise, it is not executed.
具体实施时,为了进一步提高控制的灵活性,在Web端显示时间控制器,所述时间控制器包括不同时间控制功能的时间控制组件,其中,所述时间控制器用于管理所述控制命令的执行时间;接收通过输入设备(例如,键盘、鼠标等)输入的对时间控制组件的选择;根据选择的时间控制组件对当前正在执行的控制命令的所有操作执行对应的时间控制功能。In specific implementation, in order to further improve the flexibility of control, a time controller is displayed on the Web side, and the time controller includes time control components with different time control functions, wherein the time controller is used to manage the execution time of the control command; receive a selection of the time control component input through an input device (for example, a keyboard, a mouse, etc.); and execute corresponding time control functions for all operations of the control command currently being executed according to the selected time control component.
例如,如图2所示,在Web端可以显示时间控制器,用户通过鼠标等操作,直接点击时间控制器上的时间控制按钮(如开始、暂停、停止、重置、瞬发等时间控制组件)或者JSON可视化的某个部分(可以是2D也可以是3D),可以对时间控制器进行开始、暂停、停止以及某个时间的控制,或对某个行为控制模块时间点的控制,使得当前正在执行的控制命令的所有操作执行对应的时间控制功能。如点击时间控制器上的暂停按钮,则当前正在执行的控制命令的所有操作均暂停,时间点也暂停。For example, as shown in Figure 2, a time controller can be displayed on the Web end. Users can directly click on the time control buttons (such as start, pause, stop, reset, instantaneous and other time control components) on the time controller or a part of the JSON visualization (which can be 2D or 3D) through mouse operations, and can start, pause, stop and control a certain time of the time controller, or control a certain time point of a behavior control module, so that all operations of the currently executed control command perform the corresponding time control function. If the pause button on the time controller is clicked, all operations of the currently executed control command are paused, and the time point is also paused.
具体实施时,上述在Web端控制3D虚拟模型的方法可以通过控制引擎的形式实现,也可以通过任何形式的设备、装置实现。In specific implementation, the above method of controlling the 3D virtual model on the Web side can be implemented in the form of a control engine, and can also be implemented by any form of equipment or device.
在本实施例中,提供了一种计算机设备,如图3所示,包括存储器301、处理器302及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的在Web端控制3D虚拟模型的方法。In this embodiment, a computer device is provided, as shown in FIG3 , including a memory 301, a processor 302, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, any of the above-mentioned methods for controlling a 3D virtual model on a Web side is implemented.
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。Specifically, the computer device may be a computer terminal, a server or a similar computing device.
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的在Web端控制3D虚拟模型的方法的计算机程序。In this embodiment, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program for executing any of the above-mentioned methods for controlling a 3D virtual model on a Web side.
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Specifically, computer-readable storage media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer-readable storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable storage media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.
基于同一发明构思,本发明实施例中还提供了一种在Web端控制3D虚拟模型的装置,如下面的实施例所述。由于在Web端控制3D虚拟模型的装置解决问题的原理与在Web端控制3D虚拟模型的方法相似,因此在Web端控制3D虚拟模型的装置的实施可以参见在Web端控制3D虚拟模型的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。Based on the same inventive concept, an apparatus for controlling a 3D virtual model on a Web side is also provided in an embodiment of the present invention, as described in the following embodiments. Since the principle of solving the problem by the apparatus for controlling a 3D virtual model on a Web side is similar to that of the method for controlling a 3D virtual model on a Web side, the implementation of the apparatus for controlling a 3D virtual model on a Web side can refer to the implementation of the method for controlling a 3D virtual model on a Web side, and the repeated parts will not be repeated. As used below, the terms "unit" or "module" may refer to a combination of software and/or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, the implementation in hardware, or a combination of software and hardware, is also possible and conceivable.
图4是本发明实施例的在Web端控制3D虚拟模型的装置的一种结构框图,如图4所示,该装置包括:FIG. 4 is a structural block diagram of a device for controlling a 3D virtual model on a Web terminal according to an embodiment of the present invention. As shown in FIG. 4 , the device includes:
解析单元401,用于获取JSON数据结构的命令信息,解析所述命令信息获得控制命令;A parsing unit 401 is used to obtain command information of a JSON data structure, and parse the command information to obtain a control command;
关联单元402,用于将每个所述控制命令与执行时间和执行模块ID关联,其中,执行模块ID与控制命令的操作类型对应;An associating unit 402, configured to associate each of the control commands with an execution time and an execution module ID, wherein the execution module ID corresponds to an operation type of the control command;
确定单元403,用于确定执行时间为当前时间的控制命令为当前控制命令;A determining unit 403, configured to determine a control command whose execution time is the current time as a current control command;
控制单元404,用于判断所述当前控制命令的操作类型,若所述当前控制命令的操作类型为直接控制命令,则根据对应的执行模块ID调用直接控制模块,通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型;若所述当前控制命令的操作类型为间接控制命令,则根据对应的执行模块ID调用间接控制模块,通过所述间接控制模块根据所述当前控制命令检测对应的前置事件是否存在,若是,继续执行下一个直接控制命令,若否,继续检测直至检测到对应的前置事件,其中,通过所述间接控制命令实现的前置事件是执行下一个直接控制命令的前置条件,每个所述间接控制命令关联一个所述直接控制命令,所述直接控制命令关联一个所述间接控制命令或不关联所述间接控制命令。The control unit 404 is used to determine the operation type of the current control command. If the operation type of the current control command is a direct control command, the direct control module is called according to the corresponding execution module ID, and the 3D virtual model is controlled according to the current control command through the direct control module; if the operation type of the current control command is an indirect control command, the indirect control module is called according to the corresponding execution module ID, and the indirect control module is used to detect whether a corresponding predecessor event exists according to the current control command. If so, continue to execute the next direct control command; if not, continue to detect until the corresponding predecessor event is detected, wherein the predecessor event implemented by the indirect control command is a prerequisite for executing the next direct control command, and each of the indirect control commands is associated with one direct control command, and the direct control command is associated with one indirect control command or is not associated with the indirect control command.
在一个实施例中,解析单元,用于根据所述命令信息的JSON逻辑嵌套关系进行递归解析,得到每个所述控制命令,每个所述控制命令包括操作类型和对应的操作参数。In one embodiment, the parsing unit is used to perform recursive parsing according to the JSON logical nesting relationship of the command information to obtain each of the control commands, each of which includes an operation type and corresponding operation parameters.
在一个实施例中,关联单元,用于根据所述命令信息中配置的时间信息确定每个所述控制命令对应的执行时间,或者,根据所述命令信息中JSON逻辑嵌套关系的递归顺序确定每个所述控制命令对应的执行时间;根据所述命令信息中配置的操作信息,确定每个所述控制命令的操作类型,根据所述操作类型确定每个所述控制命令关联的执行模块ID。In one embodiment, the association unit is used to determine the execution time corresponding to each of the control commands according to the time information configured in the command information, or to determine the execution time corresponding to each of the control commands according to the recursive order of the JSON logical nesting relationship in the command information; determine the operation type of each of the control commands according to the operation information configured in the command information, and determine the execution module ID associated with each of the control commands according to the operation type.
在一个实施例中,确定单元,用于在解析所述命令信息获得控制命令的过程中,将当前解析得到的控制命令作为所述当前控制命令;判断所述当前控制命令关联的执行时间是否为当前时间,若是,则执行所述当前控制命令,若否,则暂停对所述命令信息的解析,直至执行完所述当前控制命令,继续解析所述命令信息获得下一个控制命令。In one embodiment, a determination unit is used to, in the process of parsing the command information to obtain a control command, use the control command currently parsed as the current control command; determine whether the execution time associated with the current control command is the current time, and if so, execute the current control command; if not, suspend parsing of the command information until the current control command is executed, and continue parsing the command information to obtain the next control command.
在一个实施例中,上述控制单元,还用于若在通过所述直接控制模块根据所述当前控制命令控制3D虚拟模型的过程中,3D虚拟模型的变化产生了额外事件;在判断下一个控制命令的操作类型为间接控制命令且所述额外事件属于所述下一个控制命令实现的前置事件的情况下,则执行下一个控制命令。In one embodiment, the above-mentioned control unit is also used to execute the next control command if an additional event is generated by the change of the 3D virtual model during the process of controlling the 3D virtual model through the direct control module according to the current control command; and if it is determined that the operation type of the next control command is an indirect control command and the additional event is a prerequisite event for the implementation of the next control command.
在一个实施例中,上述控制单元,还用于在Web端显示时间控制器,所述时间控制器包括不同时间控制功能的时间控制组件,其中,所述时间控制器用于管理所述控制命令的执行时间;接收通过输入设备输入的对时间控制组件的选择;根据选择的时间控制组件对当前正在执行的控制命令的所有操作执行对应的时间控制功能。In one embodiment, the above-mentioned control unit is also used to display a time controller on the Web side, and the time controller includes time control components with different time control functions, wherein the time controller is used to manage the execution time of the control command; receive a selection of the time control component input through an input device; and execute corresponding time control functions for all operations of the control command currently being executed according to the selected time control component.
在一个实施例中,所述前置事件包括以下任意一项或任意组合:条件事件、逻辑事件以及用户行为事件。In one embodiment, the preceding event includes any one or any combination of the following: a conditional event, a logical event, and a user behavior event.
本发明实施例实现了如下技术效果:传统的Web端3D模型控制技术通常需要开发者具备较强的编程和3D图形学知识,而本申请通过使用简单的JSON数据结构定义控制命令来控制3D模型,使得用户可以通过简单的JSON配置文件实现复杂的3D模型控制,避免了学习编程和3D图形学知识的要求,简化了操作难度,降低了开发难度和门槛,使得更多的开发者能够参与到Web端3D应用的开发中来;采用JSON数据结构,无需编写复杂的代码,即可实现对3D模型的灵活控制,从而节省了大量的开发时间,提高了开发效率,减少了程序代码的复杂性,提高了代码的可读性和可维护性;JSON数据结构支持多种控制命令和参数配置,方便开发者根据具体需求进行扩展和定制,提高了灵活和可扩展性,有利于扩展3D技术在各个领域的应用,也能够提供更加丰富和吸引人的用户体验。The embodiments of the present invention achieve the following technical effects: traditional Web-based 3D model control technology usually requires developers to have strong programming and 3D graphics knowledge, while the present application uses a simple JSON data structure to define control commands to control 3D models, so that users can achieve complex 3D model control through simple JSON configuration files, avoiding the requirement of learning programming and 3D graphics knowledge, simplifying the difficulty of operation, reducing the development difficulty and threshold, and enabling more developers to participate in the development of Web-based 3D applications; using the JSON data structure, flexible control of the 3D model can be achieved without writing complex codes, thereby saving a lot of development time, improving development efficiency, reducing the complexity of program codes, and improving the readability and maintainability of the code; the JSON data structure supports a variety of control commands and parameter configurations, which is convenient for developers to expand and customize according to specific needs, improves flexibility and scalability, is conducive to expanding the application of 3D technology in various fields, and can also provide a richer and more attractive user experience.
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that the modules or steps of the above-mentioned embodiments of the present invention can be implemented by a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the embodiments of the present invention are not limited to any specific combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the embodiments of the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411017536.4ACN118550540B (en) | 2024-07-29 | 2024-07-29 | Method, device, equipment and medium for controlling 3D virtual model at Web end |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411017536.4ACN118550540B (en) | 2024-07-29 | 2024-07-29 | Method, device, equipment and medium for controlling 3D virtual model at Web end |
| Publication Number | Publication Date |
|---|---|
| CN118550540Atrue CN118550540A (en) | 2024-08-27 |
| CN118550540B CN118550540B (en) | 2024-10-18 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411017536.4AActiveCN118550540B (en) | 2024-07-29 | 2024-07-29 | Method, device, equipment and medium for controlling 3D virtual model at Web end |
| Country | Link |
|---|---|
| CN (1) | CN118550540B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170024112A1 (en)* | 2015-07-22 | 2017-01-26 | Box, Inc. | Composing web-based interactive 3d scenes using high order visual editor commands |
| US20200084251A1 (en)* | 2018-09-10 | 2020-03-12 | Aveva Software, Llc | Visualization and interaction of 3d models via remotely rendered video stream system and method |
| CN112182700A (en)* | 2020-09-17 | 2021-01-05 | 中北大学 | A Web-based BIM 3D Building Model Display Method |
| CN113569098A (en)* | 2021-07-02 | 2021-10-29 | 浙江浙大中控信息技术有限公司 | Dynamic implementation method of equipment three-dimensional model |
| WO2023159595A1 (en)* | 2022-02-28 | 2023-08-31 | 京东方科技集团股份有限公司 | Method and device for constructing and configuring three-dimensional space scene model, and computer program product |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170024112A1 (en)* | 2015-07-22 | 2017-01-26 | Box, Inc. | Composing web-based interactive 3d scenes using high order visual editor commands |
| US20200084251A1 (en)* | 2018-09-10 | 2020-03-12 | Aveva Software, Llc | Visualization and interaction of 3d models via remotely rendered video stream system and method |
| CN112182700A (en)* | 2020-09-17 | 2021-01-05 | 中北大学 | A Web-based BIM 3D Building Model Display Method |
| CN113569098A (en)* | 2021-07-02 | 2021-10-29 | 浙江浙大中控信息技术有限公司 | Dynamic implementation method of equipment three-dimensional model |
| WO2023159595A1 (en)* | 2022-02-28 | 2023-08-31 | 京东方科技集团股份有限公司 | Method and device for constructing and configuring three-dimensional space scene model, and computer program product |
| Title |
|---|
| 李桉;许华虎;: "基于WebGL的无插件虚拟漫游关键技术的研究", 计算机应用研究, no. 1, 30 June 2020 (2020-06-30)* |
| Publication number | Publication date |
|---|---|
| CN118550540B (en) | 2024-10-18 |
| Publication | Publication Date | Title |
|---|---|---|
| KR100938036B1 (en) | Graphical display animation systems, display element animation methods, animation motion application methods, and computer readable media | |
| KR101087427B1 (en) | Computer-implemented methods and computer-readable recording media for integrating three-dimensional scene hierarchies into two-dimensional synthesis systems | |
| KR101286318B1 (en) | Displaying a visual representation of performance metrics for rendered graphics elements | |
| KR101143095B1 (en) | Coordinating animations and media in computer display output | |
| CN108984395A (en) | A kind of application program launching time-consuming test method, device and storage medium | |
| US8587593B2 (en) | Performance analysis during visual creation of graphics images | |
| CN114201167A (en) | Method, device and storage medium for editing user interface in game | |
| CN110262791B (en) | Visual programming method and device, operator and readable storage medium | |
| WO2008154065A1 (en) | Methods and systems for animating displayed representations of data items | |
| US20110285727A1 (en) | Animation transition engine | |
| CN110609677A (en) | A graphic drawing method, device and system based on WebGL | |
| KR101431311B1 (en) | Performance analysis during visual creation of graphics images | |
| US20230336680A1 (en) | Simulated photographing special effect generation method and apparatus, device, and medium | |
| CN115080016A (en) | Method, device, device and medium for implementing extended function based on UE editor | |
| CN115658039A (en) | Application framework oriented to power grid digital twin visual scene | |
| CN114924712A (en) | AUI modularization realization method and system based on domain controller platform | |
| WO2024250491A1 (en) | Method for generating augmented-reality data, and device and medium | |
| CN117009700A (en) | Virtual reality scene construction method and device, electronic equipment and storage medium | |
| CN116402937A (en) | A simplified development method for 3D visualization of complex data based on web | |
| CN119538351A (en) | A real-time preview method and device for prototype dynamic components based on design tools | |
| Dessart et al. | Animated transitions between user interface views | |
| KR20110073362A (en) | Relationship Modeling for Multi-Core Performance Analysis Using Virtual Tasks | |
| CN115186140A (en) | Method, device and electronic device for generating industrial topology map | |
| CN118550540B (en) | Method, device, equipment and medium for controlling 3D virtual model at Web end | |
| CN119576305A (en) | Method, device, equipment and storage medium for implementing interactive animation in three-dimensional scene |
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |