Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension
Reexamination Certificate
2001-05-04
2003-12-30
Zimmerman, Mark (Department: 2671)
Computer graphics processing and selective visual display system
Computer graphics processing
Three-dimension
C345S473000, C345S474000, C700S245000
Reexamination Certificate
active
06670954
ABSTRACT:
TECHNICAL FIELD
The present invention relates to an apparatus for subjecting a character to three-dimensional computer graphics processing by relating skeleton that describes a framework to polygon data that describes an outer surface, and in particular, to a three-dimensional skeleton data error absorbing apparatus for absorbing an error based on calculation of skeleton data.
BACKGROUND ART
Due to the recent enhanced performance of computer systems and development of a multimedia processing technique, an environment allowing even a personal computer or the like to process sophisticated three-dimensional computer graphics (hereinafter, abbreviated as a “CG”) is being established, and a graphic accelerator board and the like dedicated to processing of a three-dimensional CG are being provided.
There are various types of data formats of a three-dimensional CG. In a game involving the movement of a character such as an artificial creature and an object, generally, data on an object is held mainly in a polygon format, and regarding a rendering process, a texture is attached to a generated polygon mesh, whereby high-speed rendering processing is conducted.
The polygon is obtained by relating positional information of polygon vertexes to texture information that is a graphic pattern, and forms an outer surface of a three-dimensional character such as an artificial creature. The polygon is data for forming a mesh-shaped wire-frame model by disposing polygon vertexes on the outer surface of a three-dimensional object model designed by an animator so that changes in an outside shape are understood, and connecting each polygon vertex, and is related to texture information describing the pattern of an outer surface.
As described above, in the case where data is held in a polygon format, as the number of polygons that can be assigned to an object is larger, CG processing of higher quality will be achieved. In a recent entertainment application, there is a demand for a high quality rendering. It is not rare that more than 2,000 polygons are assigned to a three-dimensional character in order to satisfy user's needs. It is a demanding task to describe the movement/deformation on a polygon vertex basis, so as to provide a three-dimensional object described by a large number of polygons with movement/deformation information in accordance with each scene. Therefore, an idea of skeleton is introduced. If the movement of a three-dimensional character such as an artificial creature is expressed by skeleton that is to be a framework thereof, and polygon data that is to be an outer surface is related to the skeleton, it becomes easy to conduct polygon deformation processing. This is because, in general, an artificial creature also has joints conceptually, and its skeleton is mostly operated with respect to the joints. The movement of an artificial creature on a scene basis is described as changes in skeleton. Since each skeleton is related to polygon vertexes forming the outside shape, the movement of each polygon vertex can be described and calculated based on the movement of the skeleton.
Skeleton describing the movement of a three-dimensional character has the following features.
Firstly, there is a parenthood relationship in linking between skeletons. For example, in the case of an arm of an artificial creature, parenthood relationships are defined in the order from a shoulder that is a parent, a brachium, a forearm, and a hand. When the brachium is moved, the forearm and the hand are moved in accordance with the movement of the brachium, and the hand is moved in accordance with the movement of the forearm. More specifically, when the movement of a parent object is described, the movement is automatically reflected onto the description of the movement of a child object.
Secondly, matrix calculation is used for processing the movement of skeleton. A complicated multi-dimensional vector calculation is required for describing the movement in a three-dimensional virtual space, which is processed by matrix calculation. The parenthood relationship described as the above-mentioned first feature is also subjected to calculation by matrix multiplication. In the case where skeleton has a plurality of linked parenthood relationships as in the above example of the arm, matrix multiplications are conducted a plurality of times corresponding to the number of parenthood relationships.
Thirdly, the length of a skeleton has a value specific to each skeleton. More specifically, there are long skeletons and short skeletons. In terms of principle, there may be a skeleton as a fulcrum for rotation, having no length. In the case where a long skeleton
1002
is rotated as shown in FIG.
10
(
a
), even when an angle is slightly changed, the movement of its end portion may be expressed in a large amount. In contrast, in the case where the movement amount at the end portion of a skeleton because of an error is the same between a long skeleton and a short skeleton, a movement angle becomes smaller in the long skeleton, so that a visual deformation degree is decreased therein.
Fourthly, due to the features of a three-dimensional object and setting of a model by an animator, there is a so-called “depth of a hierarchy” in skeleton linking. The depth of a hierarchy expresses the number of skeletons to be linked for forming a unified object. In an object having a deep skeleton hierarchy as shown in FIG.
10
(
b
), the number of skeletons for forming the object is generally large. For example, in a tail of an artificial dinosaur that moves flexibly, a nose of an elephant, and the like, models having a relatively large number of linked skeletons are adopted. Therefore, such models are considered to have a deep skeleton hierarchy.
Fifthly, a skeleton is related to a polygon vertex forming an outer surface, and has a numerical value such as a weight representing a degree of an influence of the movement of each skeleton on the movement of each polygon vertex. For example, in the case where a weight of a polygon vertex with respect to a skeleton is “100”, the polygon vertex moves 100% in accordance with the movement of the skeleton. In the case where a weight is “0”, even when the skeleton is changed, the polygon vertex will neither be influenced nor changed.
As described in the above-mentioned prior art, by using skeleton data, the movement of a three-dimensional character is described on a skeleton basis, and an apparatus user such as an animator can easily describe an animation scene.
However, according to graphics processing of a three-dimensional character using skeleton, the following error occurs based on skeleton calculation. When a rendering is actually conducted as shown in FIG.
10
(
c
), although a dotted line represents the position of skeletons to be displayed, the skeletons are in some cases displayed, being shifted to a position represented by a solid line. In this manner, the position of a rendered object is shifted, and the object unnaturally wobbles and does not move smoothly.
The first problem of a skeleton calculation error is that an error occurring at a time of calculation of a parent skeleton is transferred to child skeleton calculation and accumulated/amplified. In particular, in the case where a hierarchy of skeleton forming an object is deep, an error with respect to a child skeleton at an end is increased in a transfer/accumulation amount. Skeleton calculation is a product of matrix calculation, so that an error is increased due to multiplication.
The second problem of a skeleton calculation error is based on the difference in a computer resource to be a platform. More specifically, when an animator creates a three-dimensional character, the three-dimensional character is created with a high detail and precision. Therefore, a workstation with a high processing ability and the like are generally used, and calculation is conducted by the double-precision operation “DOUBLEWORD”. On the other hand, for actually rendering the three-dimensional character in a game by a user, an inexpensive platform with a
Arai Masatoshi
Miyata Ryosuke
Sealey Lance W.
Staas & Halsey , LLP
Zimmerman Mark
LandOfFree
Three-dimensional skeleton data error absorbing apparatus does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Three-dimensional skeleton data error absorbing apparatus, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Three-dimensional skeleton data error absorbing apparatus will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3119841