This application claims priority of Korean Patent Application No. 10-2016-0052406, filed on Apr. 28, 2016, in the KIPO (Korean Intellectual Property Office), the disclosure of which is incorporated herein entirely by reference.
In order to put an animation on a virtual character, a rigging process is required. Here, the rigging is defined as defining elements of a motion of a character, setting a boundary, and serving as an interface for applying an animation to an animator, and enriched expression of a character may depend on rigging.
However, in order to generate a rigging, long-term working hours are demanded to skilled animators and skilled artists in the existing technique, and it is difficult for a general user to generate and correct a rigging.
This disclosure is directed to providing a method for providing a rigging tool, which may generate a basic rigging of a character and give a skeleton correction function and a skinning weight correction function for the generated basic rigging.
In one general aspect, there is provided a method for providing a rigging tool, which comprises: receiving an input character; generating a basic rigging at the input character by using a skeleton extraction technique and a skinning weight technique; and providing a skeleton correction function and a skinning weight correction function on the basis of the generated basic rigging.
Here, the skeleton extraction technique may generate a skeleton by compressing the input character into a zero volume and erasing a face.
Here, the skeleton extraction technique may remove unnecessary portions from the generated skeleton by using a Douglas-Peucker algorithm.
In addition, the skinning weight technique may calculate a skinning weight by using an equation (H−L)wi=Hpi, where L is a Laplacian matrix, H is a heat contribution matrix, w is a weight vector, and p is a binary number.
In addition, the skinning weight technique may calculate a skinning weight by using a local computing region which calculates only a partial region of the character.
Here, the skinning weight technique may calculate a skinning weight by using an equation B(H−L)Awi+B(H−L)BTwi=Hpi, where L is a Laplacian matrix, H is a heat contribution matrix, w is a weight vector, p is a binary number, B is a matrix clipping computing vertices, and A is a matrix clipping non-computing vertices.
In addition, the providing of a skinning weight correction function may provide a skinning weight correction function by using at least one function selected from the group consisting of a weight scaling influence magnitude function, a weight editing influence range function, and a weight editing influence smoothness function.
Meanwhile, in another aspect of the present disclosure, there is provided an apparatus for providing a rigging tool, which comprises: an input unit configured to receive an input character; a generation unit configured to generate a basic rigging at the input character by using a skeleton extraction technique and a skinning weight technique; and a correction unit configured to provide a skeleton correction function and a skinning weight correction function on the basis of the generated basic rigging.
According to various embodiments of the present disclosure as above, a user may perform rigging fast by generating a basic rigging at an input character and giving a skeleton correction function and a skinning weight correction function thereto.
The above and other features and advantages will become more apparent to those of ordinary skill in the art by describing in detail exemplary embodiments with reference to the attached drawings, in which:
In the following description, the same or similar elements are labeled with the same or similar reference numbers.
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “includes”, “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. In addition, a term such as a “unit”, a “module”, a “block” or like, when used in the specification, represents a unit that processes at least one function or operation, and the unit or the like may be implemented by hardware or software or a combination of hardware and software.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Preferred embodiments will now be described more fully hereinafter with reference to the accompanying drawings. However, they may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Referring to
The skeleton extraction technique may generate a skeleton by compressing the input character into a zero volume and erasing a face. In this case, unnecessary portions in the generated skeleton may be removed using a Douglas-Peucker algorithm. Accordingly, it is possible to generate a basic rigging including only a required skeleton.
The skinning weight technique may calculate a skinning weight by using a heat diffusion weight. In this case, a skinning weight calculating equation to which the heat diffusion weight technique is applied is like Equation 1 below.
For every bone i: (H−L)wi=Hpi Equation 1
H
jj
=c/d
2(j)
Here, L is a Laplacian matrix, H is a heat contribution matrix, w is a weight vector, and p is a binary number.
In addition, the skinning weight technique may calculate a skinning weight by using a local computing region which calculates only a partial region of the character. In detail, when the basic rigging is corrected, the skinning weight should be calculated again in real time. At this time, since the skinning weight is calculated using the local computing region which calculates only a partial region of the character, the skinning weight may be calculated more rapidly. A skinning weight calculating equation to which the local computing region technique is applied is like Equation 2 below.
B(H−L)Awi+B(H−L)BTwi=Hpi Equation 2
H
jj
=c/d(j)2
Here, L is a Laplacian matrix, H is a heat contribution matrix, w is a weight vector, p is a binary number, B is a matrix clipping computing vertices, and A is a matrix clipping non-computing vertices.
In addition, the skinning weight correction function may be provided by using at least one function selected from the group consisting of a weight scaling influence magnitude function, a weight editing influence range function, and a weight editing influence smoothness function.
In detail, in the weight scaling influence magnitude function, a user may control a weight intensity of a corresponding bone by using a controller to adjust a “c” value in c/d(j)2 of an H matrix in Equation 2. The weight editing correction function may add one virtual bone at an existing bone location and control the added virtual bone to adjust a weight range by means of the virtual bone. Accordingly, in a state where the original bone location is fixed, the weight range may be adjusted by controlling only the virtual bone. The weight editing influence smoothness function may adjust “a” and “b” value in Equation 3 below, at which a bi-Laplacian matrix is added to the Laplacian matrix of Equation 2, to control smoothness of the weight.
Here, L is a Laplacian matrix, L2 is a Laplacian matrix, H is a heat contribution matrix, a is a Laplacian matrix weight, b is a bi-Laplacian matrix weight, w is a weight vector, and p is a binary number.
Referring to
The input unit 210 may receive an input character, and the generation unit 220 may generate a basic rigging at the character input to the input unit 210 by using a skeleton extraction technique and a skinning weight technique.
The correction unit 230 may provide a skeleton correction function and a skinning weight correction function on the basis of the generated basic rigging.
Referring to
Referring to
Referring to
In addition, when an existing heat diffusion weight is calculated in
Moreover, even though skilled animators and skilled artists have spent much time in the existing technique to generate a rigging as shown in
According to various embodiments of the present disclosure as described above, by generating a basic rigging at an input character and providing a skeleton correction function and a skinning weight correction function, a user may perform rigging in an easy and rapid way.
Meanwhile, the method according to various embodiments of the present disclosure as described above may be implemented as program codes stored in various non-transitory computer readable media and may be provided to each server or device in this state.
The non-transitory computer readable medium means a medium which may store data semi-permanently and be read by a device, rather than a medium storing data within a short time like register, cash, memory or the like. In detail, the various applications or programs described above may be provided in a state of being stored in a non-transitory computer readable medium such as CD, DVD, hard-disk, bleu-ray disk, USB, memory card, ROM or the like.
While the present disclosure has been described with reference to the embodiments illustrated in the figures, the embodiments are merely examples, and it will be understood by those skilled in the art that various changes in form and other embodiments equivalent thereto can be performed. Therefore, the technical scope of the disclosure is defined by the technical idea of the appended claims The drawings and the forgoing description gave examples of the present invention. The scope of the present invention, however, is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of the invention is at least as broad as given by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2016-0052406 | Apr 2016 | KR | national |