Method and device for generating symmetric virtual object, electronic equipment and storage medium

By using graphical user interface and touch operations in UGC to determine the target number and direction of symmetrical planes, generate symmetrical planes and create symmetrical virtual objects, the problem of low symmetrical modeling efficiency in the existing technology is solved, and fast and convenient symmetry is achieved Modeling operations.

CN119473076APending Publication Date: 2025-02-18NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411505815.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

In UGC, symmetric modeling efficiency is low in the target-related technology, and users need to perform a series of operations such as copying, turning angles, and moving to the corresponding position, resulting in cumbersome and long time.

Method used

Provided by the terminal device, in response to the first touch operation for the first virtual object, determine the target number and target direction of the symmetrical surface to be generated, and generate the symmetrical surface at the corresponding position, generating the first virtual object based on the first virtual object. A symmetrical second virtual object.

Benefits of technology

It realizes convenient operation of symmetric modeling, saves users' symmetric modeling time and improves modeling efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473076A_ABST
    Figure CN119473076A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for generating a symmetric virtual object, electronic equipment and a storage medium, and the method comprises the steps: determining a target number and a target direction of a to-be-generated symmetric plane according to a first touch operation when the first touch operation for a first virtual object is received; generating the symmetry plane at the corresponding position of the first virtual object according to the target number and the target direction; and then generating a second virtual object which is symmetric with the first virtual object based on the symmetric surface, so that after a user sets parameters of the symmetric surface, the symmetric surface is automatically generated, and the second virtual object which is symmetric with the first virtual object is automatically generated according to the symmetric surface. The user is further helped to quickly generate the symmetric virtual object of the first virtual object, the convenient operation of symmetric modeling is realized, and the symmetric modeling time of the user is saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of generating symmetrical virtual objects, and in particular to a method, device, electronic device and storage medium for generating symmetrical virtual objects. Background Art

[0002] This section is intended to provide a background or context to the embodiments of the application that are recited in the claims. No description herein is admitted to be prior art by inclusion in this section.

[0003] At present, it is often necessary to build symmetrical virtual objects in UGC (User Generated Content). However, in the target related technologies, the operation of symmetrical modeling is cumbersome, and a series of operations such as copying, rotating angles, and moving to corresponding positions are required to generate the final symmetrical object. Therefore, the efficiency of symmetrical modeling in the related technologies is low, resulting in users facing technical problems such as cumbersome operations and long time consumption when performing symmetrical modeling in UGC. Summary of the invention

[0004] In view of this, the purpose of the present application is to propose a method, device, electronic device and storage medium for generating a symmetrical virtual object, so as to solve or partially solve the problems in the above-mentioned background technology.

[0005] Based on the above purpose, the present application provides a method for generating a symmetrical virtual object, wherein a graphical user interface is provided through a terminal device, and the content displayed by the graphical user interface includes at least a virtual object; the method comprises:

[0006] In response to a first touch operation on the first virtual object, determining a target number and a target direction of symmetry planes to be generated; the target direction is a direction with reference to a preset reference plane;

[0007] generating the symmetry plane at a corresponding position of the first virtual object based on the target number and the target direction;

[0008] A second virtual object is generated that is symmetrical to the first virtual object based on the symmetry plane.

[0009] Based on the same inventive concept, the exemplary embodiment of the present application further provides a device for generating a symmetrical virtual object, wherein a graphical user interface is provided through a terminal device, and the content displayed by the graphical user interface at least includes the virtual object; the device comprises:

[0010] A determination module, in response to a first touch operation on a first virtual object, determines a target number and a target direction of symmetry planes to be generated; the target direction is a direction with a preset reference plane as a reference;

[0011] A first generating module, generating the symmetry plane at a corresponding position of the first virtual object based on the target quantity and the target direction;

[0012] The second generation module generates a second virtual object that is symmetrical with the first virtual object based on the symmetry plane.

[0013] Based on the same inventive concept, an exemplary embodiment of the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein when the processor executes the program, the method for generating a symmetrical virtual object as described above is implemented.

[0014] Based on the same inventive concept, an exemplary embodiment of the present application further provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for generating a symmetrical virtual object as described above.

[0015] Based on the same inventive concept, an exemplary embodiment of the present application further provides a computer program product, which includes a computer program. The computer program is executed by one or more processors so that the processor executes the method for generating a symmetrical virtual object as described above.

[0016] As can be seen from the above, the method, device, electronic device and storage medium for generating symmetrical virtual objects provided by the present application provide a graphical user interface through a terminal device, and the content displayed by the graphical user interface includes at least virtual objects; when a first touch operation for a first virtual object is received, the target number and target direction of the symmetry plane to be generated are determined according to the first touch operation; then the symmetry plane is generated at the corresponding position of the first virtual object according to the target number and the target direction; then a second virtual object symmetrical to the first virtual object based on the symmetry plane is generated, so that after the user sets the parameters of the symmetry plane, the symmetry plane is automatically generated, and a second virtual object symmetrical to the first virtual object is automatically generated according to the symmetry plane, further helping the user to quickly generate a symmetrical virtual object of the first virtual object, realizing the convenient operation of symmetrical modeling, and saving the user's symmetrical modeling time. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the present application or related technologies, the drawings required for use in the embodiments or related technical descriptions are briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0018] Figure 1A schematic diagram of an application scenario of an embodiment of the present application;

[0019] Figure 2 A schematic diagram of a flow chart of a method for generating a symmetrical virtual object according to an embodiment of the present application;

[0020] Figure 3 This is a schematic diagram of the structure of the first graphical user interface of the embodiment of the present application;

[0021] Figure 4 This is a schematic diagram of the structure of a second graphical user interface in an embodiment of the present application;

[0022] Figure 5 This is a schematic diagram of the structure of a third graphical user interface in an embodiment of the present application;

[0023] Figure 6 This is a schematic diagram of the structure of a fourth graphical user interface in an embodiment of the present application;

[0024] Figure 7 This is a schematic diagram of the structure of the fifth graphical user interface in the embodiment of the present application;

[0025] Figure 8 This is a schematic diagram of the structure of a sixth graphical user interface in an embodiment of the present application;

[0026] Fig. 9 This is a schematic diagram of the structure of the seventh graphical user interface in the embodiment of the present application;

[0027] Fig.10 This is a schematic diagram of the structure of an eighth graphical user interface in an embodiment of the present application;

[0028] Fig.11 This is a schematic diagram of the structure of a ninth graphical user interface in an embodiment of the present application;

[0029] Fig.12 This is a schematic diagram of the structure of the tenth graphical user interface in the embodiment of the present application;

[0030] Fig.13 This is a schematic diagram of the structure of the eleventh graphical user interface of an embodiment of the present application;

[0031] Fig.14 This is a structural diagram of a twelfth graphical user interface according to an embodiment of the present application;

[0032] Fig.15 A schematic diagram of the structure of a device for generating a symmetrical virtual object according to an embodiment of the present application;

[0033] Fig.16 A schematic diagram of the structure of a specific electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0034] The principles and spirit of the present application will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement the present application, and are not intended to limit the scope of the present application in any way. On the contrary, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.

[0035] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the embodiments of the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. "Including" or "comprising" and similar words mean that the elements or objects appearing in front of the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly. In addition, in the description of this application, unless otherwise specified, the term "several" refers to two or more. The term "and / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.

[0036] According to an embodiment of the present application, a method, an apparatus, an electronic device and a storage medium for generating a symmetrical virtual object are proposed.

[0037] It should be understood herein that any number of elements in the drawings is for illustration rather than limitation, and any naming is only for distinction rather than having any limiting meaning.

[0038] The principles and spirit of the present application are explained in detail below with reference to several representative implementations of the present application. SUMMARY OF THE INVENTION

[0040] In the current related technologies, when performing symmetric modeling, the operation is relatively cumbersome, and a series of operations such as copying, rotating angles, and moving to corresponding positions are required to generate the final symmetrical object. Therefore, the efficiency of symmetric modeling in the related technologies is low, resulting in users facing technical problems such as cumbersome operations and long time consumption when performing symmetric modeling in UGC.

[0041] In order to solve the above problems, the present application provides a method for generating a symmetrical virtual object, which specifically includes:

[0042] When a first touch operation for a first virtual object is received, a target number and a target direction of symmetry planes to be generated are determined according to the first touch operation; then the symmetry plane is generated at a corresponding position of the first virtual object according to the target number and the target direction; then a second virtual object symmetrical to the first virtual object based on the symmetry plane is generated, so that after the user sets the parameters of the symmetry plane, the symmetry plane is automatically generated, and a second virtual object symmetrical to the first virtual object is automatically generated according to the symmetry plane, further helping the user to quickly generate a symmetric virtual object of the first virtual object, realizing convenient operation of symmetric modeling and saving the user's symmetric modeling time.

[0043] After introducing the basic principles of the present application, various non-limiting implementation methods of the present application are described in detail below.

[0044] Application Scenario Overview

[0045] In some specific application scenarios, the method for generating symmetrical virtual objects of the present application can be applied to various systems involving generating symmetrical virtual objects. Optionally, the system can be a game system. As an example, refer to Figure 1 , the application scenario includes at least one server 102 and at least one terminal 101. Terminal devices include but are not limited to desktop computers, mobile phones, mobile computers, tablet computers, media players, smart wearable devices, personal digital assistants (PDA) or other electronic devices that can realize the above functions. The server can be an independent physical server, or a server cluster or distributed system composed of several physical servers. It 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, CDN (content distribution network), and big data and artificial intelligence platforms. The server and the terminal can communicate through the network to realize data transmission. Among them, the network can be a wired network or a wireless network, which is not specifically limited in this application.

[0046] The server may be a server that provides various services. Specifically, the server may be used to provide background services for applications running on the terminal. Optionally, in some implementations, the method for generating a symmetrical virtual object provided in the embodiment of the present application may be executed by a terminal device or a server. When executed by the server, when a first touch operation for a first virtual object is received, the target number and target direction of the symmetry plane to be generated are determined according to the first touch operation; then the symmetry plane is generated at the corresponding position of the first virtual object according to the target number and the target direction; and then a second virtual object symmetrical with the first virtual object based on the symmetry plane is generated. Optionally, the server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster consisting of several servers, or it may be implemented as a single server. When the server is software, it may be implemented as several software or software modules (for example, software or software modules used to provide distributed services), or it may be implemented as a single software or software module. The embodiment of the present application does not specifically limit this.

[0047] Optionally, the wireless network or wired network uses standard communication technology and / or protocol. The network is usually the Internet, but it can also be any network, including but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile, wired or wireless network, a dedicated network or any combination of a virtual private network). In some embodiments, the data exchanged through the network is represented by technologies and / or formats including hypertext mark-up language (HTML), extensible markup language (XML), etc. In addition, conventional encryption technologies such as secure socket layer (SSL), transport layer security (TLS), virtual private network (VPN), and Internet protocol security (IPsec) can be used to encrypt all or some links. In other embodiments, customized and / or dedicated data communication technologies can also be used to replace or supplement the above data communication technologies.

[0048] The following describes the method for generating a symmetrical virtual object according to an exemplary embodiment of the present application in conjunction with a specific application scenario. It should be noted that the above application scenario is only shown to facilitate understanding of the spirit and principle of the present application, and the implementation of the present application is not limited in this regard. On the contrary, the implementation of the present application can be applied to any applicable scenario.

[0049] It should be understood that although Figure 2 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2 At least part of the steps may include several sub-steps or several stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0050] Exemplary Methods

[0051] refer to Figure 2 The embodiment of the present application provides a method for generating a symmetrical virtual object. The method provides a graphical user interface through a terminal device, and the content displayed by the graphical user interface includes at least a virtual object. The method includes the following steps:

[0052] S101, in response to a first touch operation on a first virtual object, determining a target number and a target direction of symmetry planes to be generated; the target direction is a direction with reference to a preset reference plane.

[0053] In specific implementation, in order to accurately generate symmetrical virtual objects in a graphical user interface, the user's first touch operation can be used to determine the target number and target direction of the symmetrical planes, and the position and number of the generated symmetrical virtual objects can be determined by the number and direction of the symmetrical planes. Optionally, the specific first touch operation can be set as needed, and there is no limitation on this. In some embodiments, the first touch operation can be an operation of directly clicking on the virtual controls corresponding to the target number and target direction, see Figure 3The user can select the target direction of the symmetry plane 03 to be generated by clicking the Y / Z control below. It should be noted that the target direction of the symmetry plane to be generated is a direction with reference to a preset reference plane, wherein the preset reference plane can be set as needed and is not limited to this. For example, the plane where the display screen of the terminal device is located can be used as the preset reference plane, then the corresponding target direction can be any direction parallel to the preset reference plane or perpendicular to the reference plane, or a direction at any angle to the preset reference plane. It should be noted that in some embodiments, the first virtual object of the present application is in a three-dimensional virtual space. Therefore, when performing axial symmetry, there are generally three options for the target direction, namely, the planes where the X / Y axis, X / Z axis, and Y / Z axis are located in the three-dimensional space coordinates; when performing central symmetry, the target direction can generally be the three coordinate axes of X, Y, and Z as the target direction, that is, using these as the center of symmetry. Reference Figure 4 , where the current target direction is the Y axis, that is, the Y axis is the symmetry center 06, and the symmetry planes 03 are three planes perpendicular to the plane where the X / Z axis is located.

[0054] It should be noted that the terminal device provides a graphical user interface that can be used to display various types of virtual scenes, which can be virtual scenes of games or animations, and the virtual scenes displayed by the graphical user interface can include one or more virtual objects. Optionally, in some specific real-time examples, the virtual scene displayed by the graphical user interface can be a three-dimensional scene. In this case, in order to accurately generate a symmetrical virtual model, the symmetry plane can be a plane in the three-dimensional scene.

[0055] In order to perform symmetric modeling more flexibly, in some embodiments, the target number of symmetric planes in the present application can be one or more. Optionally, when the target number is 1, axisymmetric modeling can be performed accordingly, and when the target number is greater than or equal to 2, central symmetric modeling can be performed. Figure 4 , the user can determine the target number of symmetry planes by clicking on the virtual control with plus and minus signs, where Figure 4 The corresponding target number is 3, so 3 symmetry planes are generated, and they are centrally symmetric at this time.

[0056] S102: Generate the symmetry plane at a corresponding position of the first virtual object based on the target quantity and the target direction.

[0057] In specific implementation, after determining the target number and target direction of the symmetry plane to be generated, the symmetry plane can be generated at the corresponding position of the first virtual object according to the two parameters of the symmetry plane. It should be noted that the corresponding position of the first virtual object can be set as needed. For example, a reference point can be pre-specified and the relative position of the reference point and the first virtual object can be determined. The corresponding position is then determined based on the reference point. Optionally, when performing axial symmetry, the generated symmetry plane can pass through the reference point and be parallel to a surface of the first virtual object. When performing central symmetry, the center of symmetry can pass through the reference point.

[0058] S103: Generate a second virtual object that is symmetrical to the first virtual object based on the symmetry plane.

[0059] In a specific implementation, after the symmetry plane is generated, a second virtual object can be directly generated based on the symmetry plane. The second virtual object is exactly the same as the first virtual object and is a symmetric virtual object with the first virtual object using the symmetry plane as a reference. Figure 3 and Figure 7 , where 01 is the first virtual object, 02 is the second virtual object, and 03 is the current symmetry plane. It can be seen that the first virtual object 01 and the second virtual object 02 are axially symmetrical with the symmetry plane 03 as the reference. Figure 4 and Figure 8 , it can be seen that the first virtual object 01 and the second virtual object 02 are centrally symmetrical with respect to the symmetry plane 03. The symmetry plane not only determines the position of the generated second virtual object, but also determines the number of the second virtual objects.

[0060] In order to flexibly help users perform symmetric modeling, in some embodiments, the method further includes:

[0061] In response to a second touch operation on the symmetry plane, a position of the symmetry plane is adjusted.

[0062] In a specific implementation, after the symmetry plane is generated, the user can adjust the position of the symmetry plane through the second touch operation. Optionally, the user can adjust the symmetry plane after the second virtual object is generated, or after the second virtual object is generated. When the symmetry plane is adjusted after the second virtual object is generated, the second virtual object will also change with the change of the symmetry plane.

[0063] In some embodiments, after generating a second virtual object that is symmetrical with the first virtual object based on the symmetry plane, the method further includes:

[0064] In response to a change in the position of the symmetry plane, the position of the second virtual object is adjusted based on the changed symmetry plane, so that the adjusted second virtual object is symmetrical with the first virtual object based on the changed symmetry plane.

[0065] In a specific implementation, in order to facilitate the user to adjust the position of the second virtual object at any time after the second virtual object is generated, after the second virtual object is generated that is symmetrical with the first virtual object based on the symmetry plane, when the position of the symmetry plane changes, the position of the second virtual object is adjusted according to the changed symmetry plane, so that the two objects always maintain symmetry. Fig. 9 and Fig.10 ,when Fig.10 Relative to Fig. 9 When the symmetry plane 03 is translated, the position of the corresponding second virtual object 02 will also change.

[0066] In order to always ensure that the first virtual object and the second virtual object are symmetrical, in some embodiments, after generating the second virtual object that is symmetrical with the first virtual object based on the symmetry plane, the method further includes:

[0067] In response to a change in the first virtual object, the second virtual object is adjusted based on the changed first virtual object, so that the changed first virtual object and the adjusted second virtual object are symmetrical based on the symmetry plane.

[0068] It should be noted that the change of the first virtual object may be a change in form or a change in the number of specific virtual objects it includes, and there is no limitation on this. For example, when the number of virtual objects included in the first virtual object changes from 3 to 2, the number of virtual objects included in the corresponding second virtual object also changes from 3 to 2, so that the two continue to maintain symmetry. Fig. 9 and Fig.11 When the position of the first virtual object 01 is deflected, the position of the corresponding second virtual object 02 will also change.

[0069] In some embodiments, in response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes:

[0070] In response to a first selection operation of a control mode for the symmetry plane, determining a control mode for the symmetry plane; wherein the control mode includes a rotation mode and a movement mode;

[0071] In response to determining that the control mode is the moving mode, controlling the symmetry plane to move based on the second touch operation to adjust the position of the symmetry plane;

[0072] In response to determining that the control mode is the rotation mode, the symmetry plane is controlled to rotate based on the second touch operation to adjust the position of the symmetry plane.

[0073] In specific implementation, in order to accurately help the user adjust the symmetry plane, in some embodiments, the control mode of the symmetry plane can be determined according to the first selection operation of the control mode of the symmetry plane. Optionally, the specific first selection operation can be set as needed, and there is no limitation on this. For example, the control mode can be switched by double-clicking the graphic user interface, or, refer to Figure 3 and Figure 4 , the control mode of the symmetry plane can be determined directly by clicking the virtual controls (movement and rotation controls) set on the graphical user interface.

[0074] In some embodiments, controlling the symmetry plane to move based on the second touch operation specifically includes:

[0075] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0076] In response to determining that the symmetry mode is an axisymmetric mode, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the second touch operation;

[0077] In response to determining that the symmetry mode is a central symmetry mode, determining a sliding direction of the second touch operation; in response to determining that the angle between the sliding direction and the first coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the first coordinate axis based on the second touch operation; in response to determining that the angle between the sliding direction and the second coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the second coordinate axis based on the second touch operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a center of symmetry between the first virtual object and the second virtual object.

[0078] During specific implementation, in order to accurately move the symmetry plane, it is necessary to first determine the symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axial symmetry mode and a central symmetry mode. Optionally, the method for specifically determining the symmetry mode can be set as needed. For example, in some embodiments, determining the symmetry mode corresponding to the first virtual object specifically includes: in response to determining that the number of targets is greater than or equal to 2, determining the symmetry mode as the central symmetry mode; in response to determining that the number of targets is less than 2, determining the symmetry mode as the axial symmetry mode. That is, the symmetry mode can be determined directly by the number of targets. It should be noted that in this embodiment, the symmetry plane of the axial symmetry mode can be at most 1, refer to Figure 3 and Figure 7 is an axisymmetric mode. Figure 4 , Figure 8 and Fig. 9 It is a centrosymmetric mode. It should be noted that Figure 8 The symmetry planes in are two parallel symmetry planes.

[0079] In addition, in some embodiments, the graphical user interface further displays a mode selection control; and determining the symmetry mode corresponding to the first virtual object specifically further includes: determining the symmetry mode corresponding to the first virtual object by performing a second selection operation on the mode selection control. That is, determining the symmetry mode corresponding to the first virtual object by performing a second selection operation on the mode selection control.

[0080] It should be noted that when performing central symmetry, refer to Fig.10 , can be moved along the first coordinate axis and the second coordinate axis. When the axis is symmetrical, refer to Figure 5 , it can only move along the X-axis (i.e. perpendicular to the symmetry plane).

[0081] In some embodiments, controlling the symmetry plane to rotate based on the second touch operation specifically includes:

[0082] In response to determining that the symmetry mode is an axisymmetric mode and that the target position corresponding to the second touch operation is in the first area, the symmetry plane is controlled to rotate with a first direction as a rotation axis; wherein the graphical user interface displaying the symmetry plane is divided into a first area and a second area; in response to determining that the symmetry mode is an axisymmetric mode and that the target position is in the second area, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to the plane where the first direction and the second direction are located;

[0083] In response to determining that the symmetry mode is a central symmetry mode, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the second touch operation.

[0084] When implementing it, refer to Figure 6 , when the axis is symmetrical, the rotation can be performed along the first direction (Z axis) and the second direction (Y axis). Figure 4 and Fig.12 When the center is symmetrical, it can only rotate in one direction along the symmetry center 06, where Fig.12 The symmetry center in is the Y axis. It should be noted that when the symmetry mode is central symmetry, refer to Fig.12 , the rotation of the symmetry plane will not affect the position of the second virtual object, but the relative position of the first virtual object and the symmetry plane will change, which makes it easier for the user to add a new component to the first virtual object (that is, add a new virtual object). Fig. 9 and Fig.13 , after rotating the symmetry plane 03 clockwise, the position of the first virtual object moves from the central area of ​​the two symmetry planes to the edge area, so that it is convenient for the user to add a new virtual object for the first virtual object between the two symmetry planes, that is, Fig.13 round shape.

[0085] In some embodiments, the second touch operation is a sliding operation on a target control, and the target control includes a first part, a second part, and a third part; in response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes:

[0086] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0087] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the sliding operation;

[0088] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the second portion, controlling the symmetry plane to rotate with a first direction as a rotation axis;

[0089] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the third part, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to a plane where the first direction and the second direction are located;

[0090] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction parallel to a first coordinate axis based on the sliding operation;

[0091] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the second part, controlling the symmetry plane to move along a direction parallel to a second coordinate axis based on the sliding operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a symmetry center of the first virtual object and the second virtual object;

[0092] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the third portion, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the sliding operation.

[0093] In specific implementation, in this embodiment, the position of the symmetry plane can be adjusted by setting a target control in the graphical user interface. Specifically, the second touch operation is a sliding operation on the target control. The target control may include a first part, a second part, and a third part. The sliding operation of the user on different parts of the target control is used to issue different control instructions. It should be noted that the specific shape of the target control and the division of the three parts can be set as needed, and there is no limitation on this. Optionally, when it is determined that the symmetry mode is an axially symmetrical mode and the sliding operation acts on the first part, the symmetry plane is controlled to move in a direction perpendicular to the symmetry plane based on the sliding operation; when it is determined that the symmetry mode is an axially symmetrical mode and the sliding operation acts on the second part and the third part, the symmetry plane is controlled to rotate with the first direction and the second direction as the rotation axis, respectively; when it is determined that the symmetry mode is a centrally symmetrical mode and the sliding operation acts on the first part, the symmetry plane is controlled to move in a direction parallel to the first coordinate axis based on the sliding operation; when it is determined that the symmetry mode is a centrally symmetrical mode and the sliding operation acts on the second part, the symmetry plane is controlled to move in a direction parallel to the second coordinate axis based on the sliding operation; when it is determined that the symmetry mode is a centrally symmetrical mode and the sliding operation acts on the third part, the symmetry plane is controlled to rotate with the symmetry center as the rotation axis based on the sliding operation.

[0094] refer to Fig.14 , where 04 represents the target control, which includes a first part 041 , a second part 042 and a third part 043 . The user can implement different controls by sliding on different parts of the target control 04 .

[0095] The method for generating symmetrical virtual objects provided by the present application provides a graphical user interface through a terminal device, and the content displayed by the graphical user interface includes at least virtual objects; when a first touch operation for a first virtual object is received, the target number and target direction of the symmetrical plane to be generated are determined according to the first touch operation; then the symmetrical plane is generated at the corresponding position of the first virtual object according to the target number and the target direction; then a second virtual object symmetrical to the first virtual object based on the symmetrical plane is generated, so that after the user sets the parameters of the symmetrical plane, the symmetrical plane is automatically generated, and the second virtual object symmetrical to the first virtual object is automatically generated according to the symmetrical plane, further helping the user to quickly generate a symmetrical virtual object of the first virtual object, realizing the convenient operation of symmetrical modeling, and saving the user's symmetrical modeling time.

[0096] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or several steps in the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the described method.

[0097] It should be noted that the above describes some embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0098] Exemplary Devices

[0099] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application further provides a device for generating symmetrical virtual objects. The device provides a graphical user interface through a terminal device, and the content displayed by the graphical user interface at least includes virtual objects.

[0100] refer to Fig.15 , the device for generating a symmetrical virtual object comprises:

[0101] A determination module 201 determines, in response to a first touch operation on a first virtual object, a target number and a target direction of symmetry planes to be generated; the target direction is a direction with a preset reference plane as a reference;

[0102] A first generating module 202 generates the symmetry plane at a corresponding position of the first virtual object based on the target quantity and the target direction;

[0103] The second generation module 203 generates a second virtual object that is symmetrical with the first virtual object based on the symmetry plane.

[0104] In some embodiments, the device further comprises a symmetry plane adjustment module, configured to:

[0105] In response to a second touch operation on the symmetry plane, a position of the symmetry plane is adjusted.

[0106] In some embodiments, the apparatus further includes a first dynamic adjustment module, configured to:

[0107] In response to a change in the position of the symmetry plane, the position of the second virtual object is adjusted based on the changed symmetry plane, so that the adjusted second virtual object is symmetrical with the first virtual object based on the changed symmetry plane.

[0108] In some embodiments, the apparatus further includes a second dynamic adjustment module, configured to:

[0109] In response to a change in the first virtual object, the second virtual object is adjusted based on the changed first virtual object, so that the changed first virtual object and the adjusted second virtual object are symmetrical based on the symmetry plane.

[0110] In some embodiments, the symmetry plane adjustment module is specifically used to:

[0111] In response to a first selection operation of a control mode for the symmetry plane, determining a control mode for the symmetry plane; wherein the control mode includes a rotation mode and a movement mode;

[0112] In response to determining that the control mode is the moving mode, controlling the symmetry plane to move based on the second touch operation to adjust the position of the symmetry plane;

[0113] In response to determining that the control mode is the rotation mode, the symmetry plane is controlled to rotate based on the second touch operation to adjust the position of the symmetry plane.

[0114] In some embodiments, the symmetry plane adjustment module is specifically used to:

[0115] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0116] In response to determining that the symmetry mode is an axisymmetric mode, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the second touch operation;

[0117] In response to determining that the symmetry mode is a central symmetry mode, determining a sliding direction of the second touch operation; in response to determining that the angle between the sliding direction and the first coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the first coordinate axis based on the second touch operation; in response to determining that the angle between the sliding direction and the second coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the second coordinate axis based on the second touch operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a center of symmetry between the first virtual object and the second virtual object.

[0118] In some embodiments, the symmetry plane adjustment module is specifically used to:

[0119] In response to determining that the symmetry mode is an axisymmetric mode and that the target position corresponding to the second touch operation is in the first area, the symmetry plane is controlled to rotate with a first direction as a rotation axis; wherein the graphical user interface displaying the symmetry plane is divided into a first area and a second area; in response to determining that the symmetry mode is an axisymmetric mode and that the target position is in the second area, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to the plane where the first direction and the second direction are located;

[0120] In response to determining that the symmetry mode is a central symmetry mode, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the second touch operation.

[0121] In some embodiments, the second touch operation is a sliding operation acting on a target control, and the target control includes a first part, a second part, and a third part; and the symmetry plane adjustment module is specifically used for:

[0122] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0123] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the first part, controlling the symmetry plane to move in a direction perpendicular to the symmetry plane based on the sliding operation; wherein the target straight line is a straight line passing through a center point of the first virtual object and a center point of the second virtual object;

[0124] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the second portion, controlling the symmetry plane to rotate with a first direction as a rotation axis;

[0125] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the third part, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to a plane where the first direction and the second direction are located;

[0126] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction parallel to a first coordinate axis based on the sliding operation;

[0127] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the second part, controlling the symmetry plane to move along a direction parallel to a second coordinate axis based on the sliding operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a symmetry center of the first virtual object and the second virtual object;

[0128] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the third portion, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the sliding operation.

[0129] In some embodiments, the symmetry plane adjustment module is specifically used to:

[0130] In response to determining that the target number is greater than or equal to 2, determining the symmetry mode as the central symmetry mode;

[0131] In response to determining that the target number is less than 2, the symmetric mode is determined to be the axisymmetric mode.

[0132] In some embodiments, the symmetry plane adjustment module is specifically used to:

[0133] The symmetry mode corresponding to the first virtual object is determined through a second selection operation on the mode selection control.

[0134] For the convenience of description, the above device is described in terms of functions divided into various modules. Of course, when implementing the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0135] The device for generating a symmetrical virtual object in the above embodiment is used to implement the corresponding method for generating a symmetrical virtual object in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be described in detail herein.

[0136] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for generating a symmetrical virtual object described in any of the above embodiments is implemented.

[0137] Fig.16 A more specific schematic diagram of the hardware structure of an electronic device provided in this embodiment is shown, and the device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are connected to each other through the bus 1050 in the device.

[0138] The processor 1010 can be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0139] The memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program codes are stored in the memory 1020 and are called and executed by the processor 1010.

[0140] The input / output interface 1030 is used to connect the input / output module to realize information input and output. The input / output module can be configured in the device as a component (not shown in the figure), or it can be externally connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device may include a display, a speaker, a vibrator, an indicator light, etc.

[0141] The communication interface 1040 is used to connect a communication module (not shown) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired mode (such as USB, network cable, etc.) or a wireless mode (such as mobile network, WIFI, Bluetooth, etc.).

[0142] The bus 1050 includes a path that transmits information between the various components of the device (eg, the processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040).

[0143] It should be noted that, although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040 and the bus 1050, in the specific implementation process, the device may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above device may also only include the components necessary for implementing the embodiments of the present specification, and does not necessarily include all the components shown in the figure.

[0144] The electronic device of the above embodiment is used to implement the corresponding method of generating a symmetrical virtual object in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0145] The memory 1020 stores machine-readable instructions executable by the processor 1010. When the electronic device is running, the processor 1010 communicates with the memory 1020 through the bus 1050, so that the processor 1010 executes the following instructions when running: in response to a first touch operation on a first virtual object, determine the target number and target direction of symmetry planes to be generated; generate the symmetry plane at a corresponding position of the first virtual object based on the target number and the target direction; generate a second virtual object that is symmetrical to the first virtual object based on the symmetry plane.

[0146] In a possible implementation, in the instructions executed by the processor 1010, the method further includes:

[0147] In response to a second touch operation on the symmetry plane, a position of the symmetry plane is adjusted.

[0148] In a possible implementation, in the instructions executed by the processor 1010, after generating a second virtual object symmetrical with the first virtual object based on the symmetry plane, the method further includes:

[0149] In response to a change in the position of the symmetry plane, the position of the second virtual object is adjusted based on the changed symmetry plane, so that the adjusted second virtual object is symmetrical with the first virtual object based on the changed symmetry plane.

[0150] In a possible implementation, in the instructions executed by the processor 1010, after generating a second virtual object symmetrical with the first virtual object based on the symmetry plane, the method further includes:

[0151] In response to a change in the first virtual object, the second virtual object is adjusted based on the changed first virtual object, so that the changed first virtual object and the adjusted second virtual object are symmetrical based on the symmetry plane.

[0152] In a possible implementation manner, in the instructions executed by the processor 1010, in response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes:

[0153] In response to a first selection operation of a control mode for the symmetry plane, determining a control mode for the symmetry plane; wherein the control mode includes a rotation mode and a movement mode;

[0154] In response to determining that the control mode is the moving mode, controlling the symmetry plane to move based on the second touch operation to adjust the position of the symmetry plane;

[0155] In response to determining that the control mode is the rotation mode, the symmetry plane is controlled to rotate based on the second touch operation to adjust the position of the symmetry plane.

[0156] In a possible implementation manner, in the instruction executed by the processor 1010, controlling the symmetry plane to move based on the second touch operation specifically includes:

[0157] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0158] In response to determining that the symmetry mode is an axisymmetric mode, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the second touch operation;

[0159] In response to determining that the symmetry mode is a central symmetry mode, determining a sliding direction of the second touch operation; in response to determining that the angle between the sliding direction and the first coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the first coordinate axis based on the second touch operation; in response to determining that the angle between the sliding direction and the second coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the second coordinate axis based on the second touch operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a center of symmetry between the first virtual object and the second virtual object.

[0160] In a possible implementation manner, in the instruction executed by the processor 1010, controlling the symmetry plane to rotate based on the second touch operation specifically includes:

[0161] In response to determining that the symmetry mode is an axisymmetric mode and that the target position corresponding to the second touch operation is in the first area, the symmetry plane is controlled to rotate with a first direction as a rotation axis; wherein the graphical user interface displaying the symmetry plane is divided into a first area and a second area; in response to determining that the symmetry mode is an axisymmetric mode and that the target position is in the second area, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to the plane where the first direction and the second direction are located;

[0162] In response to determining that the symmetry mode is a central symmetry mode, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the second touch operation.

[0163] In a possible implementation, in the instruction executed by the processor 1010, the second touch operation is a sliding operation acting on a target control, and the target control includes a first part, a second part, and a third part; in response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes:

[0164] Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode;

[0165] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the sliding operation;

[0166] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the second portion, controlling the symmetry plane to rotate with a first direction as a rotation axis;

[0167] In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the third part, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to a plane where the first direction and the second direction are located;

[0168] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction parallel to a first coordinate axis based on the sliding operation;

[0169] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the second part, controlling the symmetry plane to move along a direction parallel to a second coordinate axis based on the sliding operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a symmetry center of the first virtual object and the second virtual object;

[0170] In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the third portion, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the sliding operation.

[0171] In a possible implementation, in the instructions executed by the processor 1010, determining the symmetry mode corresponding to the first virtual object specifically includes:

[0172] In response to determining that the target number is greater than or equal to 2, determining the symmetry mode as the central symmetry mode;

[0173] In response to determining that the target number is less than 2, the symmetric mode is determined to be the axisymmetric mode.

[0174] In a possible implementation, in the instructions executed by the processor 1010, the graphical user interface further displays a mode selection control; and determining the symmetry mode corresponding to the first virtual object specifically includes:

[0175] The symmetry mode corresponding to the first virtual object is determined through a second selection operation on the mode selection control.

[0176] Through the above method, when the electronic device is running, when a first touch operation for a first virtual object is received, the target number and target direction of the symmetry plane to be generated are determined according to the first touch operation; then the symmetry plane is generated at the corresponding position of the first virtual object according to the target number and the target direction; then a second virtual object symmetrical to the first virtual object based on the symmetry plane is generated, so that after the user sets the parameters of the symmetry plane, the symmetry plane is automatically generated, and the second virtual object symmetrical to the first virtual object is automatically generated according to the symmetry plane, further helping the user to quickly generate a symmetric virtual object of the first virtual object, realizing the convenient operation of symmetric modeling, and saving the user's symmetric modeling time.

[0177] Exemplary Program Products

[0178] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the method for generating symmetrical virtual objects as described in any of the above embodiments.

[0179] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.

[0180] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the method for generating a symmetrical virtual object as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0181] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides a computer program product, which includes a computer program. In some embodiments, the computer program instructions can be executed by one or more processors of a computer so that the computer and / or the processor execute the method for generating a symmetrical virtual object described in the above-mentioned embodiment. Corresponding to the execution subject corresponding to each step in each embodiment of the scene editing method, the processor that executes the corresponding step may belong to the corresponding execution subject.

[0182] The computer program product of the above embodiment is used to enable the computer and / or the processor to execute the method for generating a symmetrical virtual object as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0183] It is understandable that before using the technical solutions of each embodiment of the present application, the type, scope of use, usage scenarios, etc. of the personal information involved will be informed to the user in an appropriate manner, and the user's authorization will be obtained.

[0184] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly remind the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can independently choose whether to provide personal information to the electronic device, application, server, storage medium or other software or hardware that performs the operation of the technical solution of the present application according to the prompt message.

[0185] As an optional but non-limiting implementation, in response to receiving the user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0186] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation method of this application. Other methods that meet relevant laws and regulations may also be applied to the implementation method of this application.

[0187] It should be understood by those skilled in the art that the embodiments of the present application can be implemented as a system, method or computer program product. Therefore, the present application can be specifically implemented in the following forms, namely: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, generally referred to herein as "circuit", "module" or "system". In addition, in some embodiments, the present application can also be implemented in the form of a computer program product in one or more computer-readable media, which contains computer-readable program code.

[0188] Any combination of one or more computer-readable media can be used. Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable storage media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above. More specific examples (non-exhaustive examples) of computer-readable storage media can include, for example: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0189] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0190] The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0191] Computer program code for performing the operation of the present application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).

[0192] It should be understood that each box in the flowchart and / or block diagram and the combination of boxes in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine, and these computer program instructions are executed by a computer or other programmable data processing device to produce a device that implements the functions / operations specified in the boxes in the flowchart and / or block diagram.

[0193] These computer program instructions may also be stored in a computer-readable medium that enables a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable medium produce a product that includes an instruction device that implements the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0194] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby enabling the instructions executed on the computer or other programmable device to provide a process for implementing the functions / operations specified in the blocks in the flowchart and / or block diagram.

[0195] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0196] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into several modules or units to be embodied.

[0197] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples; based on the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other adjustments to the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0198] In addition, to simplify the description and discussion, and in order not to make the embodiments of the present application difficult to understand, the known power supply / ground connection with the integrated circuit (IC) chip and other components may or may not be shown in the provided drawings. In addition, the device can be shown in the form of a block diagram to avoid making the embodiments of the present application difficult to understand, and this also takes into account the fact that the details of the implementation of these block diagram devices are highly dependent on the platform to be implemented in the embodiments of the present application (that is, these details should be fully within the scope of understanding of those skilled in the art). In the case of elaborating specific details (e.g., circuits) to describe exemplary embodiments of the present application, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details or when these specific details are adjusted. Therefore, these descriptions should be considered to be illustrative rather than restrictive.

[0199] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.

[0200] The embodiments of the present application are intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.

Claims

1. A method for generating a symmetrical virtual object, characterized in that: Providing a graphical user interface through a terminal device, wherein the content displayed by the graphical user interface includes at least a virtual object; the method includes: In response to a first touch operation on the first virtual object, determining a target number and a target direction of symmetry planes to be generated; the target direction is a direction with reference to a preset reference plane; generating the symmetry plane at a corresponding position of the first virtual object based on the target number and the target direction; A second virtual object is generated that is symmetrical to the first virtual object based on the symmetry plane.

2. The method according to claim 1, characterized in that The method further comprises: In response to a second touch operation on the symmetry plane, a position of the symmetry plane is adjusted.

3. The method according to claim 2, characterized in that After generating a second virtual object that is symmetrical to the first virtual object based on the symmetry plane, the method further includes: In response to a change in the position of the symmetry plane, the position of the second virtual object is adjusted based on the changed symmetry plane, so that the adjusted second virtual object is symmetrical with the first virtual object based on the changed symmetry plane.

4. The method according to claim 1, characterized in that After generating a second virtual object that is symmetrical to the first virtual object based on the symmetry plane, the method further includes: In response to a change in the first virtual object, the second virtual object is adjusted based on the changed first virtual object, so that the changed first virtual object and the adjusted second virtual object are symmetrical based on the symmetry plane.

5. The method according to claim 2, characterized in that: In response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes: In response to a first selection operation of a control mode for the symmetry plane, determining a control mode for the symmetry plane; wherein the control mode includes a rotation mode and a movement mode; In response to determining that the control mode is the moving mode, controlling the symmetry plane to move based on the second touch operation to adjust the position of the symmetry plane; In response to determining that the control mode is the rotation mode, the symmetry plane is controlled to rotate based on the second touch operation to adjust the position of the symmetry plane.

6. The method according to claim 5, characterized in that Controlling the symmetry plane to move based on the second touch operation specifically includes: Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode; In response to determining that the symmetry mode is an axisymmetric mode, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the second touch operation; In response to determining that the symmetry mode is a center symmetry mode, determining a sliding direction of the second touch operation; in response to determining that the angle between the sliding direction and the first coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the first coordinate axis based on the second touch operation; in response to determining that the angle between the sliding direction and the second coordinate axis is less than a preset angle, controlling the symmetry plane to move along a direction parallel to the second coordinate axis based on the second touch operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and the plane where the first coordinate axis and the second coordinate axis are located is perpendicular to the center of symmetry of the first virtual object and the second virtual object.

7. The method according to claim 6, characterized in that Controlling the symmetry plane to rotate based on the second touch operation specifically includes: In response to determining that the symmetry mode is an axisymmetric mode and that the target position corresponding to the second touch operation is in the first area, the symmetry plane is controlled to rotate with a first direction as a rotation axis; wherein the graphical user interface displaying the symmetry plane is divided into a first area and a second area; in response to determining that the symmetry mode is an axisymmetric mode and that the target position is in the second area, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to the plane where the first direction and the second direction are located; In response to determining that the symmetry mode is a central symmetry mode, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the second touch operation.

8. The method according to claim 2, characterized in that: The second touch operation is a sliding operation on a target control, and the target control includes a first part, a second part, and a third part; in response to the second touch operation on the symmetry plane, adjusting the position of the symmetry plane specifically includes: Determine a symmetry mode corresponding to the first virtual object; wherein the symmetry mode includes an axisymmetric mode and a central symmetric mode; In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction perpendicular to the symmetry plane based on the sliding operation; In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the second portion, controlling the symmetry plane to rotate with a first direction as a rotation axis; In response to determining that the symmetry mode is an axisymmetric mode and the sliding operation acts on the third part, the symmetry plane is controlled to rotate with a second direction as a rotation axis; wherein the first direction is perpendicular to the second direction, and the symmetry plane is parallel to a plane where the first direction and the second direction are located; In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the first portion, controlling the symmetry plane to move along a direction parallel to a first coordinate axis based on the sliding operation; In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the second part, controlling the symmetry plane to move along a direction parallel to a second coordinate axis based on the sliding operation; wherein the first coordinate axis is perpendicular to the second coordinate axis, and a plane where the first coordinate axis and the second coordinate axis are located is perpendicular to a symmetry center of the first virtual object and the second virtual object; In response to determining that the symmetry mode is a central symmetry mode and the sliding operation acts on the third portion, the symmetry plane is controlled to rotate with the symmetry center as a rotation axis based on the sliding operation.

9. The method according to claim 6 or 8, characterized in that: Determining the symmetry mode corresponding to the first virtual object specifically includes: In response to determining that the target number is greater than or equal to 2, determining the symmetry mode as the central symmetry mode; In response to determining that the target number is less than 2, the symmetric mode is determined to be the axisymmetric mode.

10. The method according to claim 6 or 8, characterized in that: The graphical user interface also displays a mode selection control; determining the symmetry mode corresponding to the first virtual object specifically includes: The symmetry mode corresponding to the first virtual object is determined through a second selection operation on the mode selection control.

11. A device for generating a symmetrical virtual object, characterized in that: Providing a graphical user interface through a terminal device, wherein the content displayed by the graphical user interface at least includes a virtual object; the apparatus comprises: A determination module, in response to a first touch operation on a first virtual object, determines a target number and a target direction of symmetry planes to be generated; the target direction is a direction with a preset reference plane as a reference; A first generating module, generating the symmetry plane at a corresponding position of the first virtual object based on the target quantity and the target direction; The second generation module generates a second virtual object that is symmetrical with the first virtual object based on the symmetry plane.

12. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the processor implements the method according to any one of claims 1 to 10 when executing the program.

13. A non-transitory computer-readable storage medium, characterized in that: The non-transitory computer-readable storage medium stores computer instructions for causing a computer to execute the method according to any one of claims 1 to 10.