Interaction methods and devices for virtual digital objects, storage media, and terminals

By acquiring interactive instructions and recording exit point markers during the explanation of virtual digital objects, the problem of non-interactive content in existing content is solved, achieving efficient information transmission and user interaction, and meeting users' personalized needs.

CN115730159BActive Publication Date: 2025-12-02MOFA (SHANGHAI) INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211475752.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-23
Publication Date
2025-12-02
Estimated Expiration
2042-11-23

AI Technical Summary

Technical Problem

The existing methods of displaying content through text, images, websites, and public accounts are not interactive, and users cannot interact with the displayed content, so the effectiveness needs to be improved.

Method used

During the process of driving virtual digital objects to explain the main content, the system obtains interaction commands, records the exit point marker, responds to the interaction commands, returns to the interruption point of the main content and continues the explanation, determines the next node through the main script tree, outputs query information and adjusts the explanation order according to user feedback.

Benefits of technology

It achieves the goal of meeting user interaction needs while displaying content, efficiently conveying high-density information, and driving virtual digital objects to explain corresponding content based on user preferences, thereby improving interactivity and information transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115730159B_ABST
    Figure CN115730159B_ABST
Patent Text Reader

Abstract

A method, apparatus, storage medium, and terminal for interacting with a virtual digital object are disclosed. The method includes: acquiring an interaction command while driving the virtual digital object to explain main content; responding to the interaction command and recording a jump point identifier, the jump point identifier indicating the interruption point of the main content being explained when the interaction command was acquired; responding to the interaction command; and when the response ends, returning to the interruption point of the main content according to the jump point identifier and continuing the explanation. The solution provided in this application enhances the interactivity of virtual digital objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of virtual digital object technology, and in particular to an interaction method, apparatus, storage medium, and terminal for virtual digital objects. Background Technology

[0002] The connection between businesses and people is an eternal topic. Whether it's internal training, sales, marketing, or customer service to external consumers, or education and medical services in specific business scenarios, it all involves building connections between businesses and people, conveying the company's philosophy, services, and knowledge to specific individuals.

[0003] In existing methods of displaying content through text, images, websites, and public accounts, the content is not interactive, and users cannot interact with the displayed content, so the effectiveness needs to be improved. Summary of the Invention

[0004] The technical problem this application aims to solve is how to enhance the interactivity of virtual digital objects.

[0005] To address the aforementioned technical problems, this application provides an interactive method for a virtual digital object. The method includes: acquiring an interaction command during the process of driving the virtual digital object to explain the main content; responding to the interaction command and recording an exit point identifier, the exit point identifier indicating the point where the main content being explained was interrupted when the interaction command was acquired; responding to the interaction command; and when the response ends, returning to the point where the main content was interrupted and continuing the explanation based on the exit point identifier.

[0006] Optionally, driving the virtual digital object to explain the main content includes: obtaining the main script tree corresponding to the main content, the main script tree being used to indicate the explanation order of the main content, the main script tree including multiple nodes; and driving the virtual digital object to explain the content corresponding to each node according to the explanation order.

[0007] Optionally, driving the virtual digital object to explain the content corresponding to each node according to the explanation order includes: if the current node has an interactive marker, then after the content corresponding to the current node is explained, outputting preset query information; obtaining feedback information input by the user in response to the query information; and determining the next node in the main script tree based on the feedback information.

[0008] Optionally, determining the next node in the main script tree based on the feedback information includes: determining the next node from multiple child nodes of the current node based on the feedback information, and ignoring the other child nodes of the current node.

[0009] Optionally, responding to the interaction command includes: obtaining a jump point identifier, the jump point identifier depending on the interaction command; if the jump point indicated by the jump point identifier is a node of the main script tree, then driving the virtual digital object to explain the content corresponding to the jump point, and setting a read mark for the jump point.

[0010] Optionally, returning to the main content interruption point and continuing the explanation based on the jump point identifier includes: determining whether the main content where the interruption point is located has the read mark; if so, skipping the main content where the interruption point is located.

[0011] Optionally, returning to the interruption point of the main content and continuing the explanation based on the jump point identifier includes: determining whether the current node has the read mark, and if so, skipping the current node.

[0012] Optionally, responding to the interactive command includes: starting from the jump point, explaining the target main content until the target main content is explained, where the target main content is the main content at the jump point.

[0013] Optionally, before obtaining the interaction instructions, the method further includes: obtaining the main content and determining whether the main content has a read mark; if so, skipping the main content; otherwise, explaining the main content starting from the first node of the main content.

[0014] Optionally, the interaction instruction includes user-inputted question information, and obtaining the jump point identifier includes: determining the response content based on the question information, and using the node corresponding to the response content as the jump point.

[0015] Optionally, returning to the interruption point of the main content and continuing the explanation according to the jump point identifier includes: returning to the jump point, where the jump point is the node corresponding to the jump point marker in the main script tree; starting from the jump point, driving the virtual digital object to continue explaining the content corresponding to other nodes according to the explanation order.

[0016] Optionally, the node has a depth value. Before driving the virtual digital object to explain the main content, the method further includes: determining segmented display nodes from the main script tree according to a preset depth value; if the segmented display node is a non-leaf node and not a root node, determining the length proportion of the segmented display node according to the total explanation time corresponding to the segmented display node and all its descendant nodes; if the segmented display node is a leaf node or a root node, determining the length proportion of the segmented display node according to the explanation time corresponding to the segmented display node; and generating a table of contents based on the length proportion of the segmented display node.

[0017] Optionally, the method further includes: during the process of driving the virtual digital object to explain the main content, calculating the sum of the explanation durations corresponding to nodes with read marks in the main script tree, and recording it as the first duration; calculating the sum of the first duration and the explained duration corresponding to the current node, and recording it as the second duration; and displaying an explanation progress indicator on the directory bar according to the second duration and the explanation duration of the main content.

[0018] Optionally, the content corresponding to each node includes multiple sentence sets, and each sentence set includes a preset number of consecutive sentences. The method further includes: during the process of the user performing a first preset action on the explanation progress indicator, calculating the sentence set pointed to by the explanation progress indicator based on the position of the explanation progress indicator on the directory bar; when it is detected that the user performs a second preset action on the explanation progress indicator, driving the virtual digital object to continue explaining from the first sentence in the currently pointed sentence set.

[0019] Optionally, before driving the virtual digital object to explain the main content, the method further includes: in response to a startup command, obtaining the user's historical access status; and determining the greeting content of the virtual digital object based on the historical access status.

[0020] To address the aforementioned technical features, this application also provides an interactive device for a virtual digital object. The device includes: an acquisition module, configured to acquire an interaction command during the process of driving the virtual digital object to explain the main content; a recording module, configured to record an exit point identifier in response to the interaction command, the exit point identifier indicating the main content being explained at the time the interaction command was acquired; a response module, configured to respond to the interaction command; and an explanation module, configured to return to the interruption point of the main content based on the exit point identifier and continue the explanation when the response ends.

[0021] This application also provides a computer-readable storage medium storing a computer program thereon, which, when run by a processor, executes the steps of the above-described virtual digital object interaction method.

[0022] This application also provides a terminal, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the above-described virtual digital object interaction method.

[0023] Compared with the prior art, the technical solution of this application embodiment has the following beneficial effects:

[0024] In the solution of this application embodiment, during the process of driving the virtual digital object to explain the main content, an interaction command is obtained; in response to the interaction command, a jump point identifier is recorded, which is used to indicate the interruption point of the main content being explained when the interaction command is obtained; the interaction command is responded to; when the response ends, the explanation returns to the interruption point of the main content according to the jump point identifier and continues. This solution allows for interaction with the user during the process of driving the virtual digital object to explain pre-made content, and the virtual object can continue explaining the pre-made content after the interaction is completed. It can meet the user's interaction needs while achieving a display effect, and can more effectively convey high-density information content.

[0025] Furthermore, in this embodiment, after the content corresponding to the current node has been explained, a preset query message is output; feedback information from the user regarding the query message is obtained; and the next node is determined in the main script tree based on the feedback information. This approach allows the virtual digital object to explain the corresponding content according to the user's preferences and actual needs, enabling the user to efficiently obtain the desired information. Attached Figure Description

[0026] Figure 1 This is a flowchart illustrating an interaction method for a virtual digital human in an embodiment of this application;

[0027] Figure 2 This is a schematic diagram of the structure of a mainline script tree in an embodiment of this application;

[0028] Figure 3 This is a flowchart illustrating a process of driving a virtual digital object to explain the main content in an embodiment of this application;

[0029] Figure 4 This is another flowchart illustrating an interaction method for a virtual digital object in an embodiment of this application.

[0030] Figure 5 This is a schematic diagram of a directory bar in an embodiment of this application;

[0031] Figure 6 This is a schematic diagram of the structure of an interactive device for a virtual digital human according to an embodiment of this application;

[0032] Figure 7 This is another flowchart illustrating an interaction method for a virtual digital human in the embodiments of this application. Detailed Implementation

[0033] As described in the background section, existing methods of displaying content through text, images, websites, public accounts, etc., do not allow for interactive content, and users cannot interact with the displayed content.

[0034] To address the aforementioned technical problems, this application provides an interactive method for virtual digital objects. In this embodiment, during the process of driving the virtual digital object to explain the main content, an interaction command is acquired; in response to the interaction command, a jump point identifier is recorded, which indicates the point where the main content being explained was interrupted when the interaction command was acquired; the interaction command is responded to; and when the response ends, the method returns to the point where the main content was interrupted based on the jump point identifier and continues the explanation. This approach allows for interaction with the user during the process of driving the virtual digital object to explain pre-made content, and the virtual object can continue explaining the pre-made content after the interaction is completed. It satisfies the user's interactive needs while achieving a display effect, and can more effectively convey high-density information content.

[0035] To make the above-mentioned objectives, features and beneficial effects of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0036] Reference Figure 1 , Figure 1 This is a flowchart illustrating an interaction method for a virtual digital object in an embodiment of this application. Figure 1 The method shown can be applied to scenarios where virtual digital objects interact with end-users (C-end). In this embodiment, the end-user (C-end) refers to the user watching the video of the virtual digital object, that is, the user interacting with the virtual digital object. The virtual digital object can be a virtual digital person, but is not limited to this. It should be noted that the end-user (B-end) referred to in this embodiment refers to the user who sets the explanatory content of the virtual digital object, which is usually an enterprise user.

[0037] Figure 1 The method shown may include the following steps:

[0038] Step S11: During the process of driving the virtual digital object to explain the main content, obtain interaction instructions;

[0039] Step S12: In response to the interaction command, record the exit point identifier, which is used to indicate the interruption point of the main content being explained when the interaction command is obtained;

[0040] Step S13: Respond to the interactive command;

[0041] Step S14: When the response ends, return to the interruption point of the main content according to the jump point identifier and continue the explanation.

[0042] The following is a non-limiting description of the method for driving a virtual digital human to explain the main content in the embodiments of this application.

[0043] Specifically, B-end users can pre-set main content according to their actual needs. The main content refers to the content that B-end users expect to explain to C-end users through virtual digital objects. For example, the main content can be a company introduction, product introduction, or teaching content explanation, etc. This embodiment does not impose any restrictions on this.

[0044] Furthermore, in this embodiment, the main content has a structured feature.

[0045] Specifically, the main storyline content has a pre-configured main storyline script tree, which can be used to indicate the order in which the main storyline content is presented. There is a one-to-one correspondence between the main storyline content and the main storyline script tree. There can be multiple main storyline content sets, and each set can have a unique corresponding main storyline script tree.

[0046] More specifically, the main script tree may include multiple nodes, at least a portion of which may have corresponding content, and the content corresponding to the node is at least a part of the main script content. Each leaf node has corresponding content, while non-leaf nodes may or may not have corresponding content; this embodiment does not impose any restrictions on this.

[0047] In practice, the content corresponding to parent and child nodes has an inclusion relationship. That is, the content corresponding to the parent node can be a summary or generalization of the content corresponding to each child node, while the content corresponding to sibling nodes can be parallel rather than inclusion. For example, if the parent node is named "Purchase Method", then the names of its child nodes can be: Purchase by Month, Purchase by Quarter, Purchase by Year, etc.

[0048] In a specific example, nodes with a depth value of 0 and / or a depth value of 1 may not have corresponding content.

[0049] In another specific example, each node has corresponding content, and the set of content corresponding to all nodes in the main script tree constitutes the main content. The content corresponding to a node can also be called "node content," meaning that each piece of main content includes multiple pieces of node content.

[0050] Furthermore, in the main script tree, each node can have a depth value, a node identifier, and a node name. The depth value indicates the node's depth (or level), the node identifier uniquely identifies the node, and the node name indicates the topic of the content corresponding to the node. The node with a depth value of 0 is the root node, and the name of the root node can be the title of the main content.

[0051] Reference Figure 2 , Figure 2 This is a schematic diagram of the structure of a mainline script tree in an embodiment of this application.

[0052] like Figure 2 As shown, the root node is node 1, which has three child nodes: node 1.1, node 1.2, and node 1.3, with a depth of 1 for each child node. Node 1.1 has three child nodes: node 1.1.1, node 1.1.2, and node 1.1.3; node 1.2 is a leaf node; and node 1.3 has two child nodes: node 1.3.1 and node 1.3.2. Furthermore, node 1.1.3 also has two child nodes: node 1.1.3.1 and node 1.1.3.2.

[0053] As shown above, by linking the contents of the nodes in the main script tree together, a complete and clearly structured content can be formed.

[0054] When driving virtual digital objects to explain the main content, the explanation can be carried out in the order indicated by the main script tree.

[0055] Reference Figure 3 , Figure 3 This is a flowchart illustrating a process of driving a virtual digital object to explain the main content in an embodiment of this application.

[0056] Step S30: Set the root node as the current node; and let i = 1.

[0057] Step S31: Drive the virtual digital object to explain the content corresponding to the current node.

[0058] In the specific implementation of step S31, the virtual digital object can be driven according to the content corresponding to the current node to generate the explanatory video corresponding to the current node.

[0059] Specifically, in driving virtual digital objects, Text-to-Speech & Animation (TTSA) technology can be used to understand the meaning and emotion of the content corresponding to the current node, generating speech data and animation data that matches the speech data. Alternatively, Speech-to-Animation (STA) technology can be used to understand the meaning and emotion of the content corresponding to the current node and generate animation data that matches the speech data. The animation data can include lip-syncing data, facial expression animation data, and motion animation data, enabling the virtual digital objects to be as vivid, realistic, and emotional as real people, with a natural performance flow.

[0060] Furthermore, after generating the animation data, real-time 3D animation physics calculations can be performed on the animation data. Specifically, the calculation algorithm simulates the animation data to achieve effects close to real-world scenes, such as the hair or clothing of virtual digital objects. By using dynamic calculations, dynamic effects that conform to the motion laws of real-world scenes are simulated, thereby greatly enhancing the animation output effect of virtual humans.

[0061] Furthermore, real-time lighting rendering of 3D animation can be used, that is, real-time rendering technology can be used to achieve high-quality real-time rendering effects for virtual digital people and scenes.

[0062] In this embodiment, B-end users can also pre-set animation data, display controls, and interactive controls corresponding to specified text, using text as the axis. The display controls are used to show the content displayed to C-end users. These display controls are unidirectional and can only be used to provide content to users. The display content can include multimodal information, such as PowerPoint presentations (PPT), images, text, videos, and charts. When driving the display of content, C-end users can download the content. Interactive controls can be used to enable interaction with C-end users. Specific details about the interactive controls can be found in the following description.

[0063] Furthermore, given the pre-set animation data, display controls, and interactive controls, data alignment is also required. Specifically, the final video displaying the virtual digital object needs to not only present the video of the virtual digital object itself, but also display subtitles, display controls, interactive controls, and other controls in conjunction with the video of the virtual digital object.

[0064] In practical implementation, the Speech Synthesis Markup Language (SSML) algorithm can be used to synchronize pre-made controls and other content. The SSML algorithm is part of the W3C's Speech Interface Framework. SSML is an XML-based language that not only provides a standard text decomposition mechanism but also uses XML to represent structured data to mimic the structure of written language (words, sentences, paragraphs, etc.). Using SSML data, based on the speech narrated by virtual digital objects, the actions, lip movements, and facial expressions of the display controls, interactive components, and virtual digital objects that need to be synchronized can be accurately located.

[0065] For example, the text narrated by the virtual digital object, "Now I'll introduce our product to you. Our product has the advantages of good effect, ease of use, and stable performance," has a preset corresponding display control. The content displayed by this control can be a product-related video. Through the SSML algorithm, the content displayed by the control can be shown while the virtual digital object is narrating the above text.

[0066] When displaying controls, you can first determine the type of control, which can be a display control or an interactive control. You can also determine the style requirements of the control, as well as the information resources it contains. Among them, the information resources contained in a display control can be the content that the display control needs to show, while the information resources contained in an interactive control can be a third-party link that can jump to another page, a subscription reminder, or the title of a main node that can jump to another page, etc.

[0067] The above method can be used to drive virtual digital objects to explain the content corresponding to nodes.

[0068] After step S31 is completed, step S32 can be executed.

[0069] Step S32: Determine whether the current node is a leaf node.

[0070] If the current node is a leaf node, proceed to step S34; otherwise, proceed to step S33.

[0071] Step S32 may also include: setting a read flag for the current node.

[0072] Step S33: Select the child node with the smallest unexplained index among the current node's child nodes as the current node.

[0073] In this embodiment, within the main script tree, multiple sibling nodes are numbered sequentially from left to right. It can be understood that a sibling node refers to multiple child nodes of the same parent node.

[0074] After step S33 is completed, you can return to step S31 and continue with the subsequent steps.

[0075] Step S34: Determine if the current node is the last node. If so, the process ends, meaning the explanation of the main storyline content corresponding to the main storyline script tree is complete.

[0076] In a specific example, an end node can be preset, which is a node other than the main node. If the judgment result of step S34 is yes, the virtual digital object can be driven to explain the content corresponding to the end node.

[0077] In practical implementation, the ending node can also have a preset corresponding interactive control to be displayed when explaining the content corresponding to the ending node. For example, the interactive control corresponding to the ending node may include: WeChat Official Account, WeChat Work, message push authorization, etc., but is not limited to these. C-end users can long-press the QR code image of the WeChat Official Account to subscribe, or they can click the QR code image of the WeChat Official Account to jump to the WeChat Official Account page, or they can authorize message push. It should be noted that the interactive control corresponding to the ending node mentioned above can also be displayed at other specified times in the explanation mode, and this embodiment does not limit this.

[0078] If the current node in step S34 is not the last node, then continue to step S35.

[0079] Step S35: Determine whether all sibling nodes of the current node have been explained.

[0080] Specifically, if the current node in step S34 is a leaf node, it can be determined whether all child nodes of the current node's parent node have been explained. If not, step S36 can be executed, that is, the next unread child node is explained, which means the next unread child node is taken as the current node. If all child nodes of the current node's parent node in step S34 have been explained, step S37 can be executed.

[0081] Step S36: The node with the smallest unexplained index among the sibling nodes of the current node can be taken as the current node.

[0082] After step S36 is completed, you can return to step S31 and continue with the subsequent steps.

[0083] Step S37: Determine whether all sibling nodes of the ancestor node with depth value si of the current node have been explained. If yes, proceed to step S39; otherwise, proceed to step S38.

[0084] Specifically, in step S31, the depth value of the current node can be denoted as s. Then, when step S37 is executed for the first time after step S31, it can be determined whether all the sibling nodes of the ancestor node with a depth value of s-1 of the current node have been explained. Among them, the ancestor node with a depth value of s-1 of the current node is the parent node.

[0085] If there are sibling nodes of the current node's parent node that have not been explained, then step S38 can be executed.

[0086] If all sibling nodes of the current node's parent node have been explained, then step S39 can be executed, and step S37 can be executed again after step S39.

[0087] That is, if all sibling nodes of the current node's parent node have been resolved, step S37 can be executed a second time. In the second execution of step S37, it is determined whether all sibling nodes of the current node's ancestor node with a depth of s-2 have been resolved. Here, the ancestor node with a depth of s-2 refers to the parent node of the current node's parent node.

[0088] In other words, by executing steps S37 and S39, and assuming that all sibling nodes of the current node in step S31 have been explained, the above scheme finds the ancestor node with the smallest depth value and which has sibling nodes that have not been explained, and takes the sibling node with the smallest index as the current node.

[0089] In step S38, the node with the smallest unexplained index among the sibling nodes of the ancestor node with depth value si of the current node is selected as the current node. After step S38 is completed, the process can return to step S31.

[0090] It should be noted that after executing step S38, if i is not equal to 1, then i needs to be reassigned the value of 1. In other words, after executing step S39 and returning to step S37, and after returning to step S37 and executing step S38, i needs to be reassigned the value of 1.

[0091] Step S39, i = i + 1, and return to step S37.

[0092] Combination Figure 3 The method Figure 2 The order of explanation for each node in the main script tree is as follows: Node 1, Node 1.1, Node 1.1.2, Node 1.1.3, Node 1.1.3.1, Node 1.1.3.2, Node 1.1.4, Node 1.2, Node 1.3, Node 1.3.1, and Node 1.3.2.

[0093] As can be seen from the above, in this embodiment, B-end users can predefine the main content and its order of presentation for the virtual digital object. For example, if a B-end user wants the virtual digital object to explain a product to a C-end user as a salesperson, a configured main content can include four nodes: user pain points, product solutions, product features, and purchase methods. The configured presentation order can be: user pain points -> product solutions -> product features -> purchase methods. In practice, users can configure one or multiple main content lines. If a user configures multiple main content lines, the presentation order between them can also be configured simultaneously.

[0094] In the solution of this application embodiment, if in the explanation mode, the main content can be explained in the order of explanation between the main content, and the node content in the main content can be explained in the order indicated by the main script tree.

[0095] Continue to refer to Figure 1 In the specific implementation of step S11, during the process of driving the virtual digital object to explain the main content in the explanation mode, interactive instructions can be obtained.

[0096] In practice, interaction commands can be generated by user actions performed on interactive controls. More specifically, interaction commands can be obtained during the process of driving a virtual digital object to explain the content corresponding to a certain node, or they can be obtained after the content corresponding to a certain node has been explained and before the next node is explained.

[0097] In the first embodiment, the interactive command can be a jump command to the main content. In this case, the jump point is a main content node. The jump point is the next node to be explained.

[0098] Specifically, end-users can select the next main storyline node to be explained using interactive controls. A main storyline node refers to a node in the main storyline script tree. In other words, the interactive command can be generated in response to the user's operation of the interactive control, and the interactive command can include a jump point identifier, which indicates a node in the main storyline script tree. When there are multiple main storyline contents, the node in the main storyline script tree can refer to the content of the current main storyline content's main storyline script tree, or it can refer to a node in the main storyline script tree of another main storyline content.

[0099] More specifically, when there are multiple main content items, the interaction command can also include a content identifier, which can be used to indicate the main content to which the jump point belongs (i.e., the target main content). Using the content identifier and the jump point identifier, one can jump to the content nodes of the current main content and other main content items. Specifically, the target main content can be determined based on the content identifier, and then the jump point can be further determined from the target main content based on the jump point identifier. This enables jumping between main content items.

[0100] In practice, end-users can choose the entry point through any of the following methods, but are not limited to these:

[0101] Method 1: C-end users can click on the directory control. After the C-end user clicks on the directory control, the directory of the main content can be displayed to the C-end user. The structure of the directory can correspond to the main script tree. The directory can include the first card corresponding to each node in the main script tree. The C-end user can click on one of the first cards to select the jump point.

[0102] In practice, end users can click the directory control at any time to select a jump point; that is, end users can select a jump point during the explanation of any node.

[0103] If there are multiple main story content items, end-users can click on the directory control. After clicking, the directory control will display the content identifiers or names of each main story content item. End-users can then click on the identifier or name of a specific main story content item to trigger the display of its directory. Alternatively, if there are multiple main story content items, end-users can click on the directory control to directly display the directory for each main story content item.

[0104] Method 2: After the content corresponding to a certain main node has been explained, C-end users can select the jump point in the displayed interactive controls.

[0105] Specifically, B-end users can pre-set interactive controls for one or more nodes in the main script tree. Once a node with interactive controls is explained, the explanation can be paused, and the interactive controls can be displayed. These interactive controls can include at least one second card corresponding to a node, allowing C-end users to select a jump point. In other embodiments, interactive controls can also be displayed during the explanation process.

[0106] For example, refer to Figure 2 Node 1.1.3.1 can have preset interactive controls. After the content corresponding to node 1.1.3.1 has been explained, or during the explanation, the interactive controls can be displayed. The interactive controls can include the second cards of other nodes in the main script tree, or the second cards of nodes in the main script tree that are related to the content of node 1.1.3.1. The C-end user can click on one of them to select the jump point.

[0107] Continue to refer to Figure 1 In the specific implementation of step S12, in response to the interaction command, the exit point identifier can be recorded. The exit point identifier can be used to indicate the interruption point of the main content being explained in sequence when the interaction command is obtained.

[0108] More specifically, the breakpoint in the main content can refer to the node corresponding to the content being explained by the virtual digital object when the interaction command is received. For ease of description, the node corresponding to the content being explained by the virtual digital object when the interaction command is received can be denoted as the breakpoint, and the identifier of the breakpoint can be denoted as the breakpoint identifier.

[0109] For example, refer to Figure 2When the virtual digital object is explaining the content corresponding to node 1.1.3.1, or after the content corresponding to node 1.1.3.1 has been explained, if an interaction command is obtained, then node 1.1.3.1 can be determined as the exit point, and the identifier of node 1.1.3.1 can be recorded as the exit point identifier.

[0110] It should be noted that if the virtual digital object is paused or not being explained when the interaction command is obtained, the most recently explained node can be used as the exit point. For example, if the interaction command is obtained through method two above, that is, if the interactive control is actively displayed after a node is explained so that the user can choose the exit point, then after the C-end user selects the exit point, that node (i.e., the most recently explained node) can be used as the exit point.

[0111] It should also be noted that in other embodiments, the interruption point of the main content may refer to the sentence being explained when the interactive command is obtained, etc., and this embodiment does not limit this.

[0112] In the specific implementation of step S13, the virtual digital object can be driven to explain the node content corresponding to the jump point, or it can be driven to explain multiple nodes of the main content where the jump point is located. Specifically, the target main content can be explained starting from the jump point until the target main content is explained completely, that is, the explanation follows the order of the main script tree from the jump point until the main content is explained. The specific process of driving the virtual digital object to explain the content corresponding to the jump point can be referred to the relevant description of step S31 above, and will not be repeated here.

[0113] When the entry point is a main storyline node, after the content of the node or the main storyline corresponding to the entry point has been explained, a "read" mark can be set for the entry point. This allows you to skip the node or the main storyline content it belongs to when explaining the entry point in the order it was explained later. For ease of description, the main storyline content containing the entry point can also be referred to as the target main storyline content. It should be noted that the entry point and the exit point can belong to the same main storyline content or different main storyline content.

[0114] As an example, if the jump point is a node of the current target main storyline content, after the content of the node corresponding to the jump point has been explained, a read mark can be set for the jump point so that when the main storyline script tree of the original main storyline content is explained to the jump point in order, the node can be skipped.

[0115] As another example, if the jump point is a node in the target main content, then the virtual digital object can be driven to explain the target main content starting from the jump point, following the order of the main script tree corresponding to the target main content, until the target main content is explained completely. Furthermore, when the target main content is explained, a read flag can be set for the jump point. When explaining the target main content in the subsequent order, since nodes in the target main content have read flags, the target main content itself will also have read flags, allowing skipping that target main content and directly explaining the next main content without a read flag. This approach allows for jumps between main content sections and skips the target main content in subsequent explanations, meaning that nodes in the target main content before the jump point do not need to be explained during the entire explanation process. Therefore, it avoids explaining content that is not of interest to end users.

[0116] The solution described above allows end-users to dynamically select or adjust the order of the main content presentation through interactive controls, enabling a more personalized experience. For example, when a virtual digital object introduces a product in the default order of background, function, instructions, and case studies, different end-users may have their own preferred presentation order. They can then adjust the presentation order through interactive controls to better suit their preferences.

[0117] It should be noted that in this embodiment, if multiple jumps occur consecutively, the system returns to the exit point marked at the first jump after either the content of the node corresponding to the last jump point has been explained or the main content corresponding to the last jump point has been explained. Multiple consecutive jumps can refer to obtaining a new jump point identifier one or more times before returning to the main content based on the exit point identifier.

[0118] In a non-restrictive example, before driving the explanation of the virtual digital objects, the end user can redefine the order of the main content explanation. For example, the user can update the directory structure by adjusting the position of the controls corresponding to each node in the directory, thereby updating the structure of the main script tree accordingly. Then, the virtual digital objects can be driven to explain according to the explanation order indicated by the updated main script tree.

[0119] In a second embodiment of this application, the interaction instruction may be a third-party jump instruction.

[0120] Specifically, B-end users can pre-set interactive controls for specified content, which may include links to third-party content. When the virtual digital object explains the specified content, the interactive controls can be displayed to guide users to understand the third-party content.

[0121] More specifically, interactive controls can include redirects to third-party mini-programs or web pages, guiding end-users to further actions. For example, during a product demonstration, interactive controls can include links to the product being explained; clicking these links will take the end-user to the product's purchase page. Another example is a virtual HR person; interactive controls can include job posting links, allowing users to apply for a position. Yet another example is a virtual teacher; interactive controls can include links to practice questions, which will take the user to a question-solving interface.

[0122] Furthermore, in response to the interaction command, the exit point identifier can be recorded, and a response can be made to the interaction command. The content of recording the exit point identifier can be referred to the description of step S12 above, and will not be repeated here. Responding to the interaction command may include: navigating to a third-party link clicked by the user.

[0123] In a third embodiment of this application, the interaction command can be a jump command to sub-line content. In this case, the jump point is a sub-line node.

[0124] Specifically, B-end users can pre-configure interactive controls for specified content. When driving the virtual digital object to explain the specified content, the pre-configured interactive controls can be displayed. These interactive controls can guide users to understand the sub-content.

[0125] In this embodiment, the subplot content can be pre-set. Subplot content can refer to content that is not part of the main plot but is related to the main plot, such as more detailed content.

[0126] In this embodiment, the virtual digital object is not actively driven to explain the subplot content. Instead, it is driven to explain at least a portion of the subplot content only when the end user (C-end user) wants to understand it.

[0127] For example, when B-end users want a virtual digital object to act as a salesperson and explain a product to C-end users, the pre-set explanation content can include: user pain points, product solutions, product features, user manuals, after-sales service, and purchase methods. The B-end user uses user pain points, product solutions, product features, and purchase methods as the main content, and user manuals and after-sales service as secondary content. The secondary content can only be explained by the virtual digital object when the C-end user expects to know it.

[0128] In practice, the sub-line content can have a pre-set sub-line script tree, and the sub-line script tree can also include multiple nodes. For ease of distinction, the nodes in the main script tree will be referred to as "main nodes" and the nodes in the sub-line script tree will be referred to as "sub-line nodes".

[0129] The specific structure of the secondary script tree can be found in the description of the main script tree above, and will not be repeated here.

[0130] Specifically, in the third embodiment, the interactive control may include a card corresponding to at least one sub-node, and the content corresponding to the at least one sub-node may be related to the specified content mentioned above. When it is detected that a C-end user clicks on a card corresponding to one of the sub-nodes, an interactive instruction can be generated.

[0131] The interaction instructions may include a content identifier and a jump point identifier. In this case, the content identifier can be used to indicate sub-line content, and the jump point identifier can be used to indicate a node in the sub-line script tree corresponding to the sub-line content.

[0132] Further, steps S12 and S13 can be performed.

[0133] For details regarding step S12, please refer to the relevant description above; it will not be repeated here.

[0134] In the specific implementation of step S13, the virtual digital object can be driven to explain the sub-line content corresponding to the jump point. Specifically, the sub-line content can be explained starting from the jump point according to the order of the sub-line script tree corresponding to the sub-line node, until the sub-line content is explained.

[0135] It should be noted that when the jump point is a sub-line node, after the virtual digital object is used to explain the sub-line content corresponding to the jump point, it is not necessary to set a read mark for the jump point.

[0136] Furthermore, when the content corresponding to the jump point (i.e. the sub-line content corresponding to the jump point) has been explained, step S14 can be executed, that is, return to the main line content to continue the explanation.

[0137] In the fourth embodiment of this application, the interactive instructions may include question information input by the C-end user.

[0138] Specifically, during the process of driving the virtual digital object to explain the main content, end-users can input questions through interactive controls displayed on the interface. In response to the user's input, the interface can switch from explanation mode to question-and-answer mode. Alternatively, in other embodiments, the switch between explanation mode and question-and-answer mode can be triggered by the end-user's operation. The interface can switch to question-and-answer mode first, and then the user's input question can be obtained.

[0139] In question-and-answer mode, in response to the user's input question information, an interactive command can be generated. This interactive command can include the user's input question information. It should be noted that this embodiment does not limit the specific content of the question information input by the C-end.

[0140] Further, step S12 can be performed. The specific details of step S12 can be found in the description above and will not be repeated here.

[0141] In the specific implementation of step S13, the response content can be determined based on the problem information.

[0142] Specifically, end-users can input text to ask questions at any time. Natural Language Processing (NLP) technology then processes the input questions, finding the answers in a pre-configured question list. Alternatively, end-users can input voice to ask questions. This voice input is first converted to text using Automatic Speech Recognition (ASR) technology and then processed using the same methods described above.

[0143] Furthermore, if the answer to a question is found in the question table, the virtual number object can be driven to explain the answer. If the answer is not found in the question table, the virtual number object can be driven to output a preset response, such as, "Sorry, I didn't learn it." Additionally, questions for which no answer was found can be recorded for future optimization.

[0144] In practice, the problem form can be pre-set by the B-end user.

[0145] Specifically, the question table can include multiple predefined standard questions. Considering that different users may express the same question differently, each standard question can have one or more related extended similar questions.

[0146] Extended similarity questions complement the standard question. For example, a standard question might be "How much does the product cost?", while related extended similarity questions could be "How much does the product cost?", "What is the price of the product?", and so on. Machine learning methods can be used to generate extended similarity questions to improve the hit rate of user queries.

[0147] Furthermore, each standard question is pre-configured with a corresponding answer. After obtaining the question information input by the user, the corresponding answer can be used as the response content.

[0148] In a specific example, the response content can be part of the main content. In this case, the main node corresponding to the response content can be used as the jump point.

[0149] In another specific example, the response content can be part of a secondary line. In this case, the secondary line node corresponding to the response content can be used as the jump point.

[0150] After determining the jump point, the virtual digital object can be driven to explain the content corresponding to the jump point.

[0151] In yet another example, the response content could be supplementary content beyond the main and subplots. In this case, the virtual digital human could be driven to narrate the supplementary content.

[0152] Furthermore, once the response content has been explained, the question-and-answer mode can be exited, meaning the response ends and the explanation mode is returned to. Alternatively, in response to a user's exit action, the question-and-answer mode can be exited and the explanation mode returned to. More specifically, returning from the question-and-answer mode to the explanation mode can mean jumping back to the main content, that is, continuing to execute step S14.

[0153] Furthermore, in the specific implementation of step S14, the main content can be returned to the interruption point based on the jump point identifier and the explanation can continue.

[0154] Specifically, you can return to the exit point and then drive the virtual number object to explain the content corresponding to the exit point. After the content corresponding to the exit point has been explained, you can drive the virtual number object to continue explaining the content corresponding to other nodes according to the explanation order indicated by the main script tree and the order of the main content. Driving the virtual number object to explain the content corresponding to the exit point can mean driving the virtual number object to start explaining from the beginning of the content corresponding to the exit point.

[0155] For example, refer to Figure 2 If the exit point is node 1.1.3.1, then after the response ends, the virtual number object can be driven to re-explain the content corresponding to node 1.1.3.1, and then continue the subsequent explanation.

[0156] With this approach, when the exit point serves as the interruption point of the main content, C-end users may have interacted during the explanation of the exit point, resulting in the content at the exit point not being fully explained. Therefore, returning to the beginning of the content corresponding to the exit point helps to avoid missing information.

[0157] In a non-restrictive example, before returning to the main content, it can be determined whether the content corresponding to the jump point has been explained before the jump. If so, the content corresponding to the next main node of the jump point can be explained directly in the explanation order. If not, the virtual number object can be driven to re-explain the content corresponding to the jump point.

[0158] More specifically, B-end users can pre-mark the last sentence in the content corresponding to each main node as the ending sentence. Before jumping, if the virtual number object has already explained the ending sentence of the jump point, it can be determined that the content corresponding to the jump point has been explained. Otherwise, it can be determined that the content corresponding to the jump point has not been explained.

[0159] The above approach helps to avoid omissions and repetitive explanations of the main content.

[0160] Furthermore, during the explanation process following the order indicated by the main script tree, after determining the current node and before the virtual digital object explains the content corresponding to the current node, it can be determined whether the current node has a read mark. If so, it means that the C-end user has already understood the content corresponding to the current node, so the current node can be skipped to avoid repeated explanations. Skipping the current node means not explaining the content corresponding to the current node.

[0161] In another non-restricted example, after returning to the exit point (i.e., the breakpoint in the main storyline), we can first check if the main storyline content at the breakpoint has a read flag. If it does, it means that the main storyline content at the breakpoint has already been explained during the jump, so we can skip the breakpoint content and directly explain the next main storyline content. If the breakpoint content does not have a read flag, we can continue explaining according to the order of the main storyline script tree until the main storyline content is explained, and then obtain the next main storyline content for explanation. During the explanation according to the main storyline script tree order, we do not need to set a read flag for the explained nodes, only for the completed jumppoint. When setting a read flag for the jumppoint, we can also set a read flag for the main storyline content at the jumppoint.

[0162] Furthermore, during the explanation of multiple main content threads according to the set explanation order, after determining the current main content thread, and before driving the virtual digital object to explain the current main content thread, it can be determined whether the current main content thread has a read mark or whether any nodes within the current main content thread have a read mark. If so, it means that the C-end user has already fully or partially understood the current main content thread, or does not want to understand certain nodes of the current main content thread. Therefore, the current main content thread can be skipped to avoid repeated explanation. Skipping the current main content thread means not explaining the current main content thread.

[0163] In the embodiments of this application, the virtual digital object may also have an interrogation mode, which will be described in a non-limiting manner below.

[0164] On the one hand, B-end users can set interactive controls for specified content or specified main nodes, which can be used to ask questions to C-end users.

[0165] Specifically, by asking questions to end users and receiving their answers, we can understand their needs and then explain appropriate content based on those needs.

[0166] In practical implementation, in explanation mode, if the current node has an interactive marker, it can enter inquiry mode after the content corresponding to the current node has been explained. Specifically, preset inquiry information can be output. That is, interactive controls can be displayed, and these interactive controls can include inquiry information.

[0167] Furthermore, feedback from end-users regarding their input of query information can be obtained. Specifically, end-users can select an answer from multiple candidate responses using a button. Alternatively, a form can be provided for end-users to fill out.

[0168] In one example, the feedback information may include a node identifier. Further, the next node can be determined in the main script tree based on the feedback information. Specifically, the next node can be determined in the main script tree of the current main content or in the main script tree of other main content. After the next node has been explained, a read mark can be set for that node. In a specific example, the next node can be determined from multiple child nodes of the current node based on the node identifier in the feedback information (i.e., the node indicated by the node identifier in the feedback information), ignoring the other child nodes of the current node. That is, the other child nodes of the current node do not need to be explained. After determining the next node, the explanation mode can be returned, and the determined next node can be used as the current node to drive the virtual digital object to be explained.

[0169] By adopting the above approach, we can understand what users care about through inquiry, avoid explaining a lot of content that C-end users are not interested in, and improve user experience.

[0170] On the other hand, B-end users can set interactive controls for specific content or main nodes, which can be used to guide C-end users to provide more information. In practice, C-end users can also choose not to provide information. For example, users can be guided to provide feedback on their user experience or satisfaction with the explanation.

[0171] In the solution of this application embodiment, different access modes can also be adopted for different C-end users.

[0172] Specifically, in response to the startup command, the system retrieves the historical access status of the end user (C-end); then, based on the historical access status, it determines the greeting content of the virtual digital object. That is, different greeting content is output to the end user (C-end) according to different historical access statuses. The startup command can be the startup command for the virtual digital object explanation system.

[0173] In practice, the greeting can be presented in video format. More specifically, the greeting can be the first of several main content segments.

[0174] In a specific example, an ending video can be pre-set. More specifically, the ending video can be the last of multiple main content segments, played after all other main content segments have finished playing. In practice, the ending video can also include pre-set interactive controls to be displayed when explaining the content corresponding to the ending video. For example, the interactive controls for the ending video could include WeChat Official Accounts, WeChat Work, message push authorization, etc., but are not limited to these.

[0175] More specifically, in response to the start command, the user identifier of the accessing C-end user can be obtained, and then the user's historical access status can be determined based on the user identifier.

[0176] If the C-end user is a new user, that is, entering the application for the first time, a first preset greeting can be used, such as "hello," and then the virtual number object will output the first preset greeting. Furthermore, after the preset greeting has been output, the explanation mode can be entered.

[0177] If the user is a returning user and the main storyline wasn't finished when they last exited the application, a second preset greeting can be used, such as "Welcome back," which is then displayed by a virtual digital object. Furthermore, a narration mode can be entered, prompting the user to choose whether to continue or restart the narration. If the user chooses to continue, the narration can resume from the point where the main storyline ended when they exited; if the user chooses to restart, the narration can return to the first node of the first main storyline.

[0178] If the end-user is a returning user and the main content was already explained when they last exited the application, a third preset greeting can be used, such as "Let's take a look at the new product." Then, the virtual digital object can be driven to output this third preset greeting. Alternatively, the virtual digital object can be driven to output the content corresponding to the aforementioned ending node, along with the corresponding interactive controls, or it can output the content corresponding to the aforementioned ending video, along with the corresponding interactive controls.

[0179] In this embodiment, a more interactive virtual digital object is provided. The virtual digital object can not only speak, make expressions and actions like a real person, but also interact like a real person.

[0180] Specifically, based on the interaction behavior of end users, the communication mode of virtual digital objects can be switched arbitrarily between the following modes:

[0181] i. Explanation Mode: When the end user does not interact, the virtual digital object can be explained in the order of the script;

[0182] ii. Question-and-answer mode: When a C-end user actively asks a question to the virtual digital object, the virtual digital object can answer the question;

[0183] iii. Inquiry Mode: Virtual digital objects can guide C-end users to perform interactive behaviors and provide appropriate explanations based on the user's interactive behaviors.

[0184] Therefore, in this embodiment, the virtual digital object can simultaneously exhibit actions, lip movements, and facial expressions consistent with the content in explanation mode, question-and-answer mode, and inquiry mode. Furthermore, by adding display controls at appropriate times, the explanation of the virtual digital object can be accompanied by images, videos, and text, allowing end-users to more clearly understand the content the virtual digital object intends to convey. Interactive controls can also be used to guide end-users to explore more detailed content, perform further conversion operations (such as placing an order), or submit feedback at suitable times.

[0185] Reference Figure 4 , Figure 4 This is another flowchart illustrating an interaction method for a virtual digital object in an embodiment of this application. The following is a combined... Figure 4 The jump schemes described in the embodiments of this application are given a non-limiting description.

[0186] Step S40: Obtain the content corresponding to node A.

[0187] Node A can be a mainline node being explained according to the order of the mainline content and the mainline script tree. Step S40 can be executed in explanation mode.

[0188] Step S41: Determine whether node A has a read mark. If yes, proceed to step S42; otherwise, proceed to step S43.

[0189] Step S42: Select the next node as node A and return to step S40.

[0190] Specifically, if node A has a read mark, it means that node A has been explained. To avoid repeated explanations, node A can be skipped. The next node can be obtained based on the main script tree; this embodiment does not impose any restrictions on this.

[0191] Step S43: Drive the virtual digital object to explain the content corresponding to node A.

[0192] Step S44: Detect the user's interaction.

[0193] Step S44 can be executed during the execution of step S43. If no user interaction is detected, step S45 can be executed. If a user interaction is detected, step S46 can be executed.

[0194] Step S45: Determine whether the content corresponding to node A has been explained. If yes, return to step S42; otherwise, return to step S43 and continue driving the virtual digital object to explain the content corresponding to node A.

[0195] Step S46: Determine if node A is the main node. If yes, proceed to step S47; otherwise, proceed to step S48.

[0196] Step S47: Record node A as the exit point.

[0197] Step S48: Drive the virtual digital object to explain the content corresponding to node X of the interactive operation.

[0198] In this context, the node X corresponding to the interactive operation can be a node determined based on the interactive operation.

[0199] Step S49: Determine if node X is a main node. If yes, proceed to step S50. If no, proceed to step S51.

[0200] Step S50: Set the read mark for node X.

[0201] Step S51: Detect the user's interactive operations.

[0202] Specifically, during the execution of step S48, step S51 can be executed.

[0203] If a user interaction is detected, the node X corresponding to the interaction can be redefined, and the process can return to step S48. In other words, if an interaction is detected, node X can be updated, and the process can return to step S48.

[0204] If no interactive operation is detected during step S48, step S52 can be executed after the content corresponding to node X has been explained.

[0205] Step S52: Obtain the exit point and return to step S43.

[0206] In practice, a preset transition video can be played before returning to step S43.

[0207] Reference Figure 7 , Figure 7 This is another flowchart illustrating an interaction method for a virtual digital object in an embodiment of this application. The following is a further explanation... Figure 7 The jump schemes described in the embodiments of this application are given a non-limiting description.

[0208] Step S70: Obtain main story content B.

[0209] Here, main content B can be any one of at least one main content with a pre-set explanation order. Step S70 can be executed in explanation mode.

[0210] Step S71: Determine whether the main content B has a read mark.

[0211] In practice, it can be determined whether at least one node in the main content B has a read mark. If any node in the main script tree corresponding to the main content B has a read mark, then it can be determined that the main content B has a read mark.

[0212] If the main content B has a read mark, proceed to step S72; otherwise, proceed to step S73.

[0213] Step S72: Select the next main content as main content B and return to step S70.

[0214] Specifically, if it is determined in step S71 that the main content B has a read mark, then the main content B can be skipped and the next main content can be directly used as the main content B, that is, directly jump to the next main content.

[0215] Specifically, if there is no further main storyline content, the video will end.

[0216] Step S73: Drive the virtual digital object to explain the main content B.

[0217] Specifically, the virtual digital object can be driven to explain the main content B starting from the first node and following the order of the set main script tree. Alternatively, the virtual digital object can be driven to continue explaining the main content B starting from the nth node and following the order of the main script tree, where the nth node can be a jump point. More specifically, when step S73 is executed for the first time after obtaining the main content B, the explanation can start from the first node; when step S73 is executed after obtaining the jump point, the explanation can start from the jump point.

[0218] Step S74: Detect the user's interaction.

[0219] If no user interaction is detected, step S75 can be executed. If a user interaction is detected, step S76 can be executed.

[0220] Step S75: Determine whether the main content B has been explained. If the result is yes, proceed to step S72; otherwise, proceed to step S73.

[0221] Specifically, if main storyline content B has been explained, the next main storyline content can be introduced as main storyline content B, following the pre-set explanation order. If there is no next main storyline content, the video ends. If a main storyline content has not been explained, the explanation continues according to the pre-set main storyline script tree order until that main storyline content is explained.

[0222] Step S76: Record the exit point.

[0223] Specifically, the main storyline node being explained when a user's interaction is detected is recorded as the exit point.

[0224] Step S77: Drive the virtual digital object to explain the content corresponding to node X of the interactive operation.

[0225] Specifically, obtain the node X corresponding to the user interaction. More specifically, first obtain the main or secondary content corresponding to the user interaction, and then obtain the node X corresponding to the interaction within the main or secondary content. Then, drive the virtual digital object to explain the content corresponding to node X of the interaction.

[0226] Step S78: Determine if node X is a main node. If yes, proceed to step S79. If no, proceed to step S80.

[0227] Step S79: Set the read mark for node X.

[0228] Step S80: Detect the user's interactive operations.

[0229] Specifically, during step S77, step S80 can be executed. If a user interaction is detected, the node X corresponding to the interaction can be redefined, and the process can return to step S77. In other words, if an interaction is detected, node X can be updated, and the process can return to step S77.

[0230] If no interactive operation is detected during step S77, proceed to step S81.

[0231] Step S81: Determine whether node X is the last node of the main or sub-line content.

[0232] If the judgment result is yes, proceed to step S83; otherwise, proceed to step S82.

[0233] Step S82: The next node of node X is taken as node X, and the process returns to step S77. That is, the next node of node X is explained according to the script tree of the main or sub-line content where node X is located.

[0234] Step S83: Obtain the exit point and return to step S71.

[0235] Specifically, after obtaining the exit point and returning to step S71, it is determined whether the main content (i.e., main content B) where the exit point is located has a read mark. If it does, step S72 is executed; otherwise, step S73 is executed. More specifically, the explanation is carried out in the order of the main script tree of the main content where the exit point is located, starting from the exit point.

[0236] In practice, a preset transition video can be played before returning to step S73.

[0237] Furthermore, in the solution of this application embodiment, a progress bar can also be displayed during the process of driving the explanation of the virtual digital object. The progress bar may include: a table of contents and an explanation progress indicator.

[0238] In one embodiment, each main content item has its own table of contents and explanation progress indicator.

[0239] The purpose of the directory bar is to extract the first-level directories (e.g., mainline nodes with a depth of 0 and / or 1) from the main content, allowing C-end users to intuitively understand the overall structure of a certain main content. In other words, C-end users can quickly understand the main content of the main content.

[0240] The position of the progress indicator on the table of contents shows the progress of the lecture, allowing end users to know what content is being explained. End users can also quickly locate the desired position by adjusting the position of the progress indicator.

[0241] The following describes the generation and display of the table of contents and the progress indicator.

[0242] Before driving the virtual digital object to explain a main storyline, a table of contents can be generated based on the main storyline script tree. Each table of contents corresponds one-to-one with the main storyline script tree.

[0243] Specifically, segmented display nodes can be determined from the main script tree based on a preset depth value. In other words, a segmented display node can refer to a main script node with a depth value of the preset depth value. This allows one or more segmented display nodes to be determined.

[0244] Furthermore, the length percentage of each segmented display node on the directory bar can be determined.

[0245] Specifically, if a segmented display node is neither a leaf node nor a root node, its length percentage is determined based on the total explanation time corresponding to that segmented display node and all its descendant nodes. The explanation time for each node can be calculated based on a preset speaking speed and the content corresponding to that node.

[0246] For segmented display nodes that are neither leaf nodes nor root nodes, the sum of the explanation time for the node and all its descendant nodes can be calculated, and this sum can be divided by the total explanation time of the main content to obtain the length percentage of the segmented display node. If the segmented display node is a leaf node or a root node, the length percentage of the segmented display node can be determined based on its corresponding explanation time. Specifically, the length percentage of the segmented display node can be obtained by dividing its corresponding explanation time by the total explanation time of the main content.

[0247] More specifically, if the content corresponding to the root node is empty, the length percentage is recorded as 0, and the segment corresponding to the root node can be omitted from the directory bar.

[0248] It should be noted that the total explanation time of the main content can refer to the explanation time of that main content, that is, the sum of the explanation times of all nodes in the main script tree corresponding to that main content.

[0249] Furthermore, a table of contents can be generated and displayed based on the length proportion of each segment display node. The table of contents can be divided into multiple segments, with the number of segments equal to the number of segment display nodes, and each segment corresponds one-to-one with the aforementioned segment display nodes. The segments are arranged sequentially on the table of contents according to the order of explanation, and are connected end-to-end.

[0250] More specifically, the time range corresponding to each segment display node can be determined in the following way:

[0251] Start time: The end time of the previous segment display node; where the start time of the first segment display node is the start time of the directory bar;

[0252] End time: The end time of the previous segment display node + the total explanation time corresponding to the current segment display node.

[0253] In practice, segment titles can also be displayed on each segment.

[0254] In a specific example, the segment title can be the name of the corresponding segment display node.

[0255] In another specific example, the segment titles can be editable, allowing B-end users to modify them. For instance, if the names of the segment display nodes are too long, they can be modified to improve the display effect.

[0256] Reference Figure 5 , Figure 5 This is a schematic diagram of a directory bar in an embodiment of this application.

[0257] Figure 5 The directory entry 50 in the middle can be based on Figure 2 The main script tree shown is generated. The preset depth value can include 0 and 1. The directory bar can include 4 segments, each corresponding to a display node (node ​​1, node 1.1, node 1.2, and node 1.3).

[0258] Furthermore, the length percentage of each segment can be determined separately.

[0259] Among them, node 1 is the root node, and its length percentage is (the explanation time corresponding to node 1) / (the total explanation time of all nodes); node 1.1 is a non-leaf node, and its length percentage is (the sum of the explanation times corresponding to node 1.1 and all its descendant nodes) / (the total explanation time of all nodes); node 1.2 is a leaf node, and its length percentage is (the explanation time corresponding to node 1.2) / (the total explanation time of all nodes); node 1.3 is a non-leaf node, and its length percentage is (the sum of the explanation times corresponding to node 1.3 and all its descendant nodes) / (the total explanation time of all nodes).

[0260] Furthermore, during the process of driving virtual digital objects to explain a certain main content, the position of the explanation progress indicator on the table of contents can be calculated in real time, and the explanation progress indicator can be displayed at that position.

[0261] Specifically, the sum of the explanation durations corresponding to nodes marked as "read" in the main script tree can be calculated and recorded as the first duration. It should be noted that, given the location of the explanation progress indicator, nodes marked as "read" are not included in nodes marked as "read" due to early explanation in the event of a jump.

[0262] In a specific example, during the explanation or inquiry mode, when explaining according to the order indicated by the main script tree, a first read mark can be set for each node after its content is explained. When explaining a main node in the main script tree in step S13, a second read mark can be set for that main node upon completion. In other words, a second read mark can be set when the jump point is a main node. The second read mark is different from the first read mark. After explaining the jump point and returning to the interruption point in the main content to continue explaining, if the current node has a second read mark, it can be cleared, and after skipping the read mark, the first read mark is set for the current node. In other words, after explaining the jump point and returning to the explanation mode to continue explaining, if the current node has a second read mark, the current node can be skipped, and the second read mark can be changed to the first read mark.

[0263] Furthermore, when calculating the first duration, the sum of the explanation durations corresponding to the nodes with the first read mark in the main script tree can be calculated.

[0264] Furthermore, the sum of the first duration and the duration already explained for the current node can be calculated and recorded as the second duration. Then, based on the second duration and the total duration of the main content explanation, the position of the explanation progress indicator on the table of contents can be determined, and the explanation progress indicator can be displayed at the determined position.

[0265] Furthermore, end users can adjust the narration progress by performing actions on the narration progress indicator.

[0266] Specifically, the user (C-end) can perform a first preset action on the narration progress indicator, such as a long press. When the user (C-end) performs this first preset action on the narration progress indicator, it can be determined that the user (C-end) wants to adjust the narration progress of the main content.

[0267] It should be noted that the explanation progress will not be changed during the process of the C-end user performing the first preset operation. That is, the explanation will continue to proceed in the preset order during the process of the C-end user performing the first preset operation.

[0268] Furthermore, during the process of the C-end user performing the first preset action on the explanation progress indicator, the node information corresponding to the finger drag position can be displayed. The node information may include one or more of the following: node name, node identifier, time range, etc.

[0269] Specifically, during the process of a C-end user performing the first preset operation, the main node pointed to by the explanation progress indicator can be calculated based on the position of the explanation progress indicator on the table of contents, and then the information of the pointed node can be displayed.

[0270] Furthermore, the set of sentences pointed to by the narration progress marker can be calculated based on the position of the marker on the table of contents. Specifically, the content corresponding to each main node can include multiple sentence sets, and each sentence set can include a preset number of sentences. This embodiment does not limit the preset number. That is, B-end users can divide the content corresponding to the main node into multiple sentence sets.

[0271] When a second preset action is detected from the user's interaction with the narration progress indicator, the virtual digital object can continue narrating from the first sentence in the sentence set currently pointed to by the progress indicator (i.e., from the beginning of the sentence set). The second preset action could be releasing the progress indicator. This approach improves the continuity of the narration video output by the virtual digital object.

[0272] In other words, after the C-end user completes the drag and releases the finger, the corresponding sentence in the selected node will start playing from the beginning.

[0273] The following is a supplementary description of the catalog in the embodiments of this application.

[0274] End-users can trigger the display of the directory. Within the directory, end-users can see the structure of the current main content (i.e., the structure of the main script tree), and can quickly locate the corresponding content by clicking. In other words, the directory can be displayed in a tree structure.

[0275] Furthermore, the directory supports expand / collapse operations. In the expanded state, all main nodes are displayed; in the collapsed state, main nodes can be hidden. The directory can also display information about the main nodes, including but not limited to: node name, time range, and whether it is currently being explained. It is understood that in practice, the above method can be implemented using software programs running within the chip or chip module's integrated processor; alternatively, it can be implemented using hardware or a combination of hardware and software.

[0276] Therefore, the embodiments of this application provide an interaction method for virtual digital objects, and the solution provided by this application has the following beneficial effects:

[0277] 1. Rich content display formats: Virtual digital objects combine virtual scenes, content information controls, and content effects to more effectively convey high-density information content.

[0278] 2. High information delivery efficiency: Virtual digital object explanation is a high-quality presentation method that is video-based, interactive, and integrates various information. Virtual digital objects can achieve a mode similar to real-person communication, actively explaining, answering user questions, proactively asking user questions and making recommendations. This kind of information delivery efficiency is the highest.

[0279] 3. Full-domain, 24 / 7 service: Virtual digital objects are not limited by space and time, and can support stable and high-quality service 24 / 7.

[0280] 4. Sustainable operation: Users can be retained through guidance, and then continuously reached out to users through messages to achieve the effect of sustainable operation.

[0281] 5. Natural metaverse attributes: Virtual scenes and virtual digital objects are built on the metaverse itself, which not only adapts to existing channels, but also can be easily extended to new channels such as Virtual Reality (VR), Augmented Reality (AR), and Extended Reality (XR).

[0282] Reference Figure 6 , Figure 6 This is a schematic diagram of the structure of an interactive device for virtual digital objects according to an embodiment of this application. Figure 6 The apparatus shown may include:

[0283] The acquisition module 61 is used to acquire interaction instructions during the process of driving the virtual digital object to explain the main content;

[0284] Recording module 62 is used to record the exit point identifier in response to the interaction command, wherein the exit point identifier is used to indicate the main content being explained when the interaction command is obtained;

[0285] Response module 63 is used to respond to the interactive instructions;

[0286] The explanation module 64 is used to return to the interruption point of the main content and continue the explanation when the response ends, based on the jump point identifier.

[0287] For more information on the working principle, working method, and beneficial effects of the virtual digital object interaction device in the embodiments of this application, please refer to the relevant description of the virtual digital object interaction method above, which will not be repeated here.

[0288] This application also provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it performs the steps of the above-described virtual digital object interaction method. The storage medium may include ROM, RAM, disk, or optical disk, etc. The storage medium may also include non-volatile memory or non-transitory memory, etc.

[0289] This application also provides a terminal, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the above-described virtual digital object interaction method. The terminal includes, but is not limited to, computing devices such as mobile phones, computers, tablets, and servers.

[0290] It should be understood that in the embodiments of this application, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0291] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0292] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means.

[0293] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatus, and systems can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and other division methods may exist in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0294] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can be physically included separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or in a combination of hardware and software functional units. For example, for various devices or products applied to or integrated into a chip, each module / unit can be implemented using hardware such as circuits, or at least some modules / units can be implemented using software programs running on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware such as circuits; for various devices or products applied to or integrated into a chip module, each module / unit can be implemented using hardware such as circuits, and different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units can be implemented using hardware such as circuits. The components can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its components / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or in different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.

[0295] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article indicates that the preceding and following related objects have an "or" relationship.

[0296] In this application's embodiments, "multiple" refers to two or more. The descriptions of "first," "second," etc., appearing in this application's embodiments are merely illustrative and for distinguishing the described objects; they do not indicate any order and do not imply a specific limitation on the number of devices in this application's embodiments, nor do they constitute any limitation on the embodiments of this application. Although this application discloses the above, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of this application; therefore, the scope of protection of this application should be determined by the scope defined in the claims.

[0297] While this application discloses the above information, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of this application; therefore, the scope of protection of this application shall be determined by the scope defined in the claims.

Claims

1. A method for interacting with virtual digital objects, characterized in that, The method includes: During the process of driving the virtual digital object to explain the main content, an interaction command is obtained; in response to the interaction command, a jump point identifier is recorded, which is used to indicate the interruption point of the main content being explained when the interaction command is obtained; Respond to the interactive commands; When the response ends, return to the point where the main content was interrupted based on the jump point identifier and continue the explanation; The main content driving the explanation of the virtual digital object includes: Obtain the main script tree corresponding to the main content. The main script tree is used to indicate the explanation order of the main content. The main script tree includes multiple nodes. The virtual digital object is driven to explain the content corresponding to each node in the explained order; The node has a depth value. Before driving the virtual digital object to explain the main content, the method further includes: Based on a preset depth value, segmented display nodes are determined from the main script tree; If the segmented display node is a non-leaf node and not the root node, then the length percentage of the segmented display node is determined based on the total explanation time corresponding to the segmented display node and all its descendant nodes. If the segmented display node is a leaf node or a root node, the length ratio of the segmented display node is determined according to the explanation time corresponding to the segmented display node; Generate a directory bar based on the length ratio of the segmented display nodes; Each node corresponds to a set of multiple sentences, and each sentence set includes a preset number of consecutive sentences. The method further includes: During the process of the user performing the first preset action on the explanation progress indicator, the set of sentences pointed to by the explanation progress indicator is calculated based on the position of the explanation progress indicator on the table of contents; the first preset action is a long press; When a user is detected to have performed a second preset action on the explanation progress indicator, the virtual digital object is driven to continue explaining, starting from the first sentence in the currently pointed-to sentence set; the second preset action is to release the explanation progress indicator.

2. The interaction method for virtual digital objects according to claim 1, characterized in that, The virtual digital object is driven to explain the content corresponding to each node in the described explanation order, including: If the current node has an interactive marker, then after the content corresponding to the current node has been explained, a preset query message will be output. Obtain feedback information from the user in response to the query; The next node is determined in the main script tree based on the feedback information.

3. The interaction method for virtual digital objects according to claim 2, characterized in that, Determining the next node in the main script tree based on the feedback information includes: Based on the feedback information, the next node is determined from the multiple child nodes of the current node, and the other child nodes of the current node are ignored.

4. The interaction method for virtual digital objects according to claim 1, characterized in that, Responding to the interaction command includes: obtaining a jump point identifier, the jump point identifier depending on the interaction command; if the jump point indicated by the jump point identifier is a node of the main script tree, then driving the virtual digital object to explain the content corresponding to the jump point, and setting a read mark for the jump point.

5. The interaction method for virtual digital objects according to claim 4, characterized in that, Returning to the main story content interruption point based on the jump point identifier and continuing the explanation includes: determining whether the main story content where the interruption point is located has the read mark; if so, skipping the main story content where the interruption point is located.

6. The interaction method for virtual digital objects according to claim 4, characterized in that, Returning to the interruption point of the main content based on the jump point identifier and continuing the explanation includes: determining whether the current node has the read mark, and if so, skipping the current node.

7. The interaction method for virtual digital objects according to claim 4, characterized in that, Responding to the interactive command includes: The explanation of the target main content begins from the jump point and continues until the target main content is explained. The target main content is the main content at the jump point.

8. The method for interacting with virtual digital objects according to claim 4, characterized in that, Before obtaining the interactive instructions, the method further includes: Obtain the main story content and determine whether the main story content has a read mark; If so, skip the main content; otherwise, start explaining the main content from the first node of the main content.

9. The interaction method for virtual digital objects according to claim 4, characterized in that, The interactive instructions include user-inputted question information. Obtaining the jump point identifier includes: determining the response content based on the question information, and using the node corresponding to the response content as the jump point.

10. The method for interacting with virtual digital objects according to claim 1, characterized in that, Returning to the interruption point of the main storyline based on the jump point identifier and continuing the explanation includes: returning to the jump point, where the jump point is the node corresponding to the jump point marker in the main storyline script tree; Starting from the exit point, the virtual digital object continues to explain the content corresponding to other nodes according to the explanation sequence.

11. The interaction method for virtual digital objects according to claim 1, characterized in that, The method further includes: During the process of driving the virtual digital object to explain the main content, the sum of the explanation durations corresponding to the nodes with read marks in the main script tree is calculated and recorded as the first duration; Calculate the sum of the first duration and the duration already explained for the current node, and denote it as the second duration; Based on the second duration and the duration of the main content explanation, a progress indicator is displayed on the directory bar.

12. The interaction method for virtual digital objects according to claim 1, characterized in that, Before driving the virtual digital object to explain the main content, the method further includes: in response to the start command, obtaining the user's historical access status; Based on the historical access status, determine the greeting content of the virtual digital object.

13. An interactive device for virtual digital objects, characterized in that, The device includes: The acquisition module is used to acquire interaction instructions during the process of driving the virtual digital object to explain the main content; A recording module is used to record a jump point identifier in response to the interaction command. The jump point identifier is used to indicate the main content being explained when the interaction command is obtained. A response module is used to respond to the interactive commands; The explanation module is used to return to the interruption point of the main content based on the jump point identifier and continue the explanation when the response ends; The main content driving the explanation of the virtual digital object includes: Obtain the main script tree corresponding to the main content. The main script tree is used to indicate the explanation order of the main content. The main script tree includes multiple nodes. The virtual digital object is driven to explain the content corresponding to each node in the explained order; The node has a depth value. Before driving the virtual digital object to explain the main content, the segmented display nodes are determined from the main script tree according to the preset depth value. If the segmented display node is a non-leaf node and not the root node, then the length percentage of the segmented display node is determined based on the total explanation time corresponding to the segmented display node and all its descendant nodes. If the segmented display node is a leaf node or a root node, the length ratio of the segmented display node is determined according to the explanation time corresponding to the segmented display node; Generate a directory bar based on the length ratio of the segmented display nodes; Each node corresponds to a set of multiple sentences, and each set of sentences contains a preset number of consecutive sentences; During the process of the user performing the first preset action on the explanation progress indicator, the set of sentences pointed to by the explanation progress indicator is calculated based on the position of the explanation progress indicator on the table of contents; the first preset action is a long press; When a user is detected to have performed a second preset action on the explanation progress indicator, the virtual digital object is driven to continue explaining, starting from the first sentence in the currently pointed-to sentence set; the second preset action is to release the explanation progress indicator.

14. A computer storage medium having a computer program stored thereon, characterized in that, When the computer program is run by the processor, it performs the steps of the interaction method for the virtual digital object as described in any one of claims 1 to 12.

15. A terminal comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, characterized in that, When the processor runs the computer program, it performs the steps of the interactive method for the virtual digital object according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Virtual real person anchor program and question-answer interaction method and system

    CN112637625A

  • House resource explanation method and device, computer readable storage medium and electronic equipment

    CN113379572A