US20010003449A1 - System for controlling and editing motion of computer graphics model - Google Patents
System for controlling and editing motion of computer graphics model Download PDFInfo
- Publication number
- US20010003449A1 US20010003449A1 US09/069,648 US6964898A US2001003449A1 US 20010003449 A1 US20010003449 A1 US 20010003449A1 US 6964898 A US6964898 A US 6964898A US 2001003449 A1 US2001003449 A1 US 2001003449A1
- Authority
- US
- United States
- Prior art keywords
- time
- articular
- computer graphics
- series data
- motion
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 claims description 30
- 238000012937 correction Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 230000002401 inhibitory effect Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 8
- 210000002683 foot Anatomy 0.000 description 44
- 210000001503 joint Anatomy 0.000 description 26
- 230000005484 gravity Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000005452 bending Methods 0.000 description 8
- 210000003127 knee Anatomy 0.000 description 4
- 210000001624 hip Anatomy 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 210000004197 pelvis Anatomy 0.000 description 2
- 210000003423 ankle Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Definitions
- the present invention generally relates to a graphic control system for controlling motion of a computer graphics (CG) model that has a skeleton structure generated by computer graphics and that is adapted to be operated for presenting various postures of the model.
- CG computer graphics
- a system has been developed in which an input glove is used for a simplified input device to edit an animation in real-time by three-dimensional CG (hereafter referred to as 3D CG).
- the input glove is worn by a hand of the operator to detect movements of fingers, by which a computer is controlled.
- 3D CG three-dimensional CG
- control units arranged on joints of each finger of the input glove are assigned to joints or articular elements of a 3D CG object so that the motion thereof is controlled as if manipulating a puppet.
- the above-mentioned real-time character animation system is intended to move a CG model in real-time while superimposing the same on a video taken from life.
- this system only simple operation is conducted by the input glove.
- the conventional input glove is not designed to handle complicated motions of CG model as with motion capture. Therefore, CG model motions are confined to simple ones, thereby narrowing an application field.
- Another problem is that no consideration is taken into editing of recorded motions of CG model.
- CG model having a skeleton structure of a human body or an animal for example
- it is required to specify a change in the angle and position of joints contained in the skeleton structure.
- the location of the CG model is determined by three-dimensional coordinates of a parent or basic joint. Normally, the parent joint is often set to the waist or the pelvis of the CG model. Therefore, if both knees of the CG model are bent with no preparatory process performed, the CG mode floats in the air, which is an unnatural state or posture.
- the foot position of the CG model is specified beforehand on the reference plane (namely, the floor) of a virtual space, and motions of the feet are determined by functional approximation or the like, based on which the position of the CG model is determined by use of a method such as inverse cinema.
- a method such as inverse cinema.
- the above-mentioned method requires a high computational complexity, it is difficult to control a CG model real-time.
- the above-mentioned method also needs to determine the foot position beforehand, thereby making it difficult to freely move a CG model real-time by use of an external controller for example.
- CG Computer Graphics
- the inventive apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to state values thereof.
- input means has a plurality of control units, each of which is operable for time-sequentially inputting a control amount.
- Assignment means provides assignment information which determines correspondence between the control units of the input means and the articular elements of the computer graphics model.
- Parameter means provides a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information.
- Converter means operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model.
- the assignment means includes means for providing assignment information which determines correspondence between a single of the control units and a multiple of the articular elements so that the single of the control units can concurrently manipulate the multiple of the articular elements.
- the assignment means includes means for providing assignment information which determines correspondence between a multiple of the control units and a single of the articular elements so that the multiple of the control units can cooperate with one another to manipulate the single of the articular elements.
- the input means comprises a glove worn by a hand of an operator and having a plurality of control units disposed in contact with joints of fingers of the hand of the operator so that each control unit can detect an angular movement of each joint for inputting the control amount in terms of the detected angular movement.
- the parameter means comprises means for providing a functional parameter which determines a magnification rate of the control amount to compute the state value. Further, the parameter means comprises means for providing a functional parameter which determines an offset of the state value relative to the control amount. Moreover, the parameter means comprises means for providing a functional parameter which determines a polarity of the state value relative to the control amount. Additionally, the parameter means comprises means for providing a time-series of the functional parameter in parallel to the time-series of the state value.
- the inventive apparatus is constructed for recording a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to time-series data.
- memory means has a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element.
- Select means is provided for selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks.
- Edit means operates for providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks.
- the inventive apparatus further comprises graphic means for reading the time-series data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular elements to thereby visually reproduce the motion of the computer graphics model while allowing the edit means to write the time-series data into the selected record track.
- the edit means includes means for rewriting the time-series data of the selected record track while monitoring the motion of the computer graphics model to thereby enable real time correction in the manipulation of the articular element corresponding to the selected record track.
- the edit means includes means operative when newly rewriting a part of the time-series data already written in the selected record track for interpolating a discontinuity between the newly rewritten part and the already written part so as to secure continuity of the time-series data.
- the inventive apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of segments which are manipulatable according to time-series data.
- input means operates for inputting the time-series data in correspondence with each of the segments.
- Graphic means is provided for manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane.
- Adjustment means operates if the lowest one of the segments deviates from the horizontal plane during the motion of the computer graphics model for adjusting the time-series data of the lowest segment such that the lowest segment can stay on the horizontal plane.
- the adjustment means further comprises means operative if the lowest one of the segments staying on the horizontal plane drifts in a horizontal direction for adjusting the time-series data of the lowest segment such that the lowest segment can be fixed in the horizontal direction.
- the CG model motion control apparatus comprises the assignment information specifying means for specifying information for assigning the control units of the input means to the articular elements (for example, joints) of a CG model, and the functional parameter specifying means for specifying functional parameters (for example, magnification rate, bending direction, and offset) indicative of a relationship between the control variable or amount inputted by each control unit and the state value (for example, joint angle or joint position) of each articular element.
- functional parameters for example, magnification rate, bending direction, and offset
- the state value for example, joint angle or joint position
- assignment of control units to articular elements or joints can be conducted on one-to-many or single-to-multiple basis to realize a motion such as simultaneously bending a plurality of joints of a foot or an arm of a CG model only by one control unit. Further, assignment of control units to a joint on many-to-one basis can provide a complex motion such as bending the head of the model forward and backward by use of a plurality of control units that provide only monotonous increment. For the input means, a fader or the like may be used.
- a joint angle magnification rate, a bending direction, an offset value, and so on can be specified as functional parameters relative to a bending angle of each of the input glove fingers.
- Specifying the magnification rate allows a CG model to be moved in a large scale or a small scale by the operation of the control unit.
- Specifying the bending direction allows a plurality of control units to move an articular element of a CG model in opposite directions.
- Specifying the offset value can initialize the state value of the joint angle such that the input glove may be placed in a rest state while the CG model is held in a default attitude or posture. Recording the above-mentioned functional parameters in parallel to the time-series of the above-mentioned control variables or the state values in a time-sequence manner can correct operation of the CG model only by altering the corresponding functional parameter later.
- a plurality of independent record tracks corresponding to articular elements of the model are set to memory means.
- Information for enabling or disabling the recording is set to each of the record tracks.
- the time-series data is recorded onto only the enabled record track. If there is a large number of recording portions to be controlled, some of the portions can be additionally recorded sequentially, thereby controlling many articular elements with a small control variable. Therefore, according to the invention, complex motions can be imparted to a CG model through the simplified inputting means.
- a CG model can be drawn real-time by graphic means and, concurrently with this CG model drawing, time-series data can be additionally recorded onto the enabled record track.
- the time-series data already recorded on the enabled record track can be rewritten real-time. This allows the user to add more minute motions and to modify partial motions while monitoring the already recorded CG model motions, thus facilitating recording and editing operations.
- select and edit means can be imparted with capability of spanning by interpolation the discontinued portions before and after a boundary at which the time-series data has been rewritten, allowing the user to perform editing operation without impairing smooth motions of a CG model.
- the reference position of a CG model is corrected in the vertical direction so that the CG model's lowest portion located at the bottom in the vertical direction of a virtual space is always in contact with the reference horizontal plane in the virtual space. Therefore, it is possible to avoid an unnatural phenomenon such as departing of the tip of the axial foot of the CG model from floor.
- the correction processing of the present invention only moves the reference position (for example, center of gravity) of the CG model in vertical direction or vertical and horizontal directions, thereby making the processing simple and therefore enabling real-time processing.
- the reference position of the CG model is corrected in the horizontal direction so that the CG model's portion located at the lowest position in the vertical direction in the virtual space is kept in contact with the reference plane and is not movable along the reference horizontal plane. This prevents an unnatural phenomenon such as horizontal sliding of the axial foot on the floor from occurring.
- the correction processing simply moves the reference position of the CG model in the horizontal direction, so that the processing is very simple and it is unnecessary to specify the position of the foot tip beforehand. Consequently, the CG model can be controlled freely real-time.
- FIG. 1 is a schematic diagram illustrating constitution of a CG apparatus practiced as one preferred embodiment of the invention
- FIG. 2 is a diagram illustrating one example of a CG model to be presented by the CG apparatus shown in FIG. 1;
- FIG. 3 ( a ) and FIG. 3 ( b ) are diagrams illustrating formats of model data for defining a shape of the CG model shown in FIG. 2;
- FIG. 4 is a diagram illustrating motions of the CG model shown in FIG. 2;
- FIG. 5 is a diagram illustrating contents of time-series data for defining motions of the CG model shown in FIG. 2;
- FIG. 6 is a block diagram illustrating constitution of a computer used in the CG apparatus shown in FIG. 1;
- FIG. 7 is a diagram illustrating assignment of control units to articular elements of the CG model shown in FIG. 2 and associated functional parameters;
- FIG. 8 is a diagram illustrating a dialog box for setting the assignment information and the functional parameters used in the CG apparatus shown in FIG. 1;
- FIG. 9 ( a ), FIG. 9 ( b ) and FIG. 9 ( c ) are diagrams illustrating operations for recording and editing time-series data used in the CG apparatus shown in FIG. 1;
- FIG. 10 ( a ) and FIG. 10 ( b ) are diagrams illustrating process for correcting the center of gravity of the model treated in the CG apparatus shown in FIG. 1;
- FIG. 11 is a flowchart indicative of the correction process shown in FIGS. 10 ( a ) and 10 ( b ).
- this CG apparatus comprises a computer 1 for executing graphic process for generating and editing a three-dimensional (3D) computer graphics (CG) model, an input glove 2 serving as an input device for specifying a sequence of motions of the CG model, and an interface 3 for providing interface between the input glove 2 and the computer 1 .
- a computer 1 for executing graphic process for generating and editing a three-dimensional (3D) computer graphics (CG) model
- an input glove 2 serving as an input device for specifying a sequence of motions of the CG model
- an interface 3 for providing interface between the input glove 2 and the computer 1 .
- the computer 1 is composed of a computer main frame 1 a for executing a sequence of processing operations for imparting motions to the CG model based on a control amount or control variable received from the input glove 2 , a keyboard 1 b and a mouse 1 c for specifying assignment information and functional parameters necessary for controlling CG model motions, and a display device 1 d for displaying the generated CG model.
- the computer main frame 1 a contains therein a CPU and a disk drive for receiving a machine readable medium such as a floppy disk 1 f.
- FIG. 2 An example of a 3D CG model generated by the above-mentioned CG apparatus is shown in FIG. 2.
- a CG model 21 simulates a human body having a skeleton structure with a plurality of segments or parts 22 such as face, body, and arms connected to each other by joints 23 serving as articular elements indicated by nodes.
- This CG model 21 is presented in a three-dimensional virtual space according to source data or model data.
- the model data is composed of shape data and link data as shown in FIGS. 3 ( a ) and 3 ( b ).
- the shape data is a file defining parts such as face and body as shown in FIG. 3 ( a ). To be more specific, this file defines, for each of polygons constituting the respective parts, an apex sequence, plane list, surface texture, and so on.
- the link data is a file defining linkage between the parts as shown in FIG. 3 ( b ).
- the skeleton structure is defined such that the body is a parent part and the face, the right upper arm, the left upper arm, the waist, and so on linked to the body are child parts, and the right lower arm linked to the right upper arm is a grandchild part.
- joints such as the neck, the right shoulder, the left shoulder, and so on linking these parts are defined.
- a three-dimensional angle is defined. The joint angle is defined as a direction of a low-order part with reference to a local coordinate system of a high-order part as shown in FIG. 2.
- the joint angle of each joint is altered as a state value time-sequentially so as to impart a sequence of motions to the CG model.
- Data defining such a sequence of motions is herein referred to as time-series data.
- the time-series data is a file defining an angle of each joint along a time axis as shown in FIG. 5. This file also defines a three-dimensional coordinate value of the parent part at each time. Data of a sequence of joint angles at each time is referred to as frame data marked by a dash block. For the state value, a position in the local coordinate system of each joint may also be used.
- the input glove 2 has a plurality of external control units 2 0 , 2 1 , . . . , 2 n ⁇ 1 arranged at positions of joints of each finger of the input glove.
- These external control units 2 0 through 2 n ⁇ 1 detect bending angles of fingers of the operator by a change in electrical resistance or light quantity if an optical fiber is used as a sensor, and output signals corresponding to detected amounts as control variables C 0 , C 1 , . . . , C n ⁇ 1 .
- These control variables C 0 through C n ⁇ 1 are inputted in the computer main frame 1 a through the interface 3 .
- an A/D converting device 11 converts the received analog control variables C 0 through C n ⁇ 1 into a digital form suitable for 3D CG model data.
- An assignment device 12 assigns each of the control variables C 0 through C n ⁇ 1 to the joints respectively based on the assignment information for specifying the correspondence between the external control units 2 0 through 2 n ⁇ 1 and the joints of the CG model.
- a function device 13 converts the control variable assigned to each joint based on functional parameters such as magnification rate, change direction, and offset value of each joint so as to compute the state value or the joint angle of each joint.
- a graphic device 14 draws the CG model in a video memory 15 .
- the model data for defining the CG model is read from a file storage device 16 .
- the control variables are stored along with the assignment information and the functional parameters such as bending direction, magnification rate, and offset value into a buffer 18 as the time-series data under the control of a select and edit device 17 .
- the control variables stored in the buffer 18 are converted by the function device 13 into the angle of each joint.
- the data stored in the buffer 18 can be edited appropriately by the select and edit device 17 .
- the edited data is also stored in the buffer 18 .
- FIG. 7 shows an example of assignment of the external control units 2 0 through 2 n ⁇ 1 to the joints of the CG model representative of a human body, and an example of functional parameters corresponding to the joints of the CG model.
- the external control units 2 0 and 2 1 are assigned to the neck of the human body model on many-to-one basis, and the magnification rates R 0 and R 1 are set to a positive value and a negative value, respectively. While the control variables C 0 and C 1 increment monotonously, the neck can be moved forward and backward or left-side and right-side by two fingers.
- the external control unit 2 2 is assigned to the right elbow joint on one-to-one basis.
- the external control unit 2 3 is assigned to the right loin joint, the right knee joint, and the right ankle on one-to-many basis.
- magnification rates or gains R 30 , R 31 , and R 32 and offset values A 30 , A 31 , and A 32 motion of the entire right leg such as folding and unfolding is controlled by one finger.
- assignment information and the functional parameters are displayed on the display device 1 d .
- these assignment information and functional parameters can be set by use of a joint assignment dialog box shown in FIG. 8.
- This dialog box has windows for inputting the name of file for storing the assignment information and functional parameters, information indicative of enabling/disabling of recording, the joints of the input device 2 , the corresponding joints of the model, magnification rates in X, Y, and Z directions, and the offset values in X, Y, and Z directions.
- the function device 13 computes the joint angles as shown below from the assignment information and the functional parameters which are set as described above. To be more specific, let revolving angles around the X-axis of each joint of the CG model be X 0 , X 1 , . . . , X m ⁇ 1 , the magnification rates be R 00 , R 01 , . . . , R m ⁇ 1n ⁇ 1 , the offset values be A 0 , A 1 , . . . , A m ⁇ 1 , and the control variables be C 0 , C 1 , . . .
- the CG model When the finger of the operator for operating the input glove 2 is placed in an unnatural state away from a rest state, the CG model should not be designed in a default state or rest state in order to prevent fatigue of the operator. Therefore, the offset value A is adjusted such that the CG model gets in default state by the control variables C 0 through C n ⁇ 1 inputted from the external control units 2 0 through 2 n ⁇ 1 when the finger of the operator is at an angle at which the finger is most relaxed.
- the functional parameters can also limit the maximum and minimum values of joint angle.
- a fader for example is also available in place of the input glove.
- the CG apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of joints or articular elements manipulatable according to state values thereof.
- input means in the form of the input glove 2 has a plurality of control units, each of which is operable for time-sequentially inputting a control variable or control amount.
- Assignment means in the form of the assignment device 12 provides assignment information which determines correspondence between the control units of the input means and the articular elements of the computer graphics model.
- Parameter means in the form of the function device 13 provides a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information.
- Converter means also in the form of the function device 13 operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model.
- the assignment means includes means for providing assignment information which determines correspondence between a single of the control units and a multiple of the articular elements so that the single of the control units can concurrently manipulate the multiple of the articular elements.
- the assignment means includes means for providing assignment information which determines correspondence between a multiple of the control units and a single of the articular elements so that the multiple of the control units can cooperate with one another to manipulate the single of the articular elements.
- the input means comprises the input glove 2 worn by a hand of an operator and having a plurality of control units disposed in contact with joints of fingers of the hand of the operator so that each control unit can detect an angular movement of each joint for inputting the control amount in terms of the detected angular movement.
- the parameter means comprises means for providing a functional parameter which determines a magnification rate of the control amount to compute the state value. Further, the parameter means comprises means for providing a functional parameter which determines an offset of the state value relative to the control amount. Moreover, the parameter means comprises means for providing a functional parameter which determines a polarity of the state value relative to the control amount. Additionally, the parameter means comprises means for providing a time-series of the functional parameter in parallel to the time-series of the state value.
- FIGS. 9 ( a ), 9 ( b ), and 9 ( c ) are diagrams illustrating procedure of editing the time-series data generated by the above-mentioned operations.
- the data of each joint of the CG model is recorded in the buffer 18 at each record track. Recording of the data can be enabled or disabled for each track.
- the information of this enabling or disabling can be specified through a check box provided in the dialog box shown in FIG. 8 for example, and the specification is registered in the select and edit device 17 .
- the select and edit device 17 records the data only in the enabled record track based on the registered information of enabling or disabling. For example, in the example shown in FIG.
- the CG apparatus is constructed for recording a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to time-series data.
- memory means in the form of the buffer 18 has a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element.
- Select means is provided in the form of the select and edit device 17 for selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks.
- Edit means in the select and edit device 17 operates for providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks.
- the inventive CG apparatus further comprises graphic means in the form of the graphic device 14 for reading the time-series data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular elements to thereby visually reproduce the motion of the computer graphics model while allowing the edit means to write the time-series data into the selected record track.
- the edit means includes means for rewriting the time-series data of the selected record data while monitoring the motion of the computer graphics model to thereby enable real time correction in the manipulation of the articular element corresponding to the selected record track.
- the edit means includes means operative when newly rewriting a part of the time-series data already written in the selected record track for interpolating a discontinuity between the newly rewritten part and the already written part so as to secure continuity of the time-series data.
- the select and edit device 17 determines the foot of which distance YL or YR between foot and floor is smaller than that of the other to be the axial foot as shown in FIG. 10 ( a ), thereby adjusting the position of the model in the vertical direction such that the tip of the axial foot is always in contact with floor. If the axial foot in contact with floor moves horizontally as shown in FIG. 10 ( b ), the position of the model in the horizontal direction is adjusted such that the axial foot will not move.
- FIG. 11 is a flowchart indicative of the processing for correcting the center of gravity of the model by the select and edit device 17 .
- the coordinate value of the tip of the foot is obtained (step S 1 ).
- the Y coordinate (height) of the right foot is compared with the Y coordinate of the left foot (step S 2 ). If the Y coordinate of the right foot is smaller than the Y coordinate of the left foot, the right foot is determined to be the axial foot, thereby correcting the coordinate of the center of gravity as shown in the following equations (step S 3 ):
- Y coordinate of the center of gravity Y coordinate of the center of gravity ⁇ Y coordinate of right foot
- X coordinate of the center of gravity X coordinate of the center of gravity ⁇ (X coordinate of right foot ⁇ stored X coordinate of right foot)
- Z coordinate of the center of gravity Z coordinate of the center of gravity ⁇ (Z coordinate of right foot ⁇ stored Z coordinate of right foot)
- step S 4 if the Y coordinate of the right foot is larger than the Y coordinate of the left foot, the left foot is determined to be the axial foot and the coordinates of the center of gravity are corrected as shown in the following equations (step S 4 ):
- Y coordinate of the center of gravity Y coordinate of the center of gravity ⁇ Y coordinate of left foot
- X coordinate of the center of gravity X coordinate of the center of gravity ⁇ (X coordinate of left foot ⁇ stored X coordinate of left foot)
- Z coordinate of the center of gravity Z coordinate of the center of gravity ⁇ (Z coordinate of left foot ⁇ stored Z coordinate of left foot)
- step S 5 the X and Z coordinates of the left and right feet are stored for a next frame computation, upon which the processing comes to an end (step S 5 ).
- the CG apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of segments which are manipulatable according to time-series data.
- input means such as the input glove 2 operates for inputting the time-series data in correspondence with each of the segments.
- Graphic means is provided in the form of the graphic device 14 for manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane.
- Adjustment means in the graphic device 14 operates if the lowest one of the segments deviates from the horizontal plane during the motion of the computer graphics model for adjusting the time-series data of the lowest segment such that the lowest segment can stay on the horizontal plane.
- the adjustment means further comprises means operative if the lowest one of the segments staying on the horizontal plane drifts in a horizontal direction for adjusting the time-series data of the lowest segment such that the lowest segment can be fixed in the horizontal direction.
- the inventive computer graphics apparatus is constructed for presenting on the display device 1 d a motion of an object defined by a plurality of articular segments manipulatable according to state values thereof.
- the input device 2 has a plurality of control units 2 0 , 2 1 , . . . , 2 n ⁇ 1 each of which is operable for time-sequentially inputting a control amount.
- the assignment device 12 provides assignment information which defines correspondence between the control units of the input device 2 and the articular segments of the object.
- the function device 13 provides a functional parameter which defines a relation between the control amount of each control unit and the state value of each articular segment when the correspondence is defined between each control unit and each articular segment according to the assignment information.
- the function device 13 further operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular segment.
- the graphic device 14 graphically manipulates each articular segment according to the time-series of the state value to present the motion of the object on the display device 1 d .
- the inventive computer graphics apparatus further utilizes the memory device or the buffer 18 having a plurality of record tracks corresponding to the plurality of the articular segments, each record track being separate from other record track and being writeable with data equivalent to the time-series of the state value of the corresponding articular segment.
- the select and edit device 17 selects at least one record track to allow writing of the data into the selected record track while inhibiting writing of the data into the remaining record tracks, and records the data in the memory device so that the data can be exclusively written into the selected record track without disturbing the remaining record tracks.
- the graphic device 14 reads the data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular segments to thereby visually reproduce the motion of the object while allowing the select and edit device 17 to write the data into the selected record track.
- the select and edit device 17 rewrites the data of the selected record track while monitoring the motion of the object, thereby enabling real time correction in the manipulation of the articular segment corresponding to the selected record track.
- the graphic device 14 manipulates the plurality of the articular segments according to the time-series of the state values so as to paresent the motion of the object placed on a horizontal plane.
- the graphic device 14 operates if the lowest one of the articular segments deviates from the horizontal plane during the motion of the object for adjusting the state value of the lowest articular segment such that the lowest articular segment can stay on the horizontal plane. Further, the graphic device 14 operates if the lowest one of the articular segments staying on the horizontal plane drifts in a horizontal direction for adjusting the state value of the lowest articular segment such that the lowest articular segment can be fixed in the horizontal direction.
- the present invention covers the machine readable medium such as the floppy disk 1 f for use in the computer graphics apparatus having a CPU for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to state values thereof.
- the medium contains program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of operating a plurality of control units so that each of the control units time-sequentially inputs a control amount, providing assignment information which determines correspondence between the control units and the articular elements of the computer graphics model, providing a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information, and converting the control amount based on the functional parameter into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model.
- the machine readable medium may contain program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of defining in a memory a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element, selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks, and providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks.
- the machine readable medium may contain program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of inputting the time-series data in correspondence with each of the segments, manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane, and adjusting the time-series data of the lowest one of the segments if the lowest segment deviates from the horizontal plane so that the lowest segment can stay on the horizontal plane during the motion of the computer graphics model.
- the CG apparatus comprises assignment information specifying means for specifying information for assigning the control units of the input means to the joints or articular elements of a CG model, and functional parameter specifying means for specifying functional parameters indicative of a relationship between the control variable or control amount of each control unit and the state value of each articular element.
- assignment information specifying means for specifying information for assigning the control units of the input means to the joints or articular elements of a CG model
- functional parameter specifying means for specifying functional parameters indicative of a relationship between the control variable or control amount of each control unit and the state value of each articular element.
- Altering these functional parameters in a variety of ways can provide the CG model with more diversified motions than those conventionally practiced. This allows the CG apparatus according to the present invention to impart as complex motions to the CG model as those imparted by the motion capture CG apparatus with far simpler constitution than the motion capture CG apparatus, thereby significantly extending a range of CG model.
- a plurality of independent record tracks corresponding to a plurality of articular elements of the CG model are set to memory means.
- Information for enabling or disabling the recording is set to each of the record tracks.
- the time-series data is recorded onto only the enabled record track. If there is a large number of recording portions to be controlled, some of the portions can be additionally recorded sequentially, thereby controlling many articular elements with a small control variable. Therefore, according to the invention, complex motions can be imparted to a CG model through the simplified inputting means.
- the reference position of a CG model is corrected in the vertical direction so that the CG model's portion located at the bottom in the vertical direction of a virtual space is always in contact with the reference horizontal plane in the virtual space. Therefore, an unnatural phenomenon such as departing of the tip of the axial foot of the CG model from floor or sliding of the axial foot on the floor for example does not occur. Besides, the above-mentioned processing is very simple, and it is unnecessary to specify the position of the foot tip beforehand. Consequently, the CG model can be controlled freely in real-time.
Abstract
Description
- 1. Field of the Invention
- The present invention generally relates to a graphic control system for controlling motion of a computer graphics (CG) model that has a skeleton structure generated by computer graphics and that is adapted to be operated for presenting various postures of the model.
- 2. Description of Related Art
- In order to impart a sequence of motions to a CG model or an object having a skeleton structure of a human body or an animal body for example, it is required to specify a change in an articular angle and a positional shift of joints or articular segments of the skeleton structure. Conventionally, this specification has been performed by use of a motion capture device. This device controls a CG model based on data obtained from sensors attached to a source moving body to capture motions thereof. The method used by this device is advantageous in that a multiple of control points or joints can be handled by use of a multiple of sensors. In addition, if sensors can be arranged in configuration generally simulating an object to be displayed, appreciably realistic motions can be imparted to the object of a human body for example. However, this motion capture device has drawbacks in that the device itself is very large in scale and lots of operations are required for controlling a CG model.
- In consideration of the above-mentioned drawbacks, a system has been developed in which an input glove is used for a simplified input device to edit an animation in real-time by three-dimensional CG (hereafter referred to as 3D CG). The input glove is worn by a hand of the operator to detect movements of fingers, by which a computer is controlled. For example, such a system is disclosed in “Development and Operation of a Real-time Character Animation System,” Ogura, NICOGRAPH Collected Papers, 1993, pp. 131-139. In the disclosed system, control units arranged on joints of each finger of the input glove are assigned to joints or articular elements of a 3D CG object so that the motion thereof is controlled as if manipulating a puppet.
- However, the above-mentioned real-time character animation system is intended to move a CG model in real-time while superimposing the same on a video taken from life. In this system, only simple operation is conducted by the input glove. The conventional input glove is not designed to handle complicated motions of CG model as with motion capture. Therefore, CG model motions are confined to simple ones, thereby narrowing an application field. Another problem is that no consideration is taken into editing of recorded motions of CG model.
- As described before, in order to impart a sequence of motions to a CG model having a skeleton structure of a human body or an animal for example, it is required to specify a change in the angle and position of joints contained in the skeleton structure. The location of the CG model is determined by three-dimensional coordinates of a parent or basic joint. Normally, the parent joint is often set to the waist or the pelvis of the CG model. Therefore, if both knees of the CG model are bent with no preparatory process performed, the CG mode floats in the air, which is an unnatural state or posture. To prevent this problem from occurring, the foot position of the CG model is specified beforehand on the reference plane (namely, the floor) of a virtual space, and motions of the feet are determined by functional approximation or the like, based on which the position of the CG model is determined by use of a method such as inverse cinema. However, because the above-mentioned method requires a high computational complexity, it is difficult to control a CG model real-time. The above-mentioned method also needs to determine the foot position beforehand, thereby making it difficult to freely move a CG model real-time by use of an external controller for example.
- It is therefore an object of the present invention to provide a CG (Computer Graphics) model motion control system capable of imparting complex motions to a CG model by use of an input device of simplified constitution having a plurality of control units.
- It is another object of the present invention to provide a CG model motion recording system capable of imparting complex motions to a CG model by use of an input device having simplified constitution and facilitating edit operations.
- It is still another object of the present invention to provide a CG model position adjusting method capable of freely moving a CG model by use of an external controller for example while preventing CG model positions from becoming unnatural.
- In a first aspect, the inventive apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to state values thereof. In the apparatus, input means has a plurality of control units, each of which is operable for time-sequentially inputting a control amount. Assignment means provides assignment information which determines correspondence between the control units of the input means and the articular elements of the computer graphics model. Parameter means provides a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information. Converter means operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model.
- Preferably, the assignment means includes means for providing assignment information which determines correspondence between a single of the control units and a multiple of the articular elements so that the single of the control units can concurrently manipulate the multiple of the articular elements. Otherwise, the assignment means includes means for providing assignment information which determines correspondence between a multiple of the control units and a single of the articular elements so that the multiple of the control units can cooperate with one another to manipulate the single of the articular elements.
- Specifically, the input means comprises a glove worn by a hand of an operator and having a plurality of control units disposed in contact with joints of fingers of the hand of the operator so that each control unit can detect an angular movement of each joint for inputting the control amount in terms of the detected angular movement.
- Preferably, the parameter means comprises means for providing a functional parameter which determines a magnification rate of the control amount to compute the state value. Further, the parameter means comprises means for providing a functional parameter which determines an offset of the state value relative to the control amount. Moreover, the parameter means comprises means for providing a functional parameter which determines a polarity of the state value relative to the control amount. Additionally, the parameter means comprises means for providing a time-series of the functional parameter in parallel to the time-series of the state value.
- In a second aspect, the inventive apparatus is constructed for recording a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to time-series data. In the apparatus, memory means has a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element. Select means is provided for selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks. Edit means operates for providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks.
- Preferably, the inventive apparatus further comprises graphic means for reading the time-series data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular elements to thereby visually reproduce the motion of the computer graphics model while allowing the edit means to write the time-series data into the selected record track. In such a case, the edit means includes means for rewriting the time-series data of the selected record track while monitoring the motion of the computer graphics model to thereby enable real time correction in the manipulation of the articular element corresponding to the selected record track. Further, the edit means includes means operative when newly rewriting a part of the time-series data already written in the selected record track for interpolating a discontinuity between the newly rewritten part and the already written part so as to secure continuity of the time-series data.
- In a third aspect, the inventive apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of segments which are manipulatable according to time-series data. In the apparatus, input means operates for inputting the time-series data in correspondence with each of the segments. Graphic means is provided for manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane. Adjustment means operates if the lowest one of the segments deviates from the horizontal plane during the motion of the computer graphics model for adjusting the time-series data of the lowest segment such that the lowest segment can stay on the horizontal plane. The adjustment means further comprises means operative if the lowest one of the segments staying on the horizontal plane drifts in a horizontal direction for adjusting the time-series data of the lowest segment such that the lowest segment can be fixed in the horizontal direction.
- In carrying out the invention and according to the first aspect thereof, the CG model motion control apparatus comprises the assignment information specifying means for specifying information for assigning the control units of the input means to the articular elements (for example, joints) of a CG model, and the functional parameter specifying means for specifying functional parameters (for example, magnification rate, bending direction, and offset) indicative of a relationship between the control variable or amount inputted by each control unit and the state value (for example, joint angle or joint position) of each articular element. Altering these functional parameters in a variety of ways can provide a CG model with more diversified motions than those conventionally practiced. This allows the apparatus according to the present invention to impart as complex motions to a CG model as those imparted by the motion capture apparatus with far simpler constitution than the motion capture apparatus, thereby significantly extending a range of CG model control.
- For example, assignment of control units to articular elements or joints can be conducted on one-to-many or single-to-multiple basis to realize a motion such as simultaneously bending a plurality of joints of a foot or an arm of a CG model only by one control unit. Further, assignment of control units to a joint on many-to-one basis can provide a complex motion such as bending the head of the model forward and backward by use of a plurality of control units that provide only monotonous increment. For the input means, a fader or the like may be used. If an input glove as described before is used, a joint angle magnification rate, a bending direction, an offset value, and so on can be specified as functional parameters relative to a bending angle of each of the input glove fingers. Specifying the magnification rate allows a CG model to be moved in a large scale or a small scale by the operation of the control unit. Specifying the bending direction allows a plurality of control units to move an articular element of a CG model in opposite directions. Specifying the offset value can initialize the state value of the joint angle such that the input glove may be placed in a rest state while the CG model is held in a default attitude or posture. Recording the above-mentioned functional parameters in parallel to the time-series of the above-mentioned control variables or the state values in a time-sequence manner can correct operation of the CG model only by altering the corresponding functional parameter later.
- In carrying out the invention and according to the second aspect thereof, a plurality of independent record tracks corresponding to articular elements of the model are set to memory means. Information for enabling or disabling the recording is set to each of the record tracks. Based on the inputted control variable, the time-series data is recorded onto only the enabled record track. If there is a large number of recording portions to be controlled, some of the portions can be additionally recorded sequentially, thereby controlling many articular elements with a small control variable. Therefore, according to the invention, complex motions can be imparted to a CG model through the simplified inputting means. In addition, based on the already stored time-series data, a CG model can be drawn real-time by graphic means and, concurrently with this CG model drawing, time-series data can be additionally recorded onto the enabled record track. Alternatively, the time-series data already recorded on the enabled record track can be rewritten real-time. This allows the user to add more minute motions and to modify partial motions while monitoring the already recorded CG model motions, thus facilitating recording and editing operations. Further, select and edit means can be imparted with capability of spanning by interpolation the discontinued portions before and after a boundary at which the time-series data has been rewritten, allowing the user to perform editing operation without impairing smooth motions of a CG model.
- In carrying out the invention and according to the third aspect thereof, the reference position of a CG model is corrected in the vertical direction so that the CG model's lowest portion located at the bottom in the vertical direction of a virtual space is always in contact with the reference horizontal plane in the virtual space. Therefore, it is possible to avoid an unnatural phenomenon such as departing of the tip of the axial foot of the CG model from floor. Besides, the correction processing of the present invention only moves the reference position (for example, center of gravity) of the CG model in vertical direction or vertical and horizontal directions, thereby making the processing simple and therefore enabling real-time processing. In addition, it is not required to specify a foot tip position and so on beforehand, hence a CG model can be freely controlled real-time by use of an external controller or the like. Further, according to this third aspect, the reference position of the CG model is corrected in the horizontal direction so that the CG model's portion located at the lowest position in the vertical direction in the virtual space is kept in contact with the reference plane and is not movable along the reference horizontal plane. This prevents an unnatural phenomenon such as horizontal sliding of the axial foot on the floor from occurring. In this case too, the correction processing simply moves the reference position of the CG model in the horizontal direction, so that the processing is very simple and it is unnecessary to specify the position of the foot tip beforehand. Consequently, the CG model can be controlled freely real-time.
- These and other objects of the invention will be seen by reference to the description, taken in connection with the accompanying drawings, in which:
- FIG. 1 is a schematic diagram illustrating constitution of a CG apparatus practiced as one preferred embodiment of the invention;
- FIG. 2 is a diagram illustrating one example of a CG model to be presented by the CG apparatus shown in FIG. 1;
- FIG. 3 (a) and FIG. 3 (b) are diagrams illustrating formats of model data for defining a shape of the CG model shown in FIG. 2;
- FIG. 4 is a diagram illustrating motions of the CG model shown in FIG. 2;
- FIG. 5 is a diagram illustrating contents of time-series data for defining motions of the CG model shown in FIG. 2;
- FIG. 6 is a block diagram illustrating constitution of a computer used in the CG apparatus shown in FIG. 1;
- FIG. 7 is a diagram illustrating assignment of control units to articular elements of the CG model shown in FIG. 2 and associated functional parameters;
- FIG. 8 is a diagram illustrating a dialog box for setting the assignment information and the functional parameters used in the CG apparatus shown in FIG. 1;
- FIG. 9 (a), FIG. 9 (b) and FIG. 9 (c) are diagrams illustrating operations for recording and editing time-series data used in the CG apparatus shown in FIG. 1;
- FIG. 10 (a) and FIG. 10 (b) are diagrams illustrating process for correcting the center of gravity of the model treated in the CG apparatus shown in FIG. 1; and
- FIG. 11 is a flowchart indicative of the correction process shown in FIGS.10 (a) and 10 (b).
- This invention will be described in further detail by way of example with reference to the accompanying drawings.
- Now, referring to FIG. 1, there is shown constitution of a CG apparatus practiced as one preferred embodiment of the invention. As shown in the figure, this CG apparatus comprises a
computer 1 for executing graphic process for generating and editing a three-dimensional (3D) computer graphics (CG) model, aninput glove 2 serving as an input device for specifying a sequence of motions of the CG model, and aninterface 3 for providing interface between theinput glove 2 and thecomputer 1. Thecomputer 1 is composed of a computermain frame 1 a for executing a sequence of processing operations for imparting motions to the CG model based on a control amount or control variable received from theinput glove 2, akeyboard 1 b and amouse 1 c for specifying assignment information and functional parameters necessary for controlling CG model motions, and adisplay device 1 d for displaying the generated CG model. Further, the computermain frame 1 a contains therein a CPU and a disk drive for receiving a machine readable medium such as afloppy disk 1 f. - An example of a 3D CG model generated by the above-mentioned CG apparatus is shown in FIG. 2. In this example, a
CG model 21 simulates a human body having a skeleton structure with a plurality of segments orparts 22 such as face, body, and arms connected to each other byjoints 23 serving as articular elements indicated by nodes. ThisCG model 21 is presented in a three-dimensional virtual space according to source data or model data. - The model data is composed of shape data and link data as shown in FIGS.3 (a) and 3 (b). The shape data is a file defining parts such as face and body as shown in FIG. 3 (a). To be more specific, this file defines, for each of polygons constituting the respective parts, an apex sequence, plane list, surface texture, and so on. The link data is a file defining linkage between the parts as shown in FIG. 3 (b). For example, in case of the human body model, the skeleton structure is defined such that the body is a parent part and the face, the right upper arm, the left upper arm, the waist, and so on linked to the body are child parts, and the right lower arm linked to the right upper arm is a grandchild part. At the same time, joints such as the neck, the right shoulder, the left shoulder, and so on linking these parts are defined. For each joint, a three-dimensional angle is defined. The joint angle is defined as a direction of a low-order part with reference to a local coordinate system of a high-order part as shown in FIG. 2. By defining such a link structure, the position of each part can be obtained only by specifying the three-dimensional position of the parent body in the virtual space.
- As shown in FIG. 4, the joint angle of each joint is altered as a state value time-sequentially so as to impart a sequence of motions to the CG model. Data defining such a sequence of motions is herein referred to as time-series data.
- The time-series data is a file defining an angle of each joint along a time axis as shown in FIG. 5. This file also defines a three-dimensional coordinate value of the parent part at each time. Data of a sequence of joint angles at each time is referred to as frame data marked by a dash block. For the state value, a position in the local coordinate system of each joint may also be used.
- In order to generate the above-mentioned time-series data, the present CG apparatus has constitution as shown in FIG. 6. The
input glove 2 has a plurality ofexternal control units external control units 2 0 through 2 n−1 detect bending angles of fingers of the operator by a change in electrical resistance or light quantity if an optical fiber is used as a sensor, and output signals corresponding to detected amounts as control variables C0, C1, . . . , Cn−1. These control variables C0 through Cn−1 are inputted in the computermain frame 1 a through theinterface 3. - In the computer
main frame 1 a, an A/D converting device 11 converts the received analog control variables C0 through Cn−1 into a digital form suitable for 3D CG model data. Anassignment device 12 assigns each of the control variables C0 through Cn−1 to the joints respectively based on the assignment information for specifying the correspondence between theexternal control units 2 0 through 2 n−1 and the joints of the CG model. Afunction device 13 converts the control variable assigned to each joint based on functional parameters such as magnification rate, change direction, and offset value of each joint so as to compute the state value or the joint angle of each joint. Based on the obtained joint angle, agraphic device 14 draws the CG model in avideo memory 15. The model data for defining the CG model is read from afile storage device 16. - To record a motion of the CG model, the control variables are stored along with the assignment information and the functional parameters such as bending direction, magnification rate, and offset value into a
buffer 18 as the time-series data under the control of a select and editdevice 17. To redraw the CG model according to the time-series data, the control variables stored in thebuffer 18 are converted by thefunction device 13 into the angle of each joint. The data stored in thebuffer 18 can be edited appropriately by the select and editdevice 17. In this case, the edited data is also stored in thebuffer 18. These pieces of stored time-series data are appropriately transferred to thefile storage device 16 as the time-series data. - FIG. 7 shows an example of assignment of the
external control units 2 0 through 2 n−1 to the joints of the CG model representative of a human body, and an example of functional parameters corresponding to the joints of the CG model. Theexternal control units external control unit 2 2 is assigned to the right elbow joint on one-to-one basis. Theexternal control unit 2 3 is assigned to the right loin joint, the right knee joint, and the right ankle on one-to-many basis. By appropriately setting magnification rates or gains R30, R31, and R32 and offset values A30, A31, and A32, motion of the entire right leg such as folding and unfolding is controlled by one finger. - The above-mentioned assignment information and the functional parameters are displayed on the
display device 1 d. For example, these assignment information and functional parameters can be set by use of a joint assignment dialog box shown in FIG. 8. This dialog box has windows for inputting the name of file for storing the assignment information and functional parameters, information indicative of enabling/disabling of recording, the joints of theinput device 2, the corresponding joints of the model, magnification rates in X, Y, and Z directions, and the offset values in X, Y, and Z directions. - The
function device 13 computes the joint angles as shown below from the assignment information and the functional parameters which are set as described above. To be more specific, let revolving angles around the X-axis of each joint of the CG model be X0, X1, . . . , Xm−1, the magnification rates be R00, R01, . . . , Rm−1n−1, the offset values be A0, A1, . . . , Am−1, and the control variables be C0, C1, . . . , Cn−1, then the joint angles around the X-axis of the joints can be obtained as follows: - The joint angles around the Y-axis and the Z-axis can be obtained in similar manner. In the conventional CG apparatus in which the relationship between control units and joints is only one-to-one, only diagonal elements of R exist, and the matrix in which other values including offsets A are all zeros is used. In the CG apparatus according to the present invention, if the column elements of R has a plurality of values other than zero, the control unit and the joints correspond to each other on a one-to-many basis; if the row elements of R has a plurality of values other than zero, the control elements and the joint correspond to each other on many-to-one basis.
- When the finger of the operator for operating the
input glove 2 is placed in an unnatural state away from a rest state, the CG model should not be designed in a default state or rest state in order to prevent fatigue of the operator. Therefore, the offset value A is adjusted such that the CG model gets in default state by the control variables C0 through Cn−1 inputted from theexternal control units 2 0 through 2 n−1 when the finger of the operator is at an angle at which the finger is most relaxed. The functional parameters can also limit the maximum and minimum values of joint angle. In addition, for the input means containing a plurality of control units, a fader for example is also available in place of the input glove. - As described above, according to the first aspect of the invention, the CG apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of joints or articular elements manipulatable according to state values thereof. In the CG apparatus, input means in the form of the
input glove 2 has a plurality of control units, each of which is operable for time-sequentially inputting a control variable or control amount. Assignment means in the form of theassignment device 12 provides assignment information which determines correspondence between the control units of the input means and the articular elements of the computer graphics model. Parameter means in the form of thefunction device 13 provides a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information. Converter means also in the form of thefunction device 13 operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model. - Preferably, the assignment means includes means for providing assignment information which determines correspondence between a single of the control units and a multiple of the articular elements so that the single of the control units can concurrently manipulate the multiple of the articular elements. Otherwise, the assignment means includes means for providing assignment information which determines correspondence between a multiple of the control units and a single of the articular elements so that the multiple of the control units can cooperate with one another to manipulate the single of the articular elements.
- Specifically, the input means comprises the
input glove 2 worn by a hand of an operator and having a plurality of control units disposed in contact with joints of fingers of the hand of the operator so that each control unit can detect an angular movement of each joint for inputting the control amount in terms of the detected angular movement. - Preferably, the parameter means comprises means for providing a functional parameter which determines a magnification rate of the control amount to compute the state value. Further, the parameter means comprises means for providing a functional parameter which determines an offset of the state value relative to the control amount. Moreover, the parameter means comprises means for providing a functional parameter which determines a polarity of the state value relative to the control amount. Additionally, the parameter means comprises means for providing a time-series of the functional parameter in parallel to the time-series of the state value.
- FIGS.9 (a), 9 (b), and 9 (c) are diagrams illustrating procedure of editing the time-series data generated by the above-mentioned operations. In the present CG apparatus, the data of each joint of the CG model is recorded in the
buffer 18 at each record track. Recording of the data can be enabled or disabled for each track. The information of this enabling or disabling can be specified through a check box provided in the dialog box shown in FIG. 8 for example, and the specification is registered in the select and editdevice 17. The select and editdevice 17 records the data only in the enabled record track based on the registered information of enabling or disabling. For example, in the example shown in FIG. 9 (a), only the tracks assigned to the left shoulder, left crotch, right crotch, left knee, and left knee are enabled for recording of the data, while the other tracks are disabled for recording. This operation is suitable for recording a motion in which the CG model raises its left shoulder while walking. - If an operation error causes an unnecessary motion before the motion of raising the left shoulder is conducted, only the track assigned for recording the joint angle of the left shoulder is made enabled for correction as shown in FIG. 9 (b). Then the erroneous data is erased from the selectively enabled track while reproducing the CG model. As a result of the erasure, discontinuation occurs between the erased data and the reserved data before and after the erased data. Thus, the select and edit
device 17 performs interpolation on the discontinuous portions. Therefore, only the portion in which the left shoulder erroneously moves can be corrected while maintaining continuity of the motion of the CG model. - If it is desired to add motions of the neck and the right elbow for example to the motions recorded so far, only the tracks corresponding to the joints of the neck and the right elbow are enabled for recording the data as shown in FIG. 9 (c), thereby additionally recording the data of these parts or segments.
- According to the above-mentioned recording and editing method, minor motions can be added to major motion, and the recorded time-series data can be partially deleted or edited, thereby performing a highly efficient animation generating and editing operation. Further, the joints of a model can be divided into several groups to sequentially record the joint motions for each group. This can impart more joint motions with a limited number of control units.
- As described above, according to the second aspect of the invention, the CG apparatus is constructed for recording a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to time-series data. In the CG apparatus, memory means in the form of the
buffer 18 has a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element. Select means is provided in the form of the select and editdevice 17 for selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks. Edit means in the select and editdevice 17 operates for providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks. - Preferably, the inventive CG apparatus further comprises graphic means in the form of the
graphic device 14 for reading the time-series data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular elements to thereby visually reproduce the motion of the computer graphics model while allowing the edit means to write the time-series data into the selected record track. In such a case, the edit means includes means for rewriting the time-series data of the selected record data while monitoring the motion of the computer graphics model to thereby enable real time correction in the manipulation of the articular element corresponding to the selected record track. Further, the edit means includes means operative when newly rewriting a part of the time-series data already written in the selected record track for interpolating a discontinuity between the newly rewritten part and the already written part so as to secure continuity of the time-series data. - In the CG model having a skeleton structure as described above, when the coordinate value of the parent part and the joint angle or position are given, the positions or attitudes of all parts can be obtained. The coordinate value of the parent part is normally set to the position of the waist or pelvis. For example, when the knees are bent, if no processing is performed on the coordinate value of the parent part, an unnatural motion in which the feet float in the air occurs. To prevent this from occurring, the select and edit
device 17 determines the foot of which distance YL or YR between foot and floor is smaller than that of the other to be the axial foot as shown in FIG. 10 (a), thereby adjusting the position of the model in the vertical direction such that the tip of the axial foot is always in contact with floor. If the axial foot in contact with floor moves horizontally as shown in FIG. 10 (b), the position of the model in the horizontal direction is adjusted such that the axial foot will not move. - FIG. 11 is a flowchart indicative of the processing for correcting the center of gravity of the model by the select and edit
device 17. First, the coordinate value of the tip of the foot is obtained (step S1). The Y coordinate (height) of the right foot is compared with the Y coordinate of the left foot (step S2). If the Y coordinate of the right foot is smaller than the Y coordinate of the left foot, the right foot is determined to be the axial foot, thereby correcting the coordinate of the center of gravity as shown in the following equations (step S3): - Y coordinate of the center of gravity=Y coordinate of the center of gravity−Y coordinate of right foot
- X coordinate of the center of gravity=X coordinate of the center of gravity−(X coordinate of right foot−stored X coordinate of right foot)
- Z coordinate of the center of gravity=Z coordinate of the center of gravity−(Z coordinate of right foot−stored Z coordinate of right foot)
- As shown in the above-mentioned equations, if the axial foot is not in contact with floor, the Y coordinate of the center of gravity moves by Y-direction distance in which the axial foot touches floor. As for the X and Z directions, the position of the center of gravity moves by a change in the X and Z coordinates of the axial foot between the current frame and the preceding frame. Consequently, the center of gravity moves with the axial foot itself fixed to one point. When the axial foot is in contact with floor, the Y coordinate of the axial foot is zero, so that the Y coordinate of the center of gravity remains unchanged. In this case, however, it is possible that the axial foot moves horizontally, so that the X and Z coordinates of the center of gravity are obtained. If there is no change in the X and Z coordinates of the axial foot between the current frame and the preceding frame, no horizontal movement occurs, and therefore the X and Z coordinates of the center of gravity remain unchanged.
- Likewise, if the Y coordinate of the right foot is larger than the Y coordinate of the left foot, the left foot is determined to be the axial foot and the coordinates of the center of gravity are corrected as shown in the following equations (step S4):
- Y coordinate of the center of gravity=Y coordinate of the center of gravity−Y coordinate of left foot
- X coordinate of the center of gravity=X coordinate of the center of gravity−(X coordinate of left foot−stored X coordinate of left foot)
- Z coordinate of the center of gravity=Z coordinate of the center of gravity−(Z coordinate of left foot−stored Z coordinate of left foot)
- Then, the X and Z coordinates of the left and right feet are stored for a next frame computation, upon which the processing comes to an end (step S5).
- Starting the above-mentioned processing every time the control variable is sampled can correct the coordinate values real-time, thereby generating the time-series data while checking the corrected CG model motions. Also, the above-mentioned processing may be performed on the stored data to perform the correction operation on a batch basis. Especially, since this processing can be performed simply by moving the coordinates of the center of gravity for each frame, this processing is suitable for real-time processing, thereby realizing agreeable control of CG model motions. It should be noted that the above-mentioned sequence of CG model motion control operation can be implemented by a CG model motion control program for example. This program is provided by means of the machine readable medium such as the
floppy disk 1 f shown in FIG. 1. - As described above, according to the third aspect of the invention, the CG apparatus is constructed for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of segments which are manipulatable according to time-series data. In the CG apparatus, input means such as the
input glove 2 operates for inputting the time-series data in correspondence with each of the segments. Graphic means is provided in the form of thegraphic device 14 for manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane. Adjustment means in thegraphic device 14 operates if the lowest one of the segments deviates from the horizontal plane during the motion of the computer graphics model for adjusting the time-series data of the lowest segment such that the lowest segment can stay on the horizontal plane. The adjustment means further comprises means operative if the lowest one of the segments staying on the horizontal plane drifts in a horizontal direction for adjusting the time-series data of the lowest segment such that the lowest segment can be fixed in the horizontal direction. - Lastly, referring back to FIG. 6, the inventive computer graphics apparatus is constructed for presenting on the
display device 1 d a motion of an object defined by a plurality of articular segments manipulatable according to state values thereof. In the computer graphics apparatus, theinput device 2 has a plurality ofcontrol units assignment device 12 provides assignment information which defines correspondence between the control units of theinput device 2 and the articular segments of the object. Thefunction device 13 provides a functional parameter which defines a relation between the control amount of each control unit and the state value of each articular segment when the correspondence is defined between each control unit and each articular segment according to the assignment information. Thefunction device 13 further operates based on the functional parameter for converting the control amount time-sequentially inputted by each control unit into a time-series of the state value of each articular segment. Thegraphic device 14 graphically manipulates each articular segment according to the time-series of the state value to present the motion of the object on thedisplay device 1 d. The inventive computer graphics apparatus further utilizes the memory device or thebuffer 18 having a plurality of record tracks corresponding to the plurality of the articular segments, each record track being separate from other record track and being writeable with data equivalent to the time-series of the state value of the corresponding articular segment. The select and editdevice 17 selects at least one record track to allow writing of the data into the selected record track while inhibiting writing of the data into the remaining record tracks, and records the data in the memory device so that the data can be exclusively written into the selected record track without disturbing the remaining record tracks. In such a case, thegraphic device 14 reads the data concurrently from the plurality of the record tracks so as to manipulate the plurality of the articular segments to thereby visually reproduce the motion of the object while allowing the select and editdevice 17 to write the data into the selected record track. The select and editdevice 17 rewrites the data of the selected record track while monitoring the motion of the object, thereby enabling real time correction in the manipulation of the articular segment corresponding to the selected record track. Thegraphic device 14 manipulates the plurality of the articular segments according to the time-series of the state values so as to paresent the motion of the object placed on a horizontal plane. Thegraphic device 14 operates if the lowest one of the articular segments deviates from the horizontal plane during the motion of the object for adjusting the state value of the lowest articular segment such that the lowest articular segment can stay on the horizontal plane. Further, thegraphic device 14 operates if the lowest one of the articular segments staying on the horizontal plane drifts in a horizontal direction for adjusting the state value of the lowest articular segment such that the lowest articular segment can be fixed in the horizontal direction. - The present invention covers the machine readable medium such as the
floppy disk 1 f for use in the computer graphics apparatus having a CPU for controlling a motion of a computer graphics model having a skeleton structure constituted by a plurality of articular elements manipulatable according to state values thereof. The medium contains program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of operating a plurality of control units so that each of the control units time-sequentially inputs a control amount, providing assignment information which determines correspondence between the control units and the articular elements of the computer graphics model, providing a functional parameter which determines a relation between the control amount of each control unit and the state value of each articular element when the correspondence is determined between each control unit and each articular element according to the assignment information, and converting the control amount based on the functional parameter into a time-series of the state value of each articular element so that each articular element can be manipulated according to the time-series of the state value to effectuate the motion of the computer graphics model. The machine readable medium may contain program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of defining in a memory a plurality of record tracks corresponding to the plurality of the articular elements, each record track being separate from other record track and being writeable with the time-series data of the corresponding articular element, selecting at least one record track to allow writing of the time-series data into the selected record track while inhibiting writing of the time-series data into the remaining record tracks, and providing the time-series data so that the provided time-series data can be exclusively written into the selected record track without disturbing the remaining record tracks. The machine readable medium may contain program instructions executable by the CPU for causing the computer graphics apparatus to perform the method comprising the steps of inputting the time-series data in correspondence with each of the segments, manipulating the plurality of the segments according to the inputted time-series data so as to visually reproduce the motion of the computer graphics model on a horizontal plane, and adjusting the time-series data of the lowest one of the segments if the lowest segment deviates from the horizontal plane so that the lowest segment can stay on the horizontal plane during the motion of the computer graphics model. - As described and according to the first aspect of the invention, the CG apparatus comprises assignment information specifying means for specifying information for assigning the control units of the input means to the joints or articular elements of a CG model, and functional parameter specifying means for specifying functional parameters indicative of a relationship between the control variable or control amount of each control unit and the state value of each articular element. Altering these functional parameters in a variety of ways can provide the CG model with more diversified motions than those conventionally practiced. This allows the CG apparatus according to the present invention to impart as complex motions to the CG model as those imparted by the motion capture CG apparatus with far simpler constitution than the motion capture CG apparatus, thereby significantly extending a range of CG model.
- As described and according to the second aspect of the invention, a plurality of independent record tracks corresponding to a plurality of articular elements of the CG model are set to memory means. Information for enabling or disabling the recording is set to each of the record tracks. Based on the inputted control variable, the time-series data is recorded onto only the enabled record track. If there is a large number of recording portions to be controlled, some of the portions can be additionally recorded sequentially, thereby controlling many articular elements with a small control variable. Therefore, according to the invention, complex motions can be imparted to a CG model through the simplified inputting means.
- As described and according to the third aspect of the invention, the reference position of a CG model is corrected in the vertical direction so that the CG model's portion located at the bottom in the vertical direction of a virtual space is always in contact with the reference horizontal plane in the virtual space. Therefore, an unnatural phenomenon such as departing of the tip of the axial foot of the CG model from floor or sliding of the axial foot on the floor for example does not occur. Besides, the above-mentioned processing is very simple, and it is unnecessary to specify the position of the foot tip beforehand. Consequently, the CG model can be controlled freely in real-time.
- While the preferred embodiment of the present invention has been described using specific terms, such description is for illustrative purposes only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the appended claims.
Claims (39)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-112786 | 1997-04-30 | ||
JP9112786A JPH10302085A (en) | 1997-04-30 | 1997-04-30 | Operation recording system for cg model |
JP9-112787 | 1997-04-30 | ||
JP9-112785 | 1997-04-30 | ||
JP9112787A JPH10302084A (en) | 1997-04-30 | 1997-04-30 | Position correction method for cg model |
JP9112785A JPH10302083A (en) | 1997-04-30 | 1997-04-30 | Operation control system for cg model |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010003449A1 true US20010003449A1 (en) | 2001-06-14 |
US6307563B2 US6307563B2 (en) | 2001-10-23 |
Family
ID=27312334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/069,648 Expired - Fee Related US6307563B2 (en) | 1997-04-30 | 1998-04-29 | System for controlling and editing motion of computer graphics model |
Country Status (1)
Country | Link |
---|---|
US (1) | US6307563B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020130862A1 (en) * | 2001-03-16 | 2002-09-19 | Ji Hyung Lee | System and method for modeling virtual object in virtual reality environment |
EP1257896A1 (en) * | 2000-02-17 | 2002-11-20 | The Jim Henson Company | Live performance control of computer graphic characters |
US20030122949A1 (en) * | 2001-11-06 | 2003-07-03 | Koichi Kanematsu | Picture display controller, moving-picture information transmission/reception system, picture display controlling method, moving-picture information transmitting/receiving method, and computer program |
US20060029913A1 (en) * | 2004-08-06 | 2006-02-09 | John Alfieri | Alphabet based choreography method and system |
US20070103435A1 (en) * | 2001-02-15 | 2007-05-10 | Toshiki Kawasome | Input system, program, and recording medium |
US20110199291A1 (en) * | 2010-02-16 | 2011-08-18 | Microsoft Corporation | Gesture detection based on joint skipping |
JP2012133536A (en) * | 2010-12-21 | 2012-07-12 | Mitsubishi Precision Co Ltd | Method of correcting action of object of three-dimensional computer graphics, apparatus employing such method and program for computer to execute such method |
US20180239544A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Inhibiting tracks within a volume of a storage controller |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6522347B1 (en) * | 2000-01-18 | 2003-02-18 | Seiko Epson Corporation | Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus |
JP2001325611A (en) * | 2000-05-15 | 2001-11-22 | Sony Corp | Device and method for processing three-dimensional model and program providing medium |
JP4011327B2 (en) * | 2000-11-15 | 2007-11-21 | 株式会社レクサー・リサーチ | Display object providing apparatus, display object providing method, and display object providing program |
US8013852B2 (en) * | 2002-08-02 | 2011-09-06 | Honda Giken Kogyo Kabushiki Kaisha | Anthropometry-based skeleton fitting |
EP1406215A1 (en) * | 2002-10-02 | 2004-04-07 | Université Libre de Bruxelles | Method for the modeling of skeletal kinematics |
JP2004199496A (en) * | 2002-12-19 | 2004-07-15 | Sony Corp | Information processor and method, and program |
US8170380B1 (en) * | 2008-05-30 | 2012-05-01 | Adobe Systems Incorporated | Method and apparatus for importing, exporting and determining an initial state for files having multiple layers |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005589A (en) * | 1990-07-12 | 1999-12-21 | Hitachi, Ltd. | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller |
US5926186A (en) * | 1992-09-10 | 1999-07-20 | Fujitsu Limited | Graphic editing apparatus and method |
US5561745A (en) * | 1992-10-16 | 1996-10-01 | Evans & Sutherland Computer Corp. | Computer graphics for animation by time-sequenced textures |
US5659792A (en) * | 1993-01-15 | 1997-08-19 | Canon Information Systems Research Australia Pty Ltd. | Storyboard system for the simultaneous timing of multiple independent video animation clips |
US5712964A (en) * | 1993-09-29 | 1998-01-27 | Fujitsu Limited | Computer graphics data display device and method based on a high-speed generation of a changed image |
US5594856A (en) * | 1994-08-25 | 1997-01-14 | Girard; Michael | Computer user interface for step-driven character animation |
EP0712097A2 (en) * | 1994-11-10 | 1996-05-15 | Matsushita Electric Industrial Co., Ltd. | Method and system for manipulating motion units for computer articulated figure animation |
US5774591A (en) * | 1995-12-15 | 1998-06-30 | Xerox Corporation | Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images |
US5909218A (en) * | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US5982389A (en) * | 1996-06-17 | 1999-11-09 | Microsoft Corporation | Generating optimized motion transitions for computer animated objects |
US5852450A (en) * | 1996-07-11 | 1998-12-22 | Lamb & Company, Inc. | Method and apparatus for processing captured motion data |
-
1998
- 1998-04-29 US US09/069,648 patent/US6307563B2/en not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1257896B1 (en) * | 2000-02-17 | 2015-02-25 | The Jim Henson Company | Live performance control of computer graphic characters |
EP1257896A1 (en) * | 2000-02-17 | 2002-11-20 | The Jim Henson Company | Live performance control of computer graphic characters |
US20070103435A1 (en) * | 2001-02-15 | 2007-05-10 | Toshiki Kawasome | Input system, program, and recording medium |
US7777720B2 (en) * | 2001-02-15 | 2010-08-17 | Wacom Co., Ltd. | Input system, program, and recording medium |
US20020130862A1 (en) * | 2001-03-16 | 2002-09-19 | Ji Hyung Lee | System and method for modeling virtual object in virtual reality environment |
US20030122949A1 (en) * | 2001-11-06 | 2003-07-03 | Koichi Kanematsu | Picture display controller, moving-picture information transmission/reception system, picture display controlling method, moving-picture information transmitting/receiving method, and computer program |
US7576742B2 (en) * | 2001-11-06 | 2009-08-18 | Sony Corporation | Picture display controller, moving-picture information transmission/reception system, picture display controlling method, moving-picture information transmitting/receiving method, and computer program |
US20060029913A1 (en) * | 2004-08-06 | 2006-02-09 | John Alfieri | Alphabet based choreography method and system |
US8633890B2 (en) * | 2010-02-16 | 2014-01-21 | Microsoft Corporation | Gesture detection based on joint skipping |
US20110199291A1 (en) * | 2010-02-16 | 2011-08-18 | Microsoft Corporation | Gesture detection based on joint skipping |
JP2012133536A (en) * | 2010-12-21 | 2012-07-12 | Mitsubishi Precision Co Ltd | Method of correcting action of object of three-dimensional computer graphics, apparatus employing such method and program for computer to execute such method |
US20180239544A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Inhibiting tracks within a volume of a storage controller |
US10782893B2 (en) * | 2017-02-22 | 2020-09-22 | International Business Machines Corporation | Inhibiting tracks within a volume of a storage system |
Also Published As
Publication number | Publication date |
---|---|
US6307563B2 (en) | 2001-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6307563B2 (en) | System for controlling and editing motion of computer graphics model | |
US7099747B2 (en) | Motion editing apparatus and method for robot device, and computer program | |
CN113096252B (en) | Multi-movement mechanism fusion method in hybrid enhanced teaching scene | |
CA2397313C (en) | Method of generating poses and motions of a tree structure link system | |
US5511147A (en) | Graphical interface for robot | |
US6208357B1 (en) | Method and apparatus for creating and animating characters having associated behavior | |
CN108161882A (en) | A kind of robot teaching reproducting method and device based on augmented reality | |
CN106142091A (en) | Information processing method and information processor | |
CN107225573A (en) | The method of controlling operation and device of robot | |
JP2007015037A (en) | Motion editing device of robot, motion editing method, computer program and robot device | |
JPWO2019064916A1 (en) | Robot simulator | |
JPH10300457A (en) | Measurement support system | |
US7092860B1 (en) | Hardware simulation systems and methods for vision inspection systems | |
WO1997001803A1 (en) | Installation and method for controlling a movable apparatus | |
CN109781104B (en) | Motion attitude determination and positioning method and device, computer equipment and medium | |
JPH10302085A (en) | Operation recording system for cg model | |
JP3866168B2 (en) | Motion generation system using multiple structures | |
CN108334198A (en) | Virtual sculpting method based on augmented reality | |
US6798416B2 (en) | Generating animation data using multiple interpolation procedures | |
JPWO2019064917A1 (en) | Robot simulator | |
JP2937834B2 (en) | 3D motion generator | |
Jeon et al. | A sketch interface to empower novices to create 3D animations | |
JPH10302083A (en) | Operation control system for cg model | |
Chakravarthi et al. | Scenario-Based Sensed Human Motion Editing and Validation Through the Motion-Sphere | |
JPS60195613A (en) | Robot teaching device with verifying function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: YAMAHA CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KIMURA, SHIGEKI;REEL/FRAME:009316/0861 Effective date: 19980624 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20131023 |