A method, device, system and medium for generating three-dimensional model

By extracting the key bone points and target bone points of the three-dimensional model, the problem of excessive data volume of the three-dimensional model is solved, achieving faster loading speed and smoother user experience.

CN113822984BActive Publication Date: 2025-05-13SHENZHEN DIANMAO TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110927885.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-12
Publication Date
2025-05-13
Estimated Expiration
2041-08-12

AI Technical Summary

Technical Problem

The data volume of the existing three-dimensional model is too large, resulting in slow loading and poor user experience, and high hardware threshold requirements, limiting usage scenarios.

Method used

By extracting the key bone points of the original bone data, key bone data are generated, and target bone points and their three-dimensional bone coordinates are determined based on the key bone data, the data volume is reduced, and a relatively small three-dimensional model is generated.

Benefits of technology

It significantly reduces the data volume and calculation amount of the three-dimensional model, improves the loading speed and fluency of the model, lowers the hardware threshold, and optimizes the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113822984B_ABST
    Figure CN113822984B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device, system and medium for generating a three-dimensional model. The method comprises the following steps: obtaining original skeleton data of a virtual object; extracting key skeleton points from the original skeleton data to obtain key skeleton data corresponding to the virtual object; determining target skeleton points corresponding to the virtual object and three-dimensional skeleton coordinates corresponding to each of the target skeleton points according to the key skeleton data; and generating a three-dimensional model corresponding to the virtual object according to the target skeleton data including the three-dimensional skeleton coordinates.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of three-dimensional modeling, and in particular to a method, device, system and medium for generating a three-dimensional model. Background Art

[0002] With the development of computer hardware technology and computer software technology, especially graphics and image technology, 3D virtual object animation technology has been widely used in film and television animation, entertainment games, distance education, military simulation and other fields. However, many original 3D models are generated in PC 3D design software. 3D product models are often highly complex and have large data sizes. When used, they cannot be loaded or load too slowly due to the large data size, which seriously affects the user experience. In addition, the hardware threshold for operation is relatively high, which limits the use scenarios of 3D models. Summary of the invention

[0003] The object of the present invention is to provide a method, device, system and medium for generating a three-dimensional model, so as to reduce the data volume of the original three-dimensional model and improve the fluency of the model when used.

[0004] The technical solution adopted by the present invention to solve the above technical problems is as follows:

[0005] A method for generating a three-dimensional model comprises the following steps:

[0006] Get the original skeleton data of the virtual object;

[0007] Extract key bone points from the original bone data to obtain key bone data corresponding to the virtual object;

[0008] Determine, according to the key skeleton data, target skeleton points corresponding to the virtual object, and three-dimensional skeleton coordinates corresponding to each of the target skeleton points;

[0009] A three-dimensional model corresponding to the virtual object is generated according to the target bone data including the three-dimensional bone coordinates.

[0010] In one embodiment, determining the target skeleton points corresponding to the virtual object and the three-dimensional skeleton coordinates corresponding to the target skeleton points according to the key skeleton data comprises the following steps:

[0011] Acquire the three-dimensional key coordinates of the key skeleton points from the key skeleton data;

[0012] Based on the trunk distribution of the virtual object in the original skeleton data, the target skeleton points are generated according to the three-dimensional key coordinates, and the three-dimensional skeleton coordinates corresponding to each of the target skeleton points are obtained.

[0013] In one embodiment, generating the three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates comprises the following steps:

[0014] Obtaining a skin model of a virtual object;

[0015] A point in the calibrated skin model is used as a binding point and paired with the target bone point for binding;

[0016] Binding data is generated according to the three-dimensional binding point coordinates of the binding point, and the skin model is bound to the three-dimensional model according to the binding data.

[0017] In one embodiment, after a point in the calibrated skin model is paired and bound with a target bone point, the step of adjusting the skin model is further included. The specific steps include:

[0018] Calibrate the skin model that needs to be adjusted;

[0019] Adjusting the relative position and / or relative ratio between the skin model and the target bone point to obtain adjustment matrix data;

[0020] The position and movement changes of the skin model are determined according to the adjustment matrix data and the target skeleton data.

[0021] In one embodiment, generating the three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates further comprises the following steps:

[0022] Get animation data of virtual objects;

[0023] Extracting the motion data and key frames of the skeleton points from the animation data;

[0024] Based on the 3D key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points, the 3D skeleton coordinates of the target skeleton points between the two key frames are calculated;

[0025] Arrange the target skeleton points in time sequence to obtain a skeleton point sequence, and generate the action animation of the three-dimensional model according to the skeleton point sequence.

[0026] In one embodiment, the step of calculating the three-dimensional skeletal coordinates of the target skeletal points between two key frames based on the three-dimensional key coordinates of the key skeletal points in the key frames and the motion data of the skeletal points further comprises the following steps:

[0027] According to the animation action of the virtual object in the animation data, a positive or negative acceleration is added to the action data of the bone point;

[0028] The movement speed of the target bone point during the movement process is adjusted to change the three-dimensional bone coordinates of the target bone point between two key frames, thereby adjusting the action posture of the virtual object.

[0029] In one embodiment, the motion data of the skeleton point includes: whether the legs of the virtual object are on the ground, represented by a Boolean value;

[0030] Among them, if the virtual object's legs are touching the ground, the corresponding Boolean value is true, and if the virtual object's legs are not touching the ground, the corresponding Boolean value is false.

[0031] Another embodiment of the present invention further provides a device for generating a three-dimensional model, the device comprising:

[0032] A skeleton data acquisition module is used to acquire original skeleton data of a virtual object;

[0033] A data extraction module, used to extract key bone points from the original bone data to obtain key bone data corresponding to the virtual object;

[0034] A data processing module, used to determine the target bone points corresponding to the virtual object and the three-dimensional bone coordinates corresponding to the target bone points according to the key bone data;

[0035] The three-dimensional model generation module generates a three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates.

[0036] Another embodiment of the present invention further provides a system for generating a three-dimensional model, the system comprising at least one processor; and

[0037] a memory communicatively connected to the at least one processor; wherein,

[0038] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned three-dimensional model generation method.

[0039] Another embodiment of the present invention further provides a non-volatile computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are executed by one or more processors, the one or more processors can execute the above-mentioned three-dimensional model generation method.

[0040] Beneficial effects: The present invention discloses a method, device, system and medium for generating a three-dimensional model. Compared with the prior art, the embodiments of the present invention extract key bone points of original bone data to form key bone data, thereby greatly reducing the number of bone points and reducing the data volume; and determining the target bone points corresponding to the virtual object according to the key bone data. The three-dimensional model generated based on the target bone data has a smaller data volume than the original bone data, thereby improving the processing speed of the three-dimensional model during use or transmission, reducing the jamming caused by large calculation amount during the use of the three-dimensional model, improving the fluency of the three-dimensional model, lowering the threshold of hardware equipment, and optimizing the user experience.

[0041] Other features and advantages of the invention will be described in the following description, and partly become apparent from the description, or understood by practicing the invention. The purpose and other advantages of the invention can be realized and obtained by the structures particularly pointed out in the written description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The present invention is described in detail below in conjunction with the accompanying drawings to make the above advantages of the present invention more clear.

[0043] Figure 1 It is a flow chart of a method for generating a three-dimensional model of the present invention;

[0044] Figure 2 It is a schematic diagram of key skeleton points in a method for generating a three-dimensional model of the present invention;

[0045] Figure 3 It is a schematic diagram of target skeleton points in a method for generating a three-dimensional model of the present invention;

[0046] Figure 4 It is a flow chart of generating target skeleton points in a method for generating a three-dimensional model of the present invention;

[0047] Figure 5 It is a schematic diagram of skeleton points in a method for generating a three-dimensional model of the present invention;

[0048] Figure 6 It is a flow chart of skin binding in a method for generating a three-dimensional model of the present invention;

[0049] Figure 7 It is a flow chart of adjusting a skin model in a method for generating a three-dimensional model of the present invention;

[0050] Figure 8 It is a schematic diagram of adjusting a skin model in a method for generating a three-dimensional model according to the present invention;

[0051] Fig. 9 It is a flow chart of generating action animation in a method for generating a three-dimensional model of the present invention;

[0052] Fig.10 It is a schematic diagram of a key frame in a method for generating a three-dimensional model according to the present invention;

[0053] Fig.11 It is a flow chart of adjusting action posture in a method for generating a three-dimensional model of the present invention;

[0054] Fig.12 It is a functional module schematic diagram of an embodiment of a three-dimensional model generation device of the present invention;

[0055] Fig.13 It is a schematic diagram of the hardware structure of an embodiment of a three-dimensional model generating device of the present invention. DETAILED DESCRIPTION

[0056] In order to make the purpose, technical solution and effect of the present invention clearer and more specific, the present invention is further described in detail below. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0057] like Figure 1 As shown, a method for generating a three-dimensional model comprises the following steps:

[0058] S100, obtaining original skeleton data of a virtual object;

[0059] The original skeleton data of the virtual object is completed by the designer on professional software to complete the skeleton design and action design; the original skeleton data is a bvh file. Compared with files in other formats, bvh files are divided into two main parts: skeleton information and data blocks. The skeleton information defines the position and rotation components such as root, hip, leg, etc. according to the hierarchical relationship, thus forming a complete skeleton. The data block corresponds to the data information of each frame of the skeleton above. The separation of skeleton information and data block information is convenient for file parsing information reading, and also convenient for later code maintenance and adjustment.

[0060] S200, extracting key bone points from the original bone data to obtain key bone data corresponding to the virtual object;

[0061] Designers will mark the key bone points on the skeletal model. Taking humanoid virtual objects as an example, the key bone points are generally the toes, ankles, knees, thighs of the left / right legs and the shoulders, elbows, hands, head, neck, chest, buttocks and other key parts of the human body of the left / right hands. In order to pursue realistic motion effects and skin display effects, in addition to the key bone points, multiple bone nodes are distributed along the torso of the virtual object.

[0062] Only the key bone points are extracted, and the positions of the key bone points in space are marked, and the key bone points are digitized to obtain the key bone data. A large number of redundant bone nodes are subtracted, thereby reducing the amount of program calculations and data volume.

[0063] S300, determining target skeleton points corresponding to the virtual object and three-dimensional skeleton coordinates corresponding to the target skeleton points according to the key skeleton data;

[0064] The key bone points correspond to the end points and joints of the virtual object's torso. The target bone points are determined by the key bone data, and the target bone points represent the torso parts of the virtual object. The lines between the key bone points constitute the basic key bone data, which is sufficient to show a series of actions of the virtual object, but it is difficult to perform static or dynamic skin binding only through the key bone points. The target bone points produced by the key bone points are mainly used for skin binding and animation generation. Because the target bone points are generated based on the key bone data, in terms of data transmission, the minimum transmission quantity only includes the key bone data.

[0065] S400: Generate a three-dimensional model corresponding to the virtual object according to the target skeleton data including the three-dimensional skeleton coordinates.

[0066] The target bone data is composed of the three-dimensional bone coordinates of the target bone points; in the later stage of the virtual object's action effect and three-dimensional model display process, it relies on the calculation of the code itself. The target bone data is small in size and requires less calculation. Without affecting the animation effect calculation, a large number of redundant bone nodes are subtracted, thereby reducing the program's calculation amount and data volume, and improving the calculation speed and loading speed during model display.

[0067] like Figure 2 As shown, in this implementation case, after generating the key bone data, the position of the key bone points can also be fine-tuned according to the actual style of the virtual object. Taking a humanoid virtual object as an example, by adjusting the relative distance between the key bone points, the proportion of the character's leg length, arm length and height can be achieved, which can be used to create alien characters, such as Q-version characters. Because only the key bone points are extracted from the original bone model, the program has a small amount of calculation, and can be viewed in real time during the adjustment process. It is suitable for web, mobile, old devices and other scenarios with limited computing power such as data loading speed to edit and view the three-dimensional model of virtual objects.

[0068] like Figure 3As shown, in this embodiment, the virtual object can be in human form, animal form or insect form, wherein the key bone points represent the endpoints of the rotating joints or the torso in the original bone data, and the movements and postures of the virtual object can be roughly represented by connecting several key bone points. However, the key bone points are too simple and are not suitable for displaying the virtual object in static or dynamic display or as a skin model.

[0069] By generating target bone points to correspond to the torso and limbs of the virtual object, the three-dimensional bone coordinates of the target bone points are composed of three numbers. When the virtual object's skin is subsequently bound, it is only necessary to calculate the relative spatial position between the virtual object's skin model and the target bone points. When producing animation, the movement trend of the target bone points is calculated, and the coordination of multiple target bone points can realize the virtual object's action animation.

[0070] like Figure 4 As shown, in this implementation case, determining the target bone points corresponding to the virtual object according to the key bone data, and the three-dimensional bone coordinates corresponding to each of the target bone points include the following steps:

[0071] S301, obtaining three-dimensional key coordinates of key bone points from key bone data;

[0072] S302, based on the trunk distribution of the virtual object in the original skeleton data, generate target skeleton points according to the three-dimensional key coordinates, and obtain the three-dimensional skeleton coordinates corresponding to each of the target skeleton points.

[0073] like Figure 5 As shown, in the key skeleton data, different key skeleton points represent different active joints or the endpoints of the trunk and limbs, and the lines between different key skeleton points distributed along the trunk of the virtual object represent the trunk and limbs of the virtual object. The target skeleton points generated based on different key skeleton points also correspond to different trunk parts of the human body. Taking the humanoid virtual object as an example, the key skeleton points correspond to the toes, ankles, knees, thighs of the left / right legs and the shoulders, elbows, hands, head, neck, chest, buttocks and other key parts of the human body of the left / right hand. The target skeleton points are located on the lines between some key skeleton points or the extension lines of the lines, representing the head, neck, upper body, lower body, left shoulder, right shoulder, left upper arm, right upper arm, left lower arm, right lower arm, left hand, right hand, left thigh, right thigh, left calf, right calf, left foot, right foot and other parts of the human body.

[0074] In this implementation case, the target bone point is taken as the midpoint of the line between the key bone points on the human body to facilitate the positioning and calculation of the target bone point. For example, the three-dimensional key coordinates of the key bone point representing the left elbow joint are (x 1 ,y 1 、z 1 ), the three-dimensional key coordinates of the key bone points of the left hand are (x2 ,y 2 、z 2 ), the line between the two key bone points represents the left lower arm of the virtual object, that is, the three-dimensional bone coordinates of the target bone point in the middle of the line are That is, in terms of data transmission and storage, key bone points and key bone data can be derived through key bone data.

[0075] like Figure 6 As shown, in this implementation case, generating a three-dimensional model corresponding to a virtual object according to target bone data including three-dimensional bone coordinates includes the following steps:

[0076] S500, obtaining a skin model of a virtual object;

[0077] In this implementation case, the skin model is a pixelated vox file. The pixelated skin model in space is composed of a number of volume pixels. The volume pixel is similar to the smallest unit of two-dimensional space, namely, pixel. Pixel is used for the image data of two-dimensional computer images. As its name suggests, the volume pixel is the smallest unit of digital data in three-dimensional space segmentation. Compared with other realistic skin models, pixel-style skin models have smaller data volume. For example, a pixelated voxel is a square, that is, 8 points, so only the x, y, and z values ​​of the 8 points in the cubic coordinate system need to be stored, but in fact only the data of 2 points are needed to calculate the remaining 6 points. For example, the spatial coordinates of point A in the voxel are (0, 0, 0), and the spatial coordinates of point B opposite to point A are (1, 1, 1). Through the vertical projections of point A and point B on X, Y, and Z respectively and the Pythagorean theorem, the coordinates of the remaining six points in the voxel can be inferred to be (0, 1, 0), (1, 0, 0), (1, 1, 0), (0, 1, 1), (1, 0, 1), and (0, 0, 1). For non-pixel style, if a smoother object surface is needed, far more than these 8 points are needed to achieve a smooth transition. That is, in the process of skin matching and display, the pixel-style skin model has more program computing power and smaller data transmission volume, which optimizes the smoothness of the operation and reduces loading time and device lag.

[0078] S600, calibrating a point in the skin model as a binding point and pairing and binding it with a target bone point;

[0079] The skin model is designed by the designer using professional software, and the skin model file is finally exported. Taking a humanoid virtual object as an example, when making a skin model, the designer will name and export it separately according to the parts of the human body, such as left hand skin, right hand skin, head skin, left leg skin, and right leg skin.

[0080] The target bone points are located on the lines between some key bone points or on the extension lines of the lines, representing the head, neck, upper body, lower body, left shoulder, right shoulder, left upper arm, right upper arm, left lower arm, right lower arm, left hand, right hand, left thigh, right thigh, left calf, right calf, left foot, right foot, etc. For skin models of different parts, when pairing and binding, for the convenience of calculation, the midpoint of the skin model is selected as the binding point and aligned with the target bone point. The skin models of different parts are first fixed through the binding points, and then the skin is adjusted.

[0081] In addition to conventional skin models of torso and limbs, the skin model may also involve skins for weapons, decorations, etc., that is, when binding and pairing with the target bone point, the binding point can be the edge of the skin model or a point outside the skin model.

[0082] S700: Generate binding data according to the three-dimensional binding point coordinates of the binding point, and bind the skin model to the three-dimensional model according to the binding data.

[0083] The three-dimensional binding coordinates of the binding points that pair the skin model with the target bone points are saved. The skin models of different parts can be positioned at the specified positions of the three-dimensional model through the binding data. The position of the skin model when the virtual object moves can be calculated based on the binding data to calculate the dynamic movement of the skin model.

[0084] The skin binding step in the three-dimensional model establishment is completed by binding the skin model according to the torso part of the virtual object and the binding points. When the three-dimensional model of the virtual object performs three-dimensional simulated motion, the key bone points move according to the trajectory, that is, the target bone points generated based on the key bone points perform corresponding synchronous movements with the reference key bone points, and the skin model bound to the target bone points through the binding points follows the movement. In terms of visual effects, the skin models of different parts are linked, and the bone binding effect of the skin model is realized as a whole. In terms of data transmission, the binding data only contains the three-dimensional binding coordinates of the binding points. The data transmission volume is small, which reduces the amount of calculation.

[0085] In this implementation case, after the center of the skin model is aligned with the target bone point, the angle and proportion of the skin model are likely to be inconsistent. For some irregular skin models, when the center is aligned with the target bone point, there will be penetration between the skins. That is, the aligned skin model needs to be fine-tuned according to the actual skin model situation, such as translation, rotation and scaling.

[0086] like Figure 7 As shown, in this implementation case, after selecting a point from the target bone point as a binding point and pairing and binding with the skin model, it also includes step S800, adjusting the skin model, and the specific steps include:

[0087] S801, calibrating the skin model that needs to be adjusted;

[0088] This method is applied on the device side. There are two methods for calibrating the skin model that needs to be adjusted. The first method is to directly select the skin model that needs to be adjusted in the skin model list according to the name of the target bone point of the skin model; the second method is to select it by clicking the mouse or touch screen when previewing the three-dimensional model of the virtual object.

[0089] Among them, the second method uses the ray triangle intersection algorithm to assist in the calculation, and then multiplies the current viewing angle and the distance the mouse moves on the screen by a certain ratio to calculate the movement direction and distance of the skin model in the three-dimensional space. An example is as follows:

[0090] Assume that the coordinate system where the origin of the 3D world on the screen is O=[o x , o y , o z ];

[0091] At this time, when the mouse is clicked, the x and y coordinate points on the screen emit a ray to the origin o. The ray data is R = [r x , r y , r z ]; Taking any minimum coordinate point [-x, -y, -z] and maximum coordinate point [x, y, z] of a skin, we can calculate the maximum cube data of the skin, and then get the data of any face. Take any three points of the face, assuming P 0 =[P 0x , P 0y , P 0z ], P 1 =[P 1x , P 1y , P 1z ], P 2 =[P 2x , P 2y , P 2z According to the ray-triangle intersection algorithm, we can get the equation: O+tR=(1-b 1 -b 2 ) 0 +b 1 P 1 +b 2 P 2 , where t is time. When the calculated t value exists, it means that the ray R intersects with a certain surface of the skin, otherwise no skin is clicked. From this, we can get the specific skin part that is selected / unselected when the mouse is currently clicked.

[0092] S802, adjusting the relative position and / or relative ratio between the skin model and the target bone point to obtain adjustment matrix data;

[0093] In actual operation, the adjustment of skin models is mainly divided into three types: translation, scaling and rotation, and a standard 4×4 transformation matrix can express any linear 3D transformation;

[0094] 1. When translating the skin model, in the three-dimensional coordinate table, any point P = (x, y, z) is translated by the translation distance t x ,t y and t z , added to the coordinates of P and translated to position P′=(x′,y′,z′), x′=x+t x , y′=y+t y , z′=z+t z , expressed as a matrix:

[0095]

[0096] 2. When rotating the skin model, although the rotation can be processed around any axis, it is easiest to rotate around an axis parallel to the coordinate axis;

[0097] Taking the rotation around the z-axis as an example, the expression of rotation is:

[0098] x′=xcscθ-ysinθ;

[0099] y′=x sinθ+y cos θ;

[0100] z′=z;

[0101] The parameter θ is the rotation angle, written in matrix form:

[0102]

[0103] Similarly, when the skin model rotates around the Y axis, the 4×4 transformation matrix is ​​as follows:

[0104]

[0105] When the skin model is rotated around the X axis, the 4×4 transformation matrix is ​​as follows:

[0106]

[0107] 3. When scaling the skin model, the skin model can be scaled along the x-axis, y-axis, and z-axis of the space, using matrix multiplication to represent the scaling changes:

[0108]

[0109] If kx=ky=kz, it is called uniform scaling, otherwise it is called non-uniform scaling.

[0110] In actual operation, the adjustment of the skin model is often not a single one, but is composed of two or three parts: translation, rotation, and scaling. The expression of this composite adjustment is as follows:

[0111] P new =M translation M rotation M scalθ P o1d ;

[0112] The above expression uses a column matrix, so the reading order is from right to left, that is, scaling transformation is performed first, then rotation transformation, and finally translation transformation. It should be noted that the result of the transformation depends on the transformation order. Since matrix multiplication does not satisfy the commutative law, the results obtained by different transformation orders may be different. The essence is that matrix multiplication does not satisfy the commutative law.

[0113] For different transformation orders, the expression of the transformation matrix can be generated according to the transformation order of the actual situation. Taking the rotation of the y-axis as an example, the transformation matrix obtained by combining the three transformations in the order of scaling, rotation, and translation is:

[0114]

[0115] If the rotation parameters of the skin model include two or three of the x-axis, y-axis, and z-axis, the order of the diamond changes is also very important. For example, the rotation order of the x-axis, y-axis, and z-axis is θ x ,θ y ,θ z , the resulting transformation matrix is:

[0116]

[0117] S803, multiplying the adjustment matrix data with the target bone data to represent the position and movement changes of the skin model.

[0118] like Figure 8As shown, in this implementation case, the fine-tuning of the skin model is a vector adjustment in three-dimensional space. In order to record the relative position and relative proportion data of the fine-tuned skin model and the target bone point, the adjusted parameters are calculated into a set of 4x4 adjustment matrix data. By saving this set of adjustment matrix data, when the character starts to move later, the target bone data is multiplied by the group adjustment matrix data to obtain the middle point position and change of the skin model when the skin is bound, thereby calculating the corresponding position and rotation change of each skin model. By digitizing and formulating the relative proportion and relative position of the skin, in the subsequent actions of the virtual object of the character, the target bone data is obtained through the key bone data, and the skin model is bound to the target bone point through the binding point to obtain the binding data. When the relative position and / or relative proportion of the skin model changes, it is recorded through the adjustment matrix data, and the target bone data is multiplied by the adjustment matrix data to obtain the position and change of the binding point, that is, the position and change of the skin model are calculated, which is simplified in terms of data volume and calculation.

[0119] like Fig. 9 As shown, in this implementation case, generating a three-dimensional model corresponding to a virtual object according to target bone data including three-dimensional bone coordinates also includes the following steps:

[0120] S900, obtaining animation data of a virtual object;

[0121] The original skeleton model of this implementation case is a bvh format file, which is divided into two main parts: skeleton information and data blocks. The skeleton information defines the position and rotation components such as root, hip, leg, etc. in a hierarchical relationship. The data block corresponds to the above skeleton parts and marks the data information of each frame, that is, the key frame includes the spatial position and movement trend of the key skeleton points, as well as the steering data of the trunk and limbs of the virtual object.

[0122] S1000, extracting motion data and key frames of skeleton points from animation data;

[0123] The motion data of the skeleton includes information such as the movement trend, movement speed and movement direction of key bone points, as well as the rotation amount of the target bone points, such as the direction of the hand or head.

[0124] The key bone points represent the active joints and the ends of the trunk and limbs of the virtual object respectively. According to the action data of the key bone points, the positions of the key bone points between two key frames and the rotation of the trunk and limbs of the virtual object are inferred through inverse kinematics to form several intermediate frames.

[0125] In this implementation case, the smoothness of the action animation of the virtual object is affected by the interception interval between key frames and the number of intermediate frames produced;

[0126] In a unit of time, if the number of intermediate frames remains unchanged, the more key frames are captured, the smoother the action animation is. The calculation amount of the intermediate frames is relatively small, but the data volume is large, which will increase the loading time of data transmission or reading;

[0127] In a unit of time, if the number of captured key frames remains unchanged, the more intermediate frames are generated, the smoother the animation will be. At this time, the data transmission volume is fixed, but the amount of calculation will increase.

[0128] That is, the number of animation frames displayed per unit time, the number of key frames intercepted, and the number of intermediate frames generated can be fine-tuned according to the actual data transmission and hardware computing power. Especially for the transmission of network models, compared with the virtual object action, each frame requires a set of point data to form, and the smoother the action, the larger the amount of data will be; extracting key frames and smoothing them through frame animation function calculation greatly saves the amount of data.

[0129] S1100, calculating the three-dimensional skeleton coordinates of the target skeleton point between two key frames based on the three-dimensional key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points;

[0130] Get the 3D key coordinates of the key bone points, determine the target bone points based on the key bone data, and when the 3D model of the virtual object performs dynamic movements, calculate the 3D key coordinates of the key bone points in the middle of the two key frames based on the 3D key works of the key bone points of the key frames combined with the action data of the bone points. The target bone points calculate and update the 3D bone coordinates of the target bone points in real time based on the changes in the 3D key coordinates of the key bone points.

[0131] like Fig.10 As shown, in this implementation case, inverse kinematics affects the position of the root nodes such as the shoulder and crotch in the human body by controlling the end node movement of the wrist and ankle and even the fingers and toes. Taking the humanoid virtual object as an example, the target bone point positions representing the human torso and limbs are deduced based on the key bone points representing the joint nodes and limb end points of the human body. For example, the position of the key bone points in the key frame is composed of a set of three-dimensional data, and the hand steering, hip steering, and head steering are respectively composed of a set of quaternions; the positions of the lower arm, upper arm, and shoulder are calculated in turn through the position of the hand and the inverse operation principle. The same is true for the feet. The positions of the calves and thighs are calculated based on the positions of the feet.

[0132] S1200, arranging each target skeleton point in chronological order to obtain a skeleton point sequence, and generating a motion animation of a three-dimensional model according to the skeleton point sequence.

[0133] The binding points of the skin model are paired with the target bone points. According to the changes in the three-dimensional bone coordinates of the target bone points, the target bone points are sorted in chronological order to obtain a bone point sequence. The skin model of the virtual object moves according to the bone point sequence to generate an action animation.

[0134] In this implementation case, each series of actions will store their action progress values ​​in global variables, and the calculation of each frame will make different advancements for different actions. When applied on the hardware side, a draggable progress bar is generated. By dragging the progress bar, the virtual object action of each frame can be observed. Usually, the progress value is 0-1. For example, the virtual object can complete the action within the same one second, which is used to calculate the action rate of the key frame. By dragging the progress bar back and forth, the smoothness of the character action animation can be observed, and the key frames can be freely intercepted according to the complexity of the action and the number of intermediate frames produced between the two key frames can be adjusted to adjust the smoothest and most natural character action.

[0135] like Fig.11 As shown, in this implementation case, based on the three-dimensional key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points, calculating the three-dimensional skeleton coordinates of the target skeleton points between two key frames also includes the following steps:

[0136] S1101, adding positive or negative acceleration to the motion data of the skeleton point according to the animation motion of the virtual object in the animation data;

[0137] In order to give the action animation of the virtual object a sense of power and realism, according to the movement trend of the virtual object, additional acceleration is applied to some key bone points in the key frame, so that the key bone points produce speed differences when moving, and the compression and stretching of the trunk and limbs of the virtual object are realized, which is used to create the process of storing and releasing force of the virtual object, and cooperate with the skin model bound to the target bone point to make the action of the virtual object more realistic and tense. For example, when the virtual object jumps and lands, there will be a positive or negative acceleration in the y-axis direction, and this acceleration value can be used in the animation of jumping and landing. For example, when jumping for the first time, the positive acceleration of the y-axis is large, and the body is stretched to a certain extent. When jumping to the top, the positive acceleration of the y-axis becomes smaller, and the body returns to normal; when landing, the negative acceleration of the y-axis is the largest, and the body is compressed to a certain extent on the y-axis, so as to produce a more natural body performance when the virtual object jumps.

[0138] S1102: Adjust the movement speed of the target skeleton point during the movement process to change the three-dimensional skeleton coordinates of the target skeleton point between two key frames, thereby adjusting the action posture of the virtual object.

[0139] In this implementation case, the jumping and landing of the virtual object are taken as an example for calculation: according to the y-axis acceleration, the movement speed of some key bone points in the Y-axis direction is changed, thereby changing the relative distance between the key bone points and the target bone points, to achieve the effect of stretching the body in the y-axis direction. The change in the distance between the key bone points of the virtual object does not necessarily affect the three-dimensional bone coordinates of the target bone points. The stretching ratio of the relative distance between the key bone points is converted into the stretching data of the skin model, and a set of adjustment matrix data records are used to perform equivalent stretching on the skin model, that is, the three-dimensional model of the virtual object has a stretching effect when performing action animation.

[0140] In this implementation case, compared with the original bone model, it is impossible to simulate the visual effects of the bending, storing force and stretching and twisting of the spine through the coordination of multiple bone nodes. In order to obtain smooth and natural character movements, physical parameters are added to the action animation generation. By changing the relative positions of key bone points during the movement, the sense of power and speed is expressed, making the visual effect more tense.

[0141] For example, when a virtual object is running, there will be a certain acceleration in the x-axis direction. When the acceleration is just generated, the virtual object's body will lean forward a little. The faster the running speed, the greater the angle of the body leaning forward, which is more in line with the natural running posture of a person. When running generates acceleration, according to the acceleration value, the key bone points farther away from the ground (i.e. the bottom of the character model) will have a greater displacement in the acceleration direction, producing the effect of the character leaning forward.

[0142] In addition to the more natural body movements of the virtual objects during jumping, landing and running mentioned above, many other natural details of the characters can also be expressed, such as irregular shaking of the limbs when the characters are flying, adding breathing movements when standing still, etc., which can be achieved by adjusting the movement mode and trajectory of key bone points.

[0143] In this implementation case, the action data of the skeleton point includes: whether the character's legs are touching the ground, which is represented by a Boolean value;

[0144] Among them, if the character's legs are on the ground, the corresponding Boolean value is true, and if the character's legs are not on the ground, the corresponding Boolean value is false.

[0145] Taking a humanoid virtual object as an example, whether the two feet are on the ground can be used to assist in judging the inclination and stretching of the torso during an action. When a person walks, one foot is always on the ground and the other foot is off the ground; and in a running action, both feet can be off the ground for 1-2 frames. In animation production, it is customary to set the time from when a heel is lifted off the ground to when it touches the ground again as one step, and one cycle is when the two feet take one step alternately. When a person walks, the left and right feet move forward alternately, and the arms swing back and forth at the same time, but the direction of the arms is opposite to that of the feet. When a step is taken, the height of the body decreases. When one foot touches the ground and the other foot moves forward to the intersection of the two legs, the height of the body increases, and the whole body moves in a wave-like manner. A step in walking is broken down into the following 5 stages:

[0146] 1. Starting point: This is the beginning of a step length process that is set manually. Both feet of the virtual object touch the ground. At this time, the Boolean values ​​of both feet are true. At this moment, the body is judged to lean forward and the arms swing naturally to maintain balance and thrust;

[0147] 2. Drop point: At this stage, the virtual object's legs are slightly bent, the body and center of gravity are lowered, and the heels are lifted. At this time, the Boolean values ​​of both feet are true. Combined with the time sequence, it is determined that the virtual object's arms are at the farthest point at this time, and then start to swing in the opposite direction;

[0148] 3. Ascending process: In this process, the virtual object's front legs are straightened and the center of gravity is transferred to the front legs. At this time, the Boolean values ​​of the two feet change to one true and the other false. The body and the center of gravity rise, the body leans forward, and there is a tendency to fall forward. The back foot leaves the ground and steps forward.

[0149] 4. Highest point: At this moment, the body and center of gravity of the virtual object are at their highest. The leg supporting the center of gravity is straightened (i.e., the front leg in the previous stage). The original back leg will continue to move forward. At the moment when the body is about to lose balance, the speed will slow down as the body rises. The virtual object is accumulating potential energy, i.e., one Boolean value is true and the other is false.

[0150] 5. End point: It is the end of a step. At this time, our feet slide down, and the heels will gently land on the ground to keep the body balanced and not fall. That is, the Boolean value changes from one true and the other false to both true. When this process ends, both feet touch the ground, and the body and center of gravity return to the starting point again, but the posture is reversed left and right.

[0151] In this implementation case, in order to make the movement of the virtual object more natural and show a more realistic ground contact effect, the setting of whether the sole of the virtual object's foot is in contact with the floor is specified by a Boolean value. Among them, the Boolean value is one of "True" True or "False" False. The action script will also convert the values ​​of True and False to 1 and 0 when appropriate. Boolean values ​​are often used together with logical operators in action script statements that control the script flow through comparison. That is, in the animation of walking movements, by judging whether the feet are touching the ground, combined with the time sequence, it can be used to assist in judging the posture of the human body, and more realistic movement generation can be achieved with less data. When calculating the position of the key bone points of the intermediate frames, composite calculations can be performed through Boolean values, time sequence, and action posture.

[0152] In summary, the technical scheme reduces the data volume and calculation amount of the three-dimensional model by deleting the bone points of the original bone model and retaining only the key bone points, and generating the target bone click target bone data through the key bone data of the key bone points. In the process of generating and adjusting the three-dimensional modeling, the skin model realizes the bone binding of the skin model by calibrating the binding and pairing the target bone points. When generating the animation, by intercepting the key frame, according to the three-dimensional key coordinates of the key bone points in the key frame and the action data of the bone points, the position of the target bone points is calculated by inverse kinematics, and the skin model bound to it follows the movement of the target bone points to achieve the purpose of animation production. In the actual calculation process, the data volume and the amount of program calculation are reduced, and the skin model is pixel style. The minimum unit volume pixel of the pixel style skin model only needs the coordinates of two diagonal points to record the position. While the data volume is smaller, it also reduces the amount of bone binding and rendering program calculation compared to other realistic skin styles. The three-dimensional model data generated by this method has a smaller volume, a smaller amount of program calculation and less data transmission when used and displayed, and reduces the jamming and loading process, which is suitable for web terminals, old devices and even mobile terminals.

[0153] It should be noted that there is not necessarily a certain order between the above-mentioned steps. A person skilled in the art can understand, based on the description of the embodiments of the present invention, that in different embodiments, the above-mentioned steps may have different execution orders, that is, they may be executed in parallel, may be executed interchangeably, and so on. For specific implementation methods, please refer to the above-mentioned corresponding product embodiments, which will not be repeated here.

[0154] like Fig.12 As shown, another embodiment of the present invention further provides a device for generating a three-dimensional model, the device comprising:

[0155] The skeleton data acquisition module 10 is used to acquire the original skeleton data of the virtual object;

[0156] A data extraction module 20 is used to extract key bone points from the original bone data to obtain key bone data corresponding to the virtual object;

[0157] A data processing module 30, for determining target bone points corresponding to the virtual object and three-dimensional bone coordinates corresponding to the target bone points according to the key bone data;

[0158] The three-dimensional model generation module 40 generates a three-dimensional model corresponding to the virtual object according to the target skeleton data including the three-dimensional skeleton coordinates.

[0159] In this implementation case, the three-dimensional model generation module 40 includes a skin binding unit, which is used to obtain the skin model of the virtual object, calibrate a point in the skin model as a binding point and pair it with a target bone point, generate binding data according to the three-dimensional binding point coordinates of the binding point, and bind the skin model to the three-dimensional model according to the binding data.

[0160] In this embodiment, the three-dimensional model generation module 40 also includes a skin adjustment unit, which is used to calibrate the skin model that needs to be adjusted, adjust the relative position and / or relative proportion between the skin model and the target bone point, obtain adjustment matrix data, and determine the position and movement changes of the skin model based on the adjustment matrix data and the target bone data.

[0161] In this implementation case, the three-dimensional model generation module 40 also includes an animation generation unit, which is used to obtain animation data of the virtual object, extract motion data and key frames of the skeleton points from the animation data, calculate the three-dimensional skeleton coordinates of the target skeleton points between two key frames based on the three-dimensional key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points, arrange each target skeleton point in chronological order to obtain a skeleton point sequence, and generate the motion animation of the three-dimensional model according to the skeleton point sequence.

[0162] In this embodiment, the three-dimensional model generation module 40 also includes an animation adjustment unit, which is used to add positive or negative acceleration to the motion data of the bone point according to the animation motion of the virtual object in the animation data, and adjust the movement speed of the target bone point during the movement process, so as to change the three-dimensional bone coordinates of the target bone point between two key frames, and then adjust the motion posture of the virtual object.

[0163] Another embodiment of the present invention provides a system for generating a three-dimensional model, such as Fig.13 As shown, the system 50 includes:

[0164] One or more processors 510 and memory 520, Figure 5 A processor 510 is used as an example for description. The processor 510 and the memory 520 may be connected via a bus or other means. Fig.11 The example of connecting through bus is taken in the following.

[0165] Processor 510 is used to complete various control logics of system 50, which can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component or any combination of these components. In addition, processor 510 can also be any traditional processor, microprocessor or state machine. Processor 510 can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP and / or any other such configuration.

[0166] The memory 520 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions corresponding to the method for generating a three-dimensional model in the embodiment of the present invention. The processor 510 executes various functional applications and data processing of the system 50 by running the non-volatile software programs, instructions and units stored in the memory 520, that is, implements the method for generating a three-dimensional model in the above method embodiment.

[0167] The memory 520 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required by at least one function; the data storage area may store data created according to the use of the system 50, etc. In addition, the memory 520 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 520 may optionally include a memory remotely arranged relative to the processor 510, and these remote memories may be connected to the system 50 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0168] One or more units are stored in the memory 520, and when executed by one or more processors 510, the method for generating a three-dimensional model in any of the above method embodiments is executed, for example, the method described above is executed. Figure 1 The method comprises steps S100 to S400.

[0169] An embodiment of the present invention provides a non-volatile computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by one or more processors, for example, to execute the above-described Figure 1 The method comprises steps S100 to S300.

[0170] As an example, the non-volatile storage medium can include a read-only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable ROM (EEPROM), or a flash memory. Volatile memory can include a random access memory (RAM) as an external cache memory. By way of illustration and not limitation, RAM can be obtained in many forms such as synchronous RAM (SRAM), dynamic RAM, (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The disclosed memory components or memories of the operating environment described herein are intended to include one or more of these and / or any other suitable types of memory.

[0171] Another embodiment of the present invention provides a computer program product, the computer program product includes a computer program stored on a non-volatile computer-readable storage medium, the computer program includes program instructions, when the program instructions are executed by a processor, the processor executes the method for generating a three-dimensional model of the above method embodiment. For example, executing the above described Figure 1 The method comprises steps S100 to S400.

[0172] In summary, the present invention discloses a method, device, system and medium for generating a three-dimensional model. The method not only lightweights the skeleton model, but also binds the skeleton model to the skin model, and provides tools such as skeleton fine-tuning, action fine-tuning, and skin fine-tuning to create a natural and smooth three-dimensional virtual object, strictly control the volume and transmission volume of data, greatly reduce the loading waiting time and program budget, and finally transfer the file to a universal file, which is suitable for different three-dimensional model application platforms and has strong versatility.

[0173] The embodiments described above are merely illustrative, in which the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0174] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a general hardware platform, and of course can also be implemented by hardware. Based on such an understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can exist in a computer-readable storage medium, such as ROM / RAM, a base disk, an optical disk, etc., including several instructions for enabling a computer electronic device (which can be a personal computer, a server, or a network electronic device, etc.) to execute various embodiments or certain parts of the embodiments.

[0175] Conditional language such as "can," "can," "might," or "may," among others, unless specifically stated otherwise or otherwise understood within the context as used, is generally intended to convey that a particular embodiment can include (while other embodiments do not) a particular feature, element, and / or operation. Thus, such conditional language is also generally intended to imply that a feature, element, and / or operation is required for one or more embodiments anyway or that one or more embodiments must include logic for determining, with or without input or prompting, whether such features, elements, and / or operations are included or will be performed in any particular embodiment.

[0176] What has been described herein in this specification and the accompanying drawings includes examples of methods, devices, systems and media for generating a three-dimensional model. Of course, it is not possible to describe every conceivable combination of elements and / or methods for the purpose of describing the various features of the present disclosure, but it is recognized that many other combinations and permutations of the disclosed features are possible. Therefore, it is obvious that various modifications can be made to the present disclosure without departing from the scope or spirit of the present disclosure. In addition, or in an alternative, other embodiments of the present disclosure may be obvious from consideration of the present specification and the accompanying drawings and from the practice of the present disclosure as presented herein. It is intended that the examples proposed in this specification and the accompanying drawings are considered to be illustrative and not restrictive in all respects. Although specific terms are used herein, they are used in a general and descriptive sense and are not used for the purpose of limitation.

Claims

1. A method for generating a three-dimensional model, characterized in that: The following steps are involved: Get the original skeleton data of the virtual object; Extract key bone points from the original bone data to obtain key bone data corresponding to the virtual object; Determine, according to the key skeleton data, target skeleton points corresponding to the virtual object, and three-dimensional skeleton coordinates corresponding to each of the target skeleton points; Generate a three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates; Generating the three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates comprises the following steps: Obtaining a skin model of a virtual object; A point in the calibrated skin model is used as a binding point and paired with the target bone point for binding; generating binding data according to the three-dimensional binding point coordinates of the binding point, and binding the skin model to the three-dimensional model according to the binding data; After a point in the calibrated skin model is identified as a binding point and paired with a target bone point, the step of adjusting the skin model is also included. The specific steps include: Calibrate the skin model that needs to be adjusted; Adjusting the relative position and / or relative ratio between the skin model and the target bone point to obtain adjustment matrix data; The position and movement changes of the skin model are determined according to the adjustment matrix data and the target skeleton data.

2. The method for generating a three-dimensional model according to claim 1, characterized in that: Determining the target skeleton points corresponding to the virtual object and the three-dimensional skeleton coordinates corresponding to the target skeleton points according to the key skeleton data comprises the following steps: Acquire the three-dimensional key coordinates of the key skeleton points from the key skeleton data; Based on the trunk distribution of the virtual object in the original skeleton data, the target skeleton points are generated according to the three-dimensional key coordinates, and the three-dimensional skeleton coordinates corresponding to each of the target skeleton points are obtained.

3. The method for generating a three-dimensional model according to claim 1, characterized in that: The step of generating the three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates further comprises the following steps: Get animation data of virtual objects; Extracting the motion data and key frames of the skeleton points from the animation data; Based on the 3D key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points, the 3D skeleton coordinates of the target skeleton points between the two key frames are calculated; Arrange the target skeleton points in time sequence to obtain a skeleton point sequence, and generate the action animation of the three-dimensional model according to the skeleton point sequence.

4. The method for generating a three-dimensional model according to claim 3, characterized in that: The method of calculating the three-dimensional skeleton coordinates of the target skeleton points between two key frames based on the three-dimensional key coordinates of the key skeleton points in the key frames and the motion data of the skeleton points also includes the following steps: According to the animation action of the virtual object in the animation data, a positive or negative acceleration is added to the action data of the bone point; The movement speed of the target bone point during the movement process is adjusted to change the three-dimensional bone coordinates of the target bone point between two key frames, thereby adjusting the action posture of the virtual object.

5. The method for generating a three-dimensional model according to claim 3, characterized in that: The action data of the skeleton point includes: whether the character's legs are touching the ground, which is represented by a Boolean value; Among them, if the character's legs are on the ground, the corresponding Boolean value is true, and if the character's legs are not on the ground, the corresponding Boolean value is false.

6. A three-dimensional model generation device, characterized in that: The device comprises: A skeleton data acquisition module is used to acquire original skeleton data of a virtual object; A data extraction module, used to extract key bone points from the original bone data to obtain key bone data corresponding to the virtual object; A data processing module, used to determine the target bone points corresponding to the virtual object and the three-dimensional bone coordinates corresponding to the target bone points according to the key bone data; A three-dimensional model generation module generates a three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates; Generating the three-dimensional model corresponding to the virtual object according to the target bone data including the three-dimensional bone coordinates comprises the following steps: Obtaining a skin model of a virtual object; A point in the calibrated skin model is used as a binding point and paired with the target bone point for binding; generating binding data according to the three-dimensional binding point coordinates of the binding point, and binding the skin model to the three-dimensional model according to the binding data; After a point in the calibrated skin model is identified as a binding point and paired with a target bone point, the step of adjusting the skin model is also included. The specific steps include: Calibrate the skin model that needs to be adjusted; Adjusting the relative position and / or relative ratio between the skin model and the target bone point to obtain adjustment matrix data; The position and movement changes of the skin model are determined according to the adjustment matrix data and the target skeleton data.

7. A three-dimensional model generation system, characterized in that: The system includes at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for generating a three-dimensional model as described in any one of claims 1-5.

8. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores computer-executable instructions, which, when executed by one or more processors, enable the one or more processors to execute the method for generating a three-dimensional model as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Like hologram remote presentation realization method

    CN107272882A