Posture editing method and apparatus for virtual character, and device and storage medium
Through the pose editing method and device of virtual characters, users can quickly edit multiple virtual character poses and generate group custom poses, solving the problem of cumbersome setting of virtual character poses in the existing technology, and improving human-computer interaction efficiency and user experience .
Patent Information
- Application Number
- PCT/CN2024/089062
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-30
- Filing Date
- 2024-04-22
- Publication Date
- 2025-01-02
AI Technical Summary
In the scene where multiple users control multiple virtual characters to take photos, the existing technology provides cumbersome and time-consuming setting of skeleton animations for multiple virtual characters, resulting in low human-computer interaction efficiency.
Provide a method and device for pose editing of virtual characters. By displaying virtual characters, selecting modules to respond to user operations, editing modules to change the pose shape of virtual characters, including body posture, body orientation and body position, based on the posture corresponding to a virtual character Modeling generates group custom poses.
It realizes fast, accurate and convenient group image pose generation, application and sharing, and improves the efficiency and user experience of pose editing of multiple virtual characters.
Smart Images

Figure CN2024089062_02012025_PF_FP_ABST
Abstract
Description
Virtual character posture editing method, device, equipment and storage medium
[0001] This application claims priority to Chinese patent application No. 202310802192.7 filed on June 30, 2023, entitled “Method, device, equipment and storage medium for editing posture of virtual characters”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] The embodiments of the present application relate to the field of human-computer interaction, and in particular to a method, apparatus, device, and storage medium for editing the posture of a virtual character. Background Art
[0003] In games that support three-dimensional virtual environments, users can manipulate virtual characters in the three-dimensional virtual environment to perform various activities, such as walking, running, attacking, releasing skills, etc.
[0004] In related technologies, virtual characters are implemented using three-dimensional skeletal models. The virtual character's postures in various states of activity are rendered according to pre-set skeletal animations. Users can manipulate the virtual character to move to different positions in the three-dimensional virtual world and strike specific poses using pre-set skeletal animations.
[0005] However, in a scenario where multiple users control multiple virtual characters to take photos, setting skeletal animation for multiple virtual characters is very cumbersome and time-consuming, and the human-computer interaction efficiency is low.
[0006] Summary of the Invention
[0007] This application provides a method, apparatus, device, and storage medium for editing the posture of a virtual character. The technical solution is as follows:
[0008] According to one aspect of the present application, a method for editing a virtual character's posture is provided, which is executed by a computer device, and the method includes:
[0009] displaying at least two virtual characters in a virtual environment;
[0010] In response to a selection operation on a first virtual character among the at least two virtual characters, displaying an editing control for editing the first virtual character;
[0011] In response to an editing operation on the editing control, changing a posture shape corresponding to the first virtual character in the virtual environment, the posture shape including at least one of a body posture, a body orientation, and a body position;
[0012] Based on the posture model corresponding to the first virtual character, a group customized posture corresponding to the at least two virtual characters is obtained.
[0013] According to one aspect of the present application, a device for editing a virtual character's posture is provided, the device comprising:
[0014] A display module, configured to display at least two virtual characters in a virtual environment;
[0015] A selection module, configured to display an editing control for editing a first virtual character among the at least two virtual characters in response to a selection operation on the first virtual character;
[0016] an editing module, configured to change, in response to an editing operation on the editing control, a posture shape corresponding to the first virtual character in the virtual environment, wherein the posture shape includes at least one of a body posture, a body orientation, and a body position;
[0017] The editing module is further configured to obtain the group-customized postures corresponding to the at least two virtual characters based on the posture modeling corresponding to the first virtual character.
[0018] According to another aspect of the present application, a computer device is provided, comprising: a processor and a memory, wherein the memory stores a computer program, and the computer program is loaded and executed by the processor to implement the above-mentioned method for editing the posture of a virtual character.
[0019] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and the computer program is loaded and executed by a processor to implement the above-mentioned method for editing the posture of a virtual character.
[0020] According to another aspect of the present application, a computer program product is provided. The computer program product stores a computer program, and the computer program is loaded and executed by a processor to implement the above-mentioned method for editing the posture of a virtual character.
[0021] According to another aspect of the present application, a chip is provided, which includes at least one of a programmable logic circuit and a program instruction, and a computer device equipped with the chip is used to implement the virtual character posture editing method as described above.
[0022] The beneficial effects of the technical solutions provided in the embodiments of the present application include at least:
[0023] By providing players with editing controls for a first virtual character, and changing at least one of the body postures, body orientations, and body positions corresponding to at least two virtual characters, a group-customized posture comprising multiple virtual characters is obtained, so that multiple virtual characters controlled by multiple users can be displayed in a group portrait according to the group-customized posture, thereby realizing a fast, accurate, and convenient UGC generation, application, and sharing solution for group portrait postures. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] FIG1 shows a block diagram of a computer system according to an embodiment of the present invention;
[0025] FIG2 shows an interface diagram of a method for editing a virtual character's posture provided by one embodiment of the present application;
[0026] FIG3 shows a flowchart of a gesture editing method provided by an embodiment of the present application;
[0027] FIG4 shows a schematic diagram of a gesture editing interface provided by an embodiment of the present application;
[0028] FIG5 shows a flow chart of a method for starting a gesture editing function provided by one embodiment of the present application;
[0029] FIG6 is a schematic diagram showing a first entry of a gesture editing function provided by one embodiment of the present application;
[0030] FIG7 is a schematic diagram showing a second entry of a gesture editing function provided by one embodiment of the present application;
[0031] FIG8 is a schematic diagram showing the working principle of a camera model in a virtual environment provided by one embodiment of the present application;
[0032] FIG9 is a schematic diagram showing a gesture editing method provided by an embodiment of the present application;
[0033] FIG10 is a schematic diagram showing a gesture editing method provided by an embodiment of the present application;
[0034] FIG11 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0035] FIG12 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0036] FIG13 is a schematic diagram showing a gesture editing method provided by an embodiment of the present application;
[0037] FIG14 shows a schematic diagram of a skeleton provided by an embodiment of the present application;
[0038] FIG15 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0039] FIG16 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0040] FIG17 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0041] FIG18 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0042] FIG19 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0043] FIG20 shows a schematic flow chart of a gesture editing method provided by one embodiment of the present application;
[0044] FIG21 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0045] FIG22 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0046] FIG23 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0047] FIG24 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0048] FIG25 is a schematic diagram showing a flow chart of a gesture editing method provided by one embodiment of the present application;
[0049] FIG26 is a schematic diagram showing a gesture editing method provided by one embodiment of the present application;
[0050] FIG27 shows a schematic diagram of a group custom gesture sharing process provided by an embodiment of the present application;
[0051] FIG28 is a schematic diagram showing a group custom gesture sharing interface provided by one embodiment of the present application;
[0052] FIG29 is a schematic diagram showing a group custom gesture sharing interface provided by one embodiment of the present application;
[0053] FIG30 shows a flowchart of a method for editing a virtual character's posture according to an embodiment of the present application;
[0054] FIG31 shows a schematic structural diagram of a virtual character posture editing device provided by one embodiment of the present application;
[0055] FIG32 shows a structural block diagram of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0056] Skeleton chain: The virtual characters in this application are implemented using a skeleton model, and a skeleton model includes at least one skeleton chain. Each skeleton chain is constructed from one or more rigid bones, and two adjacent bones are connected by joints. Joints may or may not have the ability to move. Some bones can rotate and move around the joints. Adjusting the joint parameters can adjust the skeleton posture, and then adjust the skeleton posture, ultimately achieving the posture adjustment of the virtual character.
[0057] Inverse Kinematics (IK): is a technology used to confirm the skeletal posture of a virtual character. If the skeletal model of a virtual character is regarded as a hierarchical skeletal chain structure, the skeletal part at the root of the skeletal chain can be called the root bone, and the skeletal part at the very end of the skeletal chain can be called the end bone. Schematically, IK technology can solve the position, angle and other information of each joint on the skeletal chain to which the end bone belongs, on the premise of determining the target position of the end bone, so that the end bone of the virtual character can be moved to the target position, and the technology of obtaining the overall posture of the skeletal chain through the position information of the end bone is realized. Of course, it is also possible to solve the position of other bones on the skeletal chain in the virtual environment, on the premise of determining the position of an intermediate bone on the skeletal chain, and the embodiments of the present application are not limited to this.
[0058] Modeling: The process by which a user, using the pose editor, adjusts a virtual character to create a personalized, custom pose based on the system's default initial pose. The pose data and pose preview for this custom pose can be saved as a modeling work, making it easier to apply or share the custom pose across virtual characters controlled by different accounts. This modeling work can be considered a user-generated content (UGC) work.
[0059] Style Catalog: Users collect their own style works and other users' style works in the same network space or program function, which is called a style catalog.
[0060] Quick Edit Mode: Drag a single bone point in the avatar to change all other bones in the same chain, adjusting the avatar's pose. Because a single drag can change the positions of multiple bones simultaneously, it's called Quick Edit Mode.
[0061] Expert Edit Mode: This allows you to fine-tune the avatar's pose by rotating a single bone point and changing the corresponding bone position. This allows for fine-tuning of the avatar's pose, as detailed in Expert Edit Mode, by performing individual adjustments on each bone.
[0062] Physiological angle limit of skeleton points: refers to whether each skeleton point is open to x / y / z axis rotation, and the maximum and minimum rotation angles of each skeleton point when rotating on the x / y / z axis. This configuration is set based on physiological characteristics.
[0063] Editable freedom limits for bone points: The maximum angle change that each bone point can rotate around the x / y / z axis is configured based on the system's preset initial posture.
[0064] Sharing: Send user-generated designs to online groups or share them peer-to-peer with friends in a social network. This social network can be in-game or outside of the game.
[0065] Collection: Save and collect the modeling works generated and shared by others.
[0066] One-click application: Using the one-click application function, you can quickly apply the custom gestures created by the current user or other users to the virtual character controlled by the current user.
[0067] Body type: The body type classification of different virtual characters, such as: adult male, adult female, boy's body type, girl's body type, elderly body type, child's body type, etc.
[0068] Heads-up Display (HUD) control: It is a screen that displays relevant information or controls within the game, usually displayed on the upper layer of the virtual environment screen. The virtual environment screen is a screen obtained by observing the three-dimensional virtual environment using a camera model. HUD control is the most effective way for the game world to interact with players. Elements that can convey information to players through visual effects can be called HUD. Common HUD controls include operation controls, prop bars, maps, health bars, etc. Heads-up display controls are also called head-up display controls. In this application, all or part of the editing controls are in the form of HUD controls. Taking game applications as an example, in virtual scenes such as fighting games (FTG), action games (ACT), multiplayer online battle arena (MOBA), real-time strategy games (RTS), massively multiplayer online games (MMOG), shooting games (STG), first-person shooter games (FPS), third-person shooter games (TPS), and arcade games, the postures / movements of the virtual characters controlled by users are preset by the game, such as walking posture, running posture, posture when releasing skills, etc. The user cannot actively set the posture of the virtual character. The embodiment of the present application provides a user-generated content (UGC) function for the postures / movements of the virtual character. The present application supports users in the game to use a posture editor to customize the position and angle of each body part of the virtual character based on the basic postures preset by the system, thereby generating personalized custom postures. At the same time, the custom posture can be saved as a modeling work, shared with other users, used by others, included, etc. Through the complete UGC output-sharing-application-inclusion system, ordinary users can more conveniently obtain the UGC creations of top users in the game, while also satisfying the creative desires, sharing desires, and social needs of top users, filling their spare time and forming a good closed loop of social experience.
[0069] 1 shows a block diagram of a computer system according to an exemplary embodiment of the present application. The computer system 100 includes at least one of a first terminal 110 , a server 120 , and a second terminal 130 .
[0070] The first terminal 110 has installed and runs an application that supports virtual environments, such as gaming applications, extended reality (XR) applications, virtual social applications, interactive entertainment applications, and metaverse applications. The first terminal 110 is used by the first user. This application includes a pose editor for the virtual character, which is used to create, share, and collect the aforementioned avatar artwork.
[0071] In some embodiments, the first terminal 110 can be considered the first user using the first terminal 110. The first terminal 110 is connected to the server 120 via a wireless network or a wired network. The server 120 includes one of a single server, multiple servers, a cloud computing platform, and a virtualization center. Illustratively, the server 120 includes a processor 121 and a memory 122, which in turn includes a receiving module 1221, a display module 1222, and a control module 1223. The server 120 is used to provide background services for applications that support pose editing of virtual characters. Optionally, the server 120 performs primary computing tasks, while the first terminal 110 and the second terminal 130 perform secondary computing tasks; alternatively, the server 120 performs secondary computing tasks, while the first terminal 110 and the second terminal 130 perform primary computing tasks; alternatively, the server 120, the first terminal 110, and the second terminal 130 utilize a distributed computing architecture for collaborative computing.
[0072] The second terminal 130 has an application program installed and running that supports the virtual environment. The second terminal 130 is a terminal used by the second user. The application program includes a pose editor for a virtual character.
[0073] In some embodiments, the second terminal 130 may be considered as a second user using the second terminal 130 .
[0074] Optionally, the first user and the second user may or may not be in the same field of view; or, the first user and the second user may or may not be in the same game; or, the first user and the second user may or may not be in the same battlefield. Optionally, the first user and the second user may belong to the same team, the same organization, have a friendship relationship, or have temporary communication permissions.
[0075] Optionally, the applications installed on the first terminal 110 and the second terminal 130 are the same, or the applications installed on the two terminals are the same type of applications on different control system platforms. The first terminal 110 can generally refer to one of multiple terminals, and the second terminal 130 can generally refer to one of multiple terminals. This embodiment only uses the first terminal 110 and the second terminal 130 as an example. The first terminal 110 and the second terminal 130 are the same or different device types, and the device type includes but is not limited to: at least one of a smartphone, a tablet computer, an e-book reader, a laptop computer, a desktop computer, a television, an augmented reality (AR) terminal, a virtual reality (VR) terminal, a mixed reality (MR) terminal, an XR terminal, a baffle reality (BR) terminal, a cinematic reality (CR) terminal, and a deceived reality (DR) terminal. The following embodiment is described by taking the terminal including a smartphone as an example.
[0076] 2 shows a schematic diagram of an interface of a method for editing the posture of a virtual character provided by an embodiment of the present application. A game client 111 supporting a virtual environment is running in the first terminal 110. The game client 111 provides a group posture editor for the virtual character.
[0077] After the user launches the group pose editor, a group pose editing interface 20 is displayed. At least two virtual characters are displayed in the group pose editing interface 20. This embodiment of the present application uses the example of displaying virtual characters 221, 222, and 223 in the group pose editing interface 20 as an example for schematic illustration, but does not limit the number of virtual characters in the group pose editing interface 20.
[0078] After a user selects one or more virtual characters from at least two virtual characters within the group pose editing interface 20, the selected virtual character is referred to as the first virtual character. This embodiment of the present application uses virtual character 221 as an example for schematic illustration. Virtual character 221 is displayed based on a skeletal model. Virtual character 221 has multiple editable candidate skeletal points 24. It should be understood that virtual character 221 may not display a skeletal model; that is, virtual character 221 may display only body parts without displaying the skeleton.
[0079] The user can edit different bone points multiple times to change the corresponding posture shape of the virtual character 221 in the virtual environment. The posture shape includes at least one of body posture, body orientation and body position, thereby adjusting the posture of the virtual character 221 to the desired custom posture 281.
[0080] Similarly, the user can edit one or more virtual characters in the group gesture editing interface 20 to obtain group custom gestures corresponding to at least two virtual characters. For example, the gesture of virtual character 221 is adjusted to a desired custom gesture 281, the gesture of virtual character 222 is adjusted to a desired custom gesture 282, and the gesture of virtual character 223 is adjusted to a desired custom gesture 283. The group custom gestures include custom gesture 281, custom gesture 282, and custom gesture 283.
[0081] Then, the user may save the group custom gesture as a modeling work (including the gesture data of the custom gesture 281 , the gesture data of the custom gesture 282 , and the gesture data of the custom gesture 283 ).
[0082] This group-customized pose is a user-generated content (UGC) that can be shared and used across various accounts within the game client. This group-customized pose can also be saved and edited by the current user or other users to create other group-customized poses. The aforementioned avatar can be a model avatar or a standard avatar.
[0083] It should be noted that the information involved in this application (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the information involved in this application is obtained with full authorization, and the terminal and server only cache the information during the program operation, and will not solidify the storage and reuse the relevant data of the information.
[0084] FIG3 is a flow chart illustrating a method for editing a virtual character's posture provided by an exemplary embodiment of the present application. The method provided in this embodiment can be executed by a computer device. In the embodiment of the present application, the method is described by taking the terminal shown in FIG1 as an example. The method includes at least some of the following steps:
[0085] Step 320: Display at least two virtual characters in the virtual environment;
[0086] The terminal runs an application that supports a virtual environment. The application can be a game client or a social client (such as a metaverse social program). The application provides one or more virtual characters. Each user account controls a different virtual character to play games or socialize virtually. Different user accounts can form at least one of a friend relationship, a group relationship, and a temporary group relationship.
[0087] For example, an application program such as a game client may include user-controlled virtual characters and non-user-controlled virtual characters. The user-controlled virtual characters may be displayed in a virtual character display interface for the user to view. When displaying the virtual characters, the virtual characters' postures may be preset in the game client. However, in the present embodiment, the user may customize the postures of multiple virtual characters.
[0088] If the user wants to customize the postures of multiple virtual characters, a group posture creation operation is performed in the game client to trigger a group posture creation request. The terminal responds to the group posture creation request and displays a group posture editing interface. The group posture editing interface is used to edit the group posture of the virtual characters. The group posture editing interface includes at least two virtual characters located in the virtual environment, and the user edits the posture of the virtual characters.
[0089] In some embodiments, the aforementioned virtual character is implemented as a model virtual character, which serves as a model during the group pose editing process. The model virtual character can be one of multiple candidate model virtual characters. The multiple candidate model virtual characters can be divided according to factors such as body type, gender, and age. For example, providing virtual characters with three body types, the multiple candidate model virtual characters include: a first model virtual character corresponding to an adult male, a second model virtual character corresponding to an adult female, a third model virtual character corresponding to a teenage girl, and a virtual character controlled by the current user (one of the three body types, a personalized face, and personalized clothing).
[0090] Step 340: In response to a selection operation on a first virtual character among the at least two virtual characters, displaying an editing control for editing the first virtual character;
[0091] After one or more virtual characters are selected from the at least two virtual characters, an editing control for editing a first virtual character is displayed. The first virtual character is the virtual character selected from the at least two virtual characters.
[0092] The editing control can be used to change the posture shape corresponding to the first virtual character in the virtual environment, and the posture shape includes at least one of body posture, body orientation and body position.
[0093] In some embodiments, the editing control includes at least one of a body orientation editing control, a body position editing control, and a body posture editing control.
[0094] The body orientation edit control is used to control the orientation of the first avatar in the virtual environment. The body position edit control is used to control the position of the first avatar in the virtual environment. The body pose edit control is used to control the pose of a specified body part of the first avatar in the virtual environment.
[0095] In some embodiments, the body posture editing control includes at least one of a part orientation control control, a part posture control, and a reference object orientation control.
[0096] In some embodiments, the editing control includes applying a whole control (see control 71 in FIG. 13 ). In response to a trigger operation on the apply whole control, the gesture shape corresponding to the first avatar is applied to all avatars in the group gesture editing interface 20 .
[0097] In some embodiments, based on the body posture of the first virtual character, the body postures of at least two virtual characters in the group posture editing interface are uniformly changed.
[0098] In some embodiments, based on the posture of the local body part corresponding to the first virtual character, the postures of the local body parts corresponding to at least two virtual characters in the group posture editing interface are uniformly changed.
[0099] In some embodiments, based on the body orientation of the first virtual character, the body orientations of at least two virtual characters in the group posture editing interface are uniformly changed. In some embodiments, the body orientations of the virtual characters can be understood as the circle orientations of the virtual characters.
[0100] In some embodiments, based on the orientation of the local body part corresponding to the first virtual character, the orientations of the local body parts corresponding to at least two model virtual characters in the group posture editing interface are uniformly changed.
[0101] In various embodiments, the body positions, body orientations, and local body part orientations of different avatar models within the group pose editing interface may differ. When the local body part orientations of at least two avatar models within the group pose editing interface are uniformly changed, for example, when all avatar models are uniformly set to "looking at the camera," although the gazes of the different avatar models will all be directed toward the camera, the gazes of the different avatar models will still be in different orientations.
[0102] For an illustrative example of the body pose editing controls, see Figure 4 . Multiple menu items 31 are displayed on the left side of the group pose editing interface 20: Joints, Faces, Gestures, and Expressions. The Joints menu is used to open edit controls related to skeletal points; the Faces menu is used to open edit controls related to facial and eye orientation; the Gestures menu is used to open edit controls related to gestures; and the Expressions menu is used to open edit controls related to expressions.
[0103] Based on the various body posture editing controls shown in Figure 4, the body posture of the first virtual character can be edited. The user can edit the posture of different bone points, that is, edit the posture of different body parts, thereby adjusting the posture of the first virtual character to a desired custom posture.
[0104] Step 360: In response to the editing operation on the editing control, changing the posture shape corresponding to the first virtual character in the virtual environment;
[0105] In response to an editing operation on the editing control, the posture shape of the first virtual character is controlled to change so that the first virtual character is in a customized posture.
[0106] Step 380: Based on the posture model corresponding to the first virtual character, obtain group customized postures corresponding to at least two model virtual characters.
[0107] The user performs a posture editing operation on the first virtual character in the group posture editing interface. Based on the posture editing operation performed by the user, the terminal controls the posture of the first virtual character to change according to the instructions of the posture editing operation. After the change, the first virtual character is in a custom posture edited by the user. The custom posture refers to the posture obtained after the posture of the first virtual character is changed based on at least one posture editing operation.
[0108] In various embodiments, at least one of the different body parts of the first avatar is edited, including but not limited to at least one of individual skeletal points (joints and / or bones), gestures, expressions, facial orientation, and eye orientation.
[0109] In different embodiments, a user performs a posture editing operation on different first virtual characters in a group posture editing interface. Based on the posture editing operation performed by the user, the terminal controls at least two virtual characters in the virtual environment to change according to the instructions of the posture editing operation. After the change, the at least two virtual characters are in a group custom posture edited by the user. The group custom posture refers to a group posture obtained after the postures of some or all of the at least two virtual characters are changed based on at least one posture editing operation.
[0110] In various embodiments, after a user performs a pose editing operation on a first avatar in a group pose editing interface, the user can synchronize the pose editing operation performed on the first avatar with one or more other model avatars in the group pose editing interface. Alternatively, the user can synchronize the customized pose of the first avatar after performing the pose editing operation with one or more other model avatars in the group pose editing interface. This eliminates the need for the user to perform repeated pose editing operations on one or more other model avatars, thereby improving the flexibility of group pose editing, reducing the number of operations during group pose editing, and lowering the cost of human-computer operation. This makes the solution provided by the embodiments of the present application simpler and faster, effectively improving the user experience.
[0111] In some embodiments, a synchronization edit control for synchronizing a gesture edit operation performed on a first virtual character with other virtual characters is displayed in the group gesture editing interface. The synchronization edit control may be, for example, a checkbox, a one-click checkbox, or an apply all control, allowing the user to select one or more other virtual characters to synchronize the gesture edit operation performed on the first virtual character. After the user triggers the synchronization edit control, when the user performs a gesture edit operation on the first virtual character, the gesture edit operation performed on the first virtual character is automatically synchronized with the other virtual characters selected by the user, thereby implementing the synchronization function of the gesture edit operation.
[0112] In some embodiments, a synchronization control, such as a format brush control, is displayed in the group gesture editing interface for synchronizing gesture editing operations performed on a first virtual character with those on other virtual characters. After a user performs a gesture editing operation on the first virtual character, the user triggers the format brush control to synchronize the gesture editing operation performed on the first virtual character with those on the other virtual characters, thereby achieving gesture editing synchronization.
[0113] In some embodiments, at least two virtual characters are displayed in a one-to-one correspondence with at least two circle positions. The user can perform at least one of the following steps in the virtual environment: increase the number of virtual characters by increasing the circle position, or decrease the number of virtual characters by decreasing the circle position.
[0114] In some embodiments, the circle can be understood as the location of the virtual character, or the spatial range, or the area to which it belongs.
[0115] In some embodiments, group gesture data for applying a custom gesture on virtual characters controlled by at least two accounts is generated based on the group custom gesture performed by the at least two virtual characters.
[0116] In some embodiments, when the postures of at least two virtual characters reach the posture expected by the user, the user stops performing the group posture editing operation and performs a group posture generation operation on the at least two virtual characters to trigger a group posture generation request. The terminal responds to the group posture generation request and generates group posture data of the group custom posture based on the at least two virtual characters in the group custom posture. The group posture data is used to indicate the group custom posture.
[0117] In some embodiments, the group pose data may be absolute group pose data or relative group pose data. Absolute group pose data refers to the skeletal data of the group custom pose in the virtual environment. Relative group pose data is used to indicate the skeletal offset value of the group custom pose relative to the initial group pose.
[0118] The pose data and accompanying information of the group-customized pose will be saved as a group-customized pose artwork. The accompanying information includes at least one of the following: the creator's account information, creation time, avatar personalization information, avatar body type information, the avatar's initial group pose pose data, the name of the group-customized pose, and a preview image of the group-customized pose.
[0119] The group-customized pose can be applied to the avatar controlled by the first account, or it can be shared by the first account with other accounts and then applied to the avatars controlled by other accounts. This allows the group-customized pose to be shared and applied across accounts as a form of user-generated content.
[0120] In some embodiments, after the first account shares the group-customized pose design work with other accounts, the other accounts apply the group-customized pose design work to other virtual characters other than the master virtual character.
[0121] In some embodiments, after the first account shares the group-customized gesture styling work with other accounts, the other accounts perform a gesture editing operation on the group-customized gesture styling work to form a new group-customized gesture styling work.
[0122] For example, a first account shares a group-customized pose design with a second account. The second account can apply the group-customized pose to other virtual characters besides the second account's main virtual character. The second account can also share the group-customized pose design with a third account. The second account can also edit the group-customized pose design again to create a new group-customized pose design, apply the new group-customized pose design to the first virtual character and other virtual characters, and send the new group-customized pose design to the first account, the third account, and so on.
[0123] To summarize, the method provided in the embodiment of the present application provides players with editing controls for a first virtual character, changes at least one of the body posture, body orientation, and body position corresponding to at least two model virtual characters, and thereby obtains a group custom posture comprising multiple virtual characters, so that multiple virtual characters controlled by multiple users are displayed in group portraits according to the group custom posture, thereby realizing a fast, accurate, and convenient UGC generation, application, and sharing solution for group portrait postures.
[0124] 1. Entrance to the group pose editing function
[0125] FIG5 is a flow chart showing a method for activating a group gesture editing function provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and the aforementioned virtual character implemented as a model virtual character as an example. The method includes:
[0126] Step 222: Displaying an entry for the group gesture editing function in the terminal application;
[0127] Assuming a first account is logged into the application, the user controls the primary virtual character corresponding to the first account, such as the first virtual character, in the application to perform various activities. The application provides various functions, including but not limited to: battle, quest, communication, etc. In this embodiment, the application provides access to a group posture editing function.
[0128] There are one or more entrances to the group gesture editing function. Exemplarily, the entrances to the group gesture editing function include but are not limited to at least one of the following:
[0129] The first entry point for the group pose editing function, which allows users to create new edits based on system preset group poses.
[0130] A second entry to the group pose editing function for secondary editing based on the created group pose.
[0131] Step 224: In response to a triggering operation on the entry of the group pose editing function, a group pose editing interface of at least two model virtual characters is displayed.
[0132] The trigger operation is at least one of a click operation, a double-click operation, a press operation, a slide operation, a voice control operation, and an eye control operation. In response to the trigger operation on the entry of the group pose editing function, a group pose editing interface for at least two model avatars is displayed. The group pose editing interface includes: at least two model avatars located in the virtual environment, and at least one editing control.
[0133] In some embodiments, the virtual environment is a separate virtual environment dedicated to group gesture editing. This virtual environment is distinct from the virtual world in which the avatar lives in daily activities. In some embodiments, the virtual environment may also be a portion of the virtual world in which the avatar lives in daily activities, such as a yard or a room. In some embodiments, the virtual environment can perform at least one of rotation, reduction, enlargement, zooming out, zooming in, and perspective translation.
[0134] In some embodiments, the group pose editing interface displays a surface grid (see grid 60 shown in FIG12 ). The surface grid is used to indicate the spatial range that can be used for group pose customization. The bodies of at least two model avatars cannot exceed the spatial range indicated by the surface grid. In some embodiments, the surface grid displays a grid center, which can indicate the orientation of the spatial range. In some embodiments, when editing the pose of the first avatar, the grid center can be used as a reference point to obtain the relative position information of the grid centers of at least two model avatars.
[0135] In some embodiments, the display mode of the group pose editing interface can be switched between landscape and portrait modes. In some embodiments, based on the change in display mode, at least one of the size, position, and layout of at least two model avatars and editing controls within the group pose editing interface also changes. In some embodiments, if the entry is the first entry, the initial poses of the at least two model avatars are default poses, such as a standing pose with hands hanging down; if the entry is the second entry, the initial poses of the at least two model avatars are pre-created poses.
[0136] As shown in the exemplary embodiment of FIG6 , the application's styling record interface 10 displays a newly created group portrait 41. This newly created group portrait 41 is the first entry point for the pose editing function, which allows users to create and edit poses based on system-preset poses. In response to a triggering operation on newly created group portrait 41, a group pose editing interface 20 for at least two model avatars is displayed. In this group pose editing interface 20, the initial poses of the at least two model avatars are default poses.
[0137] As shown in the exemplary reference figure 7, the created styling works are displayed on the styling record interface 10 of the application. In response to the selection operation of the first styling work, the introduction interface 12 of the first styling work is displayed. The first styling work is a styling work created by the first account or other accounts. The introduction interface 12 of the first styling work is displayed with an edit button 42, and the edit button 42 is the second entrance of the posture editing function for secondary editing based on the created posture. In response to the triggering operation of the edit button 42, the group posture editing interface 20 of at least two model virtual characters is displayed. In the group posture editing interface 20, the postures of the at least two model virtual characters are the postures corresponding to the first styling work. In some embodiments, the secondary editing also requires user confirmation before editing can begin to avoid user misoperation.
[0138] Schematically referring to FIG4 , several general function buttons are also displayed on the group gesture editing interface 20. For example:
[0139] Casual Clothes button 32: The first avatar 22 in the group pose editing interface 20 is displayed based on the skeletal model and the clothing attached to the skeletal model. By default, the clothing attached to the skeletal model is long clothing. In response to the selection of the Casual Clothes button 32, the long clothing on the first avatar 22 is replaced with underwear, thereby exposing various body parts of the model avatar 22, making it easier for users to view changes in the skeletal model of the first avatar 22 during the group pose editing process. In response to the deselection of the Casual Clothes button 32, the underwear on the first avatar 22 is replaced with long clothing, making it easier for users to view changes in the overall appearance of the first avatar 22 during the group pose editing process.
[0140] Body type switching button 33: The group pose editing interface 20 also provides multiple candidate model avatars, each of which can correspond to a different body type. In this embodiment, three body types are provided as an example. The multiple candidate model avatars include: a first model avatar corresponding to an adult male, a second model avatar corresponding to an adult female, a third model avatar corresponding to a teenage girl, and a user-controlled avatar (one of the three body types, a personalized face, and personalized clothing). In some embodiments, in response to a triggering operation on the body type switching button 33, the first avatar 22 in the group pose editing interface 20 is switched to a model avatar of a different body type.
[0141] In some embodiments, in response to a trigger operation on the body shape switching button 33, multiple candidate model virtual characters are displayed; in response to a selection operation on a modal virtual character among the multiple candidate model virtual characters, the first virtual character 22 in the group posture editing interface 20 is switched to the selected model virtual character.
[0142] Undo button 34 and redo button 35; in response to a trigger operation on the undo button 34, the most recent group gesture editing operation is undone; in response to a trigger operation on the redo button 35, the most recently undone group gesture editing operation is redoed.
[0143] Hide button 36 ; in response to a triggering operation on the hide button 36 , all or part of the multiple editing controls are hidden to facilitate giving more display space to the first virtual character 22 in the group gesture editing interface 20 .
[0144] ·Lens control control 37; The image of the first virtual character 22 in the virtual environment is captured by a virtual camera model (referred to as lens). Figure 8 is a schematic diagram of the working principle of a camera model in a virtual environment provided by an embodiment of the present application. The schematic diagram shows the process of mapping a feature point P in the virtual environment 201 to a feature point p' in the imaging plane 203. The coordinates of the feature point p in the virtual environment 201 are in three-dimensional form, and the coordinates of the feature point p' in the imaging plane 203 are in two-dimensional form. Virtual environment 201 is a virtual environment corresponding to the virtual environment. The camera plane 202 is determined by the posture of the camera model. The camera plane 202 is a plane perpendicular to the shooting direction of the camera model, and the imaging plane 203 and the camera plane 202 are parallel to each other. The imaging plane 203 is the plane of the virtual environment within the field of view when the virtual environment is observed when the camera model images it.
[0145] The lens control 37 is used to control the position of the lens in the virtual environment. For example, if the lens control 37 is a joystick, in response to a drag operation on the joystick 37 in at least one of the up, down, left, and right directions, the lens is controlled to move in the corresponding direction in the virtual environment. In some embodiments, in response to an upward swipe operation on a blank area of the group pose editing interface 20, the lens is controlled to rotate upward in the virtual environment; in response to a downward swipe operation on a blank area of the group pose editing interface 20, the lens is controlled to rotate downward in the virtual environment; in response to a left swipe operation on a blank area of the group pose editing interface 20, the lens is controlled to rotate left in the virtual environment; and in response to a right swipe operation on a blank area of the group pose editing interface 20, the lens is controlled to rotate right in the virtual environment. In some embodiments, in response to a pinch-to-zoom operation, a mouse scroll-to-zoom operation, or a key-to-zoom operation on a blank area of the group pose editing interface 20, the lens is controlled to move forward or backward in the virtual environment to increase or decrease the size of the first virtual character in the virtual environment.
[0146] In some embodiments, the lens control widget 37 is displayed as a floating joystick. Some editing controls in the group pose editing interface 20 are also displayed as floating windows. When the floating window is dragged to the location of the lens control widget 37, the lens control widget 37 will adaptively shift to another free location in the group pose editing interface 20.
[0147] Reset lens button 38: Because users may change the lens position multiple times, triggering the reset lens button quickly returns the lens position to its default initial position. Exemplarily, the default initial lens position is centered directly in front of the model avatar. In some embodiments, single-player mode and multiplayer mode each require a default lens configuration, and the configuration parameters of the two default lens configurations may differ.
[0148] 2. How to determine the initial formation
[0149] FIG9 is a flow chart illustrating a method for setting an initial formation provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal, and uses the aforementioned virtual character as a model virtual character as an example. The method includes:
[0150] Step 232: Display at least one of at least one preset formation option and at least one generated formation option;
[0151] In some embodiments, a formation option corresponds to at least one of the following: a starting number of virtual characters in a formation, and a position distribution of at least two virtual characters in a formation.
[0152] In some embodiments, a formation option corresponds to at least one of the following: a starting number of positions in a formation, and a position distribution of at least two positions in a formation.
[0153] In some embodiments, the formation has a center position, and each circle in the formation is placed with the center position as a reference point. The center position can also be called a center reference point.
[0154] Preset formation options are natively provided by the application. Generated formation options include at least one of the following: a formation option corresponding to a custom formation edited by the first account, or a formation option corresponding to a custom formation edited by another account. In some embodiments, at least one generated formation option is a formation option corresponding to a custom formation saved by the first account.
[0155] Schematically, as shown in FIG10 , an initial formation selection control 53 is displayed in the group pose editing interface 20. This initial formation selection control 53 has two menu bars: the first menu bar, "System," is used to trigger the display of at least one preset formation option in the initial formation selection control 53, and the second menu bar, "My," is used to trigger the display of at least one generated formation option in the initial formation selection control 53. The second menu bar, also called "Portfolio," is used to trigger the display of some or all formation options in the current account's portfolio in the initial formation selection control 53.
[0156] In some embodiments, the initial formation selection control 53 is displayed by default upon entering the group pose editing interface 20. It is undisplayed after the user selects an initial formation option. During subsequent editing, in response to a display operation on the initial formation selection control 53, the initial formation selection control 53 is switched from a hidden state to a displayed state; in response to a hide operation on the initial formation selection control 53, the initial formation selection control 53 is switched from a displayed state to a hidden state.
[0157] As shown in FIG. 10 , at least one preset formation option 1001 includes: a two-person formation (including one or more position distributions), a three-person formation (including one or more position distributions), and the like.
[0158] Step 234: In response to a selection operation of a first formation option among the at least one preset formation option, at least two model virtual characters are displayed in the virtual environment according to a first formation corresponding to the first formation option.
[0159] Optionally, the first formation option stores formation data corresponding to the first formation. The formation data corresponding to the first formation is imported into the skeletal models of the at least two mannequin avatars, thereby setting the initial formation of the at least two mannequin avatars in the virtual environment to the first formation corresponding to the first formation option.
[0160] In some embodiments, the group pose editing interface displays a "quick replace" control. In response to a trigger operation on the "quick replace" control, the selected model virtual character pose is replaced with a model virtual character pose in a preset pose option.
[0161] Step 236: In response to a selection operation on a second formation option among the at least one generated formation option, display at least two model virtual characters in the virtual environment according to a second formation corresponding to the second formation option.
[0162] Optionally, the second formation option stores formation data corresponding to the second formation. The formation data corresponding to the second formation is imported into the skeletal models of the at least two mannequin avatars, thereby setting the initial formation of the at least two mannequin avatars in the virtual environment to the second formation corresponding to the second formation option.
[0163] In some embodiments, the group pose editing interface displays a "quick replace" control. In response to a trigger operation on the "quick replace" control, the selected model virtual character pose is replaced with the model virtual character pose in the generated pose options.
[0164] In some embodiments, during the group pose editing process, the user can still change the initial formation of at least two model avatars. During the process of switching to the next initial formation, if the initial formation before switching has been edited, a second confirmation is required before switching to the next initial formation.
[0165] In some embodiments, during the group posture editing process, the user can switch from the formation editing interface to the posture editing interface, or from the posture editing interface to the formation editing interface.
[0166] In summary, the method provided in this embodiment, by providing at least one system-preset formation option, allows users to create custom formations from a few relatively basic preset formations, reducing the amount of manipulation required during group pose editing. For devices with limited operating options, such as mobile phones and tablets, this reduces user interaction costs, making it easier to create more personalized custom formations with minimal manipulation.
[0167] The method provided in this embodiment also provides at least one generated formation option created by the current user and / or other users. The current user can use the custom formation generated by other users as the starting point for secondary creation, and can add his own creativity based on the creativity of other users, thereby facilitating the generation of custom formations that integrate the creativity of different users.
[0168] 3. How to determine the initial posture
[0169] FIG11 is a flow chart showing a method for setting an initial posture according to an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and the virtual character implemented as a model virtual character as an example. The method includes:
[0170] Step 231: Display at least one of at least one preset posture option and at least one generated posture option;
[0171] The preset gesture options are gesture options natively provided by the application, and the generated gesture options include at least one of the following: a gesture option corresponding to a custom gesture edited by the first account, and a gesture option corresponding to a custom gesture edited by another account. In some embodiments, at least one generated gesture option is a gesture option corresponding to a custom gesture stored by the first account.
[0172] 7 , an initial posture selection control 43 is displayed on the group posture editing interface 20. The initial posture selection control 43 has two menu bars: a first menu bar "System" is used to trigger the display of at least one preset posture option in the initial posture selection control 43, and a second menu bar "My" is used to trigger the display of at least one generated posture option in the initial posture selection control 43.
[0173] In some embodiments, the initial posture selection control 43 is displayed by default upon entering the posture editing interface. The display is canceled after the user selects an initial posture option. During subsequent editing, in response to a display operation on the initial posture selection control 43, the initial posture selection control 43 is switched from a hidden state to a displayed state; in response to a hide operation on the initial posture selection control 43, the initial posture selection control 43 is switched from a displayed state to a hidden state.
[0174] As shown in FIG. 7 , at least one preset gesture option includes: blowing gesture, wishing gesture, fist-raising gesture, hands-on-hips gesture, chest-crossing gesture, and the like.
[0175] Step 233: In response to a selection operation of a first posture option among the at least one preset posture option, the initial posture of the first virtual character in the virtual environment is set to a first posture corresponding to the first posture option.
[0176] Optionally, the first posture option stores posture data corresponding to the first posture. The posture data corresponding to the first posture is imported into the skeleton model of the first virtual character, thereby setting the initial posture of the first virtual character in the virtual environment to the first posture corresponding to the first posture option.
[0177] Step 235: In response to a selection operation on a second posture option among the at least one generated posture options, setting the initial posture of the first virtual character in the virtual environment to a second posture corresponding to the second posture option.
[0178] Optionally, the second posture option stores posture data corresponding to the second posture. The posture data corresponding to the second posture is imported into the skeleton model of the first virtual character, thereby setting the initial posture of the first virtual character in the virtual environment to the second posture corresponding to the second posture option.
[0179] In some embodiments, during the posture editing process, the user can still change the initial posture of the first virtual character. During the process of switching to the next initial posture, if the initial posture before switching has been edited, a second confirmation is required before switching to the next initial posture.
[0180] In summary, the method provided in this embodiment, by providing at least one preset pose option pre-set by the system, allows users to use a few relatively basic preset poses as a starting point for creating custom poses, reducing the number of operations required during pose editing. For electronic devices with limited operating modes, such as mobile phones and tablets, this can reduce user operation costs and make it easier to create more personalized custom poses with less manual operation.
[0181] The method provided in this embodiment also provides at least one generated posture option created by the current user and / or other users. The current user can use the custom posture generated by other users as the starting point for secondary creation, and can add his own creativity based on the creativity of other users, thereby facilitating the generation of custom states that integrate the creativity of different users.
[0182] 4. Formation Editing Function
[0183] Fig. 12 shows a schematic diagram of formation editing provided by an exemplary embodiment of the present application. As shown in Fig. 12, a formation editing control 55 and a circle position control 56 are displayed on the group posture editing interface 20.
[0184] In response to a trigger operation on the formation editing control 55, a circle position can be added to the virtual environment. Each circle position is displayed in a one-to-one correspondence with a model avatar. Referring to FIG12 , model avatar 2211 is displayed in correspondence with circle position 2212, model avatar 2213 is displayed in correspondence with circle position 2214, and model avatar 2215 is displayed in correspondence with circle position 2216.
[0185] Optionally, the formation editing control 55 displays at least one of the following: the number of circles already placed in the current formation, the total number of circles that can be placed in the current formation, and the remaining number of circles that can be placed in the current formation.
[0186] In response to a selection operation on the circle control 56 , the selected circle may be deleted from the virtual environment.
[0187] Optionally, to distinguish the positions corresponding to different virtual characters in the current formation, each position has a one-to-one corresponding digital label. In some embodiments, as shown in FIG12 , the position control 56 includes four position controls with digital labels 1 to 4.
[0188] In response to the operation of adding a circle position, a circle position control with the number 5 is added to the end of the circle position queue of the current formation. Optionally, the initial posture of the model virtual character corresponding to the circle position control with the number 5 is set. Optionally, the newly added circle position control is not the default selected circle position control. In response to the selection operation on the circle position control 56, assuming that the currently selected circle position control is number 3, the circle position control with the number 3 is deleted in the virtual environment. Optionally, the numerical labels of the remaining circle position controls in the virtual environment remain unchanged. In response to the operation of adding a circle position, a circle position control with the number 3 is added to the circle position queue of the current formation. Optionally, the initial posture of the model virtual character corresponding to the circle position control with the number 3 is set. Optionally, the newly added circle position control is not the default selected circle position control.
[0189] Optionally, the digital marker of the newly added position control is the digital marker with the smallest value among the digital markers corresponding to the empty positions in the current formation. For example, if the digital markers corresponding to the empty positions in the current formation are 3, 6, and 9, then when adding a position control, the digital marker of the first position control added is set to 3, the digital marker of the second position control added is set to 6, and the digital marker of the last position control added is set to 9.
[0190] In some embodiments, in the group pose editing interface 20, as the number of circles within the formation increases or decreases, the number of model avatars within the formation will also increase or decrease accordingly. For example, two circle controls are displayed within the group pose editing interface 20, numbered 1 and 2, respectively. In response to the operation of adding a circle, a circle control numbered 3 is displayed within the group pose editing interface 20, and the model avatar corresponding to the circle control numbered 3 is displayed at the center of the virtual environment. If the center of the virtual environment is not available for placing a model avatar, the model avatar corresponding to the circle control numbered 3 is displayed at the boundary of the area where the model avatar can be placed. The model avatar corresponding to the circle control numbered 3 is in the initial pose. If multiple model avatars are added simultaneously to the same location within the virtual environment, they are displayed with a certain distance between them.
[0191] In some embodiments, a formation lock control is displayed in the group posture editing interface 20 for locking a specified formation, and a lock mark is displayed in the menu bar of the initial formation selection control 53 for the locked formation.
[0192] In some embodiments, a locked formation can be used to perform at least one of the following operations: a formation selection operation, an unlocking operation. Optionally, a locked formation cannot be used to perform other operations such as editing operations.
[0193] In some embodiments, a body position editing control is displayed within the group pose editing interface 20, as shown in FIG13 . For example, in the form of a floating joystick 54, the body position editing control controls the movement of the first avatar in the virtual environment in the corresponding direction in response to a drag operation on the floating joystick 54. Optionally, the first avatar moves at a fixed speed within the spatial range indicated by the surface grid.
[0194] In some embodiments, a body orientation edit control is displayed within the group pose editing interface 20, as shown in FIG13 . For example, in the form of a rotation joystick 57, in response to a drag operation on the rotation joystick 57 in at least one of the up, down, left, and right directions, the first avatar is controlled to rotate in the corresponding direction within the virtual environment, causing the first avatar's body to face the corresponding direction within the virtual environment. Optionally, the first avatar rotates at a fixed speed within the spatial range indicated by the surface grid.
[0195] In some embodiments, the rotation angle of the first virtual character is determined based on the drag operation on the rotation joystick 57, and the current orientation of the first virtual character is used as the rotation base point. The determined rotation angle is rotated relative to the rotation base point, so that the body orientation of the first virtual character changes accordingly.
[0196] In some embodiments, the body position edit control and the body orientation edit control can be implemented as the same or different controls.
[0197] 5. Posture Editing Function
[0198] Figure 14 shows a schematic diagram of a skeleton model of a virtual character provided by an exemplary embodiment of the present application. The skeleton model includes multiple skeleton chains. Each skeleton chain includes at least one bone, and joints are formed between adjacent bones.
[0199] Exemplarily, the multiple bone chains include:
[0200] Head bone chain, including head bones and neck bones.
[0201] The upper body skeleton chain includes the chest, waist, left hand, and right hand. The left hand skeleton chain includes the left clavicle, left upper arm, left forearm, and left hand. The right hand skeleton chain includes the right clavicle, right upper arm, right forearm, and right hand.
[0202] The lower body skeleton chain includes the pelvis, left leg, and right leg. The left leg skeleton chain includes the left thigh bone, left calf bone, and left foot bone; the right leg skeleton chain includes the right thigh bone, right calf bone, and right foot bone.
[0203] Set the representative joints or bones in the above skeleton model as editable bone points. For example, the editable bone points include: head bone point, neck bone point, chest bone point, waist bone point, left shoulder bone point, left elbow bone point, left hand bone point, right shoulder bone point, right elbow bone point, right hand bone point, left hip bone point, left knee bone point, left foot bone point, right hip bone point, right knee bone point, and right foot bone point.
[0204] In some embodiments, in response to a selection operation on a target circle in the group pose editing interface 20 , a mode selection button for editing the first avatar in the target circle is displayed.
[0205] Exemplarily, the group gesture editing interface displays at least one of the following mode selection buttons: joint mode, facing mode, gesture mode, and expression mode. The joint mode includes: convenient editing mode and expert editing mode.
[0206] In response to a selection operation for the joint mode, editing controls related to pose editing of the skeleton point are displayed. In response to a selection operation for the convenient editing mode, pose editing is performed on the skeleton point and at least two bones on the skeleton chain corresponding to the skeleton point based on the IK mode; in response to a selection operation for the expert editing mode, pose editing is performed on the single bone corresponding to the skeleton point.
[0207] 1. Related content of the above-mentioned expert editing mode.
[0208] FIG15 shows a flowchart of a method for editing the posture of a virtual character provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and uses the virtual character as a model virtual character as an example. The method includes:
[0209] Step 420: Display at least two model virtual characters and at least one candidate skeleton point in the virtual environment;
[0210] In the group pose editing interface, at least two model virtual characters and at least one candidate skeleton point are displayed in the virtual environment. In some embodiments, as shown in Figure 16, the group pose editing interface 20 includes a skeleton point schematic diagram 29 displayed using a HUD control and an option control for at least one candidate skeleton point connected to the relevant position on the skeleton point schematic diagram using a lead line. The skeleton point schematic diagram 29 is a two-dimensional schematic diagram independent of the first virtual character 22. The name of the current skeleton point is displayed on the option control of these candidate skeleton points. In some embodiments, as shown in Figure 16, the group pose editing interface 20 includes at least one candidate skeleton point 24 attached to the skeleton model of the first virtual character 22. These candidate skeleton points 24 are displayed as dot-shaped controls on the corresponding positions of the skeleton model of the first virtual character 22.
[0211] Step 440: In response to a selection operation on a first skeletal point among the at least one candidate skeletal point, displaying a body posture editing control for editing the first skeletal point;
[0212] The selection operation is at least one of a click operation, a double-click operation, a press operation, a slide operation, a voice control operation, and an eye control operation.
[0213] In some embodiments, in response to a selection operation on a first skeletal point from at least one candidate skeletal point in a skeletal point diagram, a body posture editing control for editing the first skeletal point is displayed; in some embodiments, in response to a selection operation on a first skeletal point from at least one candidate skeletal point on a model virtual character, a body posture editing control for editing the first skeletal point is displayed. As shown in schematic reference figure 16, the editing controls corresponding to the first skeletal point include: rotation control 1, rotation control 2, and rotation control 3 corresponding to three coordinate axes, respectively. Rotation control 1 is used for rotation control around the x-axis, rotation control 2 is used for rotation control around the y-axis, and rotation control 3 is used for rotation control around the z-axis.
[0214] Step 460: In response to the editing operation on the body posture editing control, rotate the bone corresponding to the first bone point in the virtual environment.
[0215] This step includes at least one of the following steps:
[0216] In response to a first editing operation on the body pose editing control, rotating the bone corresponding to the first bone point around the x-axis;
[0217] In response to a second editing operation on the body pose editing control, rotating the bone corresponding to the first bone point around the y-axis;
[0218] In response to a third editing operation on the body pose editing control, the bone corresponding to the first bone point is rotated around the z-axis.
[0219] Each skeleton point has a corresponding bone. If the skeleton point is not a joint, the corresponding bone is the bone directly indicated by the skeleton point; if the skeleton point is a joint, the corresponding bone is the next lower-level bone connected to the joint. The at least two bones in a skeleton chain, along the direction from the root bone to the end bone, can be called the first-level bone, the second-level bone, the third-level bone, and so on.
[0220] In some embodiments, the skeleton corresponding to the first skeleton point includes at least one of the following:
[0221] When the first bone point is the head bone point, the bones corresponding to the head bone point are all the bones of the head; when the first bone point is the neck bone point, the bones corresponding to the neck bone point are all the bones of the neck; when the first bone point is the back bone point, the bones corresponding to the back bone point are the bones between the back and the waist; when the first bone point is the waist bone point, the bones corresponding to the waist bone point are the bones between the waist and the hips.
[0222] When the first bone point is the left shoulder bone point, the bone corresponding to the left shoulder bone point is the left upper arm bone; when the first bone point is the left elbow bone point, the bone corresponding to the left elbow bone point is the left forearm bone; when the first bone point is the left hand bone point, the bone corresponding to the left hand bone point is the bone of the left hand; when the first bone point is the right shoulder bone point, the bone corresponding to the right shoulder bone point is the right upper arm bone; when the first bone point is the right elbow bone point, the bone corresponding to the right elbow bone point is the right forearm bone; when the first bone point is the right hand bone point, the bone corresponding to the right hand bone point is the bone of the right hand.
[0223] When the first bone point is the left hip bone point, the bone corresponding to the left hip bone point is the left thigh bone; when the first bone point is the left knee bone point, the bone corresponding to the left knee bone point is the left calf bone; when the first bone point is the left foot bone point, the bone corresponding to the left foot bone point is the bone of the left foot; when the first bone point is the right hip bone point, the bone corresponding to the right hip bone point is the right thigh bone; when the first bone point is the right knee bone point, the bone corresponding to the right knee bone point is the right calf bone; when the first bone point is the right foot bone point, the bone corresponding to the right foot bone point is the bone of the right foot.
[0224] If the first skeletal point is not a joint, the bone corresponding to the first skeletal point is rotated in the virtual environment with the midpoint or center of the bone corresponding to the first skeletal point as the rotation center. If the first skeletal point is a joint, the bone corresponding to the first skeletal point is rotated in the virtual environment with the first skeletal point as the rotation center.
[0225] To sum up, the method provided in this embodiment provides the player with a body posture editing control of the first skeletal point, and in response to the editing operation on the body posture editing control, rotates the bone corresponding to the first skeletal point in the virtual environment, thereby achieving precise control of the bone corresponding to the first skeletal point, providing the player with a refined posture editing solution, and the user can editably generate a variety of custom postures, and subsequently apply the generated custom postures to the virtual character controlled by the current user or other users.
[0226] 2. Related content of the above convenient editing mode.
[0227] FIG17 is a flow chart showing a method for editing the posture of a virtual character provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and uses the virtual character as a model virtual character as an example. The method includes:
[0228] Step 520: Display at least two model virtual characters and at least one candidate skeleton point in the virtual environment;
[0229] In the group pose editing interface, at least two model virtual characters and at least one candidate skeleton point are displayed in the virtual environment.
[0230] Schematically referring to FIG18 , the group pose editing interface 20 includes a skeleton point schematic model 28 displayed using a HUD control and an option control for at least one candidate skeleton point connected to a relevant portion of the skeleton point schematic model 28 using a lead line. The skeleton point schematic model 28 is a two-dimensional schematic diagram independent of the model avatar 22. The option controls for these candidate skeleton points display the name of the current skeleton point. In some embodiments, the pose editing interface 20 also includes at least one candidate skeleton point 24 attached to the skeleton model of the model avatar 22. These candidate skeleton points 24 are displayed as dot-shaped controls at corresponding locations on the skeleton model of the model avatar 22.
[0231] Step 540: In response to a selection operation on a first skeletal point among the at least one candidate skeletal point, displaying a body posture editing control for editing the first skeletal point;
[0232] The selection operation is at least one of a click operation, a double-click operation, a press operation, a slide operation, a voice control operation, and an eye control operation.
[0233] In some embodiments, in response to a selection operation on a first bone point option among at least one candidate bone point of the bone point schematic model 28, a body posture editing control for editing the first bone point is displayed; in some embodiments, in response to a selection operation on a first bone point among at least one candidate bone point 24 on the model virtual character 22, a body posture editing control for editing the first bone point is displayed.
[0234] 18 , this embodiment is illustrated by taking the case where the first skeleton point is the left knee skeleton point.
[0235] Step 560: In response to the editing operation on the body posture editing control, change the position of the first skeletal point in the virtual environment, and link the position of at least one bone bound to the first skeletal point in the virtual environment.
[0236] The skeletal model includes at least one skeletal chain. Each skeletal chain includes a root bone and at least one terminal bone. All or part of the skeletal chain also includes intermediate bones located between the root bone and the terminal bone. In different embodiments, the skeletal chain is divided in different ways. For example, refer to Figure 14, and the relevant content will not be repeated here.
[0237] In response to an edit operation on the body posture editing control, the position of the first skeletal point in the virtual environment is changed, and the position of at least one bone bound to the first skeletal point in the virtual environment is also changed in conjunction. The at least one bone bound to the first skeletal point is typically a bone belonging to the same skeletal chain as the first skeletal point. In some embodiments, the at least one bone bound to the first skeletal point includes all bones belonging to the same skeletal chain as the first skeletal point. In some embodiments, the at least one bone bound to the first skeletal point includes a portion of bones belonging to the same skeletal chain as the first skeletal point, such as bones located below the first skeletal point.
[0238] In some embodiments, users can directly drag and drop to change the position of a first skeletal point, thereby dynamically changing at least one bone in the same skeletal chain as the first skeletal point. Because directly dragging the first skeletal point on a model avatar is intuitive, similar to swinging a puppet, users can intuitively operate without any learning curve, making it very easy to use.
[0239] In some embodiments, the user uses a sliding joystick to change the position of the first skeletal point, thereby linking the change to at least one bone in the same skeletal chain as the first skeletal point. For example, as shown in FIG19 , the editing control for editing the first skeletal point includes: second drag controls 262 corresponding to three coordinate axes, each second drag control 262 being used to implement drag control corresponding to one of the three coordinate axes.
[0240] The virtual environment is constructed based on the world coordinate system. The three coordinate axes are the three coordinate axes in the world coordinate system, and are the three coordinate axes on the private coordinate system constructed with the first skeletal point as the origin. Exemplarily, the second drag controls corresponding to the three coordinate axes include: a second drag control corresponding to the x-axis, a second drag control corresponding to the y-axis, and a second drag control corresponding to the z-axis. Most first skeletal points support dragging on the three coordinate axes. Due to source domains such as limb bending limit restrictions, a small number of first skeletal points only support one or two coordinate axes. At this time, the second drag control corresponding to the non-dragable coordinate axis is displayed as unavailable or hidden. Optionally, the second drag control 262 corresponding to the three coordinate axes is implemented using a HUD control and displayed separately from the model virtual character.
[0241] In some embodiments, when a touch operation is detected on the second drag control corresponding to the first coordinate axis, the second drag controls corresponding to the second coordinate axis and the third coordinate axis are canceled. The touch operation is a touch down event detected on the second drag control 262 corresponding to the first coordinate axis. Exemplarily, a click operation includes a touch down event and a touch up event. A slide / drag operation includes: a touch down event, at least one touch move event and a touch up event. In some embodiments, the touch down event is also called a touch start event, and the touch up event is also called a touch end event.
[0242] The second drag control 262 corresponding to the first coordinate axis is the selected second drag control among the three second drag controls. The first coordinate axis is any one of the three coordinate axes. In this embodiment, the first coordinate axis is illustrated as the x-axis. The second coordinate axis and the third coordinate axis are the other two coordinate axes of the three coordinate axes except the first coordinate axis.
[0243] Since the display area on the terminal is limited, in order to provide more user operation area, when a touch operation on the first and second drag controls is detected, the second drag controls corresponding to the second coordinate axis and the third coordinate axis are canceled.
[0244] In some embodiments, when a touch operation on the second drag control corresponding to the first coordinate axis is detected, the second drag control corresponding to the first coordinate axis is switched from a button form to a sliding rocker form.
[0245] In some embodiments, the three second drag controls 262 each have two display forms: a button form and a sliding rocker form. The sliding rocker form includes a sliding slot and a rocker located above the sliding slot. By default, the three second drag controls are displayed as buttons. The display area of a single second drag control in button form is smaller than the display area of a single second drag control in circular wheel form.
[0246] When a touch operation on the second drag control 262 corresponding to the first coordinate axis is detected, the second drag control 262 corresponding to the first coordinate axis is switched from a button form to a sliding rocker form 263 .
[0247] In some embodiments, in response to a drag operation on the second drag control corresponding to the first coordinate axis, the bone corresponding to the first bone point is dragged around the first coordinate axis with the first bone point as the drag base point.
[0248] In some embodiments, in response to the operation of dragging the second drag control 262 corresponding to the first coordinate axis in the first drag direction, the bone corresponding to the first bone point is dragged in a clockwise direction around the first coordinate axis with the first bone point as the drag base point; or in response to the operation of dragging the second drag control 262 corresponding to the first coordinate axis along the second drag direction, the bone corresponding to the first bone point is dragged in a counterclockwise direction around the first coordinate axis with the first bone point as the drag base point; or, in response to the operation of dragging the second drag control 262 corresponding to the first coordinate axis in the first drag direction, the bone corresponding to the first bone point is dragged in a clockwise direction around the first coordinate axis with the first bone point as the drag base point, and, in response to the operation of dragging the second drag control 262 corresponding to the first coordinate axis along the second drag direction, the bone corresponding to the first bone point is dragged in a counterclockwise direction around the first coordinate axis with the first bone point as the drag base point.
[0249] In some embodiments, based on the position of the first skeletal point in the virtual environment, the position of at least one bone bound to the first skeletal point in the virtual environment is changed in a coordinated manner.
[0250] Schematically, the model avatar is displayed based on a skeleton model, which includes at least one skeleton chain;
[0251] Schematically, this step includes: using at least one bone on the same skeletal chain as the first skeletal point as at least one bone bound to the first skeletal point; and using IK linkage to change the position of at least one bone bound to the first skeletal point in the virtual environment based on the position of the first skeletal point in the virtual environment.
[0252] In some embodiments, at least one bone that is on the same skeletal chain as the first skeletal point and is located above the first skeletal point is used as the at least one bone bound to the first skeletal point. In some embodiments, at least one bone that is on the same skeletal chain as the first skeletal point and is located below the first skeletal point is used as the at least one bone bound to the first skeletal point. In some embodiments, all bones that are on the same skeletal chain as the first skeletal point are used as the at least one bone bound to the first skeletal point.
[0253] In some embodiments, when the bone corresponding to the first skeletal point is dragged to a restricted position, the bone corresponding to the first skeletal point is maintained at the restricted position. In other words, when the bone corresponding to the skeletal point remains at the restricted position, the second drag control no longer responds to editing operations beyond the restricted position, but can still respond to editing operations within the restricted position.
[0254] The restricted position includes at least one of a first restricted position and a second restricted position. The first restricted position is set based on the physiological angle limit of the skeleton of the model virtual character. For example, there is a limit on the angle of the human arm when twisting backward, and there is a limit on the angle of the human head when tilting back. The second restricted position is set based on the editing freedom limit. The editing freedom can be set by the developer or the user. For example, after creating a custom pose, the user does not want the waist design in the custom pose to be significantly changed, so the editing freedom limit can be set for the waist of the custom pose. After that, other users can only make small adjustments to the waist of the model virtual character within the editing freedom limit.
[0255] In some embodiments, upon detecting a touch-off operation on the first drag control, the second and third drag controls are restored to display. In some embodiments, upon detecting a touch-off operation on the first drag control, the first drag control is switched from a sliding rocker form back to a button form.
[0256] In summary, the method provided in this embodiment provides the player with an editing control of the first bone point, responds to the editing operation on the body posture editing control, and simultaneously changes the position of the first bone point in the virtual environment, and linkedly changes the position of at least one bone bound to the first bone point in the virtual environment, thereby achieving a single editing operation that can change the posture editing of multiple bones, providing players with a convenient posture editing solution. Users can editably generate a variety of custom postures, and subsequently apply the generated custom postures to virtual characters controlled by the current user or other users.
[0257] 3. The above pattern-oriented content.
[0258] In some embodiments, the body pose editing control includes an orientation reference control for editing the orientation of a local body part of the first avatar. For example, if the local body parts are the face and eyes, the editing mode includes two editing modes: adjusting the facial orientation and adjusting the eye orientation.
[0259] In some embodiments, a direction reference control of a designated body part of the first virtual character is displayed, where the designated body part is a local body part of the first virtual character; and in response to a trigger operation for the direction reference, the direction of the designated body part of the first virtual character is changed.
[0260] For facial orientation
[0261] FIG20 shows a flow chart of a method for editing the orientation of a body part provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and the aforementioned virtual character as a model virtual character as an example. The method includes:
[0262] Step 610: Display at least two model virtual characters in a virtual environment, and display a selection control for a designated body part of a first virtual character;
[0263] In the group pose editing interface, at least two model virtual characters are displayed in the virtual environment. Schematically referring to FIG21 , the group pose editing interface 20 includes menu items: joint mode, facing mode, gesture mode and expression mode.
[0264] In response to the selection of the facing mode, a first manual edit control 251 for facial orientation and a second manual edit control 252 for eye orientation are displayed. In response to a triggering operation on the first manual edit control 251, the manual adjustment function for facial orientation is triggered; in response to a triggering operation on the second manual edit control 252, the manual adjustment function for eye orientation is triggered.
[0265] Step 620: In response to a selection operation on the face, a first orientation reference object corresponding to the face and drag controls corresponding to three coordinate axes for editing the first orientation reference object are displayed, where each drag control is used to implement drag control corresponding to one of the three coordinate axes.
[0266] For example, referring to FIG. 21 , a first orientation reference object 241 is schematically shown. The editing controls for editing the orientation reference object include drag controls 261 corresponding to three coordinate axes, each of which is used to implement drag control corresponding to one of the three coordinate axes. Optionally, the drag controls 261 corresponding to the three coordinate axes are implemented using HUD controls and displayed separately from the model avatar.
[0267] Step 631: when a touch operation on the drag control corresponding to the first coordinate axis is detected, the drag controls corresponding to the second coordinate axis and the third coordinate axis are undisplayed;
[0268] The touch operation is a touch-down event detected on the drag control 261 corresponding to the first coordinate axis.
[0269] The drag control 261 corresponding to the first coordinate axis is the selected drag control among the three drag controls. The first coordinate axis is any one of the three coordinate axes. In this embodiment, the first coordinate axis is an x-axis for example.
[0270] The second coordinate axis and the third coordinate axis are the other two coordinate axes except the first coordinate axis among the three coordinate axes.
[0271] Since the display area on the terminal is limited, in order to provide more user operation area, when a touch operation on the first drag control is detected, the drag controls corresponding to the second coordinate axis and the third coordinate axis are canceled.
[0272] Step 632: When a touch operation on the drag control corresponding to the first coordinate axis is detected, the drag control corresponding to the first coordinate axis is switched from the first form to the second form;
[0273] In some embodiments, all three drag controls 261 have two display forms: a button form and a sliding rocker form. The sliding rocker form includes a sliding slot and a rocker located above the sliding slot. By default, the three drag controls are displayed as buttons. The display area of a single drag control in button form is smaller than the display area of a single circular wheel form.
[0274] When a touch operation on the drag control 261 corresponding to the first coordinate axis is detected, the drag control 261 corresponding to the first coordinate axis is switched from a button form to a sliding rocker form 262 .
[0275] Step 640: In response to a drag operation on a drag control corresponding to a first coordinate axis, changing a position of a first orientation reference object in the virtual environment along the first coordinate axis;
[0276] In response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in a first direction, the position of the reference object in the virtual environment is changed along the positive half-axis of the first coordinate axis; or, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in a second direction, the position of the reference object in the virtual environment is changed along the negative half-axis of the first coordinate axis; or, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in the first direction, the position of the reference object in the virtual environment is changed along the positive half-axis of the first coordinate axis, and, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in the second direction, the position of the reference object in the virtual environment is changed along the negative half-axis of the first coordinate axis.
[0277] Step 650: Control the face of the first virtual character to face the first direction reference object;
[0278] Illustratively, the orientation of the facial part of the first virtual character is bound to the position of the first orientation reference object. When the position of the first orientation reference object changes in the virtual environment, the orientation of the facial part of the first virtual character changes to follow the position of the first orientation reference object.
[0279] In some embodiments, a LookAT function is provided in the posture editor, which takes the coordinates of the first orientation reference object in the virtual environment, the coordinates of the facial parts of the first virtual character, and the upward direction of the first virtual character as parameters. Calling the LookAT function can return a view matrix for transforming the facial parts of the first virtual character. By transforming the facial parts of the first virtual character based on the view matrix, the orientation of the facial parts of the first virtual character can be changed to follow the position of the first orientation reference object.
[0280] Step 660: When the face is dragged to the restricted position, keep the face at the restricted position.
[0281] If a face is dragged to a restricted position, further drag operations in the same direction will maintain the face in the restricted position. In other words, if the face remains in the restricted position, the drag control will no longer respond to edits beyond the restricted position, but will still respond to edits within the restricted position.
[0282] The restricted position includes at least one of a first restricted position and a second restricted position.
[0283] The first restricted position is set based on the physiological angle limit of the skeleton of the model virtual character. For example, there is a limit on the angle of the human arm when twisting backward, and there is a limit on the angle of the human head when tilting back.
[0284] The second restricted position is set based on an editing freedom restriction. This editing freedom can be set by the developer or the user. For example, after creating a custom pose, a user might not want the waist design of the pose to be significantly altered. Therefore, an editing freedom restriction can be set for the waist of the custom pose. Afterwards, other users can only make small adjustments to the avatar's waist within this editing freedom restriction.
[0285] In summary, the method provided in this embodiment provides the player with an editing control of the first orientation reference object, and changes the position of the first orientation reference object in the virtual environment in response to the editing operation on the editing control; and then controls the facial parts of the model virtual character to face the first orientation reference object, thereby providing a function of adjusting the orientation of the facial parts of the virtual character, providing players with a convenient posture editing solution, and users can edit and generate various custom postures, and subsequently apply the generated custom postures to the virtual characters controlled by the current user or other users.
[0286] The method provided in this embodiment provides drag controls corresponding to the three coordinate axes, allowing users to perform refined pose editing in the x-axis, y-axis, and z-axis directions, with respect to a reference object. Through multiple pose editing attempts, the body parts of the model avatar can be edited into a variety of desired poses, providing a higher degree of refinement in pose editing.
[0287] The method provided in this embodiment can also reduce the number of controls displayed on the posture editing interface by canceling the display of the drag controls corresponding to the second and third coordinate axes when the drag control corresponding to the first coordinate axis is selected, thereby providing the user with a larger operating space while reducing information interference to the user.
[0288] Targeting eye direction
[0289] FIG22 is a flowchart of a method for editing the orientation of a body part provided by an exemplary embodiment of the present application. This embodiment uses the method executed by a terminal and the aforementioned virtual character as a model virtual character as an example. The method includes:
[0290] Step 710: Display at least two model avatars in a virtual environment, and display a selection control for a designated body part of a first avatar;
[0291] In the group pose editing interface, at least two model virtual characters are displayed in a virtual environment.
[0292] 21 , the group gesture editing interface 20 includes menu items: joint mode, facing mode, gesture mode, and expression mode.
[0293] In response to the selection of the facing mode, a first manual edit control 251 for facial orientation and a second manual edit control 252 for eye orientation are displayed. In response to a triggering operation on the first manual edit control 251, the manual adjustment function for facial orientation is triggered; in response to a triggering operation on the second manual edit control 252, the manual adjustment function for eye orientation is triggered.
[0294] Step 720: In response to the selection operation on the eye, a second orientation reference corresponding to the eye and drag controls corresponding to the three coordinate axes for editing the second orientation reference are displayed, where each drag control is used to implement drag control corresponding to one of the three coordinate axes.
[0295] Taking the designated body part as the eye as an example, schematic reference Figure 21 shows a second orientation reference object 242, and the editing controls for editing the orientation reference object include: drag controls 261 corresponding to the three coordinate axes respectively, and each drag control 261 is used to implement the drag control corresponding to one of the three coordinate axes.
[0296] Optionally, the drag controls 261 corresponding to the three coordinate axes are implemented using HUD controls and displayed separately from the model virtual character.
[0297] In some embodiments, the first orientation reference 241 and the second orientation reference 242 can be displayed at the same time, and only one of them is currently activated; in some embodiments, only one of the first orientation reference 241 and the second orientation reference 242 is displayed at the same time, and when one of the orientation references is activated, the other orientation reference will be canceled or hidden.
[0298] Step 731: when a touch operation on the drag control corresponding to the first coordinate axis is detected, the drag controls corresponding to the second coordinate axis and the third coordinate axis are undisplayed;
[0299] The touch operation is a touch-down event detected on the drag control 261 corresponding to the first coordinate axis.
[0300] The drag control 261 corresponding to the first coordinate axis is the selected drag control among the three drag controls. The first coordinate axis is any one of the three coordinate axes. In this embodiment, the first coordinate axis is an x-axis for example.
[0301] The second coordinate axis and the third coordinate axis are the other two coordinate axes except the first coordinate axis among the three coordinate axes.
[0302] Since the display area on the terminal is limited, in order to provide more user operation area, when a touch operation on the first drag control is detected, the drag controls corresponding to the second coordinate axis and the third coordinate axis are canceled.
[0303] Step 732: When a touch operation is detected on the drag control corresponding to the first coordinate axis, the drag control corresponding to the first coordinate axis is switched from a button form to a sliding rocker form;
[0304] In some embodiments, all three drag controls 261 have two display forms: a button form and a sliding rocker form. The sliding rocker form includes a sliding slot and a rocker located above the sliding slot. By default, the three drag controls are displayed as buttons. The display area of a single drag control in button form is smaller than the display area of a single circular wheel form.
[0305] When a touch operation on the drag control 261 corresponding to the first coordinate axis is detected, the drag control 261 corresponding to the first coordinate axis is switched from a button form to a sliding rocker form 262 .
[0306] Step 740: In response to a drag operation on the drag control corresponding to the first coordinate axis, changing the position of the second orientation reference object in the virtual environment along the first coordinate axis;
[0307] In response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in a first direction, the position of the reference object in the virtual environment is changed along the positive half-axis of the first coordinate axis; or, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in a second direction, the position of the second reference object in the virtual environment is changed along the negative half-axis of the first coordinate axis; or, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in the first direction, the position of the reference object in the virtual environment is changed along the positive half-axis of the first coordinate axis, and, in response to a dragging operation of dragging the drag control corresponding to the first coordinate axis in the second direction, the position of the second reference object in the virtual environment is changed along the negative half-axis of the first coordinate axis.
[0308] Step 750: Control the eyes of the first virtual character to face the second reference object;
[0309] Illustratively, the orientation of the eyes of the first avatar is bound to the position of the second orientation reference object. When the position of the second orientation reference object changes in the virtual environment, the orientation of the eyes of the first avatar is changed to follow the position of the second orientation reference object.
[0310] In some embodiments, a LookAT function is provided in the posture editor, which takes the coordinates of the second reference object in the virtual environment, the coordinates of the eye part of the first virtual character, and the upward direction of the first virtual character as parameters. Calling the LookAT function can return a view matrix for transforming the eye part of the first virtual character. By transforming the eye part of the first virtual character based on the view matrix, the direction of the eye part of the first virtual character can be changed to follow the position of the second reference object.
[0311] Step 760: When the eye is dragged to the restricted position, keep the eye at the restricted position.
[0312] If the eye is dragged to a restricted position, if it continues to receive drag operations in the same direction, it will remain in the restricted position. In other words, if the eye remains in the restricted position, the drag control will no longer respond to editing operations outside the restricted position, but it will still respond to editing operations within the restricted position.
[0313] The restricted position includes at least one of a first restricted position and a second restricted position.
[0314] The first restricted position is set based on the physiological angle limit of the skeleton of the model virtual character. For example, there is a limit on the angle of the human arm when twisting backward, and there is a limit on the angle of the human head when tilting back.
[0315] The second restricted position is set based on an editing freedom restriction. This editing freedom can be set by the developer or the user. For example, after creating a custom pose, a user might not want the waist design of the pose to be significantly altered. Therefore, an editing freedom restriction can be set for the waist of the custom pose. Afterwards, other users can only make small adjustments to the avatar's waist within this editing freedom restriction.
[0316] In summary, the method provided in this embodiment provides the player with an editing control for a second orientation reference object, and changes the position of the second orientation reference object in the virtual environment in response to the editing operation on the editing control; and then controls the eye area of the first virtual character to face the second orientation reference object, thereby providing a function of adjusting the orientation of the eye area of the virtual character, providing players with a convenient posture editing solution, and users can editably generate various custom postures, and subsequently apply the generated custom postures to virtual characters controlled by the current user or other users.
[0317] The method provided in this embodiment provides drag controls corresponding to the three coordinate axes, allowing the user to perform refined pose editing in the x-axis, y-axis, and z-axis directions with respect to a reference object. Through multiple pose editing operations, the body parts of the first virtual character can be edited into a variety of desired poses, thereby providing a higher degree of refinement in pose editing.
[0318] The method provided in this embodiment can also reduce the number of controls displayed on the posture editing interface by canceling the display of the drag controls corresponding to the second and third coordinate axes when the drag control corresponding to the first coordinate axis is selected, thereby providing the user with a larger operating space while reducing information interference to the user.
[0319] In some embodiments, the body pose editing control includes a body part orientation control for controlling the orientation of a local body part of the first avatar. For example, if the local body parts are the face and eyes, the editing mode includes two editing modes: facial orientation control and eye orientation control.
[0320] In some embodiments, a part orientation control control for a specified body part of a first virtual character is displayed, wherein the specified body part is a local body part of the first virtual character; in response to a trigger operation for the part orientation control, the specified body part is controlled to move toward the position indicated by the part orientation control control in the virtual environment.
[0321] Facial orientation control
[0322] The group posture editing interface 20 displays the facial orientation control controls: a first look forward control, a first look camera control, and a first follow camera control.
[0323] In response to the user clicking the first look-forward control, the face of the first virtual character is controlled to face the front of the first virtual character's body; in response to the user clicking the first look-at-the-camera control, the face of the first virtual character is controlled to face the center of the group posture editing interface 20; in response to the user clicking the first follow-at-the-camera control, the face of the first virtual character is controlled to always face the center of the group posture editing interface 20.
[0324] Control of eye direction
[0325] The group posture editing interface 20 displays the eye orientation control controls: a second look forward control, a second look camera control, and a second follow camera control.
[0326] In response to the user clicking the second look-forward control, the eyes of the first virtual character are controlled to face the front of the first virtual character's body; in response to the user clicking the second look-at-camera control, the eyes of the first virtual character are controlled to face the center of the group posture editing interface 20; in response to the user clicking the second follow-camera control, the eyes of the first virtual character are controlled to always face the center of the group posture editing interface 20.
[0327] To sum up, the method provided in this embodiment provides players with a part orientation control control for a specified body part, and in response to a trigger operation on the part orientation control control, controls the specified body part of the model virtual character to face the position indicated by the part orientation control control in the virtual environment, thereby providing a part orientation adjustment function for the specified body part of the virtual character, providing players with a convenient posture editing solution, and users can editably generate various custom postures, and subsequently apply the generated custom postures to the virtual character controlled by the current user or other users, thereby realizing a UGC generation, application and sharing solution for the posture of the virtual character.
[0328] 4. Related content of the above gesture mode.
[0329] In some embodiments, the body pose editing control includes a part pose control for controlling the pose of a local body part of the first avatar. For example, if the local body parts are hands and face, the editing mode includes two editing modes: adjusting the hands and adjusting the face.
[0330] In some embodiments, in response to a triggering operation of a part posture control, at least one candidate posture of a specified body part of the first virtual character is displayed, and the candidate posture is used to present the specified body part as a preset posture shape; in response to a selection operation for a target posture in at least one candidate posture, the specified body part is switched to be displayed as the posture shape corresponding to the target posture.
[0331] FIG23 shows a flow chart of a method for editing the posture of a complex part provided by an exemplary embodiment of the present application. This embodiment is illustrated by an example of the method being executed by a terminal. The method includes:
[0332] Step 810: Display at least two model virtual characters in a virtual environment, and display a selection control for a designated body part of a first virtual character;
[0333] In a group pose editing interface, at least two model virtual characters are displayed in a virtual environment. A first virtual character is displayed based on a skeleton model and includes hand parts.
[0334] Step 820: Display at least one candidate hand gesture posture of a hand of the first virtual character and a hand selection control, where the candidate hand gesture posture is used to present the hand part as a preset hand gesture shape;
[0335] 24 , one or more candidate hand gestures 271 for the hand of the first virtual character 22 are displayed in the group gesture editing interface 20 . Each candidate hand gesture 271 is used to present the hand as a preset hand gesture. Different candidate hand gestures have different gesture shapes.
[0336] In some embodiments, the candidate gesture postures 271 include at least one of: a V-shaped victory gesture, a straight and closed hand gesture, a relaxed hand gesture, a thumbs-up gesture, a heart gesture, a relaxed hand gesture, an open palm gesture, a fist gesture, and a spread hand gesture.
[0337] In some embodiments, the hand selection controls include a left-hand selection control 272 and a right-hand selection control 273. In some embodiments, the hand selection controls include a left-hand selection control 272, a right-hand selection control 273, and a two-hand selection control 274. The left-hand selection control 272 is used to select a part of the left hand; the right-hand selection control 273 is used to select a part of the right hand; and the two-hand selection control 274 is used to select both parts of the left and right hands simultaneously.
[0338] Step 831: In response to a selection operation for a target gesture action from at least one candidate gesture action and the left hand selection control being in a selected state, switching the hand portion on the left side of the first virtual character to be displayed as a gesture shape corresponding to the target gesture action;
[0339] In some embodiments, local skeleton data corresponding to the left hand is pre-stored for each candidate hand gesture 271. If there are multiple body types of model avatars, local skeleton data corresponding to the left hand of the candidate hand gesture 271 is also stored for each body type of model avatar.
[0340] In response to a selection operation for a target gesture action among at least one candidate gesture actions and the left-hand selection control is in a selected state, local skeleton data of the target gesture is queried based on the body shape of the first virtual character, the ID of the target gesture posture and the left hand identifier; the local skeleton data of the hand part on the left side of the first virtual character is replaced with the local skeleton data of the target gesture posture.
[0341] Step 832: In response to a selection operation for a target gesture action in at least one candidate gesture action and the right-hand selection control being in a selected state, the hand part on the right side of the first virtual character is switched to be displayed as a gesture shape corresponding to the target gesture action.
[0342] In some embodiments, local skeleton data corresponding to the right hand is pre-stored for each candidate hand gesture posture 271. If there are multiple body types of model avatars, local skeleton data corresponding to the right hand of the candidate hand gesture posture 271 is also stored for each body type of model avatar.
[0343] In response to a selection operation for a target gesture action among at least one candidate gesture action and the right-hand selection control is in a selected state, local skeleton data of the target gesture is queried based on the body shape of the first virtual character, the ID of the target gesture posture and the right-hand identification; the local skeleton data of the hand part on the right side of the first virtual character is replaced with the local skeleton data of the target gesture posture.
[0344] Step 833: In response to a selection operation for a target gesture action in at least one candidate gesture action and the two-hand selection control is in a selected state, both hand parts of the first virtual character are switched to be displayed as gesture shapes corresponding to the target gesture action.
[0345] It should be noted that, for the same target gesture action, the target gesture action of the left hand and the target gesture action of the right hand are symmetrical.
[0346] To sum up, the method provided in this embodiment provides the player with at least one candidate hand gesture posture, and in response to the selection operation of the target gesture posture in the at least one candidate hand gesture posture, switches the hand part on the model virtual character to be displayed as a gesture posture shape corresponding to the target gesture posture, thereby realizing that one editing operation can change the gesture posture editing of the entire hand, providing the player with a convenient gesture posture editing solution, and the user can editably generate a variety of custom gesture postures, and subsequently apply the generated custom gesture postures to the virtual character controlled by the current user or other users, thereby realizing a UGC generation, application and sharing solution for virtual character gesture postures.
[0347] 5. Related content of the above expression patterns.
[0348] In some embodiments, the body pose editing control includes a part pose control for controlling the pose of a local body part of the first avatar. For example, if the local body parts are hands and face, the editing mode includes two editing modes: adjusting the hands and adjusting the face.
[0349] In some embodiments, in response to a triggering operation of a part posture control, at least one candidate posture of a specified body part of the first virtual character is displayed, and the candidate posture is used to present the specified body part as a preset posture shape; in response to a selection operation for a target posture in at least one candidate posture, the specified body part is switched to be displayed as the posture shape corresponding to the target posture.
[0350] FIG25 shows a flow chart of a method for editing the posture of a complex part provided by an exemplary embodiment of the present application. This embodiment is illustrated by an example of the method being executed by a terminal. The method includes:
[0351] Step 910: Display at least two model virtual characters in a virtual environment, and display a selection control for a designated body part of a first virtual character;
[0352] In a group pose editing interface, at least two model virtual characters are displayed in a virtual environment. A first virtual character is displayed based on a skeleton model and includes multiple body parts.
[0353] Illustratively, the first virtual character includes at least one body part selected from the group consisting of a head, a torso, limbs, hands, a face, and feet.
[0354] Some of the aforementioned body parts have a large number of bones, making it difficult for users to adjust each bone individually. For example, the face typically has 36 bones, making it difficult for users to adjust each bone individually to achieve the desired expression or pose.
[0355] In this embodiment, the designated body part refers to a body part whose bone count exceeds a preset threshold. The preset threshold may be 3 or 5, etc. The designated body part may also be pre-designated by R&D personnel based on expert experience.
[0356] Step 920: Display at least one candidate expression pose of a facial part of the first virtual character, where the candidate expression pose is used to present a designated body part as a preset expression shape;
[0357] 26 , one or more candidate facial expressions 265 for the first avatar 22 are displayed in the group gesture editing interface 20 . Each candidate facial expression gesture is used to present the facial part in a preset facial expression gesture shape. Different candidate facial expression gestures have different gesture shapes.
[0358] In an illustrative example, the candidate facial expressions include at least one of a smiling expression, a cold expression, a squinting expression, a staring expression, an expression with both eyes closed, an expression with one eye closed, an angry expression, a happy smile, and an angry expression.
[0359] Step 930: In response to a selection operation on a target expression gesture among at least one candidate expression gesture, switching the facial part of the first virtual character to display an expression shape corresponding to the target expression gesture.
[0360] In some embodiments, if there are model avatars of multiple body types, local skeleton data corresponding to the target facial expression and posture are stored for each model avatar of each body type.
[0361] In response to a selection operation for a target expression pose from at least one candidate expression pose, local skeletal data for the target expression pose is retrieved based on the body shape of the first avatar and the ID of the target expression pose; the local skeletal data for the facial parts of the first avatar is replaced with the local skeletal data for the target expression pose. Thus, the facial parts of the first avatar are switched to display the expression shape corresponding to the target expression pose on the interface.
[0362] In summary, the method provided in this embodiment provides the player with at least one candidate expression posture of the facial part, and in response to the selection operation of the target expression posture among the at least one candidate expression posture, switches the facial part on the model virtual character to the expression posture shape corresponding to the target expression posture, thereby realizing that one editing operation can change the expression posture editing of the entire hand, providing the player with a convenient expression posture editing solution, and the user can editably generate a variety of custom expression postures, and subsequently apply the generated custom expression postures to the virtual character controlled by the current user or other users, thereby realizing a UGC generation, application and sharing solution for the expression posture of the virtual character.
[0363] Since the number of candidate postures for the same body part is limited, it may not fully meet the user's personalized needs. The embodiment of the present application also provides a method for generating candidate postures. The method includes:
[0364] The user selects a first target posture and a second target posture from a plurality of pre-set candidate postures. The first target posture is one of the plurality of candidate postures, the second target posture is another of the plurality of candidate postures, and the first target posture and the second target posture are two different postures.
[0365] Taking the first target posture as the starting posture and the second target posture as the ending posture, generating at least one intermediate posture, the at least one intermediate posture being a posture experienced when transitioning from the starting posture to the ending posture;
[0366] In response to the selection operation of the intermediate posture, the designated body part of the model avatar is switched to be displayed as the posture shape corresponding to the intermediate posture. The designated body part can be a hand or a face.
[0367] In some embodiments, generating at least one intermediate posture with the first target posture as the starting posture and the second target posture as the ending posture includes:
[0368] Obtain first skeletal position data of a specified body part in a first target posture; and obtain second skeletal position data of a specified body part in a second target posture; input the first skeletal position data, the second skeletal position data and the expected number of postures into a neural network model to obtain the expected number of intermediate postures.
[0369] The neural network model is trained as follows:
[0370] Obtain first sample bone position data of the specified body part in a first sample posture, the first sample bone position data including position information of each bone in the specified body part in the first sample posture; and obtain second sample bone position data of the specified body part in a second sample posture, the second sample bone position data including position information of each bone in the specified body part in the second sample posture.
[0371] Obtain the number of sample intermediate poses, and based on the number of sample intermediate poses, perform a difference between the position data of the same bone in the first sample bone position data and the second sample bone position data to obtain the number of sample intermediate poses. That is, assuming that the position information of the same bone in the first sample bone position data is (x1, y1, z1); the position information in the second sample bone position data is (x2, y2, z2), and the number of sample intermediate poses is n, then the position information of the i-th sample intermediate pose is:
[0372] i / n*(x1, y1, z1)+(ni) / n*(x2, y2, z2), where i is an integer not greater than n.
[0373] Repeat the above steps for each bone in the specified body part to obtain the third sample bone position data of each sample intermediate posture;
[0374] The neural network model is trained based on the first sample skeletal position data, the second sample skeletal position data, and the number of sample intermediate poses as input data, and the third sample skeletal position data of the sample intermediate poses as label data. To enable the neural network model to be applicable to different numbers of intermediate poses, the number of sample intermediate poses can be set to multiple different values, thereby training a neural network model that is applicable to different numbers of intermediate poses.
[0375] In some embodiments, the above method also includes: collecting three-dimensional image data of a designated body part of a user through a depth camera module; inputting the three-dimensional image data into a neural network model to obtain skeletal position data of the designated body part corresponding to the three-dimensional image data; generating a posture shape of the designated body part of a model virtual character based on the skeletal position data of the designated body part; and switching the designated body part on the model virtual character to display the posture shape.
[0376] This neural network model is trained using paired 3D image data and skeletal position data of a mannequin avatar. The 3D image data is acquired by capturing specific body parts of the avatar using a camera model in a virtual environment, while setting different skeletal positions. This training method eliminates the need for training samples of real human body parts, significantly simplifying the construction of a sample training set.
[0377] 6. Saving Custom Postures
[0378] FIG27 shows a flow chart of a method for saving a custom gesture provided by an exemplary embodiment of the present application. The method comprises: step 1010: displaying a save button for a group custom gesture;
[0379] The Save button can be displayed in more than one place and at more than one time.
[0380] With reference to FIG13 , a Save button 61 is displayed on the group pose editing interface 20. In some embodiments, upon exiting the group pose editing interface, a first pop-up window is displayed, within which a Save button is displayed. In some embodiments, upon changing the initial group pose of the model avatar, a second pop-up window is displayed, within which a Save button is displayed.
[0381] Step 1020: Save the posture data and auxiliary information of the group customized posture as a modeling work.
[0382] The posture data for the custom group posture is absolute group posture data, or relative group posture data relative to the initial group posture. The absolute group posture data stores positional and rotational information for each skeleton of at least two model avatars in the virtual environment. The relative group posture data stores posture offset values for each skeleton of at least two model avatars relative to the initial group posture. Optionally, the posture offset values include at least one of a positional offset value and a rotational offset value for each skeleton relative to the initial posture.
[0383] The pose data and accompanying information of the group-customized pose will be saved as a group-customized pose artwork. The accompanying information includes: the unique identifier of the group-customized pose, the creator's account information, the creation time, personalized information of at least two model avatars, body type information of at least two model avatars, pose data of the initial poses of at least two model avatars, the name of the group-customized pose, and at least one of the following: a preview image of the group-customized pose.
[0384] Optionally, the unique identifier of the group customized gesture is generated by the terminal or the server.
[0385] In some embodiments, in response to the operation of sharing the group custom gesture to the second account, sharing information of the group custom gesture is displayed in a network space to which the second account has access permissions.
[0386] In some embodiments, the first account and the second account have a friend relationship. In response to an operation to share a group custom gesture to a chat window or game mailbox corresponding to the second account, sharing information of the styling artwork corresponding to the custom gesture is displayed in the chat window or game mailbox to which the second account has access permission, so that the second account can apply the group custom gesture to the second virtual character. In some embodiments, in response to an operation to share the group custom gesture to a specified group, sharing information of the group custom gesture is displayed in the specified group.
[0387] 28 , a “Send to” button 62 is displayed on the introduction interface of the modeling work. In response to the triggering operation of the “Send to” button 62, a world channel option 63 and a designated friend option 64 are displayed.
[0388] In response to a trigger operation on the designated friend option 64, multiple friends of the first account on the network are displayed, such as sworn brothers, friends with a mentor-apprentice relationship, and friends across servers. In response to a trigger operation on a second account, the group customized gesture is shared with the second account.
[0389] 28 and 29 , in response to a triggering operation on the world channel option 63, the group customized pose is shared in the dialog box of the world channel, displayed as a sharing message 65. Other accounts in the world channel (e.g., a third account) can view a preview of the pose through the sharing message 65.
[0390] In some embodiments, the shared information displays information such as the name, creator, creation time, and preview image of the modeling work. In response to a trigger operation on the shared information, the relevant data of the modeling work is saved to the modeling record of the second account. In some embodiments, the client logged in with the second / third account obtains the absolute group posture data of the group custom posture, applies the absolute group posture data to the second virtual character, and displays the second virtual character in the group custom posture. In some embodiments, the client logged in with the second / third account obtains the relative group posture data of the group custom posture, and the relative group posture data of the group custom posture is the offset value of the group custom posture relative to the initial group posture. The relative group posture data of the initial group posture corresponding to the group custom posture is obtained, and the relative group posture data of the group custom posture and the posture data of the initial group posture are superimposed to obtain the absolute group posture data of the group custom posture. The absolute group posture data is applied to the second virtual character, and the second virtual character in the group custom posture is displayed.
[0391] It should be understood that the second account includes one or more accounts, and correspondingly, the second virtual character includes one or more virtual characters. It should be understood that the third account includes one or more accounts, and correspondingly, the third virtual character includes one or more virtual characters. In some embodiments, after the first account saves a group-customized gesture, the personal character panel corresponding to the first account displays the styling work corresponding to the group-customized gesture; or, the styling work corresponding to the group-customized gesture is displayed to close accounts, where the close accounts refer to other accounts whose intimacy with the first account reaches an intimacy threshold; or, the styling work corresponding to the group-customized gesture is displayed within the designated group where the first account is located.
[0392] In some embodiments, after the first account saves a group-customized gesture, a page displaying the intimacy between the controlling virtual character and the intimate characters displays styling works or photos of the controlling virtual character and the intimate characters using the group-customized gesture. The controlling virtual character is a virtual character that the first account has control authority over, and the intimate characters include at least one of the following: another character whose intimacy with the controlling virtual character reaches an intimacy threshold, a character with a friend relationship with the controlling virtual character, a character with a mentor-apprentice relationship with the controlling virtual character, a character with a romantic partner relationship with the controlling virtual character, or a character with a teammate relationship with the controlling virtual character.
[0393] In some embodiments, after the first account saves the group custom gesture, the application generates an emoticon package of the modeling work corresponding to the group custom gesture. Optionally, the emoticon package can be used in interactive scenarios within the virtual environment, and can also be used in interactive scenarios outside the virtual environment, such as: group chat scenarios, chat scenarios between the first account and other accounts, etc. Optionally, the emoticon package can be saved to the client corresponding to the first account, and the user applies the emoticon package in other applications other than applications that support virtual character gesture editing, such as: social applications, game applications, interactive entertainment applications, etc. In some embodiments, after the first account saves the group custom gesture, the group custom gesture can be applied in the virtual environment, and virtual characters controlled by other accounts can be invited to apply the group custom gesture.
[0394] In summary, the method provided in this embodiment saves the gesture data and accompanying information of a group custom gesture as a styling work, and saves the styling work as a kind of UGC, thereby facilitating the sharing and application of the custom gesture between different accounts.
[0395] FIG30 shows a flowchart of a method for editing a virtual character's posture provided by an exemplary embodiment of the present application. The method is executed by a terminal in which a client logged into a first account is running. The method includes:
[0396] 1. Startup: The user opens the styling editor through the styling editor portal in the client. In some embodiments, the styling editor can be accessed through the main interface - Menu - Entertainer - Style Catalog - Create Multiplayer Creation. After the user confirms the styling system, the user is transferred to a separate virtual environment. This separate virtual environment can be considered a plane dedicated to styling.
[0397] 2. Select the initial template. After entering the modeling system, multiple preset group poses will be provided. These are several different poses automatically configured by the modeling system. At this time, the user can select a preset group pose from them as the initial group pose. The initial group pose is also called the initial template.
[0398] 3. Quickly adjust the posture of the virtual character in a single circle; after selecting a circle, you can quickly change the posture of a single model virtual character in that circle.
[0399] 4. Enter the detailed editing mode; after selecting a circle, you can enter the detailed editing mode of the circle.
[0400] 5. Customize the circle and skeleton editing: After entering the circle editing mode, you can perform at least one of the following editing operations: edit the circle position, edit the circle orientation, add a circle, delete a circle, lock a circle, unlock a circle, switch the size of the model virtual character in the circle, and quickly change the posture of the model virtual character in the circle.
[0401] After entering the bone editing mode, you can enter by default or choose to enter the joint mode to display the various bone points of the character. The user can select the bone point that needs to be edited to change the local bones of the posture. The user can choose the convenient editing mode to edit, or choose the expert rotation editing mode. When the convenient editing mode is selected, the corresponding interactive interface will pop up. The user can directly drag the first bone point on the model virtual character and drive the multiple bones bound to the first bone point to move together; and can use the UI adjustment wheel to move in the X / Y / Z directions; the three-axis model direction line is displayed on the first bone point to facilitate the user to understand the direction of movement. When the expert rotation editing mode is selected, the corresponding interactive interface will pop up. The user can use the UI adjustment wheel to move the bone corresponding to the first bone point in the X / Y / Z directions; the direction line of the three-dimensional spherical model is displayed on the first bone point to facilitate the understanding of the arc position of the rotation.
[0402] After entering Edit Skeleton Mode, you can enter Face Mode by default or choose to enter Face Mode to edit the character's facial orientation. Users can use the default initial facial orientation state; they can also trigger the Look at Camera control to turn the character's head toward the current camera position; they can also generate a 3D positioning sphere in the scene to make the character look at the sphere's position; players can move the sphere to change its position in the scene, and the character will always face the sphere. After entering Edit Skeleton Mode, you can enter Eye Mode by default or choose to enter Eye Mode to edit the character's eye orientation. Users can use the default initial eye orientation state; they can also trigger the Look at Camera control to turn the character's eye toward the current camera position; they can also generate a 3D positioning sphere in the scene to make the character look at the sphere's position; players can move the sphere to change its position in the scene, and the character will always look at the sphere.
[0403] After entering the Edit Skeleton mode, you can enter Gesture mode by default or select it to edit the character's hand poses. Users can choose to replace only the left hand pose, only the right hand pose, or both. Users can also select the entire skeleton data of a gesture to replace, such as a heart shape or thumbs up.
[0404] After entering the bone editing mode, you can enter the expression mode by default or choose to enter it to edit the character's facial posture. The user can select the whole facial bone data to be replaced: such as sadness, blinking, etc. The user can also select a circle and export the posture of the model virtual character in the circle; the user can also
[0405] 6. Detection Limits: When the user adjusts the skeleton, the modeling system needs to detect at least one of the following limits: (1) Bone Physiological Rotation Angle Limit: The limit rotation angle of each bone in the x / y / z axis. This limit rotation angle is configured by the designer and is controlled so that it does not exceed the physiological limit of the model virtual character. (2) Bone Editing Freedom Rotation Angle Limit: The limit rotation angle of each bone in the x / y / z axis. The control amount of change does not deviate too much from the initial posture.
[0406] 7. Save data: Users can save custom poses. When confirming the save, the modeling system records the absolute value of the rotation angle of each skeletal point. The client then takes a photo of the character at a fixed angle to create a cover image of the new pose. The new data is then uploaded to the server, where a unique ID is generated for storage. The client then saves the solution to the user's portfolio UI.
[0407] 8. Storage and Application: Users can modify saved modeling works or name them for easier management. They can also click Apply on the Pose / Work interface to obtain server-stored data through a unique ID, and apply the pose data to the virtual character they control, allowing the virtual character to strike the custom pose.
[0408] 9. Sharing and Collection. Users can share their designs with others, allowing them to see a preview of the design's cover image and relevant information about the artist. Users can also click on a shared design to add it to their collection, or directly click on it to apply it to their own virtual character.
[0409] FIG31 shows a schematic diagram of a virtual character posture editing device provided by an exemplary embodiment of the present application. The device includes:
[0410] A display module 3120 is configured to display at least two virtual characters in a virtual environment;
[0411] A selection module 3140 is configured to display an editing control for editing a first virtual character in response to a selection operation on the first virtual character of the at least two virtual characters;
[0412] An editing module 3160, configured to change, in response to an editing operation on the editing control, a posture shape corresponding to the first virtual character in the virtual environment, wherein the posture shape includes at least one of a body posture, a body orientation, and a body position;
[0413] The editing module 3160 is further configured to obtain the group-customized postures corresponding to the at least two virtual characters based on the posture modeling corresponding to the first virtual character.
[0414] In some embodiments, the editing control includes a body orientation editing control, and the body orientation editing control is used to implement body orientation control of the first virtual character;
[0415] The editing module 3160 is further configured to rotate the body orientation of the first virtual character based on the current orientation of the first virtual character as a rotation base point in response to a rotation operation of the body orientation editing control.
[0416] In some embodiments, the editing control includes a body position editing control, and the body position editing control is used to implement body position control of the first virtual character;
[0417] The editing module 3160 is further configured to move the body position corresponding to the first virtual character in the virtual environment in response to a movement operation of the body position editing control.
[0418] In some embodiments, the editing control includes a body posture editing control, and the body posture editing control is used to edit the first skeletal point of the first virtual character;
[0419] The editing module 3160 is further configured to change the body posture corresponding to the first virtual character in the virtual environment in response to an editing operation on the body posture editing control.
[0420] In some embodiments, the editing module 3160 is further used to rotate the body part corresponding to the first skeletal point in the virtual environment in response to an editing operation on the body posture editing control; or, in response to an editing operation on the body posture editing control, change the position of the first skeletal point in the virtual environment, and linkedly change the position of at least one body part bound to the first skeletal point in the virtual environment; or, in response to an editing operation on the body posture editing control, rotate the body part corresponding to the first skeletal point in the virtual environment, and, in response to an editing operation on the body posture editing control, change the position of the first skeletal point in the virtual environment, and linkedly change the position of at least one body part bound to the first skeletal point in the virtual environment.
[0421] In some embodiments, the body posture editing control includes a body part orientation control control;
[0422] The display module 3120 is further configured to display the part orientation control control of the designated body part of the first virtual character, where the designated body part is a local body part of the first virtual character;
[0423] The editing module 3160 is further configured to control the designated body part to move toward the position indicated by the body part orientation control in the virtual environment in response to a triggering operation on the body part orientation control control.
[0424] In some embodiments, the body posture editing control includes a part posture control;
[0425] The display module 3120 is further configured to display at least one candidate posture of a designated body part of the first virtual character in response to a triggering operation of the body part posture control, wherein the candidate posture is configured to present the designated body part in a preset posture shape;
[0426] The editing module 3160 is further configured to, in response to a selection operation on a target posture among the at least one candidate posture, switch the display of the designated body part to a posture shape corresponding to the target posture.
[0427] In some embodiments, the body posture editing control includes a heading reference control, the heading reference control includes a heading reference, and the heading reference is an object in the virtual environment;
[0428] The editing module 3160 is further configured to change the orientation of a designated body part of the first virtual character in response to an editing operation on the orientation reference object control, where the designated body part is a local body part of the first virtual character.
[0429] In some embodiments, the at least two virtual characters are displayed in a one-to-one correspondence with the at least two circle positions;
[0430] The editing module 3160 is further configured to add the circle position in the virtual environment; or delete the circle position in the virtual environment.
[0431] In some embodiments, the editing module 3160 is further configured to apply at least one of the body posture, body orientation, and body position corresponding to the first virtual character to the at least two virtual characters.
[0432] In some embodiments, the editing module 3160 is further configured to, when the shape of the body part corresponding to the first virtual character is changed to a restricted position, maintain the shape of the body part corresponding to the first virtual character at the restricted position;
[0433] The restricted position includes at least one of a first restricted position and a second restricted position, the first restricted position is set based on the skeletal physiological angle limit of the first virtual character, and the second restricted position is set based on the editing freedom limit.
[0434] In some embodiments, the display module 3120 is further configured to display at least one of at least one preset body posture option and at least one generated posture option;
[0435] The editing module 3160 is further configured to, in response to a selection operation of a first posture option among the at least one preset body posture option, set the first virtual character to a first posture corresponding to the first posture option;
[0436] The editing module 3160 is further configured to, in response to a selection operation on a second posture option among the at least one generated posture option, set the first virtual character to a second posture corresponding to the second posture option.
[0437] In some embodiments, the display module 3120 is further configured to display at least one of at least one preset formation option and at least one generated formation option;
[0438] The editing module 3160 is further configured to, in response to a selection operation of a first formation option among the at least one preset formation option, display the at least two virtual characters in a first formation corresponding to the first formation option;
[0439] The editing module 3160 is further configured to display the at least two virtual characters in a second formation corresponding to the second formation option in response to a selection operation on a second formation option among the at least one generated formation option.
[0440] In some embodiments, the apparatus further comprises a generating module 3180 for generating gesture data of the group customized gesture based on the group customized gesture.
[0441] In some embodiments, the device is logged in with a first account, and the device further includes a sharing module 3190 for displaying sharing information of the group custom gesture in a network space to which the second account has access rights in response to an operation of sharing the group custom gesture to a second account; or
[0442] In response to an operation of sharing the group-customized gesture to a designated group, displaying sharing information of the group-customized gesture in the designated group;
[0443] Or, in response to the operation of sharing the group customized gesture to a second account, the sharing information of the group customized gesture is displayed in a network space to which the second account has access rights, and in response to the operation of sharing the group customized gesture to a specified group, the sharing information of the group customized gesture is displayed in the specified group.
[0444] FIG32 shows a structural block diagram of a computer device 2300 provided by an exemplary embodiment of the present application.
[0445] Typically, the computer device 2300 includes a processor 2301 and a memory 2302 .
[0446] The processor 2301 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 2301 may be implemented in at least one hardware form of digital signal processing (DSP), field programmable gate array (FPGA), and programmable logic array (PLA). The processor 2301 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 2301 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 2301 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.
[0447] The memory 2302 may include one or more computer-readable storage media. In some embodiments, the non-transitory computer-readable storage medium in the memory 2302 is used to store at least one instruction, which is used to be executed by the processor 2301 to implement the posture editing method of the virtual character provided in the method embodiment of the present application. In some embodiments, the computer device 2300 may also optionally include: an input interface 2303 and an output interface 2304. The processor 2301, the memory 2302 and the input interface 2303 and the output interface 2304 can be connected via a bus or a signal line. Each peripheral device can be connected to the input interface 2303 and the output interface 2304 via a bus, a signal line or a circuit board. The input interface 2303 and the output interface 2304 can be used to connect at least one peripheral device related to input / output (I / O) to the processor 2301 and the memory 2302. In some embodiments, the processor 2301, the memory 2302, the input interface 2303, and the output interface 2304 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 2301, the memory 2302, the input interface 2303, and the output interface 2304 can be implemented on a separate chip or circuit board, which is not limited in the embodiments of the present application.
[0448] In an exemplary embodiment, a computer device is further provided. The computer device includes a processor and a memory. The memory stores a computer program. The computer program is loaded and executed by the processor to implement the above-mentioned method for editing the posture of a virtual character.
[0449] In an exemplary embodiment, a chip is further provided. The chip includes at least one of a programmable logic circuit and a program instruction. A server or terminal equipped with the chip is used to implement the above-mentioned method for editing the posture of a virtual character.
[0450] In an exemplary embodiment, a computer-readable storage medium is further provided, wherein the storage medium stores at least one program, and when the at least one program is executed by a processor, it is used to implement the above-mentioned method for editing the posture of a virtual character.
[0451] In an exemplary embodiment, a computer program product is also provided, which includes a computer program stored in a computer-readable storage medium, a processor reading the computer program from the computer-readable storage medium, and the processor executing the computer program to implement the virtual character posture editing method as described above.
Claims
1. A method for editing a virtual character's posture, executed by a computer device, the method comprising: displaying at least two virtual characters in a virtual environment; In response to a selection operation on a first virtual character among the at least two virtual characters, displaying an editing control for editing the first virtual character; In response to an editing operation on the editing control, changing a posture shape corresponding to the first virtual character in the virtual environment, the posture shape including at least one of a body posture, a body orientation, and a body position; Based on the posture modeling corresponding to the first virtual character, a group customized posture corresponding to the at least two virtual characters is obtained.
2. The method according to claim 1, wherein: The editing control includes a body orientation editing control, and the body orientation editing control is used to implement the body orientation control of the first virtual character; In response to the editing operation on the editing control, changing the posture shape corresponding to the first virtual character in the virtual environment includes: In response to the rotation operation of the body orientation editing control, the body orientation corresponding to the first virtual character is rotated with the current orientation of the first virtual character as a rotation base point.
3. The method according to claim 1 or 2, wherein: The editing control includes a body position editing control, and the body position editing control is used to implement the body position control of the first virtual character; In response to the editing operation on the editing control, changing the posture shape corresponding to the first virtual character in the virtual environment includes: In response to the movement operation of the body position editing control, the body position corresponding to the first virtual character is moved in the virtual environment.
4. The method according to any one of claims 1 to 3, wherein: The editing control includes a body posture editing control, and the body posture editing control is used to edit the first skeleton point of the first virtual character; In response to the editing operation on the editing control, changing the posture shape corresponding to the first virtual character in the virtual environment includes: In response to an editing operation on the body posture editing control, a body posture corresponding to the first virtual character is changed in the virtual environment.
5. The method according to claim 4, wherein: In response to the editing operation on the body posture editing control, changing the body posture corresponding to the first virtual character in the virtual environment comprises at least one of the following steps: In response to an editing operation on the body posture editing control, rotating the body part corresponding to the first skeleton point in the virtual environment; In response to an editing operation on the body posture editing control, the position of the first skeleton point in the virtual environment is changed, and the position of at least one body part bound to the first skeleton point in the virtual environment is also changed in conjunction.
6. The method according to claim 4, wherein: The body posture editing control includes a part orientation control control; In response to the editing operation on the body posture editing control, changing the body posture corresponding to the first virtual character in the virtual environment includes: Displaying the part orientation control control of a designated body part of the first virtual character, wherein the designated body part is a local body part of the first virtual character; In response to a trigger operation on the body part orientation control control, the designated body part is controlled to be oriented toward a position indicated by the body part orientation control control in the virtual environment.
7. The method according to claim 4, wherein: The body posture editing control includes a part posture control; In response to the editing operation on the body posture editing control, changing the body posture corresponding to the first virtual character in the virtual environment includes: In response to the triggering operation of the part gesture control, at least one of the specified body parts of the first virtual character is displayed. a candidate posture, wherein the candidate posture is used to present the designated body part as a preset posture shape; In response to a selection operation on a first posture among the at least one candidate posture, the designated body part is switched to be displayed as a posture shape corresponding to the first posture.
8. The method according to claim 4, wherein: The body posture editing control includes a direction reference object control, the direction reference object control includes a direction reference object, and the direction reference object is an object in the virtual environment; In response to the editing operation on the body posture editing control, changing the body posture corresponding to the first virtual character in the virtual environment includes: In response to an editing operation on the orientation reference object control, the orientation of a designated body part of the first virtual character is changed, the designated body part being a local body part of the first virtual character.
9. The method according to any one of claims 1 to 8, wherein: The at least two virtual characters are displayed in one-to-one correspondence with the at least two circle positions; the method further comprises: Adding the circle position in the virtual environment; or, The circle is deleted in the virtual environment.
10. The method according to any one of claims 1 to 9, wherein: The method further comprises at least one of the following steps: uniformly changing the body postures corresponding to the at least two virtual characters based on the body posture corresponding to the first virtual character; uniformly changing the postures of the local body parts corresponding to the at least two virtual characters based on the postures of the local body parts corresponding to the first virtual character; uniformly changing the body orientations corresponding to the at least two virtual characters based on the body orientation corresponding to the first virtual character; Based on the orientation of the local body part corresponding to the first virtual character, the orientations of the local body parts corresponding to the at least two virtual characters are uniformly changed.
11. The method according to any one of claims 1 to 10, wherein: The method further comprises: When the shape of the body part corresponding to the first virtual character is changed to a restricted position, maintaining the shape of the body part corresponding to the first virtual character at the restricted position; The restricted position includes at least one of a first restricted position and a second restricted position, wherein the first restricted position is set based on a skeletal physiological angle limit of the first virtual character, and the second restricted position is set based on an editing freedom restriction.
12. The method according to any one of claims 1 to 11, wherein: The method further comprises: Display at least one of at least one preset body posture option and at least one generated posture option, wherein the at least one generated posture option is a posture option corresponding to a custom posture recorded in the first account; In response to a selection operation of a first posture option among the at least one preset body posture option, setting the first virtual character to a first posture corresponding to the first posture option; In response to a selection operation of a second posture option among the at least one generated posture option, the first virtual character is set to a second posture corresponding to the second posture option.
13. The method according to any one of claims 1 to 12, wherein: The method further comprises: Displaying at least one of at least one preset formation option and at least one generated formation option, wherein the at least one generated formation option is a formation option corresponding to a custom formation recorded by the first account; In response to a selection operation of a first formation option among the at least one preset formation option, displaying the at least two virtual characters according to a first formation corresponding to the first formation option; In response to a selection operation of a second formation option among the at least one generated formation option, the at least two virtual characters are displayed in a second formation corresponding to the second formation option.
14. The method according to any one of claims 1 to 13, wherein: The method further comprises: Based on the group customized gesture, gesture data of the group customized gesture is generated.
15. The method according to claim 14, wherein: The method is executed by a client that logs in to the first account, and the method further includes at least one of the following steps: In response to the operation of sharing the group-customized gesture to a second account, displaying sharing information of the group-customized gesture in a network space to which the second account has access rights, so that the second account can apply the group-customized gesture on a second virtual character; In response to an operation of sharing the group-customized gesture to a designated group, displaying sharing information of the group-customized gesture in the designated group so that the second account can apply the group-customized gesture on the second virtual character; The second virtual character is a virtual character controlled by the second account.
16. A virtual character posture editing device, the device comprising: A display module, used for displaying at least two virtual characters in a virtual environment; A selection module, configured to display an editing control for editing a first virtual character among the at least two virtual characters in response to a selection operation on the first virtual character; An editing module, configured to change a posture modeling corresponding to the first virtual character in the virtual environment in response to an editing operation on the editing control, wherein the posture modeling includes at least one of a body posture, a body orientation, and a body position; The editing module is further used to obtain the group customized postures corresponding to the at least two virtual characters based on the posture modeling corresponding to the first virtual character.
17. A computer device, comprising: A processor and a memory, wherein the memory stores a computer program, and the computer program is loaded and executed by the processor to implement the posture editing method of a virtual character as described in any one of claims 1 to 15.
18. A computer-readable storage medium storing a computer program, wherein the computer program is loaded and executed by a processor to implement the virtual character posture editing method according to any one of claims 1 to 15.
19. A computer program product, wherein the computer program product stores a computer program, wherein the computer program is loaded and executed by a processor to implement the method for editing the posture of a virtual character as claimed in any one of claims 1 to 15.
20. A chip, comprising at least one of a programmable logic circuit and a program instruction, wherein a computer device equipped with the chip is used to implement the virtual character posture editing method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Virtual environment picture display method and device, equipment and medium
CN111603770A
Method and device for controlling virtual character in game and terminal equipment
CN112791403A
Virtual object setting method and device, equipment, medium and program product
CN113769397A
Virtual object control method and device, equipment and storage medium
CN116188742A
Method and apparatus for adjusting viewing angle in virtual environment, and readable storage medium
US20200357163A1