CN113610949A - Covering method, device and equipment for virtual arm skeleton and storage medium - Google Patents

Covering method, device and equipment for virtual arm skeleton and storage medium Download PDF

Info

Publication number
CN113610949A
CN113610949A CN202110979955.6A CN202110979955A CN113610949A CN 113610949 A CN113610949 A CN 113610949A CN 202110979955 A CN202110979955 A CN 202110979955A CN 113610949 A CN113610949 A CN 113610949A
Authority
CN
China
Prior art keywords
elbow
point
virtual
bone
skeleton
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110979955.6A
Other languages
Chinese (zh)
Other versions
CN113610949B (en
Inventor
章文涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110979955.6A priority Critical patent/CN113610949B/en
Publication of CN113610949A publication Critical patent/CN113610949A/en
Application granted granted Critical
Publication of CN113610949B publication Critical patent/CN113610949B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The application discloses a covering method, a covering device, covering equipment and a storage medium for a virtual arm skeleton, and belongs to the technical field of computers. According to the technical scheme provided by the embodiment of the application, the elbow inner side skeleton point and the elbow outer side skeleton point are created based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner side skeleton point can simulate the shape change of the inner side of the elbow of the virtual arm skeleton, and the elbow outer side skeleton point can simulate the shape change of the outer side of the elbow of the virtual arm skeleton. Covering is carried out based on shoulder joint points, elbow joint points, wrist joint points, elbow inside skeleton points and elbow outside skeleton points to obtain a virtual arm model, and due to the elbow inside skeleton points and the elbow outside skeleton points, the elbows of the virtual arm model are closer to the real arms in the motion process, the virtual arm model is more real, and the covering effect is better.

Description

Covering method, device and equipment for virtual arm skeleton and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for skinning a virtual arm skeleton.
Background
Animation is a popular form of video, and many users enjoy entertainment by watching animation.
In the related art, in the process of making an animation, a virtual skeleton of an animation character is often created, then the skeleton point in the virtual skeleton is bound with a model of the animation character, and the motion of the model bound with the virtual skeleton can be controlled by controlling the motion of the virtual skeleton, wherein the process of binding the skeleton point in the virtual skeleton with the model of the animation character is skinning.
However, for the arm model of the animated character, only the virtual large arm and the virtual small arm in the virtual skeleton are bound with the arm model of the animated character during the binding, so that the difference between the arm model of the animated character during the movement and the real arm movement is large, the arm model is not vivid enough, and the skinning effect is not good.
Disclosure of Invention
The embodiment of the application provides a covering method, a covering device, covering equipment and a storage medium for a virtual arm skeleton, which can improve the authenticity of the virtual arm skeleton and improve the covering effect. The technical scheme is as follows:
in one aspect, a method for skinning a virtual arm skeleton is provided, the method comprising:
creating shoulder joint points, elbow joint points and wrist joint points in the virtual arm skeleton;
creating, based on the shoulder joint points, the elbow joint points, and the wrist joint points, an elbow inner bone point and an elbow outer bone point of the virtual arm bone, the elbow inner bone point for simulating a morphology change of an elbow inner side of the virtual arm bone, the elbow outer bone point for simulating a morphology change of an elbow outer side of the virtual arm bone;
and covering the virtual arm skeleton based on the shoulder joint points, the elbow joint points, the wrist joint points, the elbow inner side skeleton points and the elbow outer side skeleton points to obtain a virtual arm model.
In one possible embodiment, the virtual arm skeleton comprises a virtual upper arm, a virtual lower arm, and a virtual palm, the virtual upper arm, the virtual lower arm, and the virtual palm connected in series, the creating a shoulder joint point, an elbow joint point, and a wrist joint point in the virtual arm skeleton comprises:
creating the shoulder joint point at the start of the virtual boom, the shoulder joint point being constrained by the virtual boom position and rotation;
creating the elbow joint point at a connection location of the virtual upper arm and the virtual lower arm, the elbow joint point constrained by the virtual lower arm position and rotation;
creating the wrist articulation point at a connection location of the virtual forearm and the virtual palm, the wrist articulation point being constrained by the virtual palm position and rotation.
In one aspect, a skinning device for a virtual arm skeleton is provided, the device comprising:
the joint point creating module is used for creating shoulder joint points, elbow joint points and wrist joint points in the virtual arm skeleton;
a bone point creation module for creating an elbow inside bone point and an elbow outside bone point of the virtual arm bone based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside bone point for simulating a morphology change of an elbow inside of the virtual arm bone, the elbow outside bone point for simulating a morphology change of an elbow outside of the virtual arm bone;
and the skinning module is used for skinning the virtual arm skeleton based on the shoulder joint points, the elbow joint points, the wrist joint points, the elbow inner side skeleton points and the elbow outer side skeleton points to obtain a virtual arm model.
In one possible implementation, the medial elbow skeleton point of the virtual arm skeleton is created based on a medial elbow reference point of the virtual arm skeleton, the medial elbow reference point moving with motion of any of the shoulder joint point, the elbow joint point, and the wrist joint point;
the elbow lateral skeletal point of the virtual arm skeleton is created based on an elbow lateral reference point of the virtual arm skeleton, the elbow lateral reference point moving with movement of the elbow medial reference point.
In one possible embodiment, the virtual arm skeleton comprises a virtual upper arm, a virtual lower arm and a virtual palm, the virtual upper arm, the virtual lower arm and the virtual palm are connected in sequence, the skeleton point creating module is used for creating an elbow inner reference point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner reference point is constrained by the common position of the virtual upper arm, the virtual lower arm and the virtual palm, and the elbow inner reference point is constrained by the common rotation of the virtual upper arm and the virtual lower arm; creating the medial elbow skeletal points based on the elbow joint points and the medial elbow reference point, the medial elbow skeletal points being position constrained and rotation constrained by the medial elbow reference point; creating an elbow lateral reference point of the virtual arm skeleton based on the elbow joint point and the elbow medial reference point, the elbow lateral reference point being constrained by the elbow medial reference point location; creating the elbow lateral skeletal points based on the elbow joint points and the elbow lateral reference point, the elbow lateral skeletal points being constrained by the elbow lateral reference point location, the elbow lateral skeletal points being rotationally constrained by the elbow medial reference point.
In a possible embodiment, the skeleton point creation module is configured to create an elbow inside reference point of the virtual arm skeleton at a center point of the shoulder joint point, the elbow joint point, and the wrist joint point.
In a possible embodiment, the skeletal point creation module is configured to create an elbow reference point at a location of the elbow joint point, the elbow reference point being constrained by the virtual forearm position, the elbow reference point being rotationally constrained by the elbow internal reference point;
based on first weight the elbow joint reference point with on the line of the inboard reference point of elbow, establish the inboard skeleton point of elbow, first weight and first distance positive correlation, first distance is the inboard skeleton point of elbow with distance between the elbow joint reference point.
In a possible embodiment, the bone point creating module is configured to create the elbow outside bone point on a connection line between the elbow joint reference point and the elbow outside reference point based on a second weight, wherein the second weight is positively correlated with a second distance, and the second distance is a distance between the elbow outside bone point and the elbow joint reference point.
In a possible embodiment, the bone point creation module is configured to create the elbow outside reference point on an extension of a line connecting the elbow joint point and the elbow inside reference point, wherein a distance between the elbow outside reference point and the elbow joint point is the same as a distance between the elbow joint point and the elbow inside reference point.
In a possible embodiment, the base skin module is configured to create an elbow inside shaped skeleton based on the elbow inside skeleton point, the elbow inside shaped skeleton being constrained by the elbow inside skeleton point position and rotationally constrained;
creating an elbow lateral contouring bone based on the elbow lateral skeletal point, the elbow lateral contouring bone constrained by the elbow lateral skeletal point location and a rotation constraint;
creating a large arm muscle zoom bone based on the shoulder joint points, the large arm muscle zoom bone being a sub-bone of the virtual large arm;
and covering the virtual arm skeleton based on the elbow inner side shaping skeleton, the elbow outer side shaping skeleton, the upper arm muscle scaling skeleton, the shoulder joint points, the elbow joint points and the wrist joint points to obtain the virtual arm model.
In a possible embodiment, the base-skin module is configured to create a first reference point at a location adjacent to the internal elbow skeletal point, the first reference point being parentally constrained by the internal elbow skeletal point; creating the elbow inside contouring bone based on the first reference point.
In a possible embodiment, the base-skin module is configured to create a second reference point at a location adjacent to the outer elbow skeletal point, the second reference point being parentally constrained by the outer elbow skeletal point; creating the elbow lateral contouring bone at the second reference point.
In a possible embodiment, the base skin module is configured to create a third reference point and a fourth reference point at a position adjacent to the shoulder joint point, the third reference point being a sub-bone point of the shoulder joint point, the fourth reference point being a sub-bone point of the third reference point, the fourth reference point being constrained by the orientation of the first reference point; creating the first reference skeleton at the position of the fourth reference point, wherein the first reference skeleton is constrained by the position and the rotation of the fourth reference point; creating the large arm muscle zoom bone at a location adjacent to the first reference bone, the large arm muscle zoom bone being constrained by the first reference bone location and rotation.
In a possible embodiment, the apparatus further comprises a scaling module for obtaining a first distance between the forearm muscle scaling bone and the elbow inner side contouring bone when the virtual arm bone is not in motion; determining a ratio of a second distance to the first distance as a scaling ratio of the forearm muscle scaling bone, the second distance being a distance between the forearm muscle scaling bone and the elbow inner side contouring bone when the virtual arm bone moves.
In a possible embodiment, the virtual arm skeleton comprises a virtual big arm, a virtual small arm and a virtual palm, which are connected in sequence, the joint point creation module is used for creating the shoulder joint point at the starting point of the virtual big arm, and the shoulder joint point is constrained by the virtual big arm position and rotation; creating the elbow joint point at a connection location of the virtual upper arm and the virtual lower arm, the elbow joint point constrained by the virtual lower arm position and rotation; creating the wrist articulation point at a connection location of the virtual forearm and the virtual palm, the wrist articulation point being constrained by the virtual palm position and rotation.
In one aspect, a computer device is provided that includes one or more processors and one or more memories having at least one computer program stored therein, the computer program being loaded and executed by the one or more processors to implement a skinning method for the virtual arm skeleton.
In one aspect, a computer-readable storage medium having at least one computer program stored therein for loading and execution by a processor to implement the skinning method for the virtual arm skeleton is provided.
In one aspect, a computer program product or a computer program is provided, the computer program product or the computer program comprising program code stored in a computer readable storage medium, the program code being read by a processor of a computer device from the computer readable storage medium, the program code being executed by the processor such that the computer device performs the method for skinning a virtual arm skeleton as described above.
According to the technical scheme provided by the embodiment of the application, the elbow inner side skeleton point and the elbow outer side skeleton point are created based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner side skeleton point can simulate the shape change of the inner side of the elbow of the virtual arm skeleton, and the elbow outer side skeleton point can simulate the shape change of the outer side of the elbow of the virtual arm skeleton. Covering is carried out based on shoulder joint points, elbow joint points, wrist joint points, elbow inside skeleton points and elbow outside skeleton points to obtain a virtual arm model, and due to the elbow inside skeleton points and the elbow outside skeleton points, the elbows of the virtual arm model are closer to the real arms in the motion process, the virtual arm model is more real, and the covering effect is better.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic illustration of a virtual skeleton provided by an embodiment of the present application;
FIG. 2 is a schematic diagram of an implementation environment of a skinning method for a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 3 is a flowchart of a method for skinning a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 4 is a flowchart of a method for skinning a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 5 is a schematic view of a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 6 is a schematic view of a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 7 is a schematic view of a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 8 is a schematic view of a virtual arm skeleton according to an embodiment of the present disclosure;
FIG. 9 is a schematic view of an interface provided by an embodiment of the present application;
FIG. 10 is a schematic view of an interface provided by an embodiment of the present application;
FIG. 11 is a schematic view of a virtual arm skeleton according to an embodiment of the present application;
FIG. 12 is a schematic diagram of a vector interpolation provided in an embodiment of the present application;
FIG. 13 is a schematic view of a virtual arm skeleton according to an embodiment of the present application;
FIG. 14 is a schematic view of a virtual arm skeleton provided in an embodiment of the present application;
FIG. 15 is a schematic view of a virtual arm skeleton provided in an embodiment of the present application;
FIG. 16 is a schematic view of an interface provided by an embodiment of the present application;
FIG. 17 is a schematic view of an interface provided by an embodiment of the present application;
FIG. 18 is a comparison of a virtual arm skeleton provided by an embodiment of the present application;
FIG. 19 is a comparison diagram of a virtual arm model provided by an embodiment of the present application;
FIG. 20 is a diagram illustrating a virtual arm model according to an embodiment of the present disclosure;
FIG. 21 is a schematic structural diagram of a covering device for a virtual arm skeleton according to an embodiment of the present disclosure;
fig. 22 is a schematic structural diagram of a terminal according to an embodiment of the present application;
fig. 23 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
The terms "first," "second," and the like in this application are used for distinguishing between similar items and items that have substantially the same function or similar functionality, and it should be understood that "first," "second," and "nth" do not have any logical or temporal dependency or limitation on the number or order of execution.
The term "at least one" in this application means one or more, "a plurality" means two or more, for example, a plurality of reference face images means two or more reference face images.
Some terms referred to in the embodiments of the present application will be described first.
DCC (Digital Content creation) software: the production of animated characters is a general term for a class of software employed. Typical software today is such as 3D Max (3D Studio Max, three dimensional animation rendering and production software), Maya (Maya), Blender (a kind of three dimensional software), Houdini (hudini), etc.
Virtual Skeleton/Skeleton (skeeleton): it contains bones and joints, the bones being coordinate spaces, and the bone hierarchy being nested coordinate spaces. A joint simply describes the position of a bone, i.e. the position of the bone's own origin in its parent space, and rotation around a joint refers to the rotation of the bone's own coordinate space (including all subspaces). Referring to fig. 1, a virtual skeleton 101 is shown in fig. 1.
Bone animation: each animated character, which contains at least two main data of skeleton and model, is driven by the posture of the skeleton during the game/movie animation process, so called skeleton animation.
Blueprint (Blueprint): the method is a special type resource in an Unknown Engine (UE), and provides an intuitive interface based on nodes for creating new types of Actor (object) and customs barrier script events; it provides a tool for level designers and game developers to quickly create and iterate game playability in a fantasy editor, and a line of code does not need to be written.
Animation blueprint: performing animation blending, directly controlling the skeleton of the skeleton, or setting logic that will ultimately define the final animation pose of the skeletal mesh object to be used for each frame.
Fig. 2 is a schematic diagram of an implementation environment of a skinning method for a virtual arm skeleton according to an embodiment of the present application, and referring to fig. 2, the implementation environment may include a terminal 210 and a server 240.
The terminal 210 is connected to the server 240 through a wireless network or a wired network. Optionally, the terminal 210 is a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal 210 is installed and running with an application that supports virtual arm skeleton skinning.
Optionally, the server is an independent physical server, or a server cluster or distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, cloud database, cloud computing, cloud function, cloud storage, web service, cloud communication, middleware service, domain name service, security service, distribution Network (CDN), big data and artificial intelligence platform, and the like.
Optionally, the terminal 210 generally refers to one of a plurality of terminals, and the embodiment of the present application is illustrated by the terminal 210.
Those skilled in the art will appreciate that the number of terminals described above may be greater or fewer. For example, the number of the terminal is only one, or several tens or hundreds, or more, and in this case, other terminals are also included in the implementation environment. The number of terminals and the type of the device are not limited in the embodiments of the present application.
In the embodiment of the present application, the server or the terminal may be used as an execution subject to implement the technical solution provided in the embodiment of the present application, or the technical method provided in the present application may be implemented through interaction between the terminal and the server, which is not limited in the embodiment of the present application.
After the implementation environment of the embodiment of the present application is described, an application scenario of the embodiment of the present application will be described below with reference to the implementation environment, in the following description, a server is also a terminal 210 in the implementation environment, and a server is also a server 240 in the implementation environment.
The covering method for the virtual arm skeleton provided by the embodiment of the application can be applied to scenes for game production, animation production scenes and other scenes for producing three-dimensional models.
In a game making scene, the method for skinning the virtual arm skeleton provided by the embodiment of the application can be applied to a process of making an arm of a game character, and in the process of making the arm of the game character, a technician can create an elbow inner side skeleton point and an elbow outer side skeleton point of the virtual arm skeleton through a terminal or a server by using the method for skinning the virtual arm skeleton provided by the embodiment of the application, and skinning the virtual arm skeleton by combining the elbow inner side skeleton point and the elbow outer side skeleton point to obtain a virtual arm model of the game character. In some embodiments, the skinning method for the virtual arm skeleton provided by the embodiments of the present application can be packaged as an insert for use by a technician to improve skinning efficiency of the virtual arm skeleton.
In the scene of animation production, the skinning method for the virtual arm skeleton provided by the embodiment of the application can be applied to the process of producing the arm of the animation character, in the process of producing the arm of the animation character, a technician can use the skinning method for the virtual arm skeleton provided by the embodiment of the application to create an elbow inner side skeleton point and an elbow outer side skeleton point of the virtual arm skeleton through a terminal or a server, and skin the virtual arm skeleton by combining the elbow inner side skeleton point and the elbow outer side skeleton point to obtain a virtual arm model of the animation character. In some embodiments, the skinning method for the virtual arm skeleton provided by the embodiments of the present application can be packaged as an insert for use by a technician to improve skinning efficiency of the virtual arm skeleton.
After the implementation environment and the application scenario of the embodiment of the present application are described, a skin covering method for a virtual arm skeleton provided in the embodiment of the present application is described below.
Fig. 3 is a flowchart of a method for skinning a virtual arm skeleton according to an embodiment of the present disclosure, and referring to fig. 3, taking an execution subject as an example, the method includes:
301. the terminal creates shoulder joint points, elbow joint points, and wrist joint points in the virtual arm skeleton.
The virtual arm skeleton is used for simulating a real arm skeleton, correspondingly, the shoulder joint point is used for simulating a shoulder joint, the elbow joint point is used for simulating an elbow joint, and the wrist joint point is used for simulating a wrist joint.
302. The terminal creates an elbow inside bone point and an elbow outside bone point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside bone point simulating a morphology change of an elbow inside of the virtual arm skeleton, the elbow outside bone point simulating a morphology change of an elbow outside of the virtual arm skeleton.
The skeleton points on the inner side of the elbow and the skeleton points on the outer side of the elbow do not exist on the virtual arm skeleton, but are determined based on the shoulder joint point, the elbow joint point and the wrist joint point, possibly located on the outer side of the virtual arm skeleton, and are used for supporting the skinning process.
303. And the terminal performs skinning on the virtual arm skeleton based on the shoulder joint point, the elbow joint point, the wrist joint point, the elbow inner side skeleton point and the elbow outer side skeleton point to obtain a virtual arm model.
Wherein, because the inboard skeleton point of elbow can simulate the morphism of elbow inboard, the morphism that the elbow outside skeleton point can simulate the elbow outside combines inboard skeleton point of elbow and elbow outside skeleton point to carry out the covering afterwards, and the virtual arm model that obtains is when the motion, and the reality of elbow position is just also higher.
According to the technical scheme provided by the embodiment of the application, the elbow inner side skeleton point and the elbow outer side skeleton point are created based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner side skeleton point can simulate the shape change of the inner side of the elbow of the virtual arm skeleton, and the elbow outer side skeleton point can simulate the shape change of the outer side of the elbow of the virtual arm skeleton. Covering is carried out based on shoulder joint points, elbow joint points, wrist joint points, elbow inside skeleton points and elbow outside skeleton points to obtain a virtual arm model, and due to the elbow inside skeleton points and the elbow outside skeleton points, the elbows of the virtual arm model are closer to the real arms in the motion process, the virtual arm model is more real, and the covering effect is better.
The above steps 301-303 are brief descriptions of the skinning method for the virtual arm skeleton provided in the embodiment of the present application, and the skinning method for the virtual arm skeleton provided in the embodiment of the present application will be described in detail below with reference to some examples.
Fig. 4 is a flowchart of a method for skinning a virtual arm skeleton according to an embodiment of the present application, where referring to fig. 4, the method includes:
401. the terminal creates shoulder joint points, elbow joint points, and wrist joint points in the virtual arm skeleton.
In one possible embodiment, the virtual arm skeleton includes a virtual large arm, a virtual small arm, and a virtual palm, which are connected in series. The terminal creates the shoulder joint point at the start of the virtual forearm, the shoulder joint point being constrained by the virtual forearm position and rotation. The terminal creates the elbow joint point at the connection location of the virtual upper arm and the virtual lower arm, the elbow joint point being constrained by the virtual lower arm position and rotation. The terminal creates the wrist articulation point at the location of the connection of the virtual forearm and the virtual palm, the wrist articulation point being constrained by the virtual palm position and the rotation. The starting point of the virtual big arm is also the starting point of the virtual arm skeleton, or the position where the virtual arm skeleton is connected with the virtual trunk skeleton.
Wherein the position constraint is such that the first object follows the position of one second object or the average position of a plurality of second objects. When the first object a is configured to be constrained by the position of the second object B, the movement of the second object B will drive the movement of the first object a. If the first object is constrained by the common position of a plurality of second objects, a weight exists between each second object and the first object, and the weight is used for representing the position constraint degree of the corresponding second object to the first object. The higher the weight is, the higher the position constraint degree of the corresponding second object to the first object is; the lower the weight, the lower the degree of positional constraint of the corresponding second object on the first object. In some embodiments, the weight is also referred to as a position constraint ratio, and the objects include bone points, joint points, and bones in the embodiments of the present application.
The rotation constraint causes the first object to follow the rotation of one second object or the rotation of a plurality of second objects. When the first object a is configured to be rotationally constrained by the second object B, the rotation of the second object B will cause the rotation of the first object a. If the first object is constrained by the common rotation of a plurality of second objects, a weight exists between each second object and the first object, and the weight is used for representing the rotation constraint degree of the corresponding second object to the first object. The higher the weight is, the higher the degree of the rotation constraint of the corresponding second object on the first object is; the lower the weight, the lower the degree of rotational constraint of the first object by the corresponding second object. In some embodiments, the weight is also referred to as a rotational constraint ratio, and the objects include bone points, joint points, and bones in the embodiments of the present application.
The above embodiments are described below by way of a few examples.
Example 1, the terminal displays a virtual arm skeleton in the skeleton point creation interface, the virtual arm skeleton including a virtual big arm, a virtual small arm, and a virtual palm. In response to an operation based on the virtual upper arm starting point, the terminal creates the shoulder joint point at the starting point of the virtual upper arm. The terminal configures the shoulder joint point to be constrained by the virtual forearm position and rotation. The terminal creates the elbow joint point at the connection position of the virtual upper arm and the virtual lower arm in response to an operation based on the connection position of the virtual upper arm and the virtual lower arm. The terminal configures the elbow joint point to be constrained by the virtual forearm position and rotation. The terminal creates the wrist joint point at the connection position of the virtual forearm and the virtual palm in response to an operation based on the connection position of the virtual forearm and the virtual palm. The terminal configures the wrist joint point to be constrained by the virtual palm position and rotation.
For example, the terminal runs the DCC software, and displays virtual skeletons in a running interface of the DCC software, where the virtual skeletons include virtual arm skeletons, virtual torso skeletons, virtual leg skeletons, and the like, the virtual arm skeletons include virtual upper arm, virtual lower arm, and virtual palm, and the running interface of the DCC software is also a skeleton point creation interface. The technician creates a shoulder joint point at the starting point of the virtual forearm through the DCC software, for example, the technician calls a bone point creating function of the DCC software and clicks the starting point of the virtual forearm to create the shoulder joint point at the starting point of the virtual forearm, and the terminal displays the created shoulder joint point in an application interface of the DCC software. The technician invokes the position constraint function of the DCC software to configure the position constraint for the shoulder joint point, i.e., to configure the shoulder joint point to be constrained by the virtual forearm position. The shoulder joint point is configured to move with the virtual forearm when the virtual forearm moves after being constrained by the virtual forearm position, and the direction and distance of the movement are both related to the virtual forearm. In some embodiments, the technician can configure the position constraint ratio between the shoulder joint and the virtual forearm to 1 through DCC software, which means that the shoulder joint point moves synchronously with the virtual forearm, and if the virtual forearm moves 5cm to the left, the shoulder joint point also moves 5cm to the left. The technician invokes the rotation constraint function of the DCC software to configure the shoulder joint point with a rotation constraint, i.e., to configure the shoulder joint point with a virtual forearm rotation constraint. After the shoulder joint point is configured to be constrained by the virtual forearm rotation, the shoulder joint point rotates with the virtual forearm as the virtual forearm rotates, and in some embodiments, the technician can configure the rotation constraint ratio between the shoulder joint and the virtual forearm to be 1 through DCC software, which means that the shoulder joint point and the virtual forearm keep rotating synchronously, and if the virtual forearm rotates 30 ° clockwise, the shoulder joint point also rotates 30 ° clockwise.
The technician creates the elbow joint point at the joint of the virtual big arm and the virtual small arm through the DCC software, in some embodiments, the technician calls the skeleton point creating function of the DCC software, clicks the joint of the virtual big arm and the virtual small arm to create the elbow joint point at the joint of the virtual big arm and the virtual small arm, and the terminal displays the created elbow joint point in the application interface of the DCC software. The technician invokes the position constraint function of the DCC software to configure the elbow joint point to be constrained by the virtual forearm position. After the elbow joint point is configured to be constrained by the virtual forearm position, the elbow joint point moves with the virtual forearm as the virtual forearm moves, and in some embodiments, the technician can configure the position constraint ratio between the elbow joint and the virtual forearm to be 1 through DCC software. The elbow joint point is configured to move in unison with the virtual forearm as the virtual forearm moves after being constrained by the virtual forearm position. The technician invokes the rotation constraint function of the DCC software to configure the elbow joint point to be constrained by the virtual forearm rotation. The elbow joint point is configured to rotate with the virtual forearm as the virtual forearm rotates after being constrained by the virtual forearm rotation, and in some embodiments, the technician can configure a rotation constraint ratio between the elbow joint and the virtual forearm to be 1 via DCC software.
The technician calls a skeleton point creating function of the DCC software, clicks the joint of the virtual forearm and the virtual palm to create the wrist joint point at the joint of the virtual forearm and the virtual palm, and the created wrist joint point is displayed in an application interface of the DCC software by the terminal. The technician invokes the position constraint function of the DCC software to configure the wrist joint point to be constrained by the virtual palm position. After the wrist joint point is configured to be constrained by the virtual palm position, the wrist joint point moves with the virtual palm as the virtual palm moves, and in some embodiments, the technician can configure the position constraint ratio between the wrist joint and the virtual palm to be 1 through DCC software. The wrist articulation point is configured to move with the virtual palm as the virtual palm moves after being constrained by the virtual palm position. The technician invokes the rotation constraint function of the DCC software to configure the wrist joint point to be constrained by the virtual palm rotation. After the wrist joint point is configured to be constrained by the virtual palm rotation, the wrist joint point co-rotates with the virtual palm as the virtual palm rotates, and in some embodiments, the technician can configure a rotation constraint ratio between the wrist joint and the virtual palm to be 1 through DCC software.
Referring to fig. 1, a terminal runs DCC software, a technician loads a file corresponding to a virtual skeleton in the DCC software, and displays a virtual skeleton 101 in a running interface of the DCC software, the virtual skeleton 101 including a virtual left arm skeleton 102 and a virtual right arm skeleton 103. Taking the processing of the virtual left arm bone 102 as an example for explanation, referring to fig. 5, the virtual left arm bone 102 includes a virtual large arm 501, a virtual small arm 502, and a virtual palm 503. The technician creates, through DCC software, a shoulder joint point 5011 at the beginning of the virtual upper arm 501, an elbow joint point 5021 at the connecting position of the virtual upper arm 501 and the virtual lower arm 502, and a wrist joint point 5031 at the connecting position of the virtual lower arm 502 and the virtual palm 503. The technician configures the shoulder joint point 5011, through DCC software, to be constrained by the virtual forearm 501 position and rotation, both the position constraint ratio and the rotation constraint ratio being 1; elbow joint point 5021 is configured to be constrained by the position and rotation of virtual forearm 502, both a position constraint ratio and a rotation constraint ratio of 1; the wrist articulation point 5031 is configured to be constrained by the virtual palm 503 position and rotation, both the position constraint ratio and the rotation constraint ratio being 1.
With the above-described embodiment, it is possible to make the rotation value and the displacement value of the shoulder joint point 5011 coincide with the virtual upper arm 501, the rotation value and the displacement value of the elbow joint point 5021 coincide with the virtual lower arm 502, and the rotation value and the displacement value of the wrist joint point 5031 coincide with the virtual palm 503, where the rotation value is the direction and the speed of rotation, and the displacement value is the direction and the speed of movement.
If the DCC software is an Unreal Engine (UE), then the technician can configure the shoulder joint point to be constrained by the virtual forearm position and rotation, the elbow joint point to be constrained by the virtual forearm position and rotation, and the wrist joint point to be constrained by the virtual palm position and rotation, via the blueprints. In some embodiments, after importing the virtual arm skeleton into the virtual engine, the technician can add slots to the shoulder joint points, elbow joint points, and wrist joint points, respectively, so that the position constraints, rotation constraints, and zoom constraints of the corresponding joint points can be configured in the blueprint via the slots.
Example 2, the terminal performs position recognition on the virtual arm skeleton, and positions of the shoulder joint point, the elbow joint point, and the wrist joint point are determined in the virtual arm skeleton. For example, the terminal inputs a three-dimensional coordinate input position recognition model of a plurality of bone points in a virtual arm skeleton, and recognizes the plurality of bone points through the position recognition model to obtain types corresponding to the plurality of bone points, wherein the position recognition model is obtained based on a sample arm skeleton training with labels, and has the capability of determining types of different parts in the virtual arm skeleton, and in some embodiments, the position recognition model is a 3D-CNN (Convolutional Neural network) model. The terminal clusters a plurality of skeleton points of which the types are virtual big arms to obtain the positions of the virtual big arms in the skeletons of the virtual arms. The terminal clusters a plurality of skeleton points of which the types are virtual small arms to obtain the positions of the virtual small arms in the skeletons of the virtual arms. The terminal clusters a plurality of skeleton points of which the types are virtual palms to obtain the positions of the virtual palms in the skeletons of the virtual arms. The terminal creates a shoulder joint point at the starting point of the virtual upper arm, creates an elbow joint point at the connecting position of the virtual upper arm and the virtual lower arm, and creates a wrist joint point at the connecting position of the virtual lower arm and the virtual palm. The terminal carries out position binding and rotation binding on the shoulder joint point and the virtual big arm, and the step is to configure the shoulder joint point to be constrained by the position of the virtual big arm and the rotation. The terminal carries out position binding and rotation binding on the elbow joint and the virtual forearm, and the step is to configure the elbow joint point to be constrained by the position and the rotation of the virtual forearm. The terminal carries out position binding and rotation binding on the wrist joint and the virtual palm, and the step is to configure the wrist joint point to be constrained by the position of the virtual palm and the rotation.
In this way, the terminal can automatically create shoulder joint points, elbow joint points and wrist joint points in the virtual arm skeleton, and the efficiency is high.
402. The terminal creates an elbow inside reference point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside reference point being constrained by the virtual forearm, and the virtual palm co-location, the elbow inside reference point being constrained by the virtual forearm and the virtual forearm co-rotation.
In some embodiments, the medial elbow skeleton point of the virtual arm skeleton is created based on a medial elbow reference point of the virtual arm skeleton, the medial elbow reference point moving with movement of any of the shoulder joint point, the elbow joint point, and the wrist joint point. The elbow lateral skeletal point of the virtual arm skeleton is created based on an elbow lateral reference point of the virtual arm skeleton, the elbow lateral reference point moving with movement of the elbow medial reference point. The elbow inside reference point moves along with the movement of the shoulder joint point, the elbow joint point and the wrist joint point, that is, the moving direction, the moving distance, the rotating direction and the rotating distance of the elbow inside reference point are determined by the shoulder joint point, the elbow joint point and the wrist joint point, and the elbow inside reference point can be regarded as a middle point for creating an elbow inside skeleton point, that is, the elbow inside reference point is a connecting medium between the created elbow inside skeleton point and the shoulder joint point, the elbow joint point and the wrist joint point. The elbow outer reference point moves along with the movement of the elbow inner reference point, i.e. the moving direction, the moving distance, the rotating direction and the rotating distance of the elbow outer reference point are determined by the elbow inner reference point, in some embodiments, the elbow outer reference point and the elbow inner reference point are mirror images of each other, and the elbow outer reference point can be regarded as a middle point for creating the elbow outer bone point, i.e. the elbow outer reference point is a connecting medium between the created elbow outer bone point and the elbow inner reference point.
In a possible embodiment, the terminal creates an elbow inside reference point of the virtual arm skeleton at the center point of the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inside joint point being used to simulate a morphology change of the elbow inside of the virtual arm skeleton. The terminal configures the elbow inside reference point to be constrained by the virtual big arm, the virtual small arm and the virtual palm co-location. The terminal configures the elbow inside reference point to be constrained by the virtual upper arm and the virtual lower arm to co-rotate. When the virtual arm skeleton moves, namely any one of the virtual upper arm, the virtual lower arm and the virtual palm moves, the reference point inside the elbow moves. When the included angle between the virtual big arm and the virtual small arm is larger, the inner side reference point of the elbow is closer to the elbow joint point; the further the reference point inside the elbow is from the elbow joint point the smaller the angle between the virtual large arm and the virtual small arm.
In some embodiments, the terminal determines the position indicated by the three-dimensional coordinates of the shoulder joint point, the three-dimensional coordinates of the elbow joint point, and the average three-dimensional coordinates of the wrist joint point as the position of the reference point inside the elbow. For example, the terminal determines the three-dimensional coordinates of the reference point inside the elbow by the following formula (1).
(x0,y0,z0)=[(x1+x2+x3)/3,(y1+y2+y3)/3,(z1+z2+z3)/3](1)
Wherein x0 is the abscissa of the reference point inside the elbow, y0 is the ordinate of the reference point inside the elbow, z0 is the ordinate of the reference point inside the elbow, x1 is the abscissa of the shoulder joint point, y1 is the ordinate of the shoulder joint point, z1 is the ordinate of the shoulder joint point, x2 is the abscissa of the elbow joint point, y2 is the ordinate of the elbow joint point, z2 is the ordinate of the elbow joint point, x3 is the abscissa of the wrist joint point, y3 is the ordinate of the wrist joint point, and z3 is the ordinate of the wrist joint point.
For example, the terminal displays the virtual arm skeleton and the created shoulder joint point, elbow joint point and wrist joint point in the skeleton point creation interface. In response to an operation in the skeleton point creation interface, the terminal determines an average three-dimensional coordinate of the three-dimensional coordinates of the shoulder joint point, the elbow joint point, and the wrist joint point. The terminal displays the reference point inside the elbow in the skeletal point creation interface based on the average three-dimensional coordinates. The terminal configures the reference point inside the elbow to be constrained by the common location of the virtual upper arm, the virtual lower arm, and the virtual palm, and in some embodiments, the location constraint ratios of the virtual upper arm, the virtual lower arm, and the virtual palm to the reference point inside the elbow are each 1/3, meaning that the virtual upper arm, the virtual lower arm, and the virtual palm have the same location constraint force to the reference point inside the elbow. The terminal configures the reference point inside the elbow to be rotationally constrained by the virtual upper arm and the virtual lower arm together, and in some embodiments, the rotational constraint ratios of the virtual upper arm and the virtual lower arm to the reference point inside the elbow are each 1/2, meaning that the virtual upper arm, the virtual lower arm, and the virtual palm have the same rotational constraint force to the reference point inside the elbow. Referring to fig. 6, the terminal displays an elbow inside reference point 601 in the skeletal point creation interface.
403. The terminal creates the intra-elbow skeletal point based on the elbow joint point and the intra-elbow reference point, the intra-elbow skeletal point being constrained by the intra-elbow reference point location and rotation, the intra-elbow skeletal point used to simulate a morphometric change of the intra-elbow of the virtual arm skeleton.
In a possible embodiment, the terminal creates an elbow reference point at the location of the elbow joint point, the elbow reference point being constrained by the virtual forearm position, the elbow reference point being rotationally constrained by the elbow internal reference point, the elbow reference point being the same location as the elbow joint point but having a different rotational constraint. The terminal creates the elbow inside skeleton point on a connection line of the elbow joint reference point and the elbow inside reference point based on a first weight, wherein the first weight is positively correlated with a first distance, and the first distance is a distance between the elbow inside skeleton point and the elbow joint reference point. The first weight is set by a technician according to an actual situation, and is not limited in the embodiment of the present application. If the first weight is 0, the elbow inner side skeleton point coincides with the elbow joint reference point; if the first weight is 1, the elbow inner side skeleton point coincides with the elbow inner side reference point; if the first weight is 0.5, the medial elbow bone point is located at the midpoint of the line connecting the medial elbow reference point and the elbow joint reference point. The technician can control the location of the bony point on the inside of the elbow by adjusting the first weight. In some embodiments, the technician adjusts the first weight to bring the medial elbow skeletal point as close as possible to the medial elbow of the virtual arm model. In some embodiments, the terminal is capable of determining the location of the medial elbow skeletal point through the Position Constraint function of the DCC software.
For example, the terminal displays the virtual arm skeleton and the created shoulder joint point, elbow joint point, wrist joint point and elbow inside reference point in the skeleton point creation interface. In response to an operation based on the elbow joint point, the terminal creates an elbow joint reference point at a position where the elbow joint point is located, and displays the elbow joint reference point in the skeleton point creation interface. The terminal configures the elbow reference point to be constrained by the virtual forearm position and rotationally constrained by the elbow internal reference point, in some embodiments, the virtual forearm position constraint ratio to the elbow reference point is 1 and the elbow internal reference point is rotationally constrained to the elbow reference point by 1, i.e., the elbow reference point and the virtual forearm have the same displacement value and the elbow reference point and the elbow internal reference point have the same rotation value. The terminal acquires a first weight, and creates the elbow inner side bone point on a connecting line of the elbow joint reference point and the elbow inner side reference point based on the first weight.
The elbow joint reference point is designated as BB, the elbow medial reference point is designated as A1, the line connecting the elbow joint reference point and the elbow medial reference point is designated as line segment A, and the elbow medial bone point is designated as C. Since a1 moves along with the movement of the virtual big arm and the virtual small arm, the length of the line segment a composed of a1 and BB changes accordingly. C is located on the line segment a, and when the first weight is determined, if the length of the line segment a changes, the position of C also changes. Since the first weight is to make C close to the inner side of the elbow of the virtual arm model, C can more intuitively simulate the morphological change of the inner side of the elbow than a 1.
Referring to fig. 7, the terminal displays a virtual arm skeleton 700 in a skeleton point creation interface together with created shoulder joint points 701, elbow joint points 702, wrist joint points 703, and the reference point 704 inside the elbow. In response to an operation based on the elbow joint point 702, the terminal creates an elbow joint reference point 705 at the location where the elbow joint point 702 is located. The terminal configures the elbow joint reference point to be constrained by the virtual forearm position, rotationally constrained by the elbow internal reference point. Referring to fig. 8, the terminal displays an elbow inner bone point 803 on a line connecting the elbow inner reference point 801 and the elbow joint reference point 802 based on the first weight.
If the DCC software is an illusion Engine (UE), the technician can create an elbow medial reference point via the blueprint and create an elbow medial skeletal point based on the elbow medial reference point and the elbow joint reference point. Referring to fig. 9, X1 is a shoulder joint point, X2 is an elbow joint reference point, X3 is a wrist joint point, and P1 is a medial elbow bone point. In some embodiments, the first weight is 0.6.
Of course, the technician can also configure the medial elbow skeletal point to be constrained by the joint rotation of the virtual upper arm and the virtual lower arm by blueprint, see fig. 10, where X1 is the shoulder joint point and X2 is the elbow joint reference point, and since the shoulder joint point is constrained by the virtual upper arm position and rotation, and the elbow joint reference point is constrained by the virtual lower arm position and rotation, then X1 can also represent the virtual upper arm and X2 can represent the virtual lower arm. Alpha is the rotation constraint ratio, which is configured to be 0.5, meaning that the elbow medial bone point is constrained 1/2 by the rotation of each of the virtual large and small arms. R1 is the rotation value of the medial elbow bone point, which is half the sum of the rotation values of the virtual upper and lower arms.
404. The terminal creates an elbow outer reference point of the virtual arm skeleton based on the elbow joint point and the elbow inner reference point, the elbow outer reference point being constrained by the elbow inner reference point location, the elbow outer reference point for simulating a morphometric change of the elbow outer side of the virtual arm skeleton.
In a possible embodiment, the terminal creates the outer elbow reference point on an extension of a line connecting the outer elbow reference point and the inner elbow reference point, the distance between the outer elbow reference point and the elbow joint point being the same as the distance between the elbow joint point and the inner elbow reference point. That is, the elbow joint point is the midpoint of the line connecting the reference point inside the elbow and the reference point outside the elbow. When the included angle between the virtual big arm and the virtual small arm is larger, the distance between the outer side reference point of the elbow and the elbow joint point is closer; the further the reference point on the outside of the elbow is from the knuckle point the smaller the angle between the virtual large arm and the virtual small arm.
For example, the terminal displays the created elbow joint point and the reference point inside the elbow in the skeleton point creation interface. In response to an operation based on the elbow joint point, the terminal creates an elbow joint reference point at a location where the elbow joint point is located, the elbow joint reference point being constrained by the virtual forearm position, the elbow joint reference point being rotationally constrained by the elbow internal reference point, the elbow joint reference point being the same location as the elbow joint point but having a different rotational constraint. And the terminal creates the elbow outer reference point on an extension line connecting the elbow joint reference point and the elbow inner reference point. The terminal configures the elbow outside reference point as a parent constraint of the elbow joint reference point, namely the child node of which the elbow outside reference point is the elbow joint reference point, and configures the elbow outside reference point as a position constraint of the elbow inside reference point. Wherein the terminal configures the elbow reference point as a child node of the elbow reference point, that is, the elbow reference point is a parent node of the elbow reference point, and the elbow reference point is constrained by the elbow reference point position, rotation, and zoom, wherein the zoom constraint means that the elbow reference point and the elbow reference point have the same zoom scale.
Referring to fig. 11, the terminal displays the created elbow joint point 1101 and the elbow inside reference point 1102 in the skeletal point creation interface. In response to an operation based on the elbow joint point 1101, the terminal creates an elbow joint reference point 1103 at the location where the elbow joint point 1101 is located. The terminal creates the elbow lateral reference point 1104 on an extension of the elbow joint reference point 1103 from the elbow medial reference point 1102.
A method of the terminal creating the reference point on the outer side of the elbow on the extension line connecting the reference point of the elbow joint and the reference point on the inner side of the elbow will be described.
In one possible embodiment, the terminal performs a linear interpolation on the elbow joint reference point and the elbow inside reference point to obtain the elbow outside reference point.
For example, the terminal obtains a first vector with an origin pointing to the elbow joint reference point and obtains a second vector with an origin pointing to the elbow internal reference point. And the terminal acquires a third vector based on the first vector and the second vector, wherein the third vector is a vector with an origin pointing to the reference point outside the elbow, and the terminal point of the third vector is the position of the reference point outside the elbow.
For example, the terminal acquires the third vector based on the first vector and the second vector by the following formula (2).
v3=(1-t)v1+tv2 (2)
Wherein v3 is a third vector, v1 is a first vector, v2 is a second vector, t is a weight, when t is 0, v3 is v1, and the elbow outer reference point coincides with the elbow joint point; when t is 1, v3 is v2, and the reference point on the outside of the elbow coincides with the reference point on the inside of the elbow.
The terminal transforms equation (2) to obtain equation (3) below.
v3=v1+t(v2-v1) (3)
Referring to fig. 12, v2-v1 is a fourth vector in which the end point of v1 points to the end point of v2, and the end point of t (v2-v1) moves on a line segment (v2-v1) represented by the fourth vector, as can be seen from fig. 12, the end point of t (v2-v1) is the end point of v3, and adjusting t can control the end point of v 3. The elbow joint reference point is marked as BB, the elbow inner side reference point is marked as A1, v1 is a vector with the origin pointing to BB, and v2 is a vector with the origin pointing to A1. In some embodiments, t-1, the third vector obtained is the vector pointing to the reference point outside the elbow. The reference point on the outer side of the elbow is marked as A2, the three points A1, BB and A2 are all on the same straight line, the distance from A2 to BB is the same as the distance from A1 to BB, and BB is in the middle of A1 and A2, namely BB is the midpoint of A1 and A2.
405. The terminal creates the elbow outside skeletal point based on the elbow joint point and the elbow outside reference point, the elbow outside skeletal point being constrained by the elbow outside reference point position, the elbow outside skeletal point being rotationally constrained by the elbow inside reference point, the elbow outside skeletal point being used to simulate a morphometric change of the elbow outside of the virtual arm skeleton.
In some embodiments, the medial elbow skeletal point and the lateral elbow skeletal point are located on opposite sides of the elbow joint point.
In a possible embodiment, the terminal creates the elbow outside skeleton point on a connection line between the elbow joint reference point and the elbow outside reference point based on a second weight, the second weight being positively correlated with a second distance, the second distance being a distance between the elbow outside skeleton point and the elbow joint reference point. The second weight is set by a technician according to an actual situation, and is not limited in the embodiment of the present application. If the second weight is 0, the elbow outer side skeleton point coincides with the elbow joint reference point; if the second weight is 1, the elbow outer side skeleton point is coincided with the elbow outer side reference point; if the second weight is 0.5, then the lateral elbow bone point is located at the midpoint of the line connecting the lateral elbow reference point and the elbow joint reference point. The technician can control the location of the lateral elbow skeletal point by adjusting the second weight, which in some embodiments is adjusted by the technician to bring the lateral elbow skeletal point as close as possible to the lateral elbow of the virtual arm model.
For example, the terminal displays the elbow joint reference point and the elbow lateral reference point in a skeletal point creation interface. And the terminal acquires a second weight and creates the elbow outer side skeleton point on a connecting line of the elbow joint reference point and the elbow outer side reference point based on the second weight.
The elbow joint reference point is marked as BB, the elbow outer side reference point is marked as A2, the connecting line of the elbow joint reference point and the elbow outer side reference point is marked as a segment B, and the elbow outer side skeleton point is marked as D, so that the length of the segment A consisting of A2 and BB can be changed as A2 moves along with the movement of the virtual large arm and the virtual small arm. D is located on the line segment B, and when the second weight is determined, if the length of the line segment A is changed, the position of D is also changed. Since the second weight is to make D close to the outer side of the elbow of the virtual arm model, D can more intuitively simulate the morphological change of the outer side of the elbow than a 2.
In some implementations, the terminal can configure the first weight to be 0.25 and the second weight to be 0.25, such that the inner elbow bone point and the outer elbow bone point are a distance apart to facilitate subsequent adjustment. For example, the technician configures Weight of Position Constraint for the medial elbow bone point and the lateral elbow bone point to 25 by DCC software.
Referring to fig. 8, the terminal displays the elbow outside reference point 804 in the skeletal point creation interface. The terminal displays the elbow lateral skeletal point 805 on the line connecting the elbow joint reference point 802 and the elbow lateral reference point 804 based on the second weight.
If the DCC software is an illusion Engine (UE), the technician can create an elbow lateral reference point via the blueprint and create an elbow lateral skeletal point based on the elbow lateral reference point and the elbow joint reference point. Referring to fig. 9, X2 is the elbow joint reference point, P1 is the medial elbow bone point, P2 is the lateral elbow bone point, and Alphe is the second weight, which in some embodiments is-0.6.
406. The terminal creates an elbow inside contouring bone based on the elbow inside bone point, the elbow inside contouring bone constrained by the elbow inside bone point location and rotation constraint.
In a possible embodiment, the terminal creates a first reference point at a position adjacent to the inner bone point of the elbow, where the first reference point is a sub-bone point of the inner bone point of the elbow, and the position adjacent to the inner bone point of the elbow is configured by the technician, such as configured to the left side of the inner bone point of the elbow, or configured to the lower side of the inner bone point of the elbow, or configured to coincide with the inner bone point of the elbow, which is not limited by the embodiment of the present application. The terminal creates the elbow inside contouring bone based on the first reference point, configuring the elbow inside contouring bone to be constrained by the first reference point location and the rotation constraint. In some embodiments, the terminal creates the elbow inner shaping skeleton at the location of the first reference point. Since the first reference point is a sub-bone point of the medial elbow bone point, the first reference point is constrained and rotationally constrained by the medial elbow bone point location, and the medial elbow bone is constrained and rotationally constrained by the first reference point location, which indicates that the medial elbow bone is constrained and rotationally constrained by the medial elbow bone point location.
Since the internal elbow skeleton point is created in the previous step 401 and the position constraint and the rotation constraint of the internal elbow skeleton point are configured, the first reference point is created and the internal elbow skeleton is created based on the first reference point, so that the position of the internal elbow skeleton can be conveniently adjusted on the premise that the internal elbow skeleton moves according to the previously configured position constraint and rotation constraint, and the efficiency is high.
If the first reference point is not created, the inner elbow shaping bone can only be created at the position of the inner elbow bone point, and since the inner elbow bone point is always located on the connecting line between the inner elbow reference point and the elbow reference joint point, the inner elbow shaping bone can only be located on the connecting line. The technician can not create the elbow internal side shaping skeleton at other positions, and can conveniently adjust the position of the elbow internal side shaping skeleton by setting the first reference point, and the position of the elbow internal side shaping skeleton can not be limited on a connecting line between the elbow internal side reference point and the elbow reference joint point, so that the degree of freedom for creating the elbow internal side shaping skeleton is high.
Referring to fig. 13, the terminal displays the elbow inside skeleton point 1301 in the skeleton point creation interface, and the terminal creates a first reference point 1302 based on the elbow inside skeleton point 1301. The terminal determines the first reference point 1302 as a sub-skeleton point of the elbow inner skeleton point 1301. The terminal creates a modified internal elbow skeleton at the location of the first reference point 1302, which is configured to be constrained by the first reference point 1302 position and rotation.
407. The terminal creates an elbow outside modeled bone based on the elbow outside skeletal point, the elbow outside modeled bone constrained by the elbow outside skeletal point location and a rotation constraint.
In a possible implementation, the terminal creates a second reference point at a position adjacent to the elbow outer skeleton point, where the second reference point is parentally constrained by the elbow outer skeleton point, that is, the second reference point is a child skeleton point of the elbow outer skeleton point, and the position adjacent to the elbow outer skeleton point is configured by the technician, for example, to the left of the elbow outer skeleton point, or to the lower side of the elbow outer skeleton point, or to be coincident with the elbow outer skeleton point, which is not limited by the embodiment of the present application. The terminal creates the outer elbow shaping bone based on the second reference point, the outer elbow shaping bone configured to be constrained by the second reference point location and the rotation constraint. In some embodiments, the terminal creates the elbow lateral remodel skeleton at the location of the second reference point. Since the second reference point is a sub-skeleton point of the external elbow skeleton point, the second reference point is constrained by the external elbow skeleton point position and rotationally constrained, and the external elbow skeleton is constrained by the second reference point position and rotationally constrained, which means that the external elbow skeleton is constrained by the external elbow skeleton point position and rotationally constrained.
Since the external elbow skeleton point is created in the previous step 401-405, and the position constraint and the rotation constraint of the external elbow skeleton point are configured, the second reference point is created, and the external elbow skeleton is created based on the second reference point, so that the position of the external elbow skeleton can be conveniently adjusted on the premise that the external elbow skeleton is guaranteed to move according to the previously configured position constraint and rotation constraint, and the efficiency is high.
If the second reference point is not created, the elbow outer side modified skeleton can only be created at the position of the elbow outer side skeleton point, and the elbow outer side modified skeleton can only be located on the connecting line because the elbow outer side skeleton point is always located on the connecting line between the elbow outer side reference point and the elbow reference joint point. The technician can not create the elbow outside shaping skeleton at other positions, and can conveniently adjust the position of the elbow outside shaping skeleton by setting the second reference point, and the position of the elbow outside shaping skeleton can not be limited on a connecting line between the elbow outside reference point and the elbow reference joint point, so that the elbow outside shaping skeleton is created with higher degree of freedom.
Referring to fig. 13, the terminal displays the elbow outer skeletal point 1303 in the skeletal point creation interface, and the terminal creates a second reference point 1304 based on the elbow outer skeletal point 1303. The terminal configures the second reference point 1304 as a child of the elbow outside bone point 1303, i.e., configures the second reference point 1304 as a parent constraint of the elbow outside bone point 1303. The terminal creates a lateral elbow shaping skeleton at the location of the second reference point 1304, the lateral elbow shaping skeleton configured to be constrained by the location and rotation of the second reference point.
408. The terminal creates a large arm muscle zoom bone based on the shoulder joint point, the large arm muscle zoom bone being a sub-bone of the virtual large arm.
In a possible implementation manner, the terminal creates a third reference point and a fourth reference point on a position adjacent to the shoulder joint point, where the third reference point is a sub-bone point of the shoulder joint point, the fourth reference point is a sub-bone point of the third reference point, and the fourth reference point is constrained by the orientation of the first reference point, where the position adjacent to the shoulder joint point is configured by a technician, such as configured to be left of the shoulder joint point, or configured to be below the shoulder joint point, or configured to be coincident with the shoulder joint point, which is not limited by the embodiment of the present application. The terminal creates the first reference bone at the location of the fourth reference point, the first reference bone being constrained by the fourth reference point location and the rotation. The terminal creates the large arm muscle zoom bone at a position adjacent to the first reference bone, the large arm muscle zoom bone is constrained by the first reference bone position and the rotation, wherein the position adjacent to the first reference bone point is configured by the technician, such as configured to the left side of the first reference bone point, or configured to the lower side of the first reference bone point, or configured to coincide with the first reference bone point, which is not limited by the embodiment of the present application. The technician can adjust the position of the large arm muscle scaling skeleton by adjusting the position of the fourth reference point, and the efficiency is high. In some embodiments, the terminal is able to control, by means of a Look at function, that the fourth reference point is constrained by the first reference point towards, i.e. always "looking" at the first reference point. Referring to fig. 14, including a fourth reference point 1401 and a first reference point 1402, the terminal employs a Look at function to configure the fourth reference point 1401 as constrained by the orientation of the first reference point 1402.
For example, the terminal displays the virtual arm skeleton and the created shoulder joint points in the skeleton point creation interface. In response to an operation based on the shoulder joint point, a third reference point is created at a location adjacent to the shoulder joint point, the third reference point configured to be parentally constrained by the shoulder joint point, the third reference point being a child bone point of the shoulder joint point. And in response to an operation based on the third reference point, creating a fourth reference point at a position adjacent to the third reference point, and configuring the fourth reference point to be parent-constrained by the third reference point, where the fourth reference point is also a child bone point of the third reference point, where the position adjacent to the third reference point is configured by a technician, such as to be left of the third reference point, or to be below the third reference point, or to be coincident with the third reference point, and this is not limited in this embodiment of the present application. In response to an operation based on a fourth reference point configured to be constrained by the first reference point orientation, the fourth reference point is constrained by the first reference point orientation in that one coordinate axis of the fourth reference point is configured to always be oriented toward the first reference point. In some embodiments, the terminal configures the x-axis of the fourth reference point to always be oriented toward the first reference point. The terminal creates a first reference bone at the location of the fourth reference point, the first reference bone configured to be constrained by the fourth reference point location and the rotation. The terminal creates the large arm muscle zoom bone at a position adjacent to the first reference bone, configures the large arm muscle zoom bone to be constrained by the virtual large arm parent, i.e., the virtual large arm muscle zoom bone is a child of the virtual large arm, and configures the large arm muscle zoom bone to be constrained by the first reference bone position and rotation. In some embodiments, the position constraint ratio of the large arm muscle zoom bone by the first reference bone is 1, and the rotation constraint ratio is also 1.
Referring to fig. 15, there is included a medial elbow remodel bone 1501, a lateral elbow remodel bone 1502, a forearm muscle zoom bone 1503, a first reference point 1504, a fourth reference point 1505, and a first reference bone 1506.
In one possible embodiment, the method for determining the scaling of the upper arm muscle to the scaling bone comprises the following steps:
the terminal obtains a first distance, wherein the first distance is the distance between the large arm muscle scaling bone and the elbow inner side shaping bone when the virtual arm bone is not moved. The terminal determines the ratio of a second distance to the first distance as the scaling ratio of the large arm muscle scaling bone, wherein the second distance is the distance between the large arm muscle scaling bone and the elbow inner side shaping bone when the virtual arm bone moves.
In some embodiments, if the DCC software is a phantom Engine (UE), the technician can determine the first distance and the second distance through the blueprint. Referring to fig. 16, X5 is the forearm muscle zoom bone, X4 is the elbow medial reshaped bone, and 24.674389 is the first determined distance.
Referring to fig. 17, the technician can configure the position constraint and the rotation constraint by blueprint, i.e., by blueprint, the inner elbow shaping bone is configured to be constrained by the P1 position constraint and the rotation constraint, the position constraint ratio and the rotation constraint ratio are both configured to be 1, and the P1 is the inner elbow bone point. The technician configures the outer elbow shaped skeleton to be constrained by the position and rotation of P2 through blueprint, the position constraint ratio and the rotation constraint ratio are both configured to be 1, and P2 is the outer elbow skeleton point. The technician configures the large arm muscle zoom bone by blueprint to be constrained by a first reference bone position, rotation, and zoom, position constraint, rotation constraint, and zoom constraint (Scale) ratios each configured to be 1.
409. And the terminal performs skinning on the virtual arm skeleton based on the elbow inner side shaping skeleton, the elbow outer side shaping skeleton, the upper arm muscle scaling skeleton, the shoulder joint point, the elbow joint point and the wrist joint point to obtain the virtual arm model.
In a possible implementation manner, the terminal performs a skinning process on the virtual arm skeleton, that is, a process of binding an initial virtual arm model with a virtual arm skeleton, where the initial virtual arm skeleton is a virtual arm model made by an animator, the virtual arm model has a plurality of vertices, and the terminal can bind the elbow inside shaping skeleton, the elbow outside shaping skeleton, the forearm muscle scaling skeleton, the shoulder joint point, the elbow joint point, and the wrist joint point with corresponding vertices in the initial arm model to obtain the virtual arm model. After the binding is successful, the virtual arm model can be driven to move by subsequently adjusting the positions of the virtual big arm, the virtual small arm or the virtual palm in the virtual arm skeleton. Example of binding effect referring to fig. 18, 1801 is a schematic diagram of arm tightening, and 1802 is a schematic diagram of arm stretching.
Referring to fig. 19, 1901 shows the display effect of the virtual arm model obtained by using the skinning method for the virtual arm skeleton according to the embodiment of the present application, and by using the above step 401, three objectives of the large arm muscle scaling, the elbow shape restoration, and the elbow socket shape restoration are also completed, and 1902 shows the display effect of the virtual arm model obtained by using the skinning method for the virtual arm skeleton according to the embodiment of the present application, it can be seen that the display effect at the elbow socket of the virtual arm model is more real after using the technical solution according to the embodiment of the present application.
In some embodiments, the above-mentioned step 401-409 can also be combined with Inverse dynamics (IK) function, and as a result, see fig. 20, 2001 is a virtual arm model obtained by opening IK after the skinning method of the virtual arm skeleton provided in the embodiment of the present application is not used, and it can be seen that there is an error in the direction between the virtual palm and the virtual forearm. 2002 is a virtual arm model obtained by opening IK after the covering method of the virtual arm skeleton provided by the embodiment of the present application is used, and it can be seen that the fit between the virtual palm and the virtual forearm is better.
In some embodiments, the terminal can encapsulate the step 401-409 into a plug-in, so that in the subsequent use process, a technician only needs to load the plug-in an application program and select a virtual large arm, a virtual small arm and a virtual palm in the plug-in, and the step 401-409 can be automatically executed to cover the virtual arm skeleton, thereby achieving higher efficiency.
All the above optional technical solutions may be combined arbitrarily to form optional embodiments of the present application, and are not described herein again.
According to the technical scheme provided by the embodiment of the application, the elbow inner side skeleton point and the elbow outer side skeleton point are created based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner side skeleton point can simulate the shape change of the inner side of the elbow of the virtual arm skeleton, and the elbow outer side skeleton point can simulate the shape change of the outer side of the elbow of the virtual arm skeleton. Covering is carried out based on shoulder joint points, elbow joint points, wrist joint points, elbow inside skeleton points and elbow outside skeleton points to obtain a virtual arm model, and due to the elbow inside skeleton points and the elbow outside skeleton points, the elbows of the virtual arm model are closer to the real arms in the motion process, the virtual arm model is more real, and the covering effect is better.
Fig. 21 is a structural diagram of a covering device for a virtual arm skeleton according to an embodiment of the present application, and referring to fig. 21, the covering device includes: a joint point creation module 2101, a bone point creation module 2102, and a skinning module 2103.
Joint point creation module 2101 to create shoulder joint points, elbow joint points, and wrist joint points in the virtual arm skeleton.
A bone point creation module 2102 for creating an elbow inside bone point and an elbow outside bone point of the virtual arm bone based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside bone point for simulating a morphology change of an elbow inside of the virtual arm bone, the elbow outside bone point for simulating a morphology change of an elbow outside of the virtual arm bone.
A skinning module 2103, configured to skinning the virtual arm skeleton based on the shoulder joint point, the elbow joint point, the wrist joint point, the elbow internal skeleton point, and the elbow external skeleton point, so as to obtain a virtual arm model.
In a possible embodiment, the inner elbow bone point of the virtual arm bone is created based on an inner elbow reference point of the virtual arm bone, the inner elbow reference point moving with the movement of any one of the shoulder joint point, the elbow joint point and the wrist joint point.
The elbow lateral skeletal point of the virtual arm skeleton is created based on an elbow lateral reference point of the virtual arm skeleton, the elbow lateral reference point moving with movement of the elbow medial reference point.
In a possible embodiment, the skeleton point creating module 2102 comprises a virtual upper arm, a virtual lower arm and a virtual palm, which are connected in sequence, for creating an elbow inside reference point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inside reference point being constrained by a common position of the virtual upper arm, the virtual lower arm and the virtual palm, the elbow inside reference point being constrained by a common rotation of the virtual upper arm and the virtual lower arm. Based on the elbow joint point and the elbow inside reference point, the elbow inside bone point is created that is position constrained and rotation constrained by the elbow inside reference point. An elbow outside reference point of the virtual arm skeleton is created based on the elbow joint point and the elbow inside reference point, the elbow outside reference point being constrained by the elbow inside reference point location. Creating the elbow outside skeletal point based on the elbow joint point and the elbow outside reference point, the elbow outside skeletal point being constrained by the elbow outside reference point position, the elbow outside skeletal point being rotationally constrained by the elbow inside reference point.
In one possible embodiment, the skeleton point creation module 2102 is configured to create an elbow inside reference point of the virtual arm skeleton at a center point of the shoulder joint point, the elbow joint point, and the wrist joint point.
In one possible implementation, the skeletal point creation module 2102 is configured to create an elbow reference point at a location of the elbow joint point, the elbow reference point being constrained by the virtual forearm position, the elbow reference point being rotationally constrained by the elbow internal reference point.
And creating the elbow inner side skeleton point on a connecting line of the elbow joint reference point and the elbow inner side reference point based on a first weight, wherein the first weight is positively correlated with a first distance, and the first distance is the distance between the elbow inner side skeleton point and the elbow joint reference point.
In a possible embodiment, the bone point creation module 2102 is configured to create the elbow outer bone point on a connection line between the elbow joint reference point and the elbow outer reference point based on a second weight, wherein the second weight is positively correlated with a second distance, and the second distance is a distance between the elbow outer bone point and the elbow joint reference point.
In a possible embodiment, the skeletal point creation module 2102 is configured to create the elbow outside reference point on an extension of a line connecting the elbow joint point and the elbow inside reference point, wherein a distance between the elbow outside reference point and the elbow joint point is the same as a distance between the elbow joint point and the elbow inside reference point.
In one possible implementation, the base skin module 2103 is configured to create an elbow inside contouring bone based on the elbow inside bone point, the elbow inside contouring bone constrained by the elbow inside bone point position and rotationally constrained.
Based on the outer elbow skeletal point, an outer elbow skeletal shaping skeleton is created that is constrained by the outer elbow skeletal point position and rotation.
Based on the shoulder joint point, a large arm muscle zoom bone is created, which is a sub-bone of the virtual large arm.
Covering the virtual arm skeleton based on the elbow inner side shaping skeleton, the elbow outer side shaping skeleton, the upper arm muscle scaling skeleton, the shoulder joint point, the elbow joint point and the wrist joint point to obtain the virtual arm model.
In one possible embodiment, the base skin module 2103 is configured to create a first reference point at a location adjacent to the medial elbow bone point, the first reference point being a sub-bone point of the medial elbow bone point. Based on the first reference point, the elbow inside contouring bone is created.
In one possible embodiment, the base skin module 2103 is configured to create a second reference point adjacent to the outer elbow skeletal point, the second reference point being parentally constrained by the outer elbow skeletal point. Based on the second reference point, the elbow lateral contouring bone is created.
In one possible embodiment, the base-skin module 2103 is configured to create a third reference point and a fourth reference point at locations adjacent to the shoulder joint point, the third reference point being a sub-bone point of the shoulder joint point, the fourth reference point being a sub-bone point of the third reference point, the fourth reference point being constrained by the orientation of the first reference point. Creating the first reference bone at the location of the fourth reference point, the first reference bone being constrained by the fourth reference point location and rotation. Creating the large arm muscle zoom bone at a location adjacent to the first reference bone, the large arm muscle zoom bone being constrained by the first reference bone location and rotation.
In a possible embodiment, the apparatus further comprises a scaling module for obtaining a first distance between the forearm muscle scaling bone and the elbow inner side contouring bone when the virtual arm bone is not in motion. And determining the scaling ratio of a second distance to the first distance, wherein the second distance is the distance between the large arm muscle scaling skeleton and the elbow inner side shape-modifying skeleton when the virtual arm skeleton moves.
In one possible embodiment, the virtual arm skeleton includes a virtual upper arm, a virtual lower arm, and a virtual palm, which are connected in sequence, and the joint point creating module 2101 is configured to create the shoulder joint point at the start of the virtual upper arm, which is constrained by the virtual upper arm position and rotation. The wrist point is created at the location of the connection of the virtual upper arm and the virtual lower arm, the wrist point being constrained by the virtual lower arm position and rotation. Creating the wrist articulation point at a connection location of the virtual forearm and the virtual palm, the wrist articulation point being constrained by the virtual palm position and rotation.
It should be noted that: when the skinning device for the virtual arm skeleton provided in the above embodiment skins the virtual arm skeleton, only the division of the above functional modules is exemplified, and in practical application, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the computer device is divided into different functional modules to complete all or part of the above described functions. In addition, the covering device for the virtual arm skeleton provided by the above embodiment and the covering method embodiment for the virtual arm skeleton belong to the same concept, and the specific implementation process is described in detail in the method embodiment and is not described herein again.
According to the technical scheme provided by the embodiment of the application, the elbow inner side skeleton point and the elbow outer side skeleton point are created based on the shoulder joint point, the elbow joint point and the wrist joint point, the elbow inner side skeleton point can simulate the shape change of the inner side of the elbow of the virtual arm skeleton, and the elbow outer side skeleton point can simulate the shape change of the outer side of the elbow of the virtual arm skeleton. Covering is carried out based on shoulder joint points, elbow joint points, wrist joint points, elbow inside skeleton points and elbow outside skeleton points to obtain a virtual arm model, and due to the elbow inside skeleton points and the elbow outside skeleton points, the elbows of the virtual arm model are closer to the real arms in the motion process, the virtual arm model is more real, and the covering effect is better.
An embodiment of the present application provides a computer device, configured to perform the foregoing method, where the computer device may be implemented as a terminal or a server, and a structure of the terminal is introduced below:
fig. 22 is a schematic structural diagram of a terminal according to an embodiment of the present application. The terminal 2200 may be: a smartphone, a tablet, a laptop, or a desktop computer. The terminal 2200 may also be referred to by other names such as user equipment, portable terminal, laptop terminal, desktop terminal, etc.
Generally, the terminal 2200 includes: one or more processors 2201 and one or more memories 2202.
The processor 2201 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on. The processor 2201 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 2201 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 2201 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 2201 may further include an AI (Artificial Intelligence) processor for processing computing operations related to machine learning.
Memory 2202 may include one or more computer-readable storage media, which may be non-transitory. Memory 2202 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 2202 is used to store at least one computer program for execution by processor 2201 to implement the skinning method for the virtual arm skeleton provided by the method embodiments herein.
In some embodiments, the terminal 2200 may further include: a peripheral interface 2203 and at least one peripheral. The processor 2201, memory 2202, and peripheral interface 2203 may be connected by a bus or signal line. Various peripheral devices may be connected to peripheral interface 2203 via a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 2204, a display 2205, a camera assembly 2206, an audio circuit 2207, a positioning assembly 2208, and a power source 2209.
The peripheral interface 2203 may be used to connect at least one peripheral associated with I/O (Input/Output) to the processor 2201 and the memory 2202. In some embodiments, the processor 2201, memory 2202, and peripheral interface 2203 are integrated on the same chip or circuit board; in some other embodiments, any one or both of the processor 2201, the memory 2202, and the peripheral device interface 2203 may be implemented on separate chips or circuit boards, which are not limited in this embodiment.
The Radio Frequency circuit 2204 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuit 2204 communicates with a communication network and other communication devices via electromagnetic signals. The radio frequency circuit 2204 converts an electric signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electric signal. Optionally, the radio frequency circuit 2204 comprises: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth.
The display 2205 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 2205 is a touch display screen, the display screen 2205 also has the ability to acquire touch signals on or over the surface of the display screen 2205. The touch signal may be input to the processor 2201 as a control signal for processing. At this point, the display 2205 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard.
The camera assembly 2206 is used to capture images or video. Optionally, camera assembly 2206 includes a front camera and a rear camera. Generally, a front camera is disposed at a front panel of the terminal, and a rear camera is disposed at a rear surface of the terminal.
The audio circuit 2207 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals into the processor 2201 for processing or inputting the electric signals into the radio frequency circuit 2204 for realizing voice communication.
The positioning component 2208 is configured to locate a current geographic position of the terminal 2200 for navigation or LBS (Location Based Service).
A power supply 2209 is used to provide power to various components within terminal 2200. The power source 2209 can be alternating current, direct current, disposable batteries, or rechargeable batteries.
In some embodiments, terminal 2200 also includes one or more sensors 2210. The one or more sensors 2210 include, but are not limited to: acceleration sensor 2211, gyro sensor 2212, pressure sensor 2213, fingerprint sensor 2214, optical sensor 2215 and proximity sensor 2216.
The acceleration sensor 2211 can detect the magnitude of acceleration on three coordinate axes of the coordinate system established with the terminal 2200.
The gyro sensor 2212 may be configured to acquire a body direction and a rotation angle of the terminal 2200, and the gyro sensor 2212 may be configured to cooperate with the acceleration sensor 2211 to acquire a 3D motion of the user on the terminal 2200.
The pressure sensor 2213 may be disposed on a side frame of the terminal 2200 and/or on the lower layer of the display 2205. When the pressure sensor 2213 is arranged on the side frame of the terminal 2200, a holding signal of the user to the terminal 2200 can be detected, and the processor 2201 performs left-right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 2213. When the pressure sensor 2213 is arranged at the lower layer of the display screen 2205, the processor 2201 controls the operability control on the UI interface according to the pressure operation of the user on the display screen 2205.
The fingerprint sensor 2214 is used for collecting the fingerprint of the user, and the processor 2201 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 2214, or the fingerprint sensor 2214 identifies the identity of the user according to the collected fingerprint.
The optical sensor 2215 is used to collect the ambient light intensity. In one embodiment, the processor 2201 may control the display brightness of the display screen 2205 according to the ambient light intensity collected by the optical sensor 2215.
The proximity sensor 2216 is used to collect the distance between the user and the front face of the terminal 2200.
Those skilled in the art will appreciate that the configuration shown in fig. 22 is not intended to be limiting of terminal 2200 and may include more or fewer components than shown, or some components may be combined, or a different arrangement of components may be used.
The computer device may also be implemented as a server, and the following describes a structure of the server:
fig. 23 is a schematic structural diagram of a server 2300 according to an embodiment of the present application, where the server 2300 may have a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 2301 and one or more memories 2302, where the one or more memories 2302 store at least one computer program that is loaded and executed by the one or more processors 2301 to implement the methods provided by the above method embodiments. Of course, the server 2300 may further include a wired or wireless network interface, a keyboard, an input/output interface, and other components to facilitate input and output, and the server 2300 may further include other components for implementing device functions, which are not described herein again.
In an exemplary embodiment, a computer readable storage medium, such as a memory including a computer program, executable by a processor, is also provided to perform the skinning method of the virtual arm skeleton of the above embodiments. For example, the computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, a computer program product or a computer program is also provided, the computer program product or the computer program comprising program code stored in a computer readable storage medium, the program code being read by a processor of a computer device from the computer readable storage medium, the program code being executed by the processor such that the computer device performs the skinning method of the virtual arm skeleton described above.
In some embodiments, the computer program according to the embodiments of the present application may be deployed to be executed on one computer device or on multiple computer devices located at one site, or may be executed on multiple computer devices distributed at multiple sites and interconnected by a communication network, and the multiple computer devices distributed at the multiple sites and interconnected by the communication network may constitute a block chain system.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (15)

1. A method of skinning a virtual arm skeleton, the method comprising:
creating shoulder joint points, elbow joint points and wrist joint points in the virtual arm skeleton;
creating, based on the shoulder joint points, the elbow joint points, and the wrist joint points, an elbow inner bone point and an elbow outer bone point of the virtual arm bone, the elbow inner bone point for simulating a morphology change of an elbow inner side of the virtual arm bone, the elbow outer bone point for simulating a morphology change of an elbow outer side of the virtual arm bone;
and covering the virtual arm skeleton based on the shoulder joint points, the elbow joint points, the wrist joint points, the elbow inner side skeleton points and the elbow outer side skeleton points to obtain a virtual arm model.
2. The method of claim 1, wherein said medial elbow bone points of said virtual arm bone are created based on a medial elbow reference point of said virtual arm bone, said medial elbow reference point moving with movement of any of said shoulder joint points, said elbow joint points, and said wrist joint points;
the elbow lateral skeletal point of the virtual arm skeleton is created based on an elbow lateral reference point of the virtual arm skeleton, the elbow lateral reference point moving with movement of the elbow medial reference point.
3. The method of claim 1 or 2, wherein the virtual arm skeleton comprises a virtual upper arm, a virtual lower arm, and a virtual palm, the virtual upper arm, the virtual lower arm, and the virtual palm connected in sequence, and wherein creating the inner elbow bone point and the outer elbow bone point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point, and the wrist joint point comprises:
creating an elbow inside reference point of the virtual arm skeleton based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside reference point constrained by the virtual upper arm, the virtual lower arm, and the virtual palm co-location, the elbow inside reference point constrained by the virtual upper arm and the virtual lower arm co-rotation;
creating the medial elbow skeletal points based on the elbow joint points and the medial elbow reference point, the medial elbow skeletal points being position constrained and rotation constrained by the medial elbow reference point;
creating an elbow lateral reference point of the virtual arm skeleton based on the elbow joint point and the elbow medial reference point, the elbow lateral reference point being constrained by the elbow medial reference point location;
creating the elbow lateral skeletal points based on the elbow joint points and the elbow lateral reference point, the elbow lateral skeletal points being constrained by the elbow lateral reference point location, the elbow lateral skeletal points being rotationally constrained by the elbow medial reference point.
4. The method of claim 3, wherein said creating an elbow internal reference point of the virtual arm skeleton based on the shoulder joint points, the elbow joint points, and the wrist joint points comprises:
creating an elbow inside reference point for the virtual arm skeleton at a center point of the shoulder joint point, the elbow joint point, and the wrist joint point.
5. The method of claim 3, wherein the creating the medial elbow bone point based on the elbow joint point and the medial elbow reference point comprises:
creating an elbow reference point at the location of the elbow joint point, the elbow joint reference point being constrained by the virtual forearm location, the elbow joint reference point being rotationally constrained by the elbow internal reference point;
based on first weight the elbow joint reference point with on the line of the inboard reference point of elbow, establish the inboard skeleton point of elbow, first weight and first distance positive correlation, first distance is the inboard skeleton point of elbow with distance between the elbow joint reference point.
6. The method of claim 5, wherein the creating the elbow lateral skeletal points based on the elbow joint points and the elbow lateral reference points comprises:
based on the second weight, elbow joint reference point with on the line of elbow outside reference point, establish elbow outside bone point, second weight and second distance positive correlation, the second distance is elbow outside bone point with distance between the elbow joint reference point.
7. The method of claim 3, wherein creating the outer elbow reference point of the virtual arm skeleton based on the elbow joint point and the inner elbow reference point comprises:
and creating the elbow outer side reference point on an extension line of a connecting line of the elbow joint point and the elbow inner side reference point, wherein the distance between the elbow outer side reference point and the elbow joint point is the same as the distance between the elbow joint point and the elbow inner side reference point.
8. The method of claim 1, wherein said skinning said virtual arm skeleton based on said shoulder joint points, said elbow joint points, said wrist joint points, said elbow internal side bone points, and said elbow external side bone points, resulting in a virtual arm model comprises:
creating an elbow inside contouring bone based on the elbow inside bone point, the elbow inside contouring bone constrained by the elbow inside bone point location and rotation constraint;
creating an elbow lateral contouring bone based on the elbow lateral skeletal point, the elbow lateral contouring bone constrained by the elbow lateral skeletal point location and a rotation constraint;
creating a large arm muscle zoom bone based on the shoulder joint points, the large arm muscle zoom bone being a sub-bone of the virtual large arm;
and covering the virtual arm skeleton based on the elbow inner side shaping skeleton, the elbow outer side shaping skeleton, the upper arm muscle scaling skeleton, the shoulder joint points, the elbow joint points and the wrist joint points to obtain the virtual arm model.
9. The method of claim 8, wherein creating the elbow inside contouring bone based on the elbow inside bone points comprises:
creating a first reference point at a location adjacent to said internal elbow skeletal point, said first reference point being parentally constrained by said internal elbow skeletal point;
creating the elbow inside contouring bone based on the first reference point.
10. The method of claim 8, wherein creating the lateral elbow modifying bone based on the lateral elbow bone point comprises:
creating a second reference point at a location adjacent to said elbow lateral skeletal point, said second reference point parentally constrained by said elbow lateral skeletal point;
creating the elbow lateral contouring bone based on the second reference point.
11. The method of claim 9, wherein creating a large arm muscle zoom bone based on the shoulder joint point comprises:
creating a third reference point and a fourth reference point at a location adjacent to the shoulder joint point, the third reference point being a sub-bone point of the shoulder joint point, the fourth reference point being a sub-bone point of the third reference point, the fourth reference point being constrained by the first reference point orientation;
creating the first reference skeleton at the position of the fourth reference point, wherein the first reference skeleton is constrained by the position and the rotation of the fourth reference point;
creating the large arm muscle zoom bone at a location adjacent to the first reference bone, the large arm muscle zoom bone being constrained by the first reference bone location and rotation.
12. The method according to any one of claims 8-11, wherein the creation of the scale of the upper arm muscle scaling bone comprises:
acquiring a first distance, wherein the first distance is the distance between the forearm muscle scaling skeleton and the elbow inner side shaping skeleton when the virtual arm skeleton is not moved;
determining a ratio of a second distance to the first distance as a scaling ratio of the forearm muscle scaling bone, the second distance being a distance between the forearm muscle scaling bone and the elbow inner side contouring bone when the virtual arm bone moves.
13. A skinning device for a virtual arm skeleton, the device comprising:
the joint point creating module is used for creating shoulder joint points, elbow joint points and wrist joint points in the virtual arm skeleton;
a bone point creation module for creating an elbow inside bone point and an elbow outside bone point of the virtual arm bone based on the shoulder joint point, the elbow joint point, and the wrist joint point, the elbow inside bone point for simulating a morphology change of an elbow inside of the virtual arm bone, the elbow outside bone point for simulating a morphology change of an elbow outside of the virtual arm bone;
and the skinning module is used for skinning the virtual arm skeleton based on the shoulder joint points, the elbow joint points, the wrist joint points, the elbow inner side skeleton points and the elbow outer side skeleton points to obtain a virtual arm model.
14. A computer device, characterized in that the computer device comprises one or more processors and one or more memories, in which at least one computer program is stored, which is loaded and executed by the one or more processors to implement the method of skinning a virtual arm skeleton according to any one of claims 1 to 12.
15. A computer-readable storage medium, in which at least one computer program is stored, which is loaded and executed by a processor to implement the method of skinning a virtual arm skeleton according to any one of claims 1 to 12.
CN202110979955.6A 2021-08-25 2021-08-25 Method, device, equipment and storage medium for covering virtual arm skeleton Active CN113610949B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110979955.6A CN113610949B (en) 2021-08-25 2021-08-25 Method, device, equipment and storage medium for covering virtual arm skeleton

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110979955.6A CN113610949B (en) 2021-08-25 2021-08-25 Method, device, equipment and storage medium for covering virtual arm skeleton

Publications (2)

Publication Number Publication Date
CN113610949A true CN113610949A (en) 2021-11-05
CN113610949B CN113610949B (en) 2023-06-16

Family

ID=78341925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110979955.6A Active CN113610949B (en) 2021-08-25 2021-08-25 Method, device, equipment and storage medium for covering virtual arm skeleton

Country Status (1)

Country Link
CN (1) CN113610949B (en)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1406215A1 (en) * 2002-10-02 2004-04-07 Université Libre de Bruxelles Method for the modeling of skeletal kinematics
JP2007018031A (en) * 2005-07-05 2007-01-25 Toyota Central Res & Dev Lab Inc Musculo-skeletal model creation method and device, program, and recording medium
US20140267312A1 (en) * 2013-03-15 2014-09-18 Dreamworks Animation Llc Method and system for directly manipulating the constrained model of a computer-generated character
CN104751513A (en) * 2015-03-12 2015-07-01 深圳市同洲电子股份有限公司 Human skeleton model establishing method and device
JP2016062528A (en) * 2014-09-22 2016-04-25 日本放送協会 Articulated skeleton model processing device and program
US20180357808A1 (en) * 2016-05-27 2018-12-13 Tencent Technology (Shenzhen) Company Limited Animation generation method, terminal and storage medium
CN109035373A (en) * 2018-06-28 2018-12-18 北京市商汤科技开发有限公司 The generation of three-dimensional special efficacy program file packet and three-dimensional special efficacy generation method and device
JP2019096212A (en) * 2017-11-27 2019-06-20 富士通株式会社 Hand position detection method, hand position detector, and hand position detection program
CN109993819A (en) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 Skinning method and device, the electronic equipment of virtual role
CN112001989A (en) * 2020-07-28 2020-11-27 完美世界(北京)软件科技发展有限公司 Virtual object control method and device, storage medium and electronic device
CN112437950A (en) * 2018-05-22 2021-03-02 奇跃公司 Skeletal system for animating virtual head portraits
CN112634419A (en) * 2020-12-31 2021-04-09 魔珐(上海)信息科技有限公司 Motion redirection method and device, electronic equipment and storage medium
CN112634411A (en) * 2021-01-06 2021-04-09 上海欣子信息科技有限公司 Animation generation method, system and readable medium thereof
US20210150806A1 (en) * 2019-11-15 2021-05-20 Ariel Al Ltd 3d body model generation

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1406215A1 (en) * 2002-10-02 2004-04-07 Université Libre de Bruxelles Method for the modeling of skeletal kinematics
JP2007018031A (en) * 2005-07-05 2007-01-25 Toyota Central Res & Dev Lab Inc Musculo-skeletal model creation method and device, program, and recording medium
US20140267312A1 (en) * 2013-03-15 2014-09-18 Dreamworks Animation Llc Method and system for directly manipulating the constrained model of a computer-generated character
JP2016062528A (en) * 2014-09-22 2016-04-25 日本放送協会 Articulated skeleton model processing device and program
CN104751513A (en) * 2015-03-12 2015-07-01 深圳市同洲电子股份有限公司 Human skeleton model establishing method and device
US20180357808A1 (en) * 2016-05-27 2018-12-13 Tencent Technology (Shenzhen) Company Limited Animation generation method, terminal and storage medium
JP2019096212A (en) * 2017-11-27 2019-06-20 富士通株式会社 Hand position detection method, hand position detector, and hand position detection program
CN112437950A (en) * 2018-05-22 2021-03-02 奇跃公司 Skeletal system for animating virtual head portraits
CN109035373A (en) * 2018-06-28 2018-12-18 北京市商汤科技开发有限公司 The generation of three-dimensional special efficacy program file packet and three-dimensional special efficacy generation method and device
CN109993819A (en) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 Skinning method and device, the electronic equipment of virtual role
US20210150806A1 (en) * 2019-11-15 2021-05-20 Ariel Al Ltd 3d body model generation
CN112001989A (en) * 2020-07-28 2020-11-27 完美世界(北京)软件科技发展有限公司 Virtual object control method and device, storage medium and electronic device
CN112634419A (en) * 2020-12-31 2021-04-09 魔珐(上海)信息科技有限公司 Motion redirection method and device, electronic equipment and storage medium
CN112634411A (en) * 2021-01-06 2021-04-09 上海欣子信息科技有限公司 Animation generation method, system and readable medium thereof

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
RANDY, 《HTTPS://ZHUANLAN.ZHIHU.COM/P/161720118》 *
任如彬;朱利丰;刘佳;宋爱国;: "基于LeapMotion的个体化手部建模与实时交互", 测控技术, no. 02 *
吴伟和;郝爱民;赵永涛;万巧慧;李帅;: "一种人体运动骨骼提取和动画自动生成方法", 计算机研究与发展, no. 07 *
李天昊;: "MAYA三维动画角色骨骼装配技术研究", 艺术科技, no. 02 *

Also Published As

Publication number Publication date
CN113610949B (en) 2023-06-16

Similar Documents

Publication Publication Date Title
CN110766777B (en) Method and device for generating virtual image, electronic equipment and storage medium
US11393154B2 (en) Hair rendering method, device, electronic apparatus, and storage medium
WO2018095273A1 (en) Image synthesis method and device, and matching implementation method and device
US20180225858A1 (en) Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform
WO2020247175A1 (en) Entertaining mobile application for animating a single image of a human body and applying effects
US10909744B1 (en) Simulating garment with wrinkles based on physics based cloth simulator and machine learning model
CN109753892B (en) Face wrinkle generation method and device, computer storage medium and terminal
CN113426117B (en) Shooting parameter acquisition method and device for virtual camera, electronic equipment and storage medium
CN112581571B (en) Control method and device for virtual image model, electronic equipment and storage medium
CN112233211A (en) Animation production method and device, storage medium and computer equipment
CN108701372B (en) Image processing method and device
CN112053370A (en) Augmented reality-based display method, device and storage medium
CN112053449A (en) Augmented reality-based display method, device and storage medium
JP2024502407A (en) Display methods, devices, devices and storage media based on augmented reality
CN108170282A (en) For controlling the method and apparatus of three-dimensional scenic
CN106504309A (en) A kind of method of image synthesis and image synthesizer
CN112206517A (en) Rendering method, device, storage medium and computer equipment
US20060139358A1 (en) 3D graphic engine and method of providing graphics in mobile communication terminal
CN110517346B (en) Virtual environment interface display method and device, computer equipment and storage medium
CN115331265A (en) Training method of posture detection model and driving method and device of digital person
WO2017061890A1 (en) Wireless full body motion control sensor
CN112206519B (en) Method, device, storage medium and computer equipment for realizing game scene environment change
CN112891954A (en) Virtual object simulation method and device, storage medium and computer equipment
CN116958344A (en) Animation generation method and device for virtual image, computer equipment and storage medium
CN113610949B (en) Method, device, equipment and storage medium for covering virtual arm skeleton

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40055250

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant