Data processing method
By determining and presenting virtual objects in the running window of the electronic device, the problem of not being able to directly obtain original 3D data in the prior art is solved, and the copy and pasting functions of 3D data are realized, and the flexibility and universality of data processing are improved.
Patent Information
- Application Number
- CN202510104383.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-22
- Publication Date
- 2025-05-27
AI Technical Summary
In electronic devices, applications that support real-world technology cannot directly obtain original 3D data, resulting in poor data processing flexibility and limited use scenarios.
By obtaining the first instruction generated by the target operation, a virtual object corresponding to the target operation is determined in the first running window, and in response to the second instruction, a virtual object is presented in the second running window different from the first running window, thereby realizing the copy and pasting function of 3D data.
It improves the flexibility of data processing methods, broadens usage scenarios, and is applicable to different electronic devices, enhancing the universality of data processing methods.
Smart Images

Figure CN120047597A_ABST
Abstract
Description
Technical Field
[0001] This application relates to, but is not limited to, the field of data processing technologies, and particularly relates to a data processing method. Background Art
[0002] When an electronic device runs an application program supporting augmented reality technology, three-dimensional (3D) data can be stored in the electronic device. In related technologies, a graphics processing unit (GPU) can be used to obtain 3D data from different application programs to render the 3D data, so as to output a two-dimensional (2D) image. Then, the 2D image is processed through an optical link, so that the 2D image displayed on the device can have a 3D display effect. If an application program needs to obtain data from the GPU, the data that can be obtained is the rendered 2D image, and the original 3D data cannot be obtained. The above process has the problem of poor flexibility. Summary of the Invention
[0003] In view of this, at least one data processing method is provided in an embodiment of this application.
[0004] The technical solution of the embodiment of this application is implemented as follows:
[0005] An embodiment of this application provides a data processing method, including:
[0006] Responding to obtaining a first instruction, determining at least one virtual object corresponding to a target operation; the first instruction is generated based on the target operation of a target object, and at least one virtual object is presented in a first running window;
[0007] Responding to obtaining a second instruction, presenting at least one virtual object in a second running window; wherein, the second running window is different from the first running window.
[0008] An embodiment of this application provides a data processing device, including:
[0009] A determination unit, configured to respond to obtaining a first instruction and determine at least one virtual object corresponding to a target operation; the first instruction is generated based on the target operation of a target object, and at least one virtual object is presented in a first running window;
[0010] A display unit, configured to respond to obtaining a second instruction and present at least one virtual object in a second running window; wherein, the second running window is different from the first running window.
[0011] An embodiment of this application provides an electronic device, including a processing unit, wherein:
[0012] A processing unit is configured to, in response to obtaining a first instruction, determine at least one virtual object corresponding to a target operation; the first instruction is generated based on the target operation of a target object, and the at least one virtual object is presented in a first running window; in response to obtaining a second instruction, present the at least one virtual object in a second running window; wherein the second running window is different from the first running window.
[0013] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and do not limit the technical solutions of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, are used to explain the technical solutions of the present application.
[0015] Figure 1 Schematic diagram of the implementation process of a data processing method provided by an embodiment of the present application Figure 1 ;
[0016] Figure 2 Schematic diagram of displaying a virtual object provided by an embodiment of the present application Figure 1 ;
[0017] Figure 3 Schematic diagram of extracting a virtual object provided by an embodiment of the present application;
[0018] Figure 4A Schematic diagram of determining a virtual object provided by an embodiment of the present application Figure 1 ;
[0019] Figure 4B Schematic diagram of determining a virtual object provided by an embodiment of the present application Figure 2 ;
[0020] Figure 5A Schematic diagram of displaying a virtual object provided by an embodiment of the present application Figure 1 ;
[0021] Figure 5B Schematic diagram of displaying a virtual object provided by an embodiment of the present application Figure 2 ;
[0022] Figure 5C Schematic diagram of displaying a virtual object provided by an embodiment of the present application Figure 3 ;
[0023] Figure 5D Schematic diagram IV of displaying a virtual object provided by an embodiment of the present application;
[0024] Figure 6 Schematic diagram of a target frustum provided by an embodiment of the present application;
[0025] Figure 7 A schematic diagram for determining a virtual object provided by an embodiment of the present application Figure 3 ;
[0026] Figure 8 A schematic diagram for performing an interaction operation on a virtual object provided by an embodiment of the present application;
[0027] Figure 9 An implementation process schematic diagram of a data processing method provided by an embodiment of the present application Figure 2 ;
[0028] Figure 10 A schematic diagram of the composition structure of a data processing device provided by an embodiment of the present application;
[0029] Figure 11 A schematic diagram of the composition structure of an electronic device provided by an embodiment of the present application;
[0030] Figure 12 A schematic diagram of the hardware entity of an electronic device provided by an embodiment of the present application. Specific embodiments
[0031] In order to make the objectives, technical solutions, and advantages of the present application clearer, the technical solutions of the present application will be further elaborated in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be construed as limitations on the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.
[0032] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0033] It should be noted that the terms "first / second / third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second / third" can be interchanged with a specific order or sequence when permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0034] Those skilled in the art of the present technology can understand that, unless otherwise defined, all terms used herein (including technical terms and scientific terms) have the same meaning as the general understanding of those of ordinary skill in the art in the field to which the embodiments of the present application belong. It should also be understood that terms defined in a general dictionary, such as those, should be understood to have a meaning consistent with the meaning in the context of the prior art, and will not be interpreted with an idealized or overly formal meaning unless specifically defined as here.
[0035] When an electronic device runs an application that supports reality technology, 3D data can be stored in the electronic device. Among them, the application that supports reality technology may include, but is not limited to: Virtual Reality (VR) applications, Augmented Reality (AR) applications, Mixed Reality (MR) applications, etc.
[0036] In the related art, the GPU can be used to obtain 3D data from different applications to render the 3D data, so as to output a 2D image. Then, the 2D image is processed through an optical link so that the 2D image displayed on the device can have a 3D display effect. If an application needs to obtain data from the GPU, the data that can be obtained is the rendered 2D image, and the original 3D data cannot be obtained. The above process has the problem of poor flexibility.
[0037] The embodiments of the present application provide a data processing method. First, by obtaining a first instruction generated based on a target operation of a target object, at least one virtual object corresponding to the target operation is determined in a first running window; then, in response to obtaining a second instruction, at least one virtual object is presented in a second running window different from the first running window. In this way, on the one hand, at least one virtual object is determined through the first instruction, realizing the replication function of 3D data; on the other hand, at least one virtual object is presented through the second instruction, realizing the paste function of 3D data, and the original 3D data can be obtained by performing the target operation, improving the flexibility of the data processing method and broadening the usage scenarios of the data processing method. At the same time, this method can be applied to different electronic devices, improving the generality of the data processing method.
[0038] The method provided by the embodiments of this application can be executed by an electronic device, where the electronic device can be various types of terminals such as a laptop computer, a tablet computer, a desktop computer, a set-top box, a mobile device (for example, a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable game device), etc., or can be implemented as a server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.
[0039] Figure 1 Schematic diagram of the implementation process of a data processing method provided by the embodiments of this application Figure 1 , such as Figure 1 shown, this method includes step S101 and step S102, where:
[0040] Step S101, in response to obtaining a first instruction, determine at least one virtual object corresponding to the target operation; the first instruction is generated based on the target operation of the target object, and at least one virtual object is presented in the first running window.
[0041] Here, the first instruction is an instruction for determining a virtual object. In some embodiments, the first instruction is an instruction with a copy function.
[0042] The target object is the object that triggers the target operation. The target object can include, but is not limited to: people, machines, etc. The target operation is the operation that triggers the generation of the first instruction. The target operation can be any type of operation, for example, a gesture operation, an audio operation, etc.
[0043] In some embodiments, there is a corresponding relationship between the target operation and the virtual object, and a first corresponding relationship can be established between the target operation and the virtual object. After the target operation is triggered, a first instruction is generated based on the target operation, so that after the first instruction is obtained, at least one virtual object corresponding to the target operation can be determined according to the first corresponding relationship.
[0044] In some embodiments, after detecting the target operation of the target object, the operation intention corresponding to the target operation can be confirmed, and then the target instruction corresponding to the operation intention of the target operation can be found in the instruction set of the electronic device, and the target instruction is used as the first instruction to implement the generation of the first instruction based on the target operation of the target object.
[0045] In some embodiments, the target operation includes a selection operation of clicking or box-selecting a virtual object. Therefore, after generating a first instruction according to the target operation of the target object, the virtual object selected by clicking or box-selecting through the target operation can be used as at least one virtual object to determine at least one virtual object corresponding to the target operation.
[0046] In some embodiments, the target operation can be determined by obtaining the output information of the target object. The output information of the target object may include, but is not limited to, at least one of audio information, text information, gesture information, etc. Exemplarily, when the output information of the target object is text information, semantic information can be extracted from the text information to obtain a semantic analysis result, and the target operation can be determined according to the semantic analysis result.
[0047] A running window (including the first running window, the second running window, and other running windows mentioned hereinafter) refers to an interface or window in a computer operating system for executing programs or commands. In some embodiments, at least one application can run in the running window. The running window can be at least one of an application program window, a running dialog box, etc., and the present application does not make a limitation.
[0048] A virtual object (including at least one virtual object and other virtual objects mentioned hereinafter) refers to an object existing in a virtual environment simulated by software and hardware technologies.
[0049] In some embodiments, at least one virtual object corresponds to the target operation. The target operation can determine all or part of the virtual objects presented in the first running window as at least one virtual object. Therefore, the number of at least one virtual object is less than or equal to the number of all virtual objects presented in the first running window.
[0050] In some embodiments, at least one application can run in the running window, and at least one application can be used to present multiple virtual objects. Therefore, at least one virtual object can be presented in the first running window.
[0051] Figure 2 A schematic diagram of displaying virtual objects provided by an embodiment of the present application Figure 1 , such as Figure 2 As shown, in the first running window 20, three virtual objects are presented, including: a first virtual object 21, a second virtual object 22, and a third virtual object 23.
[0052] In some embodiments, the virtual object has corresponding attribute information. When determining at least one virtual object corresponding to the target operation, it is necessary to extract the attribute information of the at least one virtual object. The attribute information of the virtual object may include, but is not limited to, at least one of network information, material information, texture information, etc. Among them, the network information may include, but is not limited to, at least one of vertices, triangular patches, normals, coordinates, etc. The material information may include, but is not limited to, at least one of source code, lighting, etc. The texture information may include, but is not limited to, at least one of texture maps, colors, gloss, roughness, etc.
[0053] Figure 3 A schematic diagram for extracting virtual objects provided by an embodiment of the present application is shown in Figure 3 As shown, in the first running window 20, the selected second virtual object 22 is extracted to obtain the attribute information corresponding to the second virtual object 22. Among them, the attribute information includes: network information 241, material information 242, and texture information 243.
[0054] In some embodiments, the running window has a corresponding Application Programming Interface (API). After extracting the attribute information of the at least one virtual object, the attribute information of the at least one virtual object can be converted into a target format, and then the attribute information of the at least one virtual object converted into the target format is passed to the API of the running window. Among them, the target format is a format acceptable to the API of the running window. The target format may include, but is not limited to, text format, picture format, etc. The text format may include, but is not limited to, at least one of plain text, rich text with formatting, etc.
[0055] Step S102, in response to obtaining a second instruction, present at least one virtual object in a second running window; the second running window is different from the first running window.
[0056] Here, the second instruction is an instruction for presenting a virtual object. In some embodiments, the second instruction is an instruction with a paste function.
[0057] In some embodiments, the first running window is used to determine at least one virtual object, while the second running window is used to present at least one virtual object. Therefore, the second running window and the first running window are different running windows.
[0058] In some embodiments, in response to detecting a display operation, a second instruction can be generated based on the display operation. The display operation is an operation that triggers the generation of the second instruction. The display operation can be any type of operation, for example, a click operation, a double-click operation, a press operation, etc.
[0059] In some embodiments, the display operation may be an operation triggered by a target object. After detecting the display operation of the target object, determine the operation intention corresponding to the display operation, and then determine a second instruction from the instruction set based on the operation intention corresponding to the display operation.
[0060] In some embodiments, the second instruction has a corresponding trigger position. At least one application may be run in the second running window. The target application may be determined from at least one application in the second running window based on the trigger position corresponding to the second instruction, and then at least one virtual object may be presented in the target application.
[0061] In some embodiments, since the data processing method of the present application realizes the transfer of virtual objects, therefore, the virtual model corresponding to at least one virtual object may be determined. Correspondingly, when presenting at least one virtual object in the second running window, it may be presenting the virtual model in the second running window. After presenting at least one virtual object in the second running window, an interaction operation may be performed in the virtual model.
[0062] In some embodiments, after presenting at least one virtual object in the second running window, an operation interface may be called out in the second running window, and the operation interface is used for performing interaction operations. Among them, the interaction operations may include, but are not limited to, at least one of resizing, repositioning, zooming, etc.
[0063] In some embodiments, in response to obtaining the second instruction, the attribute information of at least one virtual object in the first running window may be passed to the API of the second running window, and then the GPU may be called to render the attribute information of at least one virtual object using the GPU, so as to obtain and present at least one virtual object in the second running window. The reason for doing this is that virtual object copying and pasting can be achieved by passing less data in different running windows, which can reduce the computing resources required by the data processing method while improving the efficiency of the data processing method.
[0064] In the embodiments of the present application, first, at least one virtual object corresponding to the target operation is determined in the first running window by obtaining the first instruction generated based on the target operation of the target object; then, in response to obtaining the second instruction, at least one virtual object is presented in the second running window different from the first running window. In this way, on the one hand, at least one virtual object is determined through the first instruction, realizing the 3D data copying function; on the other hand, at least one virtual object is presented through the second instruction, realizing the 3D data pasting function, and the original 3D data can be obtained by performing the target operation, improving the flexibility of the data processing method and broadening the usage scenarios of the data processing method. At the same time, this method can be applied to different electronic devices, improving the generality of the data processing method.
[0065] In some embodiments, when determining the running window, any one of the following steps may be performed:
[0066] Step S103: Determine a first running window and a second running window based on a first application.
[0067] Here, the first application is the application corresponding to the running window. The first application may be any application with virtual objects running on the device, and the present application does not limit the first application.
[0068] The method for determining the running window based on an application (including the first application, the second application, and other applications mentioned hereinafter) may include, but is not limited to: determining the first running window and the second running window by using HyperText Markup Language (HTML), determining the first running window and the second running window by calling a preset toolkit, etc. For example, HTML is a standard markup language for creating web pages, and HTML can be used in the first application to determine the first running window and the second running window. For another example, the preset toolkit may include, but is not limited to: JavaFX, Java Swing, etc. The preset toolkit has the function of creating a running window, and the preset toolkit can be called in the first application to determine the first running window and the second running window.
[0069] In some embodiments, when determining the running window, the attribute information of the running window may be set according to the function of the running window. The attribute information of the running window may include, but is not limited to: at least one of a window title, a window size, a window position, a window style, etc.
[0070] In some embodiments, after determining the running window, the running window may be minimized to run in the background or closed, so that in response to obtaining a first instruction or obtaining a second instruction, the display running window corresponding to the instruction may be called or run.
[0071] Step S104: Determine a first running window based on a first application, and determine a second running window based on a second application; wherein, the first application and the second application are different applications.
[0072] Here, the second application is the application corresponding to the second running window. The second application may be any application with virtual objects running on the device, and the present application does not limit the second application. In some embodiments, the first application and the second application are different applications.
[0073] In some embodiments, since the first running window and the second running window are determined in different applications, the determination of the first running window and the determination of the second running window are independent processes. Correspondingly, the method used to determine the first running window in the first application and the method used to determine the second running window in the second application may be the same or different.
[0074] It should be noted that in this application, since the first application and the second application are different applications, the first running window and the second running window correspond to the same application, or the first running window and the second running window correspond to different applications.
[0075] In the embodiments of this application, since the first running window and the second running window can be determined separately in the same or different applications, the data processing method of this application can copy and paste 3D data in the same or different applications, improving the flexibility of the data processing method.
[0076] In some embodiments, at least two applications are running in the first running window. When determining at least one virtual object corresponding to the target operation, the following steps may be performed:
[0077] Step S11, when the target operation is for at least two applications, determine multiple virtual objects corresponding to the target operation from the virtual objects corresponding to the at least two applications.
[0078] Here, the at least two applications running in the first running window are different applications. Since the target operation is an operation performed in the first running window, the target operation can be for at least two applications simultaneously.
[0079] In some embodiments, the target operation being for at least two applications may be: in the at least two applications running in the first running window, simultaneously select virtual objects in at least two applications by drawing a box around them. The number of applications selected by drawing a box is not specifically limited, for example, two, three, etc.
[0080] Figure 4A A schematic diagram for determining a virtual object provided by an embodiment of this application Figure 1 , as Figure 4A shown, in the first running window 20, the first application may be running, and three virtual objects are presented in the first application, including: the first virtual object 21, the second virtual object 22, and the third virtual object 23. In response to obtaining the first instruction, the first virtual object 21 and the second virtual object 22 of the first application may be determined as at least one virtual object 25 corresponding to the target operation.
[0081] Figure 4B A schematic diagram for determining a virtual object provided by an embodiment of this applicationFigure 2 , as shown in Figure 4B Figure 4B , in the first running window 20, the first application and the second application can be run. Among them, the first virtual object 21 and the second virtual object 22 belong to the first application, and the third virtual object 23, the fourth virtual object 26, and the fifth virtual object 27 belong to the second application. When the target operation is performed on the first application and the second application, in response to obtaining the first instruction, the second virtual object 22 of the first application and the third virtual object 23 of the second application can be determined as at least one virtual object 25 corresponding to the target operation.
[0082] In some embodiments, the data processing method of the present application can be carried on an application in the form of a Software Development Kit (SDK). Therefore, the application running in the first running window and capable of determining virtual objects can carry the SDK corresponding to the data processing method of the present application.
[0083] In some embodiments, determining multiple virtual objects corresponding to a target operation from the virtual objects corresponding to at least two applications may be to respectively determine at least one virtual object in each of the at least two applications, or may be to respectively determine at least one virtual object in some of the at least two applications.
[0084] In the embodiments of the present application, multiple virtual objects corresponding to a target operation can be determined from the virtual objects corresponding to at least two applications, 3D data can be copied across applications. While broadening the usage scenarios of the data processing method, the copying process of 3D data can also be simplified, and the efficiency of determining at least one virtual object is improved.
[0085] In some embodiments, when displaying at least one virtual object, the following steps may be performed:
[0086] Step S105, in the first running window, display at least one virtual object in a first display manner; wherein, the first display manner is different from the display manners of other virtual objects in the first running window; the at least one virtual object is one or more complete virtual objects presented in the first running window, or the at least one virtual object is a part of one or more complete virtual objects presented in the first running window.
[0087] Here, since the at least one virtual object is the selected virtual object, therefore, it is necessary to display the at least one virtual object in a first display manner different from the display manners of other virtual objects in the first running window to remind the target object of the selected virtual object. The first display manner can be any display manner, for example, highlighting display, fading display, contour line highlighting, etc.
[0088] In some embodiments, before determining at least one virtual object corresponding to the target operation, all virtual objects in the first running window may adopt the same display mode. After determining at least one virtual object corresponding to the target operation, at least one virtual object is displayed in the first display mode, and at the same time, the display modes of the remaining undetermined virtual objects remain unchanged to highlight at least one virtual object.
[0089] In some embodiments, since the target operation may include a selection operation of clicking or box-selecting a virtual object, at least one virtual object may include a complete virtual object and / or a part of the complete virtual object.
[0090] In some embodiments, when the target operation is a selection operation of clicking on a virtual object, at least one virtual object may be one or more complete virtual objects presented in the first running window. When the target operation is a selection operation of box-selecting a virtual object, at least one virtual object may be one or more complete virtual objects presented in the first running window, or at least one virtual object may be a part of one or more complete virtual objects presented in the first running window, or at least one virtual object may be one or more complete virtual objects presented in the first running window and a part of one or more complete virtual objects.
[0091] Figure 5A A schematic diagram of displaying virtual objects provided by an embodiment of the present application Figure 1 , such as Figure 5A shown, in the first running window 20, at least one virtual object 25 is displayed in the first display mode, where at least one virtual object 25 is a part of a complete virtual object presented in the first running window 20.
[0092] Figure 5B A schematic diagram of displaying virtual objects provided by an embodiment of the present application Figure 2 , such as Figure 5B shown, in the first running window 20, at least one virtual object 25 is displayed in the first display mode, where at least one virtual object 25 is a complete virtual object presented in the first running window 20.
[0093] Figure 5C A schematic diagram of displaying virtual objects provided by an embodiment of the present application Figure 3 , such as Figure 5C shown, in the first running window 20, at least one virtual object 25 is displayed in the first display mode, where at least one virtual object 25 is two complete virtual objects presented in the first running window 20.
[0094] Figure 5D A schematic diagram four of displaying virtual objects provided by an embodiment of the present application, such asFigure 5D As shown, in the first operation window 20, at least one virtual object 25 is displayed in a first display manner, where at least one virtual object 25 is a part of two complete virtual objects presented by the first operation window 20.
[0095] In the embodiments of the present application, by displaying at least one virtual object in a first display manner different from the display manners of other virtual objects in the first operation window, the virtual object selected by the target object can be reminded, which is convenient for adjusting at least one virtual object and improves the accuracy of at least one virtual object.
[0096] In some embodiments, when determining the near plane, step S106 may be executed. When determining at least one virtual object corresponding to the target operation, the following step 12 or step 13 may be executed:
[0097] Step S106: Determine the near plane based on the target operation.
[0098] Here, in 3D graphics, the camera position can be predefined in advance, and then the camera is used to project the near plane, so that the far plane corresponding to the near plane can be obtained. The near plane refers to the plane closer to the camera. The far plane refers to the plane farther from the camera. In some embodiments, the near plane may correspond to the screen, and the screen can be used to display the 2D image output after GPU rendering.
[0099] In some embodiments, since the virtual object is three-dimensional data and the target operation can be performed on a two-dimensional plane, when performing the target operation, the plane corresponding to the target operation can be determined, and then the plane corresponding to the target operation can be used as the near plane, so that the near plane can be determined based on the target operation.
[0100] In some embodiments, when determining the near plane based on the plane corresponding to the target operation, the selection range of the target operation can be determined, and then the near plane can be determined based on the vertex coordinates of the upper left corner and the lower right corner of the selection range of the target operation and the coordinates of the camera in the three-dimensional space.
[0101] Step S12: Determine at least one virtual object based on the near plane and the far plane corresponding to the near plane; where at least one virtual object includes virtual objects overlapping in the depth direction.
[0102] Here, in 3D graphics, the positions of the virtual object and the plane can be determined by establishing coordinate axes. The coordinate axes can be divided into the x-axis, the y-axis, and the z-axis. The near plane and the far plane can be parallel to the plane formed by the x-axis and the y-axis. At the same time, there is a certain distance between the near plane and the far plane. Therefore, the virtual objects located between the near plane and the far plane can be used as at least one virtual object, so that at least one virtual object can be determined based on the near plane and the far plane.
[0103] In some embodiments, perspective processing may be performed on the near plane and the near plane at a predefined camera position, and then a virtual object located between the near plane and the far plane may be used as at least one virtual object. At the same time, since the virtual object exists in a 3D space and has a width, a height, and a depth, in the dimension of depth, different virtual objects may be on the same line of sight but at different depth positions. Therefore, at least one virtual object may include virtual objects that overlap in the depth direction.
[0104] Step S13: Determine a depth of field parameter based on the near plane to determine at least one virtual object based on the depth of field parameter.
[0105] Here, the depth of field parameter refers to the depth from the camera position to a certain position.
[0106] In some embodiments, the depth from a predefined camera position to the near plane may be used as the depth of field parameter, and then, based on the depth values of all virtual objects in the first running window, virtual objects whose depth values meet the depth condition may be used as the virtual objects in at least one virtual object.
[0107] In some embodiments, the depth condition may include but is not limited to: the depth value is the same as the depth of field parameter, the depth value is less than the depth of field parameter, the difference between the depth value and the depth of field parameter is less than a preset value, etc. The preset value may be any value, for example, 5, 2, -3, etc. Exemplarily, the depth condition may be that the depth value is the same as the depth of field parameter. The depth value of a certain virtual object in the first running window is 5, and the depth of field parameter is 5. At this time, since the depth value meets the condition of being the same as the depth of field parameter, this virtual object is used as the virtual object in at least one virtual object.
[0108] In the embodiments of the present application, at least one virtual object may be determined by different methods through the depth of field parameter of the far plane or the near plane corresponding to the near plane and the near plane, improving the flexibility of the data processing method.
[0109] In some embodiments, when determining at least one virtual object based on the far plane corresponding to the near plane and the near plane, the following steps may be performed:
[0110] Step S121: Determine at least one relevant plane corresponding to the near plane and the far plane.
[0111] Here, the relevant plane refers to a plane that intersects with the near plane and the far plane. The number of relevant planes may be at least one, for example, 1, 4, 3, etc.
[0112] In some embodiments, the number of related planes is related to the number of sides of the plane. In implementation, the number of related planes may be the number of sides of the near plane. For example, the near plane is rectangular in shape and has four sides. Accordingly, the number of related planes may be four.
[0113] In some embodiments, at least one related plane corresponding to the near plane and the far plane may be determined by the vertex of the near plane and the vertex of the far plane. The vertex may include, but is not limited to, at least one of an upper left vertex, a lower left vertex, an upper right vertex, a lower right vertex, etc. Since a plane can be determined by three points, a related plane may be determined based on a preset camera position, a vertex of a near plane, and a vertex of a far plane.
[0114] Step S122: determining a target frustum based on the near plane, the far plane and at least one related plane.
[0115] Here, the target frustum is a three-dimensional solid figure including a near plane, a far plane and at least one related plane. In some embodiments, the target frustum can be obtained by combining the near plane, the far plane and at least one related plane.
[0116] Figure 6 A schematic diagram of a target frustum provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, the target frustum 60 is composed of a near plane 61 , a far plane 62 and four related planes, wherein the related planes include: a first related plane 631 , a second related plane 632 , a third related plane 633 and a fourth related plane 634 .
[0117] Step S123: determining at least one virtual object based on the target frustum.
[0118] Here, a virtual object that has a containment relationship and an intersection relationship with the target frustum may be determined as the at least one virtual object corresponding to the target operation.
[0119] In some implementations, the virtual object that has a containment relationship with the target frustum may be a virtual object that is entirely located inside the target frustum, and the virtual object corresponds to one or more complete virtual objects presented in the first execution window.
[0120] In some implementations, the virtual object intersecting the target frustum may be a virtual object partially located inside the target frustum, and the complete virtual object of the virtual object may be used as the at least one virtual object.
[0121] In the embodiments of the present application, by determining a target frustum based on a near plane, a far plane, and at least one related plane, at least one virtual object is determined, improving the accuracy of at least one virtual object.
[0122] In some embodiments, when determining at least one virtual object based on the target frustum, the following steps may be performed:
[0123] Step S1231: Determine, as at least one virtual object corresponding to the target operation, the first virtual objects that are all located inside the target frustum.
[0124] Here, the first virtual objects are complete virtual objects that are all located inside the target frustum. In some embodiments, the number of the first virtual objects may be at least one.
[0125] In some embodiments, the first virtual objects may be all the virtual objects presented in the first running window, or may be some of the virtual objects presented in the first running window. Therefore, the number of the first virtual objects is less than or equal to the number of all the virtual objects presented in the first running window.
[0126] Step S1232: For the second virtual objects that have an intersecting relationship with the target frustum, determine, as at least one virtual object corresponding to the target operation, the parts of the second virtual objects that are located inside the target frustum.
[0127] Here, the second virtual objects are complete virtual objects that have an intersecting relationship with the target frustum. In some embodiments, the number of the second virtual objects may be at least one.
[0128] In some embodiments, when determining, as at least one virtual object corresponding to the target operation, the parts of the second virtual objects that are located inside the target frustum, the target virtual objects may be re-determined based on the planes where the second virtual objects intersect with the target frustum and the parts located inside the target frustum, and then the target virtual objects are determined as at least one virtual object corresponding to the target operation.
[0129] In some embodiments, the second virtual objects may be all the virtual objects presented in the first running window, or may be some of the virtual objects presented in the first running window. Therefore, the number of the second virtual objects is less than or equal to the number of all the virtual objects presented in the first running window. At the same time, since at least one virtual object includes the first virtual objects and the second virtual objects, the sum of the number of the first virtual objects and the number of the second virtual objects is equal to the number of at least one virtual object.
[0130] Figure 7 Schematic diagram of determining virtual objects provided for the embodiments of the present applicationFigure 3 , as Figure 7 shown, in the target frustum 60, there is a first virtual object 71 entirely inside the target frustum 60 and a second virtual object 72 having an intersecting relationship with the target frustum 60. For the convenience of reminder and viewing, at least one virtual object is highlighted. The first virtual object 71 is determined as at least one virtual object corresponding to the target operation, and the part of the second virtual object 72 inside the target frustum 60 is determined as at least one virtual object corresponding to the target operation.
[0131] In the embodiments of the present application, different methods are used to determine at least one virtual object for the first virtual object inside the target frustum and the second virtual object having an intersecting relationship with the target frustum, which improves the flexibility and accuracy of at least one virtual object.
[0132] In some embodiments, when displaying the target display frame, any one of the following steps may be executed:
[0133] Step S107, based on the target operation, switch the first running window from the first state to the second state, and display the target display frame in the first running window; wherein, the target display frame is used to present at least one virtual object, the first state represents that the display screen is continuously output, and the second state represents that the display screen is paused from output.
[0134] Here, at least one application running in the first running window may include applications of the first type. Therefore, it is necessary to switch the first running window from the first state to the second state. Among them, the applications of the first type may refer to applications running independently.
[0135] In some embodiments, before detecting the target operation, the first running window is in the first state and can continuously output the display screen. When detecting the target operation, switch the first running window from the first state to the second state where the display screen is paused from output, and use the paused frame as the target display frame to display the target display frame in the first running window.
[0136] In some embodiments, at least one application in the first running window in the first state is in a running state, and at least one application in the first running window in the second state is in a paused running state.
[0137] Step S108, based on the target operation, use the display frame corresponding to the target operation as the target display frame, and display the first running window in the first state and the target display frame.
[0138] Here, at least one application running in the first running window may include applications of the second type. Therefore, it is necessary to simultaneously display the first running window in the first state and the target display frame. Among them, the applications of the second type may refer to applications that run online with multiple people.
[0139] In some embodiments, when performing a target operation, a display frame can be obtained by intercepting the display screen of the first running window, and then this display frame can be used as the target display frame to obtain the target display frame. Among them, the target display frame is used to present at least one virtual object.
[0140] In some embodiments, displaying the first running window in the first state and the target display frame may be to superimpose the target display frame on the first running window in the first state. Therefore, what the target object sees is only the target display frame, while the first running window remains in the first state, thus not affecting the normal operation of at least one application in the first running window.
[0141] In the embodiments of the present application, for the first running window of applications containing different application types, different methods can be used to display and present the target display frame of at least one virtual object. At least one virtual object can be determined without affecting the running status of the first running window, improving the accuracy of the data processing method.
[0142] In some embodiments, the target operation includes a selection operation of clicking or box - selecting a virtual object. When determining the target operation, any one of the following steps can be executed:
[0143] Step S109, parse the input of the target object for the controller to determine the target operation.
[0144] Here, the controller is a component used to control the operation of an electronic device. The controller can receive input signals, process data, and output control signals to drive various parts of the device.
[0145] In some embodiments, the input of the target object for the controller can be received through a sensor mounted on the controller, and then the input of the controller is parsed to determine the target operation. The sensor can include, but is not limited to: photoelectric sensors, pressure sensors, temperature sensors, etc.
[0146] In some embodiments, according to a predefined communication protocol, the input of the controller can be converted into an internal format that the controller can process, and then through pre - processing steps such as digitizing, filtering, and amplifying the input, and performing a logical judgment on the pre - processed input to parse the input of the controller to obtain a parsing result, and then determine the operation intention of the target object based on the parsing result to determine the target operation.
[0147] In some embodiments, there is a corresponding relationship between the operation intention and the target operation. A second corresponding relationship can be established between the operation intention and the target operation. After determining the operation intention of the target object based on the parsing result, the target operation can be determined based on the second corresponding relationship.
[0148] Step S110: Parse the gesture input of the target object to determine the target operation.
[0149] Here, the gesture input of the target object can be used to click or select a virtual object, and the gesture input of the target object can be detected by an image acquisition device.
[0150] The parsing methods of the gesture input may include, but are not limited to: parsing the gesture input of the target object through a deep neural network, parsing the gesture input of the target object through a gesture recognition model, etc. For example, a trained deep neural network has a feature extraction module and a classifier. It can extract features such as Histogram of Oriented Gradient (HOG) and Scale-Invariant Feature Transform (SIFT) of the gesture through the feature extraction module, and then classify the extracted features through the classifier, so as to parse the gesture input of the target object. Among them, the classifier may include, but is not limited to: decision tree, random forest, etc. Another example is that the gesture recognition model may include, but is not limited to: Hidden Markov Model (HMM), Conditional Random Field (CRF), etc. Among them, HMM is a statistical model used to process sequence data, and can parse the gesture input of the target object through the modeling and recognition of temporal gestures. CRF is a probabilistic graphical model used to process sequence data, and can parse the gesture input of the target object by modeling the spatial and temporal relationships of the gesture.
[0151] In some embodiments, the gesture input of the target object is parsed to obtain a gesture parsing result, and then the target operation can be determined according to the gesture parsing result. There is a corresponding relationship between the gesture parsing result and the target operation. A third corresponding relationship can be established between the gesture parsing result and the target operation. After parsing the gesture input of the target object to obtain a gesture parsing result, the target operation can be determined based on the third corresponding relationship.
[0152] Step S111: Parse the audio input of the target object to determine the target operation.
[0153] Here, the audio input of the target object can be used to click or select a virtual object, and the audio input of the target object can be detected by sensors such as a microphone.
[0154] In some embodiments, the audio input of the target object can be parsed to obtain audio parameters, and then the target operation can be determined based on the audio parameters. The audio parameters can be any type of data, for example, frequency, timbre, sound channel, sampling rate, bit depth, etc.
[0155] In some embodiments, semantic analysis can be performed on the audio input of the target object to obtain a semantic analysis result, and then the target operation can be determined according to the semantic analysis result. The methods for implementing semantic analysis can include, but are not limited to: performing semantic analysis on the audio input of the target object through statistical learning methods, performing semantic analysis on the audio input of the target object through deep learning methods, etc.
[0156] In some embodiments, there is a corresponding relationship between the semantic analysis result and the target operation. A fourth corresponding relationship can be established between the semantic analysis result and the target operation. After parsing the audio input of the target object to obtain the semantic analysis result, the target operation can be determined based on the fourth corresponding relationship.
[0157] In the embodiments of the present application, the target operation is determined through multiple inputs including the input of the controller, gesture input, and audio input, which enriches the way of determining the target operation and broadens the usage scenarios of data processing methods.
[0158] In some embodiments, at least one application runs in the second running window. When performing an interaction operation on at least one virtual object, the following steps can be executed:
[0159] Step S112, determine the interaction method corresponding to at least one virtual object based on the attribute information of at least one application.
[0160] Here, the attribute information of the application is the information used to characterize the functional characteristics of the application. The attribute information of the application can include, but is not limited to: at least one of the application name, application size, application function, application permissions, application compatibility, etc.
[0161] The interaction method refers to the range of interaction operations supported by at least one virtual object in the second running window. The interaction method can include, but is not limited to: an interaction operation that only supports position adjustment, an interaction operation that supports all interaction operations, etc.
[0162] In some embodiments, since the attribute information of the applications corresponding to different applications is different, in different applications, the interaction modes corresponding to at least one virtual object may be different. For example, the application function of a certain application is to edit virtual objects, and all interaction operations are supported in this application. Therefore, the interaction mode corresponding to at least one virtual object may be to support all interaction operations. Another example is that the application function of a certain application is a game, and this application supports placing virtual objects but does not support editing virtual objects. Therefore, the interaction mode corresponding to at least one virtual object may be to only support interaction operations for adjusting the position.
[0163] In some embodiments, there is a corresponding relationship between the attribute information of the application and the interaction mode. A fifth corresponding relationship can be established between the attribute information of the application and the interaction mode. After obtaining the attribute information of at least one application, the interaction mode corresponding to at least one virtual object can be determined based on the fifth corresponding relationship.
[0164] Step S113, perform interaction operations on at least one virtual object based on the interaction mode.
[0165] Here, the interaction operations may include but are not limited to at least one of resizing, adjusting the position, scaling, etc.
[0166] In some embodiments, since based on the interaction mode, the range of interaction operations supported by at least one virtual object can be determined, at least one virtual object can be interacted with based on the interaction operations currently supported by at least one virtual object.
[0167] Figure 8 FIG. is a schematic diagram of performing interaction operations on a virtual object provided by an embodiment of the present application. As Figure 8 shown, in the second running window 80, the virtual object 82 is rotated and scaled through the handle ray 81 to obtain the virtual object 83 after the interaction operation.
[0168] In the embodiment of the present application, the interaction mode corresponding to at least one virtual object is determined through the attribute information of at least one application, so as to perform interaction operations on at least one virtual object based on the interaction mode. Since the interaction operations are related to the attribute information of the application, different interaction modes can be adopted for different applications, improving the accuracy of interaction.
[0169] The application of the data processing method provided by the embodiment of the present application in an actual scenario will be described below.
[0170] When the electronic device is equipped with an application program supporting reality technology, 3D data can be stored in the electronic device. Among them, the application program supporting reality technology may include but are not limited to: VR application programs, AR application programs, MR application programs, etc.
[0171] In the related art, a GPU can be used to obtain 3D data from different applications to render the 3D data, so as to output a 2D image. Then, the 2D image is processed through an optical link, so that the 2D image displayed on the device can have a 3D display effect. If an application needs to obtain data from the GPU, the data that can be obtained is the rendered 2D image, and the original 3D data cannot be obtained. The above process has the problem of poor flexibility.
[0172] An embodiment of the present application provides a data processing method. First, by obtaining a first instruction generated based on a target operation of a target object, at least one virtual object corresponding to the target operation is determined in a first running window; then, in response to obtaining a second instruction, at least one virtual object is presented in a second running window different from the first running window. In this way, on the one hand, at least one virtual object is determined through the first instruction, realizing the copy function of 3D data; on the other hand, at least one virtual object is presented through the second instruction, realizing the paste function of 3D data, and the original 3D data can be obtained by performing the target operation, improving the flexibility of the data processing method and broadening the usage scenarios of the data processing method.
[0173] Figure 9 It is a schematic implementation process of a data processing method provided by an embodiment of the present application Figure 2 as Figure 9 shown, the method includes steps S201 to S210, where:
[0174] Step S201, in response to detecting a target operation of a target object, generate a first instruction;
[0175] Step S202, in response to generating the first instruction, display a target display frame in the first running window;
[0176] Step S203, determine a target frustum corresponding to the target operation;
[0177] Step S204, determine all the first virtual objects located inside the target frustum as at least one virtual object corresponding to the target operation;
[0178] Step S205, for a second virtual object having an intersection relationship with the target frustum, determine the part of the second virtual object located inside the target frustum as at least one virtual object corresponding to the target operation;
[0179] Step S206, display at least one virtual object in the target display frame in a highlighted display manner;
[0180] Step S207, determine the attribute information corresponding to at least one virtual object;
[0181] Step S208: Transmit the attribute information corresponding to at least one virtual object to the corresponding API;
[0182] Step S209: In response to obtaining a second instruction, call the GPU to restore the attribute information corresponding to at least one virtual object into at least one virtual object, so as to present at least one virtual object in the second running window.
[0183] Step S210: Pop up an operation interface in the second running window, so as to perform interactive operations on at least one virtual object in the operation interface.
[0184] Based on the above embodiments, an embodiment of the present application further provides a data processing device. Figure 10 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application, as Figure 10 shown, the data processing device 1000 includes a determination unit 1001 and a display unit 1002, wherein:
[0185] The determination unit 1001 is configured to, in response to obtaining a first instruction, determine at least one virtual object corresponding to a target operation; the first instruction is generated based on a target operation of a target object, and at least one virtual object is presented in a first running window;
[0186] The display unit 1002 is configured to, in response to obtaining a second instruction, present at least one virtual object in a second running window; wherein, the second running window is different from the first running window.
[0187] In some embodiments, the determination unit 1001 is further configured to determine the first running window and the second running window based on a first application; determine the first running window based on a first application, and determine the second running window based on a second application; wherein, the first application and the second application are different applications.
[0188] In some embodiments, at least two applications are running in the first running window, and the determination unit 901 is further configured to, in the case that the target operation is performed on at least two applications, determine multiple virtual objects corresponding to the target operation from the virtual objects corresponding to the at least two applications.
[0189] In some embodiments, the display unit 1002 is further configured to display at least one virtual object in the first running window in a first display manner; wherein, the first display manner is different from the display manner of other virtual objects in the first running window; the at least one virtual object is one or more complete virtual objects presented in the first running window, or the at least one virtual object is a part of one or more complete virtual objects presented in the first running window.
[0190] In some embodiments, the determining unit 1001 is further configured to determine a near plane based on a target operation; determine at least one virtual object based on the near plane and a far plane corresponding to the near plane; wherein, the at least one virtual object includes virtual objects that overlap in the depth direction; determine a depth of field parameter based on the near plane, so as to determine at least one virtual object based on the depth of field parameter.
[0191] In some embodiments, the determining unit 1001 is further configured to determine at least one relevant plane corresponding to the near plane and the far plane; determine a target frustum based on the near plane, the far plane, and the at least one relevant plane; determine at least one virtual object based on the target frustum.
[0192] In some embodiments, the determining unit 1001 is further configured to determine a first virtual object that is entirely located inside the target frustum as the at least one virtual object corresponding to the target operation; for a second virtual object that has an intersection relationship with the target frustum, determine the part of the second virtual object that is located inside the target frustum as the at least one virtual object corresponding to the target operation.
[0193] In some embodiments, the display unit 1002 is further configured to switch a first running window from a first state to a second state based on the target operation, and display a target display frame in the first running window; wherein, the target display frame is used to present at least one virtual object, the first state represents continuous output of the display screen, and the second state represents paused output of the display screen; based on the target operation, use the display frame corresponding to the target operation as the target display frame, and display the first running window in the first state and the target display frame.
[0194] In some embodiments, the target operation includes a selection operation of clicking or box-selecting a virtual object. The determining unit 1001 is further configured to parse the input of the target object to the controller to determine the target operation; parse the gesture input of the target object to determine the target operation; parse the audio input of the target object to determine the target operation.
[0195] In some embodiments, at least one application runs in a second running window. The determining unit 1001 is further configured to determine an interaction method corresponding to at least one virtual object based on the attribute information of the at least one application; perform an interaction operation on the at least one virtual object based on the interaction method.
[0196] Based on the above embodiments, an embodiment of the present application further provides an electronic device. Figure 11 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 11 shown, the electronic device 1100 includes a processing unit 1101, wherein:
[0197] A processing unit 1101 is configured to, in response to obtaining a first instruction, determine at least one virtual object corresponding to a target operation; the first instruction is generated based on the target operation of a target object, and the at least one virtual object is presented in a first running window; in response to obtaining a second instruction, present the at least one virtual object in a second running window; wherein, the second running window is different from the first running window.
[0198] Here, the first instruction is an instruction for determining a virtual object. In some embodiments, the first instruction is an instruction with a copy function. The target object is the object that triggers the target operation. The target object may include, but is not limited to, a person, a machine, etc. The target operation is the operation that triggers the generation of the first instruction. The target operation may be any type of operation, for example, a gesture operation, an audio operation, etc.
[0199] In some embodiments, at least one application may run in the running window. The running window may be at least one of an application program window, a running dialog box, etc., and the present application does not make a limitation. A virtual object refers to an object that exists in a virtual environment simulated by software and hardware technologies.
[0200] In some embodiments, the target operation includes a selection operation of clicking or box-selecting a virtual object. Therefore, after generating the first instruction according to the target operation of the target object, the virtual object selected by clicking or box-selecting through the target operation may be used as the at least one virtual object to determine the at least one virtual object corresponding to the target operation.
[0201] In some embodiments, the at least one virtual object corresponds to the target operation. The target operation may determine all or part of the virtual objects presented in the first running window as the at least one virtual object. Therefore, the number of the at least one virtual object is less than or equal to the number of all the virtual objects presented in the first running window.
[0202] In some embodiments, in response to obtaining the second instruction, the attribute information of at least one virtual object in the first running window may be passed to the API of the second running window, and then the GPU is called to render the attribute information of the at least one virtual object using the GPU, so as to obtain and present the at least one virtual object in the second running window.
[0203] In an embodiment of the present application, an electronic device is provided. First, the processing unit determines at least one virtual object corresponding to the target operation in the first running window by obtaining a first instruction generated based on the target operation of the target object. Then, the processing unit responds to obtaining a second instruction and presents at least one virtual object in a second running window different from the first running window. In this way, on the one hand, determining at least one virtual object through the first instruction realizes the copying function of 3D data; on the other hand, presenting at least one virtual object through the second instruction realizes the pasting function of 3D data, and the original 3D data can be obtained by performing the target operation, improving the flexibility of the electronic device and broadening the usage scenarios of the electronic device.
[0204] The description of the above electronic device embodiment is similar to the description of the above method embodiment and has similar beneficial effects to the method embodiment. For the technical details not disclosed in the electronic device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.
[0205] It should be pointed out here that the descriptions of the above embodiments tend to emphasize the differences between the embodiments, and their similarities can be referred to each other. The descriptions of the above device, storage medium, computer program, and computer program product embodiments are similar to the description of the above method embodiment and have similar beneficial effects to the method embodiment. For the technical details not disclosed in the device, storage medium, computer program, and computer program product embodiments of the present application, please refer to the description of the method embodiment of the present application for understanding.
[0206] It should be noted that in an embodiment of the present application, if the above method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application, in essence, or the part that contributes to the related technology can be embodied in the form of a software product. The software product is stored in a storage medium and includes several instructions for causing an electronic device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), magnetic disks, or optical discs that can store program codes. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0207] An embodiment of the present application provides an electronic device, including a memory and a processor. The memory stores a computer program that can run on the processor, and the processor realizes the above method when executing the computer program.
[0208] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above method is implemented. The computer-readable storage medium can be transient or non-transient.
[0209] An embodiment of the present application provides a computer program product. The computer program product includes a non-transient computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, some or all of the steps in the above method are implemented. The computer program product can be specifically implemented by means of hardware, software, or a combination thereof. In an alternative embodiment, the computer program product is specifically embodied as a computer storage medium. In another alternative embodiment, the computer program product is specifically embodied as a software product, such as a Software Development Kit (SDK), etc.
[0210] It should be noted that Figure 12 is a schematic diagram of the hardware entity of an electronic device provided by an embodiment of the present application. As shown in the figure, the hardware entity of the electronic device 1200 includes: a processor 1201, a communication interface 1202, and a memory 1203, where:
[0211] The processor 1201 generally controls the overall operation of the electronic device 1200.
[0212] The communication interface 1202 enables the electronic device to communicate with other terminals or servers through a network.
[0213] The memory 1203 is configured to store instructions and applications executable by the processor 1201, and can also cache data to be processed or already processed by the processor 1201 and each module in the electronic device 1200 (for example, image data, audio data, voice communication data, and video communication data), and can be implemented by flash memory (FLASH) or random access memory (Random Access Memory, RAM). Data transmission can be performed between the processor 1201, the communication interface 1202, and the memory 1203 through a bus 1204.
[0214] It should be pointed out here that: The descriptions of the above storage medium and device embodiments are similar to those of the above method embodiments and have beneficial effects similar to those of the method embodiments. For technical details not disclosed in the storage medium and device embodiments of the present application, please refer to the descriptions of the method embodiments of the present application for understanding.
[0215] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the appearances of "in one embodiment" or "in an embodiment" throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the magnitude of the serial numbers of the above steps / processes does not mean the order of execution. The order of execution of each step / process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The serial numbers of the embodiments of the present application above are only for description and do not represent the advantages or disadvantages of the embodiments.
[0216] It should be noted that in this article, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including the element.
[0217] In several embodiments provided by the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling or communication connection between the components shown or discussed with each other can be through some interfaces. The indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0218] The units described as separate components above may or may not be physically separated, and the components shown as units may or may not be physical units; they can be located in one place or distributed to multiple network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0219] In addition, each functional unit in the embodiments of the present application can be all integrated in one processing unit, or each unit can be separately used as a unit, or two or more units can be integrated in one unit; the above integrated units can be implemented in the form of hardware, or in the form of a combination of hardware and software functional units.
[0220] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps including those of the above method embodiments; and the aforementioned storage medium includes: various media such as removable storage devices, read-only memories, magnetic disks, or optical discs that can store program codes.
[0221] Alternatively, if the above integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence or the part that contributes to the related art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in various embodiments of the present application. And the aforementioned storage medium includes: various media such as removable storage devices, ROMs, magnetic disks, or optical discs that can store program codes.
[0222] As described above, only the implementation manners of the present application are provided, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application.
Claims
1. A data processing method, the method comprising: In response to obtaining the first instruction, determining at least one virtual object corresponding to the target operation; The first instruction is generated based on the target operation of the target object, and the at least one virtual object is presented in a first running window; In response to obtaining the second instruction, presenting the at least one virtual object in a second running window; wherein the second running window is different from the first running window.
2. The method according to claim 1, further comprising one of the following: Determine the first running window and the second running window based on the first application; The first running window is determined based on the first application, and the second running window is determined based on the second application; wherein, The first application and the second application are different applications.
3. The method according to claim 1, wherein at least two applications are running in the first running window, and the determining at least one virtual object corresponding to the target operation comprises: In a case where the target operation is performed on the at least two applications, a plurality of virtual objects corresponding to the target operation are determined from the virtual objects corresponding to the at least two applications.
4. The method according to claim 1, further comprising: In the first running window, the at least one virtual object is displayed in a first display mode; wherein the first display mode is different from the display mode of other virtual objects in the first running window; the at least one virtual object is one or more complete virtual objects presented in the first running window, or the at least one virtual object is a part of one or more complete virtual objects presented in the first running window.
5. The method according to claim 1, further comprising: determining a near plane based on the target operation; The determining of at least one virtual object corresponding to the target operation includes one of the following: Determining the at least one virtual object based on the near plane and a far plane corresponding to the near plane; wherein the at least one virtual object includes virtual objects overlapping in a depth direction; A depth parameter is determined based on the near plane to determine the at least one virtual object based on the depth parameter.
6. The method according to claim 5, wherein determining the at least one virtual object based on the near plane and the far plane corresponding to the near plane comprises: determining at least one related plane corresponding to the near plane and the far plane; determining a target frustum based on the near plane, the far plane, and the at least one associated plane; Based on the target frustum, the at least one virtual object is determined.
7. The method according to claim 6, wherein determining the at least one virtual object based on the target frustum comprises: Determine the first virtual objects that are all located inside the target frustum as at least one virtual object corresponding to the target operation; For a second virtual object that has an intersection relationship with the target frustum, a portion of the second virtual object that is within the target frustum is determined as at least one virtual object corresponding to the target operation.
8. The method according to claim 1, further comprising one of the following: Based on the target operation, the first running window is switched from a first state to a second state, and a target display frame is displayed in the first running window; wherein, The target display frame is used to present the at least one virtual object, the first state represents that the display picture is continuously output, and the second state represents that the display picture is temporarily output; Based on the target operation, a display frame corresponding to when the target operation is performed is used as the target display frame, and the first running window in the first state and the target display frame are displayed.
9. The method according to any one of claims 1 to 8, wherein: The target operation includes a selection operation of clicking or box-selecting the virtual object, and the method further includes one of the following: Parsing the input of the target object to the controller to determine the target operation; Parsing the gesture input of the target object to determine the target operation; An audio input of the target object is parsed to determine the target operation.
10. The method according to any one of claims 1 to 8, wherein at least one application is run in the second running window, and the method further comprises: Determining, based on the attribute information of the at least one application, an interaction mode corresponding to the at least one virtual object; Based on the interaction mode, an interactive operation is performed on the at least one virtual object.