Method, device, computer device, and computer program for generating projection of main control object

JP7631659B2Active Publication Date: 2025-02-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023566962
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-01-07
Filing Date
2022-10-19
Publication Date
2025-02-19
Estimated Expiration
2042-10-19

AI Technical Summary

Benefits of technology

【0012】 本願の実施例によって提供される技術的解決策は、少なくとも以下の有益な効果を有する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007631659000001
    Figure 0007631659000001
  • Figure 0007631659000002
    Figure 0007631659000002
  • Figure 0007631659000003
    Figure 0007631659000003
Patent Text Reader

Abstract

This application discloses a method, device, equipment and medium for generating a projection of a primary control object in the field of animation technology. The method includes the steps of: extracting an original skeletal model of a primary control object from a body animation blueprint of the primary control object, the primary control object being an object observing a virtual environment from a first-person perspective, the body animation blueprint being used to generate a body model of the primary control object in the virtual environment, the original skeletal model being a model without skeletal deformation of the primary control object (602); adjusting the attitude of the original skeletal model based on a current state of the primary control object to obtain a projection model, the projection model being a model for generating a projection of the primary control object in the virtual environment (604); and rendering the projection model to obtain a projection of the primary control object (606). This application can reduce the computation load of a computer device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to a Chinese patent application filed with the China Patent Office on January 7, 2022, bearing application number 202210015247.5 and entitled "Method, apparatus, device and medium for generating projection of primary control object," the entire contents of which are incorporated herein by reference.

[0002] The present application relates to the field of animation technology, and in particular to a method, device, apparatus and medium for generating a projection of a master control object. [Background technology]

[0003] In order to simulate the real world in a virtual environment, a projection is added to the user's primary control object to enhance the realism of the virtual environment.

[0004] In the related art, two animation blueprints are provided, one of which is an animation blueprint for generating the main control object itself, and the other is an animation blueprint for generating a projection of the main control object. When generating the main control object itself, animation posture matching, skeleton scaling, and model detail optimization are sequentially performed on the skeleton model of the main control object to generate a main body model of the main control object. When generating a projection of the main control object, animation posture matching and model detail optimization are performed on the main control object model to generate a projection model of the main control object.

[0005] The related techniques are computationally intensive and place high demands on computer equipment. Summary of the Invention

[0006] The embodiments of the present application provide a method, device, equipment and medium for generating a projection of a main control object, which can rapidly generate a projection of a main control object, and the technical solutions are as follows:

[0007] According to one aspect of the present application, there is provided a method for generating a projection of a master control object, the method comprising the steps of: extracting an original skeletal model of the primary control object from a body animation blueprint of the primary control object, the primary control object being an object observing a virtual environment from a first person perspective, the body animation blueprint being used to generate a body model of the primary control object in the virtual environment, the original skeletal model being a non-skeleton-deformed model of the primary control object; obtaining a projection model based on the original skeletal model, the projection model being a model for generating a projection of the main control object in the virtual environment; Rendering the projection model to obtain a projection of the primary control object.

[0008] According to another aspect of the present application, there is provided a master controlled projection generating apparatus, the apparatus comprising: an extraction module; an adjustment module; and a rendering module, The extraction module is configured to extract an original skeletal model of the primary control object from a body animation blueprint of the primary control object, the primary control object being an object observing a virtual environment from a first-person perspective, the body animation blueprint being used to generate a body model of the primary control object in the virtual environment, and the original skeletal model being a non-skeletal modified model of the primary control object; the adjustment module is configured to obtain a projection model based on the original skeletal model, the projection model being a model for generating a projection of the main control object in the virtual environment; The rendering module is configured to render the projection model to obtain a projection of the primary control object.

[0009] According to another aspect of the present application, there is provided a computer device comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is loaded and executed by the processor to realize the projection generation method of a main control object described in the above aspect.

[0010] According to another aspect of the present application, a computer storage medium is provided, the computer-readable storage medium having stored therein at least one program code, the program code being loaded and executed by a processor to realize the projection generation method of a main control object as described in the above aspect.

[0011] According to another aspect of the present application, there is provided a computer program product or a computer program, the computer program product or the computer program comprising computer instructions stored in a computer readable storage medium, a processor of a computing device reading the computer instructions from the computer readable storage medium, and the processor executing the computer instructions causes the computing device to perform the method for generating a projection of a master controlled object according to the above aspect.

[0012] The technical solutions provided by the embodiments of the present application have at least the following beneficial effects:

[0013] When generating the projection of the main control object, only the original skeleton model is extracted from the main body animation blueprint, and the projection of the main control object can be obtained based on the original skeleton model. Compared with the related art that uses two different animation blueprints to simultaneously obtain the main body and projection of the main control object, this method can obtain the projection of the main control object without the need to prepare another set of animation blueprints, simplifies the process of obtaining the projection of the main control object, can obtain the projection of the main control object without requiring a large amount of calculation, reduces the calculation load of the computer device, and can perform the projection of the main control object even if the computing power of the computer device is weak. [Brief description of the drawings]

[0014] [Figure 1] FIG. 1 is a schematic structural diagram of a computer system according to an exemplary embodiment of the present application. [Diagram 2] FIG. 1 is a schematic diagram of a related art according to one exemplary embodiment of the present application. [Diagram 3] FIG. 2 is a schematic diagram of a main controlled body according to one exemplary embodiment of the present application; [Figure 4] FIG. 2 is a schematic diagram of a projection of a master control object according to an exemplary embodiment of the present application; [Diagram 5] FIG. 1 is a schematic diagram of a related art according to one exemplary embodiment of the present application. [Figure 6] 1 is a flowchart of a method for generating a projection of a master control object according to an exemplary embodiment of the present application; [Figure 7] FIG. 2 is a schematic diagram of a main controlled body according to one exemplary embodiment of the present application; [Figure 8] FIG. 2 is a schematic diagram of a projection of a master control object according to an exemplary embodiment of the present application; [Figure 9] 1 is a flowchart of a method for generating a projection of a master control object according to an exemplary embodiment of the present application; [Figure 10] FIG. 2 is a schematic diagram of rendering a projection model according to an exemplary embodiment of the present application; [Figure 11]FIG. 1 is a schematic diagram of an integrated projective model according to an exemplary embodiment of the present application; [Figure 12] FIG. 2 is a schematic diagram of rendering a projection model according to an exemplary embodiment of the present application; [Figure 13] FIG. 1 is a schematic diagram of an integrated firearm model according to an exemplary embodiment of the present application. [Figure 14] 1 is a flowchart of a method for generating a projection of a master control object according to an exemplary embodiment of the present application; [Figure 15] 1 is a flowchart of a method for adjusting the pose of an original skeletal model according to an exemplary embodiment of the present application; [Figure 16] FIG. 1 is a schematic diagram of adjusting a child skeleton according to an exemplary embodiment of the present application; [Figure 17] FIG. 2 is a schematic diagram of adjusting a parent scaffold according to one exemplary embodiment of the present application. [Figure 18] 1 is a flowchart of a method for implementing body animation blueprints according to an exemplary embodiment of the present application; [Figure 19] FIG. 1 is a schematic diagram of a method for implementing a body animation blueprint according to an exemplary embodiment of the present application; [Figure 20] 1 is a flowchart of a method for implementing body animation blueprints according to an exemplary embodiment of the present application; [Figure 21] FIG. 1 is a schematic diagram of a method for implementing a body animation blueprint according to an exemplary embodiment of the present application; [Figure 22] FIG. 2 is a schematic diagram of a method for generating a projection of a controlled object according to an exemplary embodiment of the present application; [Diagram 23] FIG. 2 is a schematic structural diagram of a projection generating device of a main control object according to an exemplary embodiment of the present application; [Figure 24] FIG. 1 is a schematic structural diagram of a computer device according to an exemplary embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] First, the terms used in the embodiments of the present application will be explained.

[0016] Primary control object: refers to a movable object controlled by a user and observing the virtual environment from a first-person perspective. The movable object may be a virtual person, a virtual animal, an animated character, etc., for example, a person, an animal, a plant, a drum, a wall, a stone displayed in the virtual environment. Optionally, when the virtual environment is a 3D virtual environment, the virtual object is a 3D solid model created based on animation skeleton technology, and each virtual object has its own shape and volume in the 3D virtual environment and occupies a part of the space of the 3D virtual environment. Optionally, when the virtual environment is a 2D virtual environment, the virtual object is a 2D solid model created based on animation skeleton technology, and each virtual object has its own shape and area in the 2D virtual environment and occupies a part of the space of the 2D virtual environment.

[0017] FPS (First Person Shooting game): A game in which multiple bases are provided in a virtual world, and users belonging to different camps control virtual characters to compete in the virtual world, occupying bases, destroying the opposing camp's bases, and killing all or some of the opposing camp's characters. Usually, in an FPS game, the user plays the game from a first-person perspective. For example, in an FPS game, users are divided into two opposing camps, and the virtual characters controlled by the users are distributed in the virtual world to compete against each other, with the victory condition being to annihilate all of the enemy's virtual characters. An FPS game is based on a unit of rounds, and the duration of one round of an FPS game is from the start of the game to the achievement of the victory condition.

[0018] 1 is a schematic structural diagram of a computer system 100 according to an exemplary embodiment of the present application. The computer system 100 includes a terminal 120 and a server 140.

[0019] An application supporting the virtual environment is installed on the terminal 120. The application may be any one of an FPS game, a racing game, a multiplayer online battle arena game (MOBA), a virtual reality application, a 3D map program, and a multiplayer gunfight type survival game. The user uses the terminal 120 to control a main control object located in the virtual environment to perform an activity, and the activity includes, but is not limited to, at least one of attacking, releasing a skill, purchasing an item, healing, adjusting a posture, crawling, walking, riding, flying, jumping, driving, picking up, shooting, throwing, and the like. Exemplarily, the first virtual character is a first virtual person. The terminal 120 is at least one of a smartphone, a tablet computer, an e-book reader, an MP3 player, an MP4 player, a laptop computer, and a desktop computer.

[0020] The terminal 120 is connected to the server 140 via a wireless network or a wired network.

[0021] The server 140 may be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services, such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), big data and artificial intelligence platforms. The server 140 is used to provide application background services to support a virtual environment. Optionally, the server 140 is responsible for main computing tasks, and the terminal 120 is responsible for secondary computing tasks, or the server 140 is responsible for secondary computing tasks, and the terminal 120 is responsible for main computing tasks, or a distributed computing architecture is used to perform collaborative computing between the server 140 and the terminal 120.

[0022] In the related art, as shown in FIG. 2, when displaying a main control object, the following steps are performed.

[0023] In animation posture matching 201, determine animation postures of different parts of the primary control object. Animation posture matching 201 is used to determine the animation posture of the primary control object. Optionally, determine the animation posture of the primary control object when the primary control object performs an activity. Exemplarily, the activity includes, but is not limited to, at least one of walking, running, jumping, standing, crouching, crawling, attacking, flying, driving, picking up, shooting, throwing, etc. Optionally, animation posture matching 201 matches animation postures of different parts of the primary control object, for example, when the primary control object runs while shooting, it is necessary to match the shooting animation posture to the upper body of the primary control object, and match the running animation posture to the lower body of the primary control object.

[0024] In animation overlay 202, animation poses of different parts of the primary control object are overlaid to obtain an animation pose of the primary control object. Animation overlay 202 is used to overlay animations of different parts of the primary control object. Exemplarily, an animation pose of the upper body of the primary control object is overlaid with an animation pose of the lower body to obtain an animation pose of the primary control object.

[0025] In the skeleton transformation 203, the skeleton model of the primary control object is adjusted to obtain a skeleton model after transformation. The skeleton transformation 203 is used to adjust the skeleton shape of the primary control object. Optionally, the manner of the skeleton transformation 203 includes, but is not limited to, at least one of changing the skeleton position, changing the skeleton orientation, and scaling the skeleton. Exemplarily, on the one hand, when displaying the primary control object, the skeleton of the head of the primary control object is scaled to prevent the head of the primary control object from penetrating the model. On the other hand, when the left / right side of the body of the primary control object leans forward, the primary control object may be twisted and turned excessively so that the primary control object can perform the leaning action. As shown in FIG. 3, when observing the primary control object 301 from a third-person perspective, the head of the primary control object 301 is scaled (removed), and the body of the primary control object 301 is twisted and turned excessively.

[0026] In pose adjustment 204, the pose of the deformed skeleton model is adjusted based on the current state of the primary control object. The pose adjustment 204 is used to adjust the pose of the primary control object to improve accuracy. Exemplarily, the pose of the hand of the primary control object is adjusted by inverse dynamics to improve the grasping accuracy of the item of the primary control object.

[0027] Once the attitude adjustment 204 is completed, a main body model 205 of the main controlled object is output, and the main body model 205 is used to generate the main body of the main controlled object.

[0028] It should be explained that the display method of the main body of the main control object cannot be directly followed by the display of the projection of the main control object. For example, when the above method is adopted to generate the projection of the main control object, the projection 401 shown in FIG. 4 is obtained, and the shape of the projection 401 obviously does not match the actual one. This is because the skeleton of the main control object is deformed by the step of skeleton transformation 203. On the one hand, the head of the main control object is scaled, and on the other hand, the main control object is twisted and turned, so the skeleton of the main control object is different from the actual one. However, when generating the main body model of the main control object, the step of skeleton transformation 203 cannot be skipped. If the step of skeleton transformation 203 is skipped, on the one hand, the head is not scaled in the skeleton transformation 203, and the head of the main control object and the camera model of the main control object may affect each other, resulting in the penetration phenomenon of the model. On the other hand, when the left / right side of the body of the main control object leans forward, if the main control object is not twisted and turned sufficiently, it is difficult to realize the main control object leaning forward.

[0029] Therefore, the related art realizes the display of the main control object's body and projection by executing two different processes in a computer device. Illustratively, as shown in FIG. 5, a first process 501 is used to generate the main control object's body, and a second process 502 is used to generate the main control object's projection. However, the inventors have found that another problem occurs, since one main control object needs to be calculated by two different processes, and the above two processes cannot be optimized by other methods such as frequency reduction, so that in a computer device with limited computing power such as a mobile phone, this method cannot display the main control object's body and projection. In addition, in a computer device with high computing power, the process processing time is likely to be long due to thread waiting.

[0030] To solve the above problems, 1. the main body of the main control object and the projection of the main control object are not compatible in realization methods, so it is necessary to obtain the main body of the main control object and the projection of the main control object by two different methods; 2. the main body of the main control object and the projection of the main control object are generated simultaneously, and computer equipment with powerful computing power is required, and some terminals with weak computing power cannot realize the simultaneous generation of the main body of the main control object and the projection of the main control object.

[0031] 6 is a flowchart of a method for generating a projection of a main control object according to an exemplary embodiment of the present application. The method can be performed by the terminal 120 shown in FIG. 1, and includes the following steps:

[0032] In step 602, an original skeletal model of the primary control object is extracted from the main body animation blueprint of the primary control object, the main control object being an object observing the virtual environment from a first-person perspective, the main body animation blueprint being used to generate a main body model of the primary control object in the virtual environment, and the original skeletal model being an undeformed skeletal model of the primary control object.

[0033] The primary control object may be at least one of a virtual person, a virtual animal, and an animated character. The present application is not particularly limited thereto. Exemplarily, the user operates the primary control object in an FPS game, where the user controls the primary control object from a first-person perspective.

[0034] Optionally, the body animation blueprint includes a skeletal transformation process, which is used to modify the skeleton of the primary controlled object to avoid the primary controlled object penetrating the model. Illustratively, when the skeletal model of the primary controlled object is skeletal transformed, the head skeleton of the primary controlled object is scaled, and the model at this time is not suitable for generating the projection of the primary controlled object, so the non-skeletal transformed model is used as the original skeletal model.

[0035] Optionally, the body animation blueprint includes the steps shown in the example shown in FIG.

[0036] Body animation blueprint is a process of generating a body model of a main control object in a virtual environment (or body animation blueprint is also called a process of generating a main control object's body in a virtual environment). The main control object's body can be obtained by the body animation blueprint. The main control object's body refers to the main control object in a virtual environment.

[0037] In step 604, a projection model is obtained based on the original skeletal model, where the projection model is a model for generating a projection of the main control object in the virtual environment.

[0038] In one embodiment, the original skeleton model is directly used as the projection model. It should be noted that the requirement for the projection accuracy of the main control object is often not high, so when more importance is attached to the terminal performance, the original skeleton model can be directly used as the projection model.

[0039] In one embodiment, the posture of the original skeleton model is adjusted according to the current state of the main control object to obtain the projection model. It should be noted that if further projection accuracy of the main control object is required, the original skeleton model can be further adjusted according to the current state of the main control object.

[0040] Optionally, the current state includes, but is not limited to, at least one of attack, skill release, item purchase, healing, posture adjustment, crawling, walking, riding, flying, jumping, driving, picking up, shooting, throwing, running, resting, etc. Illustratively, when the main control object is in a walking state, the posture of the original skeletal model is adjusted to a walking posture.

[0041] Optionally, when the state of the primary control object changes, the posture of the original skeleton model is adjusted based on the changed state to obtain the projection model. Illustratively, when the primary control object changes from a stationary state to a running state, the primary control object changes from a stationary posture to a running posture.

[0042] Optionally, the posture of the original skeletal model is adjusted based on a periodic change, for example, when the primary control object moves both feet alternately in a walking state, the posture of the original skeletal model is changed based on the periodic alternating movement of both feet.

[0043] Exemplarily, based on the current state of the primary control object, inverse dynamics is employed to adjust the pose of the original skeletal model to obtain the projected model.

[0044] It should be noted that, due to the nature of the projection, the projection of the main control object itself has low accuracy, so the posture adjustment operation of the original skeleton model can be canceled, and the posture adjustment operation is used to improve the accuracy of the projection of the main control object. For example, when the main control object turns at a small angle, a gait logic adjustment may occur, and the gait logic adjustment is used to improve the delicacy of the expression, but due to the low accuracy of the projection of the main control object, the gait logic adjustment cannot be reflected even if it is performed, so the gait logic adjustment can be canceled to reduce the amount of calculation of the computer equipment.

[0045] Therefore, in some real scenes, we can reduce the step of posture adjustment to the original skeletal model, for example, by canceling the above-mentioned logic adjustment of gait or canceling the detailed adjustment of the hands.

[0046] In step 606, the projection model is rendered to obtain a projection of the primary control object.

[0047] Optionally, the projection of the main control object is a projection of the main control object body on a backlit side of the virtual environment. Illustratively, the projection of the main control object is a projection onto the ground in the virtual environment, or the projection of the main control object is a projection onto a wall in the virtual environment, or the projection of the main control object is a projection onto a ceiling in the virtual environment.

[0048] Optionally, the projection of the primary control object may also refer to an image on a reflective surface, for example, the projection of the primary control object refers to an image of the primary control object on a mirror surface, and in another example, the projection of the primary control object refers to an image of the primary control object on a water surface.

[0049] For example, as shown in Fig. 7, Fig. 7 shows a projection 701 of the main control object onto the ground when the main control object holds a virtual firearm. For example, as shown in Fig. 8, Fig. 8 shows a projection 801 of the main control object onto the ground when the main control object switches virtual firearms. As is clear from Figs. 7 and 8, the projections 701 and 801 of the main control object are consistent with the actual situation, and the projections of the main control object can be well reproduced.

[0050] In one specific embodiment, when the method according to the embodiment of the present application is adopted to obtain the projection of the main control object, only 0.033 ms is consumed on the CPU, while when the related art is adopted to obtain the projection of the main control object, 4.133 ms is consumed on the CPU. Obviously, the method according to the embodiment of the present application can effectively shorten the calculation time of the computer equipment and improve the efficiency.

[0051] As described above, in the embodiment of the present application, when generating the projection of the main control object, only the original skeleton model is extracted from the main animation blueprint, and the projection of the main control object can be obtained based on the original skeleton model. This method can obtain the projection of the main control object without the need to prepare another set of animation blueprints, simplifies the process of obtaining the projection of the main control object, can obtain the projection of the main control object without requiring a large amount of calculation, reduces the calculation load of the computer device, and can perform the projection of the main control object even if the computing power of the computer device is weak.

[0052] 9 is a flowchart of a method for generating a projection of a main control object according to an exemplary embodiment of the present application. The method can be performed by the terminal 120 shown in FIG. 1 and includes the following steps:

[0053] In step 901, before the first skeleton transformation process of the body animation blueprint, an original skeleton model is extracted from the body animation blueprint.

[0054] The first skeleton transformation process is used to scale the skeleton in the overlapping area between the camera model of the main control object and the original skeleton model. Since the main control object is an object that observes the virtual environment from a first-person perspective, in order to realize the effect of a first-person perspective, it is necessary to place the camera on the head of the main control object. However, since a model also exists on the head of the main control object, model penetration occurs in this case. Therefore, by scaling the original skeleton model in the overlapping area between the camera model of the main control object and the original skeleton model, it is possible to prevent the overlapping area from existing between the camera model and the original skeleton model, and to avoid the occurrence of model penetration.

[0055] Optionally, the first skeletal transformation process is realized by programming.

[0056] In step 902, the pose of the original skeletal model is adjusted based on the current state of the primary control object to obtain the projected model.

[0057] Exemplarily, based on the current state of the primary control object, inverse dynamics is employed to adjust the pose of the original skeletal model to obtain the projected model.

[0058] Optionally, when the state of the primary control object changes, the posture of the original skeleton model is adjusted based on the changed state to obtain the projection model. Illustratively, when the primary control object changes from a stationary state to a running state, the primary control object changes from a stationary posture to a running posture.

[0059] Optionally, the posture of the original skeletal model is adjusted based on a periodic change, for example, when the primary control object moves both feet alternately in a walking state, the posture of the original skeletal model is changed based on the periodic alternating movement of both feet.

[0060] In step 903, the projection model is replaced with the integrated projection model.

[0061] Optionally, the projection model includes at least two component models, and the at least two component models include models of different parts of the main control object. For example, the at least two component models include at least one of a head model, a torso model, an upper limb model, and a lower limb model. Each time the at least two component models are called to perform rendering, one rendering call occurs, so that multiple rendering calls occur in total. Multiple rendering calls impose a large rendering load on the graphics processor (GPU: Graphics Processing Unit) of the computer device. Exemplarily, as shown in FIG. 10, when the at least two component models include a head model, a torso model, an upper limb model, and a lower limb model, at least four rendering calls are required, which significantly increases the burden on the GPU.

[0062] Therefore, in the embodiment of the present application, due to the characteristics of the projection, the projection of the main control object itself is not required to be highly accurate. Even if there is some deviation, it does not affect the accuracy of the projection itself. Therefore, the main body model includes at least two component models, and the at least two component models include models of different parts of the main control object, and the projection model is replaced with an integrated projection model, and the integrated projection model is a low-polygon model after integrating the at least two component models, and the number of low-polygons of the integrated projection model is smaller than the number of low-polygons of the projection model. In one specific implementation, the integrated projection model does not include at least two component models, and the integrated projection model is composed of one complete model. Illustratively, as shown in FIG. 11, FIG. 11 shows an integrated projection model 1101 of the main control object.

[0063] That is, when rendering the main body model, it is necessary to perform rendering of at least two component models. However, when rendering the projection of the main control object, it is sufficient to perform rendering of only the integrated projection model, and the number of low-polygons of the integrated model is less than the number of low-polygons of the main body model.

[0064] For example, as shown in FIG. 12, after replacing the projection model with the integrated projection model, rendering can be performed only once to obtain the projection of the main control object, thereby reducing the burden on the GPU.

[0065] In some cases, the primary control object may have a virtual item, and similarly, in order to reduce the rendering load of the GPU, the model of the virtual item held by the primary control object may be replaced with an integrated item model. For example, when the primary control object has a virtual firearm, the virtual firearm also includes at least two item component models (e.g., a stock model, a silencer model, a grip model, etc.), and in order to facilitate rendering of the firearm projection, the model of the virtual firearm needs to be replaced with an integrated firearm model, and as shown in FIG. 13, the firearm model including at least two item component models is replaced with an integrated firearm model 1301.

[0066] In step 904, the integrated projective model is rendered to obtain a projection of the primary control object.

[0067] Optionally, the projection of the primary controlled object is a projection on a backlit side of the virtual environment. Illustratively, the projection of the primary controlled object is a projection onto a ground in the virtual environment, or the projection of the primary controlled object is a projection onto a wall in the virtual environment, or the projection of the primary controlled object is a projection onto a ceiling in the virtual environment.

[0068] Optionally, the projection of the primary control object may also refer to an image on a reflective surface, for example, the projection of the primary control object refers to an image of the primary control object on a mirror surface, and in another example, the projection of the primary control object refers to an image of the primary control object on a water surface.

[0069] As described above, in the embodiment of the present application, when generating the projection of the main control object, an original skeleton model is extracted from the animation blueprint before the first skeleton transformation process to obtain the projection of the main control object, and the head is ensured to exist in the generated projection. Compared with the related art that uses two different animation blueprints to simultaneously obtain the body and projection of the main control object, this method can obtain the projection of the main control object without the need to prepare another animation blueprint, simplifying the process of obtaining the projection of the main control object, and can obtain the projection of the main control object without requiring a large amount of calculation, thereby reducing the calculation load of the computer equipment.

[0070] In addition, by replacing the projection model with the integrated projection model, the number of times that the computer device must perform rendering can be reduced, thereby reducing the operational load on the GPU.

[0071] 14 is a flowchart of a method for generating a projection of a main control object according to an exemplary embodiment of the present application. The method can be performed by the terminal 120 shown in FIG. 1 and includes the following steps:

[0072] In step 1401, before the second skeleton transformation process of the body animation blueprint, an original skeleton model is extracted from the body animation blueprint.

[0073] The second skeletal deformation process is used to twist and turn the original skeletal model when the main control object is in the target current state. In a specific example, when the left / right body of the main control object leans forward, the skeletal model of the main control object is twisted and turned excessively, so that the main control object can lean out from the obstacle and can observe other objects in the virtual environment after leaning out, and therefore the second skeletal deformation process needs to be performed. However, when extracting the skeletal model after the second skeletal deformation process, the skeletal model is twisted and turned excessively, so that the projection finally obtained is also in an excessively twisted state, and as shown in FIG. 4, the projection 401 of the main control object is in an excessively twisted state, but such an excessively twisted state cannot be realized by a normal human being. Therefore, in this application, it is necessary to extract the original skeletal model from the main animation blueprint before the second skeletal deformation process of the main animation blueprint.

[0074] In step 1402, the pose of the original skeletal model is adjusted based on the current state of the primary control object to obtain the projected model.

[0075] Exemplarily, based on the current state of the primary control object, inverse dynamics is employed to adjust the pose of the original skeletal model to obtain the projected model.

[0076] Optionally, when the state of the primary control object changes, the posture of the original skeleton model is adjusted based on the changed state to obtain the projection model. Illustratively, when the primary control object changes from a stationary state to a running state, the primary control object changes from a stationary posture to a running posture.

[0077] Optionally, the posture of the original skeletal model is adjusted based on a periodic change, for example, when the primary control object moves both feet alternately in a walking state, the posture of the original skeletal model is changed based on the periodic alternating movement of both feet.

[0078] In step 1403, the projection model is replaced with the integrated projection model.

[0079] Optionally, the projection model includes at least two component models, and the at least two component models include models of different parts of the primary control object, for example, the at least two component models include at least one of a head model, a torso model, an upper limb model, and a lower limb model.

[0080] The main body model includes at least two component models, and the at least two component models include models of different parts of the main control object. The integrated projection model is a low-polygon model after integrating the at least two component models, and the low-poly number of the integrated projection model is smaller than the low-poly number of the projection model. In one specific implementation, the integrated projection model does not include at least two component models, and the integrated projection model is composed of one complete model. Illustratively, as shown in FIG. 11, FIG. 11 shows an integrated projection model 1101 of the main control object.

[0081] In some cases, the primary control object may have a virtual item, and similarly, in order to reduce the rendering load of the GPU, the model of the virtual item held by the primary control object may be replaced with an integrated item model. For example, when the primary control object has a virtual firearm, the virtual firearm also includes at least two item component models, and in order to facilitate the rendering of the firearm projection, the model of the virtual firearm needs to be replaced with an integrated firearm model, and as shown in FIG. 13, the firearm model including at least two item component models is replaced with an integrated firearm model 1301.

[0082] In step 1404, the integrated projected model is rendered to obtain a projection of the primary control object.

[0083] Optionally, the projection of the primary controlled object is a projection on a backlit side of the virtual environment. Illustratively, the projection of the primary controlled object is a projection onto a ground in the virtual environment, or the projection of the primary controlled object is a projection onto a wall in the virtual environment, or the projection of the primary controlled object is a projection onto a ceiling in the virtual environment.

[0084] Optionally, the projection of the primary control object may also refer to an image on a reflective surface, for example, the projection of the primary control object refers to an image of the primary control object on a mirror surface, and in another example, the projection of the primary control object refers to an image of the primary control object on a water surface.

[0085] As described above, in the embodiment of the present application, when generating the projection of the main control object, before the second skeleton transformation process, the original skeleton model is extracted from the animation blueprint to obtain the projection of the main control object, and the shape of the generated projection is ensured to be correct.Compared with the related art that uses two different animation blueprints to simultaneously obtain the body and projection of the main control object, this method can obtain the projection of the main control object without the need to prepare another set of animation blueprints, simplifying the process of obtaining the projection of the main control object, and can obtain the projection of the main control object without requiring a large amount of calculation, thereby reducing the calculation load of the computer equipment.

[0086] In addition, by replacing the projection model with the integrated projection model, the number of times that the computer device must perform rendering can be reduced, thereby reducing the operational load on the GPU.

[0087] In the following embodiment, a method for adjusting the posture of the original skeleton model mentioned in the above step 902 or step 1402 is briefly introduced. The embodiment of the present application takes inverse dynamics as an example, and it should be noted that the posture of the original skeleton model can also be adjusted by other methods, and the present application is not particularly limited thereto.

[0088] FIG. 15 is a flow chart of a method for adjusting the posture of an original skeleton model according to one exemplary embodiment of the present application. This method can be executed by the terminal 120 shown in FIG. 1, and the method shown in FIG. 15 is used to further fine-tune the original skeleton model, thereby improving the accuracy of the projection model. Take the case where the main control object is in a walking state as an example, the main body model of the main control object needs to realize the coordinated linkage of the feet and legs, whereas the projection model of the main control object does not need to distinguish between the feet and legs when the accuracy requirement is low. When the accuracy requirement is high, the projection model needs to distinguish between the feet and legs, and in the present application, the leg movement is determined depending on the foot movement. The method shown in FIG. 15 includes the following steps.

[0089] In step 1501, a target position for the child skeleton is determined based on the current state of the master control object.

[0090] The original skeleton model includes a child skeleton and a parent skeleton corresponding to the child skeleton, and the child skeleton is located at the end of the skeleton chain. For example, if the main control character is a humanoid character, the child skeleton can be the hand of the humanoid character, and the parent skeleton can be the arm of the humanoid character. The child skeleton can be the foot of the humanoid character, and the parent skeleton can be the leg of the humanoid character.

[0091] Optionally, the current state includes at least one of, but is not limited to, attacking, releasing a skill, purchasing an item, healing, adjusting posture, crawling, walking, riding, flying, jumping, driving, picking up, shooting, throwing, running, standing still, and the like.

[0092] The target position is the position that the child skeleton should reach in the current state. For example, if the main control object is in a walking state, the child skeleton points to the main control object's foot, and the main control object's foot is in a lifted state, the target position is the landing point of the main control object's foot. For example, if the main control object is walking up stairs holding onto a banister, the child skeleton is the main control object's hand, and the main control object's hand is in a lifted state, the target position is the landing point of the main control object's hand.

[0093] In step 1502, the position of the child skeleton is determined based on the target position.

[0094] Illustratively, the step of determining the position of the child skeleton includes the following sub-steps.

[0095] Illustratively, the main control object is in a walking state, which can be simply divided into a lifting state and a lowering state. Taking the lifting state as an example, step 1502 is used to determine the position of the foot (child skeleton) in the lowering state.

[0096] 1. Determine a first vector from the first end point of the child bone to the end of the child bone.

[0097] The first endpoint of the child skeleton is the endpoint on the child skeleton away from the end of the child skeleton. Exemplarily, as shown in FIG. 16, the first vector is a vector from the first endpoint 1603 of the child skeleton 1602 to the end 1605 of the child skeleton.

[0098] Illustratively, the child skeleton is a foot, the first end point is the heel of the foot, the end point of the child skeleton is the toe of the foot, and sub-step 1 results in a first vector pointing from the heel to the toe in a lifted state.

[0099] 2. Determine a second vector from the first end point to the target position.

[0100] Exemplarily, as shown in FIG. 16, the second vector is a vector from the first end point 1603 to the target position 1604 .

[0101] Illustratively, the first end point is the heel of the foot, the target position is the target landing position of the toe, and sub-step 2 obtains a second vector pointing from the toe to the target landing position in the lifting state.

[0102] 3. Rotate the child skeleton based on the angle between the first vector and the second vector to determine the position of the child skeleton.

[0103] Exemplarily, as shown in FIG. 16, based on the included angle between the first vector and the second vector, the child skeleton 1602 is rotated counterclockwise by the same rotation angle as the included angle to obtain the position of the child skeleton 1602.

[0104] For example, the first vector refers to a vector from the heel to the toe in a lifted state, and the second vector refers to a vector from the heel to a target position in a lifted state. In sub-step 3, the foot (child skeleton) is rotated based on the angle between the first vector and the second vector to obtain a rotated foot, i.e., a foot in a lowered state.

[0105] In step 1503, the position of the parent skeleton is determined based on the target position and the position of the child skeleton.

[0106] Illustratively, the step of determining the position of the parent skeleton includes the following sub-steps.

[0107] 1. Determine a third vector from the second end point of the parent skeleton to the end point of the child skeleton.

[0108] The second end point of the parent skeleton is the end point on the parent skeleton away from the child skeleton. Exemplarily, as shown in FIG. 17, the third vector is a vector from the second end point 1606 of the parent skeleton 1601 to the end point 1605 of the child skeleton.

[0109] Illustratively, the parent skeleton is the calf, the second end point is the knee, and the end point of the child skeleton is the toe, and in sub-step 1, a third vector is obtained that points from the knee to the toe (before rotation) in the lifted state.

[0110] 2. Determine a fourth vector from the second end point to the target position.

[0111] Exemplarily, as shown in FIG. 17, the fourth vector is a vector from the second end point 1606 to the target position 1604.

[0112] Illustratively, the target position is a target landing position of the toe, the second end point is the knee, and in sub-step 2, a fourth vector pointing from the knee to the target landing position is obtained.

[0113] 3. Rotate the parent skeleton based on the angle between the third and fourth vectors to determine the position of the parent skeleton.

[0114] For example, as shown in FIG. 17, based on the included angle between the third vector and the fourth vector, the parent skeleton 1601 is rotated counterclockwise by the same rotation angle as the included angle to obtain the position of the parent skeleton 1601.

[0115] For example, the third vector refers to a vector from the knee to the toes in the lifted state, and the fourth vector refers to a vector from the knee to the target position in the lifted state. In sub-step 3, the shin (parent skeleton) is rotated based on the included angle between the third vector and the fourth vector to obtain a rotated shin, i.e., a shin in a lowered state.

[0116] In step 1504, the pose of the original skeletal model is adjusted based on the positions of the child and parent skeletons to obtain a projected model.

[0117] If the positions of the child and parent skeletons are known, the original skeletal model can be adjusted based on the positions of the child and parent skeletons to accomplish the pose adjustment of the original skeletal model.

[0118] As described above, the embodiments of the present application provide a method for adjusting the posture of an original skeletal model, which adjusts the posture of the original skeletal model so that the motion and posture of the main controlled object are adapted to the current state, and the posture of the original skeletal model is closer to the actual situation, thereby obtaining a state of the main controlled object that can be better reflected by the projection model.

[0119] In one specific embodiment, a method for implementing body animation blueprint is provided, and Fig. 18 is a flowchart of the method for implementing body animation blueprint according to one exemplary embodiment of the present application. This method can be performed by the terminal 120 shown in Fig. 1, and includes the following steps:

[0120] In step 1801, the initial animation pose of the primary control object is determined.

[0121] Optionally, an initial animation pose is determined based on the current state of the primary control object.

[0122] Optionally, the skeletal model of the primary control object includes at least two component models, and the at least two component models include models of different parts of the primary control object. For example, the skeletal model of the primary control object includes an upper body model and a lower body model. When determining the initial animation posture, it is necessary to determine the animation postures of the at least two component models sequentially. The animation postures of the at least two component models are superimposed to obtain the initial animation posture. For example, when the primary control object runs while shooting, it is necessary to match the shooting animation posture to the upper body of the primary control object, and match the running animation posture to the lower body of the primary control object, and superimpose the animation postures of the upper body and the lower body to obtain the initial animation posture of the primary control object.

[0123] In step 1802, the initial animation pose is substituted into the skeletal model of the primary control object to obtain an original skeletal model.

[0124] Optionally, based on the initial animation pose, the skeletal model of the primary control object is adjusted to obtain an original skeletal model.

[0125] For example, as shown in FIG. 19 , an original skeletal model 1902 extracted from a body animation blueprint 1901 can be posture-adjusted to obtain a projection model 1903, which is used to generate a projection of the main control object in the virtual environment.

[0126] In step 1803, a skeleton transformation process is performed on the original skeleton model to obtain the original skeleton model after the skeleton transformation.

[0127] For example, a first skeleton transformation process is performed on the original skeleton model to obtain an original skeleton model after skeleton transformation. The first skeleton transformation process is used to scale the skeleton in the overlapping area between the camera model of the main control object and the original skeleton model. For example, the skeleton of the head area of ​​the main control object is scaled.

[0128] For example, a second skeleton deformation process is performed on the original skeleton model to obtain an original skeleton model after skeleton deformation. The second skeleton deformation process is used to twist and turn the original skeleton model when the main control object is in the target current state. For example, when the left / right side of the main control object leans forward, the skeleton model of the main control object is excessively twisted and turned.

[0129] In step 1804, the posture of the original skeleton model after the skeleton deformation is adjusted based on the current state to obtain the main body model of the main control object.

[0130] Optionally, based on the current state, inverse dynamics is adopted to adjust the posture of the original skeletal model after skeletal deformation to obtain the main body model of the main controlled object.

[0131] It should be noted that both Inverse Kinematics (IK) and Aim Offset (AO) are time-dependent on the skeleton transformation process. For example, some IK operations need to be performed after the skeleton transformation process, some IK operations need to be performed before the skeleton transformation process, some IK operations can be performed before the skeleton transformation process, and some IK operations can be performed before the skeleton transformation process. Here, IK and AO depend on the specific project of the skeleton transformation process.

[0132] In step 1805, the body model is rendered to obtain the main controlled object's body.

[0133] Optionally, the body model includes at least two component models, and the at least two component models include models of different parts of the main control object. For example, the body model includes a head model, a torso model, an upper limb model, and a lower limb model. When rendering the body model, at least two component models need to be rendered respectively, and rendering results of the at least two component models are obtained. The rendering results of the at least two component models are synthesized to obtain the body of the main control object. Exemplarily, the head model, the torso model, the upper limb model, and the lower limb model are rendered respectively to obtain rendering results corresponding to the head model, the torso model, the upper limb model, and the lower limb model, and the four rendering results are synthesized to obtain the body of the main control object.

[0134] As described above, this embodiment provides a method for the body animation blueprint, which can obtain the body of the primary control object, and the original skeletal model in the body animation blueprint can be used to obtain the projection of the primary control object.

[0135] In the embodiment of the present application, the steps after the skeletal transformation process in the body animation blueprint are executed before the skeletal transformation process as much as possible. In a specific embodiment, a method for realizing another body animation blueprint is provided. In a specific implementation, the steps after the skeletal transformation process may be moved to and processed before the skeletal transformation without affecting the main control target's body. For example, in the embodiment shown in FIG. 18, the operation corresponding to step 1804 is moved to and performed before step 1803.

[0136] 20 is a flowchart of a method for implementing a body animation blueprint according to an exemplary embodiment of the present application. The method can be performed by the terminal 120 shown in FIG. 1 and includes the following steps:

[0137] In step 2001, an initial animation pose for the primary control object is determined.

[0138] Optionally, an initial animation pose is determined based on the current state of the primary control object.

[0139] Optionally, the skeletal model of the primary control object includes at least two component models, and the at least two component models include models of different parts of the primary control object. For example, the skeletal model of the primary control object includes an upper body model and a lower body model. When determining the initial animation posture, it is necessary to determine the animation postures of the at least two component models sequentially. The animation postures of the at least two component models are superimposed to obtain the initial animation posture. For example, when the primary control object runs while shooting, it is necessary to match the shooting animation posture to the upper body of the primary control object, and match the running animation posture to the lower body of the primary control object, and superimpose the animation postures of the upper body and the lower body to obtain the initial animation posture of the primary control object.

[0140] In step 2002, the initial animation pose is substituted into the skeletal model of the primary control object to obtain a skeletal pose model.

[0141] Optionally, based on the initial animation pose, the skeleton of the primary control object is adjusted to obtain a skeletal pose model.

[0142] In step 2003, the pose of the skeleton pose model is adjusted based on the current state to obtain the original skeleton model.

[0143] Optionally, based on the current state, inverse dynamics is employed to adjust the pose of the skeleton pose model to obtain the original skeleton model.

[0144] For example, as shown in FIG. 21 , an original skeletal model 2102 extracted from a body animation blueprint 2101 is posture-adjusted, i.e., the original skeletal model 2102 can be directly used as a projection model 2103, which is used to generate a projection of the main control object in the virtual environment.

[0145] In step 2004, a skeleton transformation process is performed on the original skeleton model to obtain the original skeleton model after the skeleton transformation.

[0146] For example, a first skeleton transformation process is performed on the original skeleton model to obtain an original skeleton model after skeleton transformation. The first skeleton transformation process is used to scale the skeleton in the overlapping area between the camera model of the main control object and the original skeleton model. For example, the skeleton of the head area of ​​the main control object is scaled.

[0147] For example, a second skeleton deformation process is performed on the original skeleton model to obtain an original skeleton model after skeleton deformation. The second skeleton deformation process is used to twist and turn the original skeleton model when the main control object is in the target current state. For example, when the left / right side of the main control object leans forward, the skeleton model of the main control object is excessively twisted and turned.

[0148] In step 2005, the body model is rendered to obtain the main controlled object's body.

[0149] Optionally, the body model includes at least two component models, and the at least two component models include models of different parts of the main control object. For example, the body model includes a head model, a torso model, an upper limb model, and a lower limb model. When rendering the body model, at least two component models need to be rendered respectively, and rendering results of the at least two component models are obtained. The rendering results of the at least two component models are synthesized to obtain the body of the main control object. Exemplarily, the head model, the torso model, the upper limb model, and the lower limb model are rendered respectively, and rendering results corresponding to the head model, the torso model, the upper limb model, and the lower limb model are obtained, and the four rendering results are synthesized to obtain the body of the main control object.

[0150] It should be noted that in the embodiment of the present application, the operation after the skeletal transformation process is moved to before the skeletal transformation process, and this is on the premise that the body and / or projection of the main control target will not be affected after the operation after the skeletal transformation process is moved to before the skeletal transformation process. Here, the movable operation after the skeletal transformation process is determined according to the actual requirement. For example, in the actual requirement A, the operation of posture adjustment can be moved to before the skeletal transformation process for processing, but in the actual requirement B, the operation of posture adjustment cannot be moved to before the skeletal transformation process for processing. The present application does not particularly limit the operation that can be moved to before the skeletal transformation process.

[0151] As described above, this embodiment provides a method of body animation blueprint, which can obtain the body of the main control object. And the original skeletal model in the body animation blueprint can be used to obtain the projection of the main control object.

[0152] As a specific example, a case where the present invention is applied to a shooting game will be described.

[0153] 22 is a flowchart of a method for generating a projection of a main control object according to an exemplary embodiment of the present application. The method can be performed by the terminal 120 shown in FIG. 1 and includes the following steps:

[0154] In step 2201, an original skeleton model of the master control game subject is extracted from the main body animation blueprint of the master control game subject.

[0155] The primary control game subject may be at least one of a virtual person, a virtual animal, and an animated character, although the present application is not limited thereto.

[0156] The original skeletal model is a model of the primary controlled game subject that has not had its skeleton modified.

[0157] The body animation blueprint is a process of generating the body of the main control object in the virtual environment. The body animation blueprint can obtain the main control object's body. The main control object's body refers to the main control object in the virtual environment.

[0158] In an alternative embodiment, the body animation blueprint includes a skeletal transformation process. Before the skeletal transformation process of the body animation blueprint, the original skeletal model is extracted from the body animation blueprint.

[0159] In one alternative embodiment, the skeletal transformation process includes a first skeletal transformation process used to scale the skeleton in an overlap area between the camera model of the primary control object and the original skeletal model, and extracts the original skeletal model from the body animation blueprint prior to the first skeletal transformation process of the body animation blueprint.

[0160] In an alternative embodiment, the skeletal transformation process includes a second skeletal transformation process that is used to twist and turn the original skeletal model when the primary control object is in the target current state, and extracts the original skeletal model from the body animation blueprint prior to the second skeletal transformation process of the body animation blueprint.

[0161] In step 2202, the original skeletal model is rendered to obtain a projection of the primary control game object.

[0162] Optionally, the projection of the primary control game object is a projection on a backlit side of the virtual environment. Illustratively, the projection of the primary control game object is a projection onto the ground in the virtual environment, or the projection of the primary control game object is a projection onto a wall in the virtual environment, or the projection of the primary control game object is a projection onto a ceiling in the virtual environment.

[0163] Optionally, the projection of the primary control game object may also refer to an image on a reflective surface, for example, the projection of the primary control game object refers to an image of the primary control game object on a mirror surface, and in another example, the projection of the primary control game object refers to an image of the primary control game object on a water surface.

[0164] Optionally, before rendering the original model, the pose of the original skeletal model is adjusted by inverse dynamics to obtain a pose-adjusted skeletal model. The pose-adjusted skeletal model is rendered to obtain a projection of the primary control game object. Optionally, before rendering the original model, the pose of the original skeletal model is adjusted based on a current state of the primary control game object to obtain a projection model. The pose-adjusted skeletal model is rendered to obtain a projection of the primary control game object.

[0165] In one alternative embodiment, the original skeletal model includes a child skeleton and a parent skeleton corresponding to the child skeleton, the child skeleton being located at the end of a skeletal chain, a target position of the child skeleton is determined based on a current state of the main control game object, a position of the child skeleton is determined based on the target position, a position of the parent skeleton is determined based on the target position and the position of the child skeleton, and the posture of the original skeletal model is adjusted based on the positions of the child skeleton and the parent skeleton to obtain a projection model.

[0166] In one alternative embodiment, a first vector is determined from a first end point of the child bone to an end of the child bone, where the first end point of the child skeleton is an end point on the child skeleton away from the end of the child skeleton, a second vector is determined from the first end point to a target position, and the child skeleton is rotated based on an included angle between the first and second vectors to determine a position of the child skeleton.

[0167] In one alternative embodiment, a third vector is determined from the second end point of the parent skeleton to the end of the child skeleton, where the second end point of the parent skeleton is an end point on the parent skeleton away from the child skeleton, a fourth vector is determined from the second end point to the target position, and the parent skeleton is rotated based on the included angle between the third and fourth vectors to determine the position of the parent skeleton.

[0168] In an alternative embodiment, the main body model includes at least two component models, the at least two component models including models of different parts of the primary control object; and a step of replacing the projection model with an integrated projection model, the integrated projection model being a low-polygon model after integrating the at least two component models, the low-poly number of the integrated projection model being smaller than the low-poly number of the projection model; and rendering the integrated projection model to obtain the projection of the primary control game object.

[0169] In one alternative embodiment, the body animation blueprint includes the following steps:

[0170] 1. Determine the initial animation posture of the main control game object.

[0171] 2. Substitute the initial animation posture into the skeletal model of the main controlled game object to obtain the original skeletal model.

[0172] 3. Perform skeleton deformation processing on the original skeleton model to obtain the original skeleton model after skeleton deformation.

[0173] 4. Based on the current state, adjust the posture of the original skeletal model after the skeletal deformation to obtain a body model of the main controlled game object, where the body model is a model for generating the body of the main controlled game object.

[0174] 5. Render the body model to obtain the main body of the game object to be controlled.

[0175] In one alternative embodiment, the skeletal model of the primary control game object includes at least two component models, the at least two component models including models of different parts of the primary control object, and the step of determining an initial animation posture of the primary control game object includes a step of sequentially determining animation postures of the at least two component models, and a step of superimposing the animation postures of the at least two component models to obtain the initial animation posture.

[0176] In one alternative embodiment, the main body model includes at least two component models, the at least two component models including models of different parts of the main control object, and the step of rendering the main body model to obtain the main body of the main control game object includes the steps of rendering the at least two component models respectively to obtain rendering results of the at least two component models, and combining the rendering results of the at least two component models to obtain the main body of the main control game object.

[0177] As described above, in the embodiment of the present application, when generating the projection of the main control game object, only the original skeleton model is extracted from the main animation blueprint, and the projection of the main control object can be obtained based on the original skeleton model. This method can obtain the projection of the main control object without the need to prepare another set of animation blueprints, simplifies the process of obtaining the projection of the main control object, can obtain the projection of the main control object without requiring a large amount of calculation, reduces the calculation load of the computer device, and can perform the projection of the main control object even if the computing power of the computer device is weak.

[0178] The following are apparatus embodiments of the present application, which may be used in the method embodiments of the present application. For details not disclosed in the apparatus embodiments of the present application, reference may be made to the method embodiments of the present application.

[0179] 23, which is a block diagram of a projection generating device of a main control object according to one embodiment of the present application. The functions may be realized by hardware, or by hardware executing corresponding software. The device 2300 includes an extraction module 2301, an adjustment module 2302, and a rendering module 2303.

[0180] The extraction module 2301 is configured to extract an original skeletal model of the primary control object from a main body animation blueprint of the primary control object, the main control object being an object observing the virtual environment from a first-person perspective, the main body animation blueprint being used to generate a main body model of the primary control object in the virtual environment, and the original skeletal model being an undeformed skeletal model of the primary control object.

[0181] The adjustment module 2302 is configured to obtain a projection model based on the original skeletal model, where the projection model is a model for generating a projection of the primary control object in the virtual environment.

[0182] The rendering module 2303 is configured to render the projection model to obtain a projection of the primary control object.

[0183] In one alternative design of the present application, the body animation blueprint includes a skeletal transformation process, and the extraction module 2301 is further configured to extract an original skeletal model from the body animation blueprint prior to the skeletal transformation process of the body animation blueprint.

[0184] In one alternative design of the present application, the skeleton transformation process includes a first skeleton transformation process, where the first skeleton transformation process is used to scale the skeleton in the overlapping region of the camera model and the original skeleton model of the primary control object. The extraction module 2301 is further configured to extract the original skeleton model from the body animation blueprint before the first skeleton transformation process of the body animation blueprint.

[0185] In one alternative design of the present application, the skeletal deformation process includes a second skeletal deformation process, which is used to twist and turn the original skeletal model when the primary control object is in the target current state, and the extraction module 2301 is further configured to extract the original skeletal model from the body animation blueprint prior to the second skeletal deformation process of the body animation blueprint.

[0186] In one alternative design of the present application, the adjustment module 2302 is configured to determine the original skeletal model as the projected model.

[0187] In one alternative design of the present application, the adjustment module 2302 is configured to adjust the pose of the original skeletal model based on the current state of the primary controlled object to obtain the projected model.

[0188] In one alternative design of the present application, the original skeletal model includes a child skeleton and a parent skeleton corresponding to the child skeleton, where the child skeleton is located at the end of the skeletal chain, and the adjustment module 2302 is further configured to determine a target position of the child skeleton based on a current state of the main control object, determine a position of the child skeleton based on the target position, determine a position of the parent skeleton based on the target position and the position of the child skeleton, and adjust the posture of the original skeletal model based on the positions of the child skeleton and the parent skeleton to obtain a projection model.

[0189] In one alternative design of the present application, the adjustment module 2302 is further configured to perform the steps of determining a first vector from a first end point of the child bone to an end of the child bone, where the first end point of the child skeleton is an end point on the child skeleton away from the end of the child skeleton, determining a second vector from the first end point to a target position, and rotating the child skeleton based on an included angle between the first and second vectors to determine a position of the child skeleton.

[0190] In one alternative design of the present application, the adjustment module 2302 is further configured to perform the steps of determining a third vector from a second end point of the parent skeleton to an end point of the child skeleton, where the second end point of the parent skeleton is an end point on the parent skeleton away from the child skeleton, determining a fourth vector from the second end point to a target position, and rotating the parent skeleton based on an included angle between the third vector and the fourth vector to determine a position of the parent skeleton.

[0191] In one alternative design of the present application, the main body model includes at least two component models, the at least two component models including models of different parts of the main control object, and the rendering module 2303 is further configured to perform the steps of replacing the projection model with an integrated projection model, the integrated projection model being a low-polygon model after integrating the at least two component models, and the low-poly number of the integrated projection model being smaller than the low-poly number of the projection model, and rendering the integrated projection model to obtain a projection of the main control object.

[0192] In one alternative design of the present application, the apparatus further comprises a fabrication module 2304.

[0193] The production module 2304 is configured to execute the steps of determining an initial animation posture of the main control object, substituting the initial animation posture into a skeletal model of the main control object to obtain an original skeletal model, performing a skeletal transformation process on the original skeletal model to obtain an original skeletal model after skeletal transformation, adjusting the posture of the original skeletal model after skeletal transformation based on the current state to obtain a body model of the main control object, where the body model is a model for generating the body of the main control object, and rendering the body model to obtain the body of the main control object.

[0194] In one alternative design of the present application, the skeletal model of the primary control object includes at least two component models, the at least two component models including models of different parts of the primary control object, and the production module 2304 is further configured to sequentially determine animation poses of the at least two component models and superimpose the animation poses of the at least two component models to obtain an initial animation pose.

[0195] In one alternative design of the present application, the main body model includes at least two component models, the at least two component models including models of different parts of the main control object, and the production module 2304 is further configured to render the at least two component models respectively to obtain rendering results of the at least two component models, and combine the rendering results of the at least two component models to obtain the main body of the main control object.

[0196] As described above, in this embodiment, when generating the projection of the main control object, an original skeleton model is extracted from the main animation blueprint, and the projection of the main control object is obtained based on the original skeleton model. This method does not need to prepare an additional set of animation blueprints, and can obtain the projection of the main control object, simplifying the process of obtaining the projection of the main control object, and can obtain the projection of the main control object without requiring a large amount of calculation, thereby reducing the calculation load of the computer equipment.

[0197] 24 is a schematic structural diagram of a computer device according to an exemplary embodiment. The computer device 2400 includes a central processing unit (CPU) 2401, a system memory 2404 including a random access memory (RAM) 2402 and a read-only memory (ROM) 2403, and a system bus 2405 connecting the system memory 2404 and the central processing unit 2401. The computer device 2400 further includes a basic input / output system (I / O system: Input / Output) 2406 that supports the transmission of information between each device in the computer device, and a mass storage device 2407 that stores an operating system 2413, applications 2414, and other program modules 2415.

[0198] The basic input / output system 2406 includes a display 2408 for displaying information and input devices 2409, such as a mouse or keyboard, for a user to input information. Here, the display 2408 and input devices 2409 are both connected to the central processing unit 2401 via an input / output controller 2410 connected to the system bus 2405. The basic input / output system 2406 may further include an input / output controller 2410 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 2410 provides output to a display, printer, or other type of output device.

[0199] The mass storage device 2407 is connected to the central processing unit 2401 via a mass storage controller (not shown) that is connected to the system bus 2405. The mass storage device 2407 and its associated computer device readable media provide non-volatile storage for the computer device 2400. That is, the mass storage device 2407 may include a computer readable medium (not shown), such as a hard disk or a Compact Disc Read-Only Memory (CD-ROM) drive.

[0200] Without loss of generality, the computer machine readable medium may include computer machine storage media and communication media. Computer machine storage media includes volatile and non-volatile, removable and non-removable media of any method or technological implementation for storing information such as computer machine readable instructions, data structures, program modules, or other data. Computer machine storage media includes RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM, digital video disc (DVD), or other optical storage, tape cartridge, tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer machine is not limited to the above. The above system memory 2404 and mass storage device 2407 can be collectively referred to as memory.

[0201] According to various embodiments of the present disclosure, the computing device 2400 may also be implemented via a network, such as the Internet, to connect to a remote computing device connected to the network, i.e., the computing device 2400 may be connected to a network 2412 via a network interface unit 2411 connected to the system bus 2405, or may use the network interface unit 2411 to connect to another type of network or remote computing device system (not shown).

[0202] The memory further includes one or more programs, which are stored in the memory, and the central processing unit 2401 executes the one or more programs to realize all or part of the steps of the projection generation method of the above-mentioned main control object.

[0203] An exemplary embodiment further provides a computer-readable storage medium having stored thereon at least one instruction, at least one program, code set or instruction set, the at least one instruction, at least one program, code set or instruction set being loaded and executed by a processor to realize the projection generation method of the main control object provided by each of the method embodiments above.

[0204] The present application further provides a computer-readable storage medium, the storage medium storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, code set or instruction set being loaded and executed by a processor to realize the projection generation method of a main control object provided by the above method embodiment.

[0205] The present application further provides a computer program product or a computer program, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer readable storage medium, a processor of a computing device reading the computer instructions from the computer readable storage medium, and the processor executing the computer instructions, thereby causing the computing device to perform the method for generating a projection of a master controlled object provided by an embodiment of the above aspect.

Claims

1. A method for generating a projection of a main control object, the method being executed by a terminal, comprising the steps of: extracting an original skeletal model of the primary control object from a body animation blueprint of the primary control object, the primary control object being an object observing a virtual environment from a first person perspective, the body animation blueprint being used to generate a body model of the primary control object in the virtual environment, the original skeletal model being a non-skeleton-deformed model of the primary control object; obtaining a projection model based on the original skeletal model, the projection model being a model for generating a projection of the main control object in the virtual environment; rendering said projection model to obtain a projection of said primary control object.

2. The body animation blueprint includes a skeleton transformation process; The step of extracting an original skeleton model of the main control object from a main body animation blueprint of the main control object includes: extracting the original skeleton model from the body animation blueprint before the skeleton transformation process of the body animation blueprint; A method for generating a projection of a master control object according to claim 1.

3. the skeleton transformation process includes a first skeleton transformation process, the first skeleton transformation process being used to scale a skeleton in an overlapping region between a camera model of the primary control object and the original skeleton model; The step of extracting the original skeletal model from the body animation blueprint before the skeletal transformation processing of the body animation blueprint includes: extracting the original skeleton model from the body animation blueprint before the first skeleton transformation process of the body animation blueprint; A method for generating a projection of a master control object according to claim 2.

4. the skeleton transformation process includes a second skeleton transformation process, the second skeleton transformation process being used to twist and turn the original skeleton model when the main control object is in a target current state; The step of extracting the original skeletal model from the body animation blueprint before the skeletal transformation processing of the body animation blueprint includes: extracting the original skeleton model from the body animation blueprint before the second skeleton transformation process of the body animation blueprint; A method for generating a projection of a master control object according to claim 2.

5. The step of obtaining a projection model based on the original skeleton model includes: determining the original skeletal model as the projected model; or adjusting the pose of the original skeleton model based on a current state of the master control object to obtain the projected model; A method for generating a projection of a master control object according to any one of claims 1 to 4.

6. the original skeleton model includes a child skeleton and a parent skeleton corresponding to the child skeleton, the child skeleton being located at an end of a skeleton chain; The step of adjusting the posture of the original skeleton model based on the current state of the main control object to obtain a projected model includes: determining a target position of the child skeleton based on a current state of the master control object; determining a position of the child skeleton based on the target position; determining a position of the parent skeleton based on the target position and a position of the child skeleton; and adjusting the pose of the original skeleton model based on the positions of the child skeleton and the parent skeleton to obtain the projected model. A method for generating a projection of a master control object according to claim 5.

7. The step of determining a position of the child skeleton based on the target position includes: determining a first vector from a first endpoint of the child skeleton to an end of the child skeleton, the first endpoint of the child skeleton being an endpoint on the child skeleton away from the end of the child skeleton; determining a second vector from the first end point to the target position; and determining a position of the child skeleton by rotating the child skeleton based on an angle between the first vector and the second vector. A method for generating a projection of a master control object according to claim 6.

8. The step of determining a position of the parent skeleton based on the target position and the position of the child skeleton includes: determining a third vector from a second end point of the parent skeleton to an end point of the child skeleton, the second end point of the parent skeleton being an end point on the parent skeleton away from the child skeleton; determining a fourth vector from the second end point to the target position; and determining a position of the parent skeleton by rotating the parent skeleton based on an angle between the third vector and the fourth vector. A method for generating a projection of a master control object according to claim 6.

9. the main body model includes at least two component models, the at least two component models including models of different parts of the main control object; Rendering the projection model to obtain a projection of the primary control object comprises: a step of replacing the projection model with an integrated projection model, the integrated projection model being a low-polygon model obtained by integrating the at least two component models, and the number of low-polygons of the integrated projection model being smaller than the number of low-polygons of the projection model; and rendering the integrated projective model to obtain a projection of the primary control object. A method for generating a projection of a master control object according to any one of claims 1 to 4.

10. The main animation blueprint is: determining an initial animation pose of the primary control object; Substituting the initial animation pose into a skeleton model of the primary control object to obtain the original skeleton model; performing a skeleton transformation process on the original skeleton model to obtain a skeleton-transformed original skeleton model; a step of adjusting a posture of the original skeletal model after the skeletal deformation based on a current state of the main control object to obtain a main body model of the main control object, the main body model being a model for generating a main body of the main control object; and rendering the body model to obtain the main control object body. A method for generating a projection of a master control object according to any one of claims 1 to 4.

11. the skeleton model of the main control object includes at least two component models, the at least two component models including models of different parts of the main control object; determining an initial animation pose of the primary control object, determining sequential animation poses for the at least two component models; and superimposing animation poses of the at least two component models to obtain the initial animation pose. A method for generating a projection of a master control object according to claim 10.

12. the main body model includes at least two component models, the at least two component models including models of different parts of the main control object; Rendering the body model to obtain the body of the main control object includes: rendering the at least two component models respectively to obtain a rendering result of the at least two component models; and combining the rendering results of the at least two component models to obtain a main body of the main control object. A method for generating a projection of a master control object according to claim 9.

13. A master controlled projection generating device, comprising an extraction module, an adjustment module, and a rendering module, The extraction module is configured to extract an original skeletal model of the primary control object from a body animation blueprint of the primary control object, the primary control object being an object observing a virtual environment from a first-person perspective, the body animation blueprint being used to generate a body of the primary control object in the virtual environment, and the original skeletal model being a non-skeletal modified model of the primary control object; the adjustment module is configured to obtain a projection model based on the original skeletal model, the projection model being a model for generating a projection of the main control object in the virtual environment; A projection generating device for a primary controlled object, the rendering module being configured to render the projection model to obtain a projection of the primary controlled object.

14. The body animation blueprint includes a skeleton transformation process; The extraction module is configured to extract the original skeletal model from the body animation blueprint prior to the skeletal transformation processing of the body animation blueprint; 14. A projection generating device according to claim 13.

15. the skeleton transformation process includes a first skeleton transformation process, the first skeleton transformation process being used to scale a skeleton in an overlapping region between a camera model of the primary control object and the original skeleton model; The extraction module is further configured to extract the original skeletal model from the body animation blueprint prior to the first skeletal transformation process of the body animation blueprint.

15. A projection generating device according to claim 14.

16. the skeleton transformation process includes a second skeleton transformation process, the second skeleton transformation process being used to twist and turn the original skeleton model when the main control object is in a target current state; The extraction module is further configured to extract the original skeletal model from the body animation blueprint prior to the second skeletal transformation processing of the body animation blueprint.

15. A projection generating device according to claim 14.

17. The adjustment module is further configured to determine the original skeletal model as the projected model; Or, the adjustment module is further configured to adjust a pose of the original skeleton model based on a current state of the master control object to obtain the projected model. A projection generating device for a master control object according to any one of claims 13 to 16.

18. A processor; A computer device comprising: a memory having stored therein at least one instruction that is loaded by the processor and causes the processor to execute the method for generating a projection of a master control object according to any one of claims 1 to 4.

19. A computer program comprising computer programs or instructions for causing a processor to carry out the method for generating a projection of a master controlled object according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Information processing method and device for manually twisting virtual article in UE4 engine

    CN112206525A

  • Picture generator and information storage medium

    JP1999306384A

  • Image generation system and information recording medium

    JP2001067490A

  • Image generative system, program, and information storage medium

    JP2004334662A

  • Program, information storage medium and image generation system

    JP2011215920A