WO2012111622A1 - 動作モデリング装置及び方法、並びにプログラム - Google Patents

動作モデリング装置及び方法、並びにプログラム Download PDF

Info

Publication number
WO2012111622A1
WO2012111622A1 PCT/JP2012/053291 JP2012053291W WO2012111622A1 WO 2012111622 A1 WO2012111622 A1 WO 2012111622A1 JP 2012053291 W JP2012053291 W JP 2012053291W WO 2012111622 A1 WO2012111622 A1 WO 2012111622A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
limb
angle range
range data
specific part
Prior art date
Application number
PCT/JP2012/053291
Other languages
English (en)
French (fr)
Inventor
智彦 向井
Original Assignee
株式会社スクウェア・エニックス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社スクウェア・エニックス filed Critical 株式会社スクウェア・エニックス
Priority to US13/982,850 priority Critical patent/US9208613B2/en
Priority to EP12747011.0A priority patent/EP2677502A4/en
Priority to CN201280007496.4A priority patent/CN103403767B/zh
Publication of WO2012111622A1 publication Critical patent/WO2012111622A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Definitions

  • the present invention relates to modeling in which movement is defined by defining the shape of each limb having a joint in the middle as a unit in modeling the movement of a character having a limb that is coupled to the trunk via a joint.
  • CG Computer Graphics
  • a skeletal model configured by connecting a plurality of bones with joints is used to move each bone at the joints. It is expressed by things.
  • the movable range of the bone to be connected is set for each joint, and the size of the movable range and the degree of freedom of movement are varied according to the characteristics of the joint. By doing this, we try to make the operation more realistic.
  • the joint movement of the conventional joint is established by converting the spherical point on the projection plane by using the projection at each joint and setting the movable range. A method for setting a range is disclosed (see Patent Document 1).
  • JP 2010-170279 A (paragraph 0010 etc.)
  • Patent Document 1 also provides an independent range of motion model for each joint.
  • the movement of an actual human or animal joint is restricted due to the influence of adjacent joints. For this reason, if the calculation related to the modeling is performed for each movable range, the tip of the limb may move to an unnatural position.
  • the number of variables is increased in order to realize a more natural movement, a complicated mathematical model is required for the processing.
  • the present invention provides a motion modeling device that can model a motion of a model closer to a real motion while reducing the variables required for specifying the motion when modeling motion for each limb coupled to the torso, etc.
  • the purpose is to provide.
  • a motion modeling device is a limb that is coupled to a trunk via a first joint and has a second joint disposed in the middle.
  • a motion modeling device for modeling a motion of a character having a limb that can be rotated within a predetermined angle range around a joint, and based on the position of the first joint, than the second joint of the limb An angle defining an angle range in which the second joint can be rotated with respect to a relative position of the specific part from the first joint, and a specific part position determining unit that determines the position of the specific part in advance Stored in the angle range data storage means according to the position of the specific part determined by the specific part position determination means and the angle range data storage means stored in association with the range data Based on the time range data, characterized in that it comprises a second joint position determining means for determining a position of the second joint.
  • the motion modeling device first, with respect to the limb coupled to the trunk via the first joint, the second joint arranged in the middle of the limb with the first joint as a reference.
  • the position of a specific part is determined.
  • the relative position from the first joint, which is set according to the position of the specific part is changed in the angular range in which the second joint can rotate.
  • the positions of the two joints are determined.
  • the joint angle of the second joint is fixed, so that the second joint centered on the axis connecting the first joint and the specific part
  • the rotation angle of the second joint is determined within the range of the rotation angle corresponding to the position of the specific part, it is possible to prevent an unnatural movement with respect to the position of the specific part of the limb.
  • the shape of the limb can be determined only by the information related to the position of the specific part and the information related to the rotation angle of the second joint. Modeling can be performed.
  • the character is a character appearing in a game
  • the behavior modeling device may be any situation among a plurality of types of situations in which the progress of the game is defined in advance.
  • Game angle determination means for determining whether or not the angle range data storage means is an angle that is different as an angle range in which the second joint can be rotated for each of the plurality of types of situations.
  • a plurality of angle range data defining a range is stored, and the second joint position determination means is a situation determined by the game situation determination means among a plurality of angle range data stored in the angle range data storage means. The position of the second joint can be determined based on the angle range data corresponding to.
  • the rotatable angle range of the second joint can be changed according to the game situation.
  • the rotatable angle range of the second joint related to the injured limb can be set narrower than usual, .
  • Other game states include the state of what the character is wearing and the environment around the character in the virtual space.
  • a movable range data storage unit that stores movable range data defining a movable range of the specific part that can position the specific part as a relative position from the first joint.
  • the specific part position determining unit determines the position of the specific part based on the movable range data stored in the movable range data storage unit, and the angle range data storage unit includes the movable range data.
  • Angle range data defining an angle range in which the second joint can be rotated can be stored in association with a position within the range of motion stored in the storage unit.
  • the position of the specific part is determined within the defined range of motion
  • the position of the second joint is determined within the rotatable range of the second joint according to the position.
  • the character is a character appearing in a game
  • the behavior modeling device may be any situation among a plurality of types of situations in which the progress of the game is defined in advance.
  • a game situation determination means for determining whether or not the movable range data storage means defines a plurality of movable ranges in which different movable ranges are defined as the movable ranges of the specific part for each of the plurality of types of situations.
  • Area data is stored, and the specific part position determination means is based on the movement area data corresponding to the situation determined by the game situation determination means among the plurality of movement area data stored in the movement area data storage means. The position of the specific part can be determined.
  • the range of motion of the specific part can be changed according to the game situation.
  • the range of motion of the specific part related to the injured limb can be set narrower than usual, and the character of the game can be You can model natural behavior according to the situation.
  • the length of the limb is maintained while maintaining a ratio between the length from the first joint to the second joint and the length from the second joint to the specific part.
  • the angle range data storage means stores the first portion of the specific part stored in association with the angle range data.
  • Angle range data correcting means for correcting the relative position from one joint, and the specific part position determining means is changed in length by the limb body length changing means on the basis of the position of the first joint.
  • the position of the specific part of the limb is specified, and the second joint position determination means corrects the relative position of the specific part from the first joint by the angle range data correction means. The on the basis of the angular range data, it can be made to determine the position of the second joint.
  • the movable range data storage means stores the movable range data in association with the movable range data according to the length of the limb body changed by the limb body length changing means.
  • a movable range data correcting unit that corrects a relative position of the specific site from the first joint, and the specific site position determining unit is configured to detect the first joint of the specific site by the movable range data correcting unit. The position of the specific part can be determined based on the movable range data in which the relative position from the corrected position is corrected.
  • the length of the limb can be changed while keeping the ratio of the lengths of the first joint to the second joint and the second joint to the specific part constant.
  • the relative position of the specific part from the first joint is corrected according to the length of the limb.
  • the position of the specific part and the position of the second joint were determined (the determined position is a position that can exist before the length of the limb is changed). If it is changed, the specific part or the second joint may exist at a position where the length of the limb is not present (for example, a position where it collides with an obstacle). The position of the joint must be re-determined.
  • the specific part is changed after the length of the limb is first changed by correcting the relative position from the first joint of the specific part stored in association with the angle range correction data by the angle range data correction unit.
  • the position of the second joint and the position of the second joint can be determined, and the process for determining the position can be performed only once.
  • the motion modeling apparatus further includes a limb body length changing unit that changes the length of the limb, and the angle range data storage unit can be changed by the limb body length changing unit.
  • Storing a plurality of angle range data defining different angle ranges as an angle range in which the second joint can be rotated with respect to a plurality of ranges in the length range of Specifies the position of the specific portion of the limb whose length has been changed by the limb body length changing means with reference to the position of the first joint, and the second joint position determining means is configured to change the limb body length.
  • the position of the second joint may be determined based on angle range data corresponding to the length of the limb body changed by the means.
  • the range of motion data storage means is a plurality of ranges of the limb length ranges that can be changed by the limb body length changing means.
  • a plurality of movable range data defining different movable ranges as the movable range of the specific part is stored, and the specific part position determining unit is configured to store the plurality of movable range data stored in the movable range data storage unit. The position of the specific part can be determined based on the range of motion data corresponding to the length of the limb body changed by the limb body length changing means.
  • the length of the limb can be changed from the first joint to the second joint, and from the second joint to the specific part.
  • a different angular range of rotation of the second joint corresponding to the length of the limb can be applied at the relative position of the specific part from the first joint.
  • a motion modeling method is a limb that is coupled to a trunk via a first joint and has a second joint disposed midway.
  • a motion modeling method for modeling, in a computer device a motion of a character having a limb that can be rotated within a predetermined angle range with a joint as a center, wherein the specific portion of the limb that precedes the second joint
  • Angle range data stored in association with angle range data defining an angle range in which the second joint can be rotated with respect to a relative position from the first joint is stored in advance in a storage device included in the computer device.
  • the storing device and a processing device included in the computer device determine a position of the specific part by a predetermined calculation based on the position of the first joint. And a step of determining a position of the second joint by referring to angle range data stored in the storage device by a processing device included in the computer device according to the determined position of the specific part. It is characterized by providing.
  • a program according to a third aspect of the present invention is a limb that is coupled to a trunk via a first joint and has a second joint disposed midway.
  • Angle range data stored in association with angle range data defining an angle range in which the second joint can be rotated with respect to a relative position from the joint is stored in advance in a storage device included in the computer device.
  • Angle range data storage means specific part position determining means for determining the position of the specific part on the basis of the position of the first joint
  • the specific part position determining unit Causing the computer device to function as second joint position determining means for determining the position of the second joint based on angle range data stored in advance in the storage device in accordance with the position of the specific part determined by It is characterized by.
  • the program according to the third aspect can be provided by being recorded on a computer-readable recording medium.
  • the computer-readable recording medium may be a recording medium configured to be detachable from the computer device and provided separately from the computer device.
  • the computer-readable recording medium may be a recording medium such as a fixed disk device provided in the computer device and provided together with the computer device.
  • the program according to the third aspect can be distributed from the server device existing on the network to the computer device through the network by superimposing the data signal on a carrier wave.
  • FIG. 1 is a block diagram showing a configuration of a video game apparatus applied to this embodiment.
  • the video game apparatus 100 is built around the apparatus main body 101.
  • the apparatus main body 101 includes a control unit 103, a RAM (Random Access Memory) 105, a hard disk drive (HDD) 107, a sound processing unit 109, a graphic processing unit 111, a DVD / CD-ROM drive connected to the internal bus 119. 113, a communication interface 115, and an interface unit 117.
  • a control unit 103 includes a control unit 103, a RAM (Random Access Memory) 105, a hard disk drive (HDD) 107, a sound processing unit 109, a graphic processing unit 111, a DVD / CD-ROM drive connected to the internal bus 119.
  • 113 includes a communication interface 115, and an interface unit 117.
  • the sound processing unit 109 of the device main body 101 is connected to a sound output device 125 that is a speaker, and the graphic processing unit 111 is connected to a display device 121 having a display screen 122.
  • a recording medium (DVD-ROM or CD-ROM in this embodiment) 131 can be mounted on the DVD / CD-ROM drive 113.
  • the communication interface 115 is connected to the network 151.
  • An input unit (controller) 161 and a memory card 162 are connected to the interface unit 117.
  • the control unit 103 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), and the like, executes programs stored on the HDD 107 and the recording medium 131, and controls the apparatus main body 101.
  • the control unit 103 includes an internal timer.
  • the RAM 105 is a work area of the control unit 103, and information related to a wrist character's wrist movable range, elbow and knee twist angles, which will be described later, is temporarily stored in the RAM 105.
  • the HDD 107 is a storage area for storing programs and data.
  • the graphic processing unit 111 is drawn in the frame memory 112 (in the figure, outside the graphic processing unit 111, but in a RAM included in a chip constituting the graphic processing unit 111 in accordance with a drawing command output from the control unit 103.
  • the image data is developed and a video signal for displaying the image on the display screen 122 of the display device 121 is output.
  • One frame time of an image included in the video signal output from the graphic processing unit 111 is, for example, 1/60 second.
  • Two sets of the frame memory 112 are provided, and data writing and reading are switched for each frame period.
  • the graphic processing unit 111 generates image data of a two-dimensional image obtained by perspective-transforming objects (player characters, non-player characters, and objects other than characters) existing in the virtual three-dimensional space with a virtual camera, and stores them in the frame memory 112. Write.
  • the DVD / CD-ROM drive 113 reads programs and data from the recording medium 131.
  • the communication interface 115 is connected to the network 151 and communicates with other computers.
  • the input unit 161 includes a direction key and a plurality of operation buttons. The position of the player character in the virtual three-dimensional space is moved by an instruction input from the direction key of the input unit 161.
  • the interface unit 117 outputs the input data from the input unit 161 to the RAM 105, and the control unit 103 interprets it and performs arithmetic processing.
  • the interface unit 117 also stores data indicating the progress of the game stored in the RAM 105 in the memory card 162 based on an instruction from the control unit 103, and the interrupted game stored in the memory card 162. Are read out and transferred to the RAM 105.
  • a program and data for playing a game on the video game apparatus 100 are first stored in the recording medium 131, for example.
  • the data stored in the recording medium 131 includes graphic data for configuring an object that exists in the game space (virtual three-dimensional space).
  • the program and data stored in the recording medium 131 are read out by the DVD / CD-ROM drive 113 at the time of execution and loaded into the RAM 105.
  • the control unit 103 processes the program and data loaded in the RAM 105, outputs a drawing command to the graphic processing unit 111, and outputs a sound output instruction to the sound processing unit 109. Intermediate data while the control unit 103 is performing processing is stored in the RAM 105.
  • a plurality of three-dimensional objects exist in a virtual three-dimensional space serving as a game space, and an image obtained by perspective-transforming these objects with a virtual camera is displayed on the display screen of the display device 121 as a game image. 122.
  • the object existing in the virtual three-dimensional space include a player character that is operated by an input from the input unit 161 of the player, a non-player character that is a character other than the player character (such as an enemy character, which is operated by the control unit 103), and the like.
  • the game progresses by performing a battle. In battle, they attack each other and continue until one of them becomes incompetent.
  • the player character may be injured by an attack from the enemy character, which may impose a movement inconvenience.
  • the player character performs a modeled action in response to an input from the input unit 161 of the player.
  • the shape of each limb of the player character is modeled for each limb in the shape of the player character at each time point that forms the series of motions.
  • the modeling of the shape of the limbs in the modeling of the action of the player character will be described.
  • the limbs that are the target of shape modeling are parts of two skeletons such as the upper arm and lower arm or the thigh and shin in the skeleton model of the player character.
  • the modeling procedure for the shape of the limb of the player character is as follows. First, a fixed part defined for each limb (for example, a shoulder for an arm, a crotch for a leg, etc., hereinafter referred to as a fixed part).
  • the position of the tip is determined from within the reach of the tip (for example, wrist for the arm, ankle for the leg, etc., hereinafter referred to as the tip).
  • the position of the middle joint of the limbs (the elbow for the arm and the knee for the leg; hereinafter referred to as the middle) is the rotation angle (twist) about the axis connecting the fixed part and the tip.
  • the angle is determined from within the movable range of the intermediate portion.
  • FIG. 2 shows the reach range of the right wrist (tip portion) in the right arm portion of the skeleton model together with the skeleton model.
  • the reachable range of the tip part is defined around the shoulder part (fixed part).
  • the reachable range of the tip of the limb is defined similarly for each limb.
  • the position of the tip is determined within the reach of the tip. At this time, if the position of the tip is set within the reach range, the position of the tip is determined at that position, but when set outside the reach range, the reach range closest to the position is set. In addition, the position of the tip is corrected and determined.
  • the shape of the joint angle of the elbow part (intermediate part) made from the upper arm and the lower arm is determined from the fixed part and the fixed tip part in the right arm part. Subsequently, from the range of the rotation angle of the intermediate portion around the distal end portion or the fixed portion, specifically, from the range of the rotation angle of the intermediate portion around the axis connecting the distal end portion and the fixed portion with a straight line, the intermediate portion The position of is determined.
  • FIG. 3 shows the rotation of the right arm part of the skeleton model shown in FIG. 2 and the rotation of the intermediate part around the axis connecting the fixed part and the tip part with a straight line.
  • the position of the intermediate portion is determined only on the circumference centering on the intersection P between the axis and the perpendicular drawn from the intermediate portion with respect to the axis. Will be.
  • the position of the intermediate portion determined on the circumference is determined from the position of the tip portion within the range of the rotation angle corresponding to the position of the tip portion (for example, inverse kinematics, etc.). Is omitted).
  • the rotation direction is positive in the right-handed screw direction with the tip portion of the shaft as the traveling direction.
  • a reference point at which the rotation angle of the intermediate portion is 0 is assumed, and a movable range of the rotation angle of the intermediate portion is determined.
  • the definition of the reference point for rotation in the intermediate portion is not limited to this, and it is sufficient that the movable range is specified for the reference point.
  • FIG. 4A shows the position where the front end portion is defined as a lattice with the shoulder portion shown in the figure as the center (0, 0, 0) of the local coordinates (x, y, z) defined as the right arm portion. It shows a part of.
  • a movable range of the intermediate portion is defined at the arrival position of the tip portion defined in the lattice shape.
  • FIG. 4B shows the movable range of the intermediate portion for each reaching position of the tip portion stored in the RAM 105. *
  • the position (black circle) where the distal end where the movable range of the intermediate part is defined is reachable is the fixed part of the right arm part (shoulder: local coordinates (0, 0, 0)). Is defined in a grid pattern in local three-dimensional coordinates centered at. In the coordinates of the unreachable position, the position where the intermediate movable range is defined is not determined.
  • the RAM 105 stores the movable range of the intermediate portion defined by each position coordinate shown in FIG. 4A.
  • the position of the intermediate portion is determined within the movable range.
  • the position of the intermediate portion is determined at that position, but if it is set outside the movable range, the position within the movable range closest to that position is The intermediate position is corrected and determined.
  • the coordinate position of the tip is determined to be (0, 1, 0), and then the movable range of the intermediate part is determined within the range of 0 to 35 (deg), so that the shape of the right arm is determined. Will be determined.
  • the shape of the right arm is modeled from a total of four variables: three variables that are positions within the reachable range of the wrist and one variable that is the rotation angle of the elbow.
  • the intermediate movable range defined in (1) is determined as the intermediate movable range at the position of the tip.
  • FIG. 5A shows the reach range of the right wrist of the skeleton model related to the modeling of the movement of the right arm and FIG. 5A shows the movable range of the elbow when such an injury occurs to the upper right arm of the player character. Shown in 5 (b).
  • the reachable range of the right wrist is set to be smaller than the reachable range shown in FIG. Then, the movable range of the intermediate portion when the upper right arm is injured shown in FIG. 5B is set narrower than the movable range of the intermediate portion in the normal state shown in FIG. 4B. Yes. This is similar to the fact that even an actual human being is injured, resulting in inconvenience in behavior, and the injury of the upper right arm of the player character has narrowed the range of motion that can be modeled by the limbs. ing.
  • FIG. 6 is a flowchart showing the limb modeling process executed in the video game apparatus 100.
  • the control unit 103 determines whether or not the player character is injured in the limb (step S101). If it is determined that the player character is injured, the control unit 103 sets the reachable range and the movable range that are applied when the player character is injured for the reachable range of the front end portion and the movable range of the intermediate portion (step S102). .
  • step S101 When it is determined in step S101 that there is no injury or the reachable range and the movable range that are applied at the time of injury are set in step S102, the control unit 103 subsequently responds to the operation of the input unit 161 of the player.
  • the position of the tip is set (step S103).
  • step S104 When the position of the distal end portion is set, it is determined whether or not the set position is within the reachable range of the distal end portion (step S104). If it is determined that it is not within the reachable range, the control unit 103 corrects and sets the position of the tip within the reachable range closest to the position (step S105).
  • step S104 it is determined that the position of the distal end is within the reachable range, or when the position of the distal end is corrected and set in step S105, the control unit 103 then continues at the set position.
  • the position of the tip is determined (step S106).
  • the control unit 103 sets the position of the intermediate portion using a conventional method such as inverse kinematics according to the operation of the input unit 161 by the player (step S107).
  • the position of the intermediate portion it is determined whether or not the set position is within the movable range of the intermediate portion (step S108).
  • step S109 the control unit 103 corrects and sets the position of the intermediate portion within the movable range closest to the position. If it is determined in step S108 that the position of the intermediate portion is within the movable range, or if the position of the intermediate portion is corrected and set in step S109, the control unit 103 then continues at the set position. The position of the intermediate part is determined (step S110).
  • the position of the tip of the limb is determined with reference to the fixed part.
  • the position of the intermediate portion is determined within the movable range of the intermediate portion defined according to the position of the tip portion. That is, in the limbs, when the position of the tip part is determined with reference to the fixed part, the joint angle of the intermediate part is determined, and the rotation angle of the intermediate part around the axis connecting the fixed part and the tip part is determined.
  • joints such as elbows and knees that bend and extend in the limbs of the player character can be prevented from bending unnaturally at positions such as wrists and ankles of the limbs.
  • Modeling with a sense of incongruity in the movement of the limbs will be possible.
  • the shape of the limb part can be determined by only the information related to the position of the tip part and the information related to the rotation angle of the intermediate part. Modeling can be performed. By reducing the information required for modeling in this way, it is advantageous in real-time processing in accordance with the progress of the game.
  • the position of the tip is determined within the reachable range, and an intermediate movable range is defined according to the position within the reachable range.
  • an intermediate movable range is defined according to the position within the reachable range.
  • the reach range of the tip portion and the movable range of the intermediate portion are narrower than usual due to the injury. As a result, it is possible to model a natural motion corresponding to the game situation for the player character.
  • the length of the limb of the player character is not particularly mentioned, but the length of the limb may be changed in the process of modeling the action of the player character.
  • the length of the limbs may be changed while maintaining the ratio of the lengths of the fixed part to the intermediate part and the intermediate part to the tip part constant, or the limbs may be changed so that the ratio also changes. You may change the length of a part. Even when the player character is enlarged / reduced as a whole, the lengths of the limbs are changed while the ratios of the lengths from the fixed part to the intermediate part and from the intermediate part to the tip part are kept constant.
  • the reach of the tip part becomes wide.
  • data correction is performed so as to increase the interval between the lattices in which the movable range of the intermediate portion shown in FIG. 4A is defined (if the limbs are smaller, the interval between the lattices is reduced). Correct the data as you do). For example, when the size of the player character is doubled and the length of the limbs is also doubled, the local coordinates of the lattice point whose local coordinates are (1, 0, 2) are (2, 0). , 4).
  • the length of the limbs can be increased by, for example, enlarging / reducing the player character first without determining the position (tip and middle) of the limbs of the player character at the initial size. Change. Then, for the player character whose limb length has been changed, the position of the tip of the limb is determined (the position of each tip determined is a position where it cannot collide with an obstacle or exist) Must not). Thereafter, the position of the middle part of the limb is determined using the corrected data.
  • the middle position may be corrected to the nearest movable range position.
  • the corrected data is applied, and the length of the extremities is first changed to determine the position of the tip and the position of the second joint.
  • the position of the tip part and the position of the middle part are determined (the determined position is a position that can exist before the length of the limb is changed), and the player character is expanded as it is. If the length of the extremity is changed by, for example, the extremity, the extremity after the length is changed may exist at a position where the tip cannot exist, such as a position where it collides with an obstacle. It may exist in a position where the intermediate part cannot exist. In such a case, the position of the tip part and the position of the intermediate part must be determined again.
  • the data of the movable range of the intermediate part defined in each position coordinate shown in FIG. 4A described in the above embodiment is the length. Assuming that the data of a plurality of movable ranges corresponding to the change of the limb is stored, when the length of the limb changes, the movable range of the intermediate portion is changed according to the change of the length. be able to.
  • the length of the limb part is different from the case where the ratio of the length of the fixed part to the intermediate part and the length of the intermediate part to the tip part is different from the case where the length of the limb part is the same.
  • the reachable range of the tip portion may be different. For example, in the above embodiment, if the right arm wrist reach range shown in the skeleton model of FIG. 2, the ratio of the lengths of the fixed part to the intermediate part and the intermediate part to the tip part is constant. In some cases, the reach is wide as a whole, but when the ratio is changed, there may be a change in reach so that the reach on the back side of the skeleton model becomes wide.
  • the character modeling the movement of the limb in the present invention is a virtual character whose size and shape change only with respect to the trunk, such as a character with an extremely long arm.
  • An appropriate reachable range of the tip of the limb and a movable range of the middle can be set in accordance with the body and limb of the character.
  • it is a virtual character having an extremity part of an extreme size, or an extremity part of the extremity part that has a ratio of the fixed part to the intermediate part and the ratio of the intermediate part to the tip part before and after the change.
  • the range and the movable range of an intermediate part may become narrow.
  • the reachable range of the distal end portion of the limb and the movable range of the intermediate portion may be defined to be widened.
  • the modeling of the movement of the limbs has been illustrated by taking the modeling of the movement of the limbs in the case of one joint, such as the arms and legs of the human-type player character. Even when there are two or more, the movable range of the intermediate portion may be defined as a combination of the shapes of the joint angles, and the above embodiment may be applied.
  • the reachable range of the tip portion and the movable range of the intermediate portion are narrowed.
  • the reachable range and the range in which the movable range of the intermediate portion narrows may change depending on the degree of injury. For example, the reachable range of the distal end when the degree of injury is heavy and the movable range of the intermediate part are narrower than the reachable range of the distal end when the degree of injury is light and the movable range of the intermediate part. You may define By doing so, the player can get a real sense of the action of the player character that he / she moves.
  • the game situation in which the reachable range of the front end portion and the movable range of the intermediate portion change is not limited to the case where the player character is injured.
  • the weapon or the type of armor may change.
  • the reach of the tip and the movable range of the middle are defined more narrowly.
  • the tip For example, the reachable range of the part and the movable range of the intermediate part are widely defined.
  • the reach range of the tip portion, and the middle may be defined narrower.
  • the reachable range of the tip and the movable range of the middle are defined more narrowly.
  • the reachable range of the tip and the movable range of the middle may be broadly defined.
  • the reachable range of the front end portion and the movable range of the intermediate portion are changed. Also good.
  • the reachable range of the tip part and the movable range of the intermediate part are defined to be narrower, and also occur when riding on gravity or a moving body.
  • the reachable range of the tip portion and the movable range of the intermediate portion may be defined more narrowly by the load.
  • the reachable range of the tip and the movable range of the intermediate part may be changed.
  • the reachable range of the front end and the movable range of the middle may be changed in the state of action of the player character itself.
  • the reachable range of the tip of both arms and the movable range of the middle part when the player character is running are limited in practice, so the reachable range and movable range are It may be narrowly defined.
  • the movement of one arm may be limited by being affected by the other arm, and depending on the shape of the other arm, The movable range of the part may be defined narrower.
  • the player character in the above embodiment also has the previous movement.
  • the reachable range of the tip portion and the movable range of the intermediate portion may be wider depending on the speed of the.
  • the reach range of the tip portion and the movable range of the intermediate portion are defined in each limb portion by taking the right arm as an example, but not limited to this, only both arms also in the limb portion Such a reachable range of the tip and a movable range of the intermediate part may be defined.
  • the right arm is taken as an example, and the reachable range of the distal end portion and the movable range of the intermediate portion according to the position of the distal end portion are defined in the right arm. It was assumed that the reachable range and the movable range were defined for each arm, but if the data on the reachable range of the tip and the movable range of the intermediate portion were defined in one arm of both arms, It may be applied to the arm. As a result, it is not necessary to hold the data for each independent reachable range and movable range, and the amount of information can be reduced. Such reduction of the information amount can be similarly applied to a device having symmetrical left and right limbs, for example, other mammals, reptiles or insects.
  • the modeling procedure is shown using the player character as a model, but the motion of the non-player character may be similarly modeled.
  • the modeling of the movements of the extremities for example, the arms and legs, with respect to the trunk has been described.
  • the position of the shoulder joint is the same in the movement range of both arms, the influence of the trunk movement (twisting, etc.) is not so much seen.
  • the movement range of the human foot is significantly affected by the movement of the thigh (upper knee) even if it is located at the same place in space.
  • the above-described embodiment cannot be applied to the modeling of the toe position and the ankle angle based on the above.
  • the thigh is fixed, so that the movement of the thigh with respect to the movement range of the foot can be almost ignored. Therefore, for example, when modeling the movement of the foot on the assumption that a humanoid character is sitting on a chair, the thigh is assumed to be a torso and the foot is assumed to be a limb connected to the torso, Fit the joint to the shoulder joint in the above embodiment, the toe to the wrist in the above embodiment, the ankle to the elbow in the above embodiment, and the like, using the same method as in the above embodiment. It becomes possible to model the behavior.
  • the movement of the limbs of the player character is modeled according to the player's operation and the game progress.
  • the player character's movement according to the player's operation and the game progress is modeled in advance.
  • the modeled operation may be executed according to the player's operation and the game progress.
  • the modeling of the movement of the limbs of the human-type player character is shown, but the present invention is not limited to this, for example, a vertebrate having a limb, for example, a vertebrate having a skeleton, a crustacean, etc.
  • the motion modeling may be performed using animals as a model, and it can also be applied to inanimate objects such as hydraulic excavators and robot arms.
  • the video game device 100 which is a game-dedicated machine, is applied as a terminal device used by each player to advance the game.
  • the present invention can be applied to modeling related to the movement of a character other than a video game as long as the modeling is based on three-dimensional computer graphics.
  • a general-purpose personal computer or the like may be applied to the apparatus that performs the modeling process using the technique according to the present invention as long as it includes the same components as the video game apparatus 100.
  • a semiconductor memory card can be applied instead of a DVD-ROM or CD-ROM.
  • a card slot for inserting the memory card can be provided instead of the DVD / CD-ROM drive 113.
  • the program and data according to the present invention may be stored in advance in the HDD 107 instead of being stored in the recording medium 131 and provided. Any recording medium for storing and providing the program and data according to the present invention can be applied depending on the physical form and distribution form of hardware.
  • the program and data of the video game apparatus 100 are stored in the recording medium 131 and distributed.
  • these programs and data may be stored in a fixed disk device included in a server device existing on the network 151 and distributed to the device main body 101 via the network 151.
  • the program and data received from the server apparatus by the communication interface 115 can be stored in the HDD 107 and loaded into the RAM 105 at the time of execution.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

 胴体に結合される肢体毎に動作をモデリングする場合において、当該動作の特定に要する変数を減らしつつも、より現実の動作に近いモデルの動作をモデリングすることができる。 仮想3次元空間におけるプレイヤキャラクタの動作は、その四肢部毎に決定される。まず、各四肢部について、その固定部を基準とした四肢部のローカル座標における先端部の位置を決定する。先端部の位置は、予め定義されている到達範囲内において決定される。先端部の位置が決定されると、中間部の関節角度が固定され、固定部と先端部を結ぶ軸を中心とした回転角として、中間部の位置が決定されることになる。中間部の位置は、先端部の位置に応じて定義されている中間部の可動範囲内において、角度情報として決定される。キャラクタの四肢部の形状は、先端部の位置情報と中間部の角度情報で決定される。

Description

動作モデリング装置及び方法、並びにプログラム
 本発明は、胴体に関節を介して結合する肢体を有するキャラクタの動作のモデリングにおいて、中途に関節を有する肢体毎の形状を一体として定義して動作を定めるモデリングに関する。
近年のコンピュータ技術の高度化に伴い、CG(Computer Graphics)において、3次元でのより精細でリアルな表現が可能になってきている。そして、CGの分野においては仮想空間におけるキャラクタ、例えば、人や動物などの動作を、複数の骨を関節で連結させて構成する骨格モデル(スケルトンモデル)を用い、その関節において各骨を動作させることによって表現することが行われている。
 このように、仮想3次元空間において動作させるスケルトンモデルでは、関節毎にその連結する骨の可動範囲を設定し、その関節の特性に合わせ、その可動範囲の大きさや、動作の自由度を異ならせることによって、より現実味のある動作をさせるようにしている。そして、さらに自然で滑らかなスケルトンモデルの動作を表現するために、各関節において射影を用いて球面状の点を射影面上に座標変換して可動範囲を設定することによって、従来における関節の可動範囲を設定する手法が開示されている(特許文献1参照)。
特開2010-170279号公報(段落0010等)
 しかしながら、特許文献1においても各関節毎に独立な可動域モデルが用意されている。ところが、現実の人間や動物などの関節動作は、隣接する関節の影響を受けて動作が制限される場合もある。そのため、その可動域毎にモデリングに係る計算を行っていると、四肢部の先端が不自然な位置に移動することも考えられる。一方、さらに自然な動きを実現するために、変数の数を増やしてしまうと、その処理に複雑な数学モデルを要することとなってしまう。
 本発明は、胴体に結合される肢体毎に動作をモデリングする場合において、当該動作の特定に要する変数を減らしつつも、より現実の動作に近いモデルの動作をモデリングすることができる動作モデリング装置等を提供することを目的とする。
 上記目的を達成するため、本発明の第1の観点にかかる動作モデリング装置は、第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をモデリングする動作モデリング装置であって、前記第1関節の位置を基準として、前記肢体の前記第2関節よりも先にある特定部位の位置を決定する特定部位位置決定手段と、前記特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データ記憶手段と、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記角度範囲データ記憶手段に記憶された角度範囲データに基づいて、前記第2関節の位置を決定する第2関節位置決定手段とを備えることを特徴とする。
 上記第1の観点にかかる動作モデリング装置では、まず、胴体に第1関節を介して結合される肢体について、その第1関節を基準として、その肢体の中途に配された第2関節の先にある特定部位の位置を決定する。第1関節を基準に特定部位の位置が決定されると、その特定部位の位置に応じて設定された、第1関節からの相対位置に対して、第2関節の回転可能な角度範囲において第2関節の位置が決定される。つまり、肢体において第1関節を基準として特定部位の位置が決定されると、第2関節の関節角度が固定されるので、続いて第1関節と特定部位を結ぶ軸を中心とした第2関節の回転角度を決定することで、その肢体の動作のモデリングをすることができるようになる。さらに、第2関節の回転角度は、特定部位の位置に応じた回転角度の範囲内において決定されるので、肢体の特定部位の位置に対する不自然な動作を防ぐことができる。
 具体的には、モデリングの対象となる、現実において人間の肘や膝のように、限定された方向のみに屈伸動作をする関節を有する腕や脚をモデリングの対象とするとき、その対象における第2関節が、第2関節の先にある特定部位の位置において、不自然に曲がってしまうことを防ぐことができ、その対象の肢体の動作において違和感のないモデリングができるようになる。また、その肢体の動作のモデリングにおいて、特定部位の位置に係る情報と、第2関節の回転角度に係る情報とだけで、その肢体の形状を決定することができるので、より少ない情報で動作のモデリングを行うことができる。
 上記第1の観点にかかる動作モデリング装置において、前記キャラクタは、ゲームにおいて登場するキャラクタであり、前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、前記角度範囲データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記第2関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、前記第2関節位置決定手段は、前記角度範囲データ記憶手段に記憶された複数の角度範囲データのうちの前記ゲーム状況判定手段により判定された状況に対応した角度範囲データに基づいて、前記第2関節の位置を決定するものとすることができる。
 この場合には、そのゲーム状況に応じて第2関節の回転可能な角度範囲を変化させることができる。これによって、例えば、キャラクタがゲームの進行において負傷した場合には、その負傷した肢体に係る第2関節の回転可能な角度範囲を、通常の場合よりも狭く設定することができ、キャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。また、他にこのようなゲーム状態としては、キャラクタが身につけているものの状態や、仮想空間におけるキャラクタの周りの環境などがある。
 上記第1の観点にかかる動作モデリング装置において、前記特定部位を前記第1関節からの相対位置として位置させることができる該特定部位の可動域を定義した可動域データを記憶する可動域データ記憶手段をさらに備え、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された可動域データに基づいて、前記特定部位の位置を決定し、前記角度範囲データ記憶手段は、前記可動域データ記憶手段に記憶された可動域の範囲内の位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶するものとすることができる。
 この場合には、特定部位の位置を定義された可動域において決定し、その位置に応じた第2関節の回転可能な角度範囲で第2関節の位置を決定する。これによって、例えば人型のキャラクタの腕部や脚部をモデリングの対象とした場合において、その腕部や脚部における手首や足首の位置が現実的に到達可能な範囲で決定することができる。そのため、その位置に応じて、関節が不自然に曲がるような動作のモデリングを防ぐことができ、さらに、現実には到達し得ないような位置に肢体が到達することも防ぐことができるようになるので、人型のキャラクタに対してより自然な人の動作をモデリングできるようになる。
 上記第1の観点にかかる動作モデリング装置において、前記キャラクタは、ゲームにおいて登場するキャラクタであり、前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、前記可動域データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記ゲーム状況判定手段により判定された状況に対応した可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
 この場合には、そのゲーム状況に応じて特定部位の可動域を変化させることができる。これによって、例えば、キャラクタがゲームの進行において負傷した場合には、その負傷した肢体に係る特定部位の可動域を、通常の場合よりも狭く設定することができ、キャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。
 上記第1の観点にかかる動作モデリング装置において、前記第1関節から前記第2関節までの長さと前記第2関節から前記特定部位までの長さとの比率を維持しつつ、前記肢体の長さを変化させる肢体長変化手段と、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記角度範囲データ記憶手段に前記角度範囲データに対応付けて記憶されている前記特定部位の前記第1関節からの相対位置を補正する角度範囲データ補正手段とをさらに備え、前記特定部位位置決定手段は、前記第1関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第2関節位置決定手段は、前記角度範囲データ補正手段により前記特定部位の前記第1関節からの相対位置が補正された角度範囲データに基づいて、前記第2関節の位置を決定するものとすることができる。
 なお、前記可動域データ記憶手段をさらに備える動作モデリング装置においては、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記可動域データ記憶手段に前記可動域データに対応付けて記憶されている前記特定部位の前記第1関節からの相対位置を補正する可動域データ補正手段をさらに備え、前記特定部位位置決定手段は、前記可動域データ補正手段により前記特定部位の前記第1関節からの相対位置が補正された可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
 この場合には、肢体の長さを、第1関節から第2関節、第2関節から特定部位のそれぞれの長さの比率を一定に保ちながら変化させることができる。そして、肢体の長さを変化させた場合には、その肢体の長さに従って、第1関節から特定部位の相対位置が補正されるものとなる。これによって、常に同じ大きさのキャラクタだけではなく、様々な大きさに変化させたキャラクタに対しても同様の自然な動作のモデリングを行うことができる。
 肢体の長さを変化させる前に特定部位の位置、および第2関節の位置を決定した(決定された位置は、肢体の長さが変化される前では存在できる位置)後に肢体の長さを変化させると、長さが変化された肢体では特定部位や第2関節が存在できない位置(例えば、障害物に衝突する位置など)に存在してしまうことがあり、再度特定部位の位置や第2関節の位置を決定し直さなければならなくなってしまう。ここでは、角度範囲データ補正手段により角度範囲補正データに対応付けて記憶されている特定部位の第1関節からの相対位置を補正することで、先に肢体の長さを変化させてから特定部位の位置、および第2関節の位置を決定することができ、このような位置の決定のための処理が一度で済むものとなる。
 上記第1の観点にかかる動作モデリング装置において、前記肢体の長さを変化させる肢体長変化手段をさらに備え、前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第2関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、前記特定部位位置決定手段は、前記第1関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第2関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第2関節の位置を決定するものとすることができる。
 なお、前記可動域データ記憶手段をさらに備える動作モデリング装置においては、前記可動域データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記肢体長変化手段により変化させられた前記肢体の長さに対応した可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
 この場合には、肢体の長さを、第1関節から第2関節、第2関節から特定部位のそれぞれの長さを変化させることができる。そして、肢体の長さを変化させた場合には、第1関節から特定部位の相対位置において、その肢体の長さに対応した、異なる第2関節の回転可能な角度範囲を適用することができる。これによって、常に同じ大きさ、或いは形状のキャラクタだけではなく、様々な大きさ、或いは形状に変化させたキャラクタに対しても同様の過程においてその肢体の大きさ、形状に合わせた適正な動作のモデリングを行うことができる。
 上記目的を達成するため、本発明の第2の観点にかかる動作モデリング方法は、第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置においてモデリングする動作モデリング方法であって、前記肢体の前記第2関節よりも先にある特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させるステップと、前記第1関節の位置を基準として、前記コンピュータ装置が備える処理装置が所定の演算により前記特定部位の位置を決定するステップと、前記決定された前記特定部位の位置に応じて前記コンピュータ装置が備える処理装置が前記記憶装置に記憶された角度範囲データを参照して、前記第2関節の位置を決定するステップとを備えることを特徴とする。
 上記目的を達成するため、本発明の第3の観点にかかるプログラムは、第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置にモデリングさせるためのプログラムであって、前記肢体の前記第2関節よりも先にある特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させる角度範囲データ記憶手段、前記第1関節の位置を基準として、前記特定部位の位置を決定する特定部位位置決定手段、及び、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記記憶装置に予め記憶された角度範囲データに基づいて、前記第2関節の位置を決定する第2関節位置決定手段として前記コンピュータ装置を機能させることを特徴とする。
 上記第3の観点にかかるプログラムは、コンピュータ読み取り可能な記録媒体に記録して提供することができる。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置に着脱可能に構成され、上記コンピュータ装置とは別個に提供される記録媒体としてもよい。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置内に設けられ、上記コンピュータ装置と共に提供される固定ディスク装置などの記録媒体としてもよい。上記第3の観点にかかるプログラムは、ネットワーク上に存在するサーバ装置から、そのデータ信号を搬送波に重畳して、ネットワークを通じて上記コンピュータ装置に配信することもできる。
 また、上記第3の観点にかかるプログラムに含まれる各手段の実行する処理を各ステッ
プの処理として実行する方法も、本発明の範囲に含まれる。
本発明の実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である。 本発明の実施の形態に係るプレイヤキャラクタについて、スケルトンモデルの右手首の到達可能範囲を示した図である。 先端部の位置が決定された場合における中間部の回転態様を示した図である。 先端部の到達点に格納された中間部の可動範囲を示した図である。 負傷時におけるプレイヤキャラクタの先端部の到達範囲、および中間部の可動範囲を示した図である。 右腕部の形状を決定するための処理を示すフローチャートである。
 以下、添付図面を参照して、本発明の実施の形態について説明する。
 図1は、この実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である
。図示するように、ビデオゲーム装置100は、装置本体101を中心として構築される
。この装置本体101は、その内部バス119に接続された制御部103、RAM(Random Access Memory)105、ハードディスク・ドライブ(HDD)107、サウンド処理部109、グラフィック処理部111、DVD/CD-ROMドライブ113、通信インターフェイス115、及びインターフェイス部117を含む。
 この装置本体101のサウンド処理部109は、スピーカーであるサウンド出力装置125に、グラフィック処理部111は、表示画面122を有する表示装置121に接続されている。DVD/CD-ROMドライブ113には、記録媒体(本実施の形態では、DVD-ROMまたはCD-ROM)131を装着し得る。通信インターフェイス115は、ネットワーク151に接続される。インターフェイス部117には、入力部(コントローラ)161とメモリーカード162とが接続されている。
 制御部103は、CPU(Central Prоcessing Unit)やROM(Read Only Memory)などを含み、HDD107や記録媒体131上に格納されたプログラムを実行し、装置本体101の制御を行う。制御部103は、内部タイマを備えている。RAM105は、制御部103のワークエリアであり、後述する、プレイヤキャラクタの手首の可動域や、肘、膝のひねり角度などに関する情報は、RAM105に一時記憶される。HDD107は、プログラムやデータを保存するための記憶領域である。サウンド処理部109は、制御部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置125にサウンド信号を出力する。
 グラフィック処理部111は、制御部103から出力される描画命令に従って、フレームメモリ112(図では、グラフィック処理部111の外側に描かれているが、グラフィック処理部111を構成するチップに含まれるRAM内に設けられる)に画像データを展開し、表示装置121の表示画面122上に画像を表示するビデオ信号を出力する。グラフィック処理部111から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば60分の1秒である。フレームメモリ112は、2セット設けられており、データの書き込み用と読み出し用とがフレーム期間毎に切り替えられる。
 グラフィック処理部111は、仮想3次元空間に存在するオブジェクト(プレイヤキャラクタ、ノンプレイヤキャラクタ、及びキャラクタ以外のオブジェクト)を仮想カメラにより透視変換した2次元画像の画像データを生成して、フレームメモリ112に書き込む。
 DVD/CD-ROMドライブ113は、記録媒体131に対しプログラム及びデータの読み出しを行う。通信インターフェイス115は、ネットワーク151に接続され、他のコンピュータとの通信を行う。入力部161は、方向キー及び複数の操作ボタンを備えている。仮想3次元空間におけるプレイヤキャラクタの位置は、入力部161の方向キーから入力される指示によって移動させられる。
 インターフェイス部117は、入力部161からの入力データをRAM105に出力し、制御部103がそれを解釈して演算処理を実施する。インターフェイス部117は、また、制御部103からの指示に基づいて、RAM105に記憶されているゲームの進行状況を示すデータをメモリーカード162に保存させ、メモリーカード162に保存されている中断時のゲームのデータを読み出して、RAM105に転送する。
 ビデオゲーム装置100でゲームを行うためのプログラム及びデータは、最初例えば記録媒体131に記憶されている。記録媒体131に記憶されているデータとしては、ゲーム空間(仮想3次元空間)に存在するオブジェクトを構成するためのグラフィックデータを含んでいる。記録媒体131に記憶されたプログラム及びデータは、実行時にDVD/CD-ROMドライブ113により読み出されて、RAM105にロードされる。制御部103は、RAM105にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部111に出力し、サウンド出力の指示をサウンド処理部109に出力する。制御部103が処理を行っている間の中間的なデータは、RAM105に記憶される。
 この実施の形態にかかるビデオゲームでは、ゲーム空間となる仮想3次元空間に複数の3次元オブジェクトが存在し、これらのオブジェクトを仮想カメラにより透視変換した画像がゲームの画像として表示装置121の表示画面122に表示される。仮想3次元空間に存在するオブジェクトとしては、プレイヤの入力部161からの入力により動作させられるプレイヤキャラクタ、プレイヤキャラクタ以外のキャラクタであるノンプレイヤキャラクタ(敵キャラクタなど。制御部103により動作させられる)などが含まれ、それらが、バトルを行うことでゲームが進行するものである。バトルでは、互いに攻撃し合い、どちらかが戦闘不能となるまで続けられるものとなる。また、プレイヤキャラクタは敵キャラクタからの攻撃により負傷することがあり、それによって動作の不自由を強いられることもある。
 そして、そのプレイヤキャラクタの動作は、プレイヤキャラクタはプレイヤの入力部161からの入力により、モデリングされた動作を実行することになる。この動作のモデリングでは、その一連の動作を形作る当該プレイヤキャラクタの各時点での形状において、プレイヤキャラクタの各四肢部の形状が、その四肢部毎においてモデリングされるものとなっている。以下、プレイヤキャラクタの動作のモデリングにおける、四肢部の形状のモデリングについて説明する。
 まず、形状のモデリングの対象となる四肢部とは、当該プレイヤキャラクタのスケルトンモデルにおいて、上腕と下腕、或いは腿と脛といった2本の骨格からなる部位である。そして、プレイヤキャラクタの当該四肢部の形状のモデリングの手順は、まず、四肢部毎に定義される固定された部位(例えば、腕部なら肩、脚部なら股など。以下、固定部とする)を中心とした先端部(例えば、腕部なら手首、脚部なら足首など。以下、先端部とする)の到達範囲内から、当該先端部の位置を決定する。
 そして、その四肢部の中間の関節部(腕部なら肘、脚部なら膝。以下、中間部とする)の位置を、固定部と先端部とを結んだ軸を中心とした回転角(ひねり角度)を中間部の可動範囲内から決定するものとなっている。以下、四肢部のモデリングの手順について、右腕部を例にして詳細に説明する。
 図2は、スケルトンモデルと共に、当該スケルトンモデル右腕部における右手首(先端部)の到達範囲を示すものである。図示するように、右腕部においては、肩部(固定部)を中心として先端部の到達範囲が定義されている。このような、四肢部の先端部の到達範囲は各四肢部毎に同様に定義されている。右腕部のモデリングの手順としては、まずこの先端部の到達範囲内において、先端部の位置が決定されることとなる。このとき、先端部の位置が到達範囲内に設定されれば、その位置で先端部の位置が決定されるが、到達範囲外に設定されたときは、その位置から最も近い距離にある到達範囲に、その先端部の位置が修正されて決定されるものとなる。
 先端部の位置が決定されると、右腕部において、固定部と位置の定められた先端部とから上腕と下腕とから作る肘部(中間部)の関節角の形状が定まる。続いて、先端部、或いは固定部を中心とした中間部の回転角、詳細には、先端部と固定部を直線で結んだ軸を中心とした中間部の回転角の範囲から、その中間部の位置が決定されるものとなる。
 図3は、図2に示したスケルトンモデルの右腕部、および固定部と先端部とを直線で結んだ軸を中心とした中間部の回転を示したものである。図示するように、両端部の位置が決定されていると、中間部の位置が、その軸に対して中間部から引いた垂線と軸との交点Pを中心とした円周上のみから決定されるものとなる。そして、この円周上に定められる中間部の位置は、その先端部の位置に応じた回転角の範囲内において、当該先端部の位置から従来の手法(例えば、逆運動学など。詳細な説明は省略する)を用いて決定されることになる。
 ここで、中間部の回転角を決定するとき、その回転方向は軸の先端部を進行方向とした右ねじ方向への回転を正とする。そして、軸と右腕部(上腕、下腕の各辺)で作る平面が、右腕部に定義されるローカル座標(x,y,z)のz軸と平行となるような中間部の位置を、その中間部の回転角が0となる基準点とし、その中間部の回転角の可動範囲が定められるものとする。なお、中間部の回転の基準点の定義に関しては、これに限るものではなく、その基準点に対して、可動範囲が特定されるものであればよい。
 次に、この先端部の位置に応じた可動範囲について説明する。図4(a)は、図示する肩部を右腕部に定義されるローカル座標(x,y,z)の中心(0,0,0)として、格子状に定められた、先端部が到達位置の一部を示すものである。この格子状に定められた先端部の到達位置には、中間部の可動範囲が定義されている。そして、図4(b)は、RAM105に記憶されるその先端部の到達位置毎の中間部の可動範囲を示すものである。 
 図4(a)に示すように、中間部の可動範囲が定義されている先端部が到達可能な位置(黒丸)は、右腕部の固定部(肩:ローカル座標(0,0,0))を中心としたローカル3次元座標において格子状に定められている。そして、到達不可能な位置の座標においては、中間部の可動範囲が定義された位置は定められていない。
 そして、図4(b)に示すように、RAM105において、図4(a)に示した各位置座標において定義される中間部の可動範囲が記憶されている。実際に、先端部がこの中間部の可動範囲が定義された座標に位置するときには、その可動範囲内で中間部の位置が決定されるものとなる。このとき、中間部の位置が可動範囲内に設定されれば、その位置で中間部の位置が決定されるが、可動範囲外に設定されたときは、その位置から最も近い可動範囲に、その中間部の位置が修正されて決定されるものとなる。
 これに基づいて、先端部の座標位置が(0,1,0)と決定し、続いて、中間部の可動範囲が0~35(deg)の範囲で決定されることにより、右腕部の形状が決定されることになる。このように、右腕部の形状は、手首の到達可能範囲における位置である3変数と、肘の回転角である1変数の計4変数からモデリングされるものとなっている。
 なお、先端部の位置が、先端部の到達範囲内であって、この中間部の可動範囲が定義された座標に位置しない場合には、その先端部の位置からの距離が最も近い、当該座標に定義された中間部の可動範囲内が、その先端部の位置における中間部の可動範囲として決定されるものとなる。
 また、プレイヤキャラクタは、ゲームの進行過程において敵キャラクタのバトルを経て負傷する場合があり、そのようなプレイヤキャラクタにさせる動作のモデリングは、その負傷が反映されたものとなるように行う。このような負傷がプレイヤキャラクタの右上腕部に対して生じた場合における、右腕部の動作のモデリングに係るスケルトンモデルの右手首の到達範囲を図5(a)に、肘部の可動範囲を図5(b)に示す。
 プレイヤキャラクタの右上腕部に負傷が生じた場合には、図示するように、右手首の到達範囲は、図2に示す到達範囲よりも小さく設定されている。そして、図5(b)に示す、右上腕部に負傷が生じた場合における中間部の可動範囲は、図4(b)に示した通常時の中間部の可動範囲よりも、狭く設定されている。これは、実際の人間であっても負傷することで行動の不自由が生ずることと同様に、プレイヤキャラクタの右上腕部の負傷により、四肢部がモデリングできる動作の範囲が狭められたものとなっている。
 次に、ビデオゲーム装置100における処理について説明する。図6は、このビデオゲーム装置100において実行される四肢部のモデリング処理を示すフローチャートである。まず、この四肢部のモデリング処理では、制御部103は、プレイヤキャラクタが四肢部において負傷しているか否かの判定を行う(ステップS101)。負傷していると判定されれば、制御部103は、先端部の到達範囲、および中間部の可動範囲について、プレイヤキャラクタの負傷時に適用される、到達範囲および可動範囲を設定する(ステップS102)。
 ステップS101において、負傷していないと判定され、またはステップS102において、負傷時に適用される到達範囲および可動範囲が設定されると、続いて、制御部103は、プレイヤの入力部161の操作に応じて先端部の位置を設定する(ステップS103)。先端部の位置が設定されると、設定された位置が、先端部の到達範囲内にあるか否かの判定を行う(ステップS104)。到達範囲内にないと判定されれば、制御部103は、先端部の位置を、その位置から最も近い到達範囲内に修正して設定する(ステップS105)。
 ステップS104において、先端部の位置が到達範囲内にあると判定され、またはステップS105において、先端部の位置が修正して設定されると、続いて、制御部103は、当該設定された位置において先端部の位置を決定する(ステップS106)。先端部の位置が決定されると、制御部103は、プレイヤの入力部161の操作に応じ、逆運動学などの従来の手法を用いて中間部の位置を設定する(ステップS107)。中間部の位置が設定されると、設定された位置が、中間部の可動範囲内にあるか否かの判定を行う(ステップS108)。
 可動範囲内にないと判定されれば、制御部103は、中間部の位置を、その位置から最も近い可動範囲内に修正して設定する(ステップS109)。ステップS108において、中間部の位置が可動範囲内にあると判定され、またはステップS109において、中間部の位置が修正して設定されると、続いて、制御部103は、当該設定された位置において中間部の位置を決定する(ステップS110)。
 以上説明したように、この実施の形態では、プレイヤキャラクタの動作のモデリングにおいて、まず、四肢部について、その固定部を基準として、先端部の位置を決定する。先端部の位置が決定されると、その先端部の位置に応じて定義されている中間部の可動範囲内において中間部の位置が決定される。つまり、四肢部において、固定部を基準として先端部の位置が決定されると、中間部の関節角度が決定され、固定部と先端部を結ぶ軸を中心として中間部の回転角度を、先端部の位置に応じた可動範囲内において決定することで、その四肢部の動作のモデリングをすることができる。
 これによって、プレイヤキャラクタの四肢部において屈伸動作をする肘や膝などの関節が、その四肢部の手首や足首などの位置において、不自然に曲がってしまうことを防ぐことができ、そのプレイヤキャラクタの四肢部の動作において違和感のないモデリングができるようになる。また、その四肢部の動作のモデリングにおいて、先端部の位置に係る情報と、中間部の回転角度に係る情報だけで、その四肢部の形状を決定することができるので、より少ない情報で動作のモデリングを行うことができる。このようにモデリングに要する情報を少なくすることで、ゲームの進行に合わせたリアルタイム処理において有利である。
 また、先端部の位置は、到達範囲内において決定され、その到達範囲内の位置に応じた中間部の可動範囲が定義されている。これによって、人型のプレイヤキャラクタであれば、その腕部や脚部における手首や足首の位置が現実的に到達可能な範囲で決定することができ、さらに、その位置に応じて、関節が不自然に曲がるような動作のモデリングを防ぐことができるようになり、このような人型のキャラクタに対してより自然な人の動作をモデリングできるようになる。
 また、プレイヤキャラクタは、敵キャラクタとのバトルにおいて負傷した場合には、その負傷によって、先端部の到達範囲、および中間部の可動範囲が通常時より狭められることになる。これによって、プレイヤキャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。
 本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
 上記の実施の形態では、プレイヤキャラクタの四肢部の長さについては特に言及しなかったが、プレイヤキャラクタの動作のモデリングをする過程において、四肢部の長さが変化するものであってもよい。この場合において、四肢部の長さが、固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら変化させてもよいし、またはその比率も変わるように、四肢部の長さを変化させてもよい。プレイヤキャラクタが全体的に拡大・縮小される場合も、このように固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら四肢部の長さが変化される。
 このように固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定のまま四肢部(または、キャラクタ全体)が大きくなる場合において、先端部の到達範囲が広くなるような場合には、併せて図4(a)に示す中間部の可動範囲が定義された格子間の間隔を大きくするようにデータの補正を行う(四肢部が小さくなる場合は、格子間の間隔を小さくするようにデータの補正を行う)。例えば、プレイヤキャラクタの大きさが2倍になって四肢部の長さも2倍になる場合には、ローカル座標が(1,0,2)である格子の点のローカル座標は、(2,0,4)に補正される。
 このような補正を行うことで、当初の大きさではプレイヤキャラクタの四肢部の位置(先端部及び中間部)を全く決定しないまま、先にプレイヤキャラクタを拡大・縮小させるなど四肢部の長さを変化させる。そして、四肢部の長さが変化させられたプレイヤキャラクタについて、四肢の先端部の位置を決定する(決定される各先端部の位置は、障害物に衝突したりして存在し得ない位置とはならない)。その後に、上記の補正されたデータを用いて、四肢の中間部の位置を決定する。
 なお、四肢部の長さが変化することで、先端部の所定の位置における中間部の可動範囲が変化する場合に、その中間部位置が可動範囲外に存在しうるようになったときには、上記の実施の形態と同様に、その中間部の位置を最も近い可動範囲の位置に修正するようにしてもよい。
 この変形例では、補正されたデータを適用して、先に四肢部の長さを変化させて、先端部の位置、および第2関節の位置を決定するものとしている。四肢部の長さを変化させる前に先端部の位置、および中間部の位置を決定した(決定された位置は、肢体の長さが変化される前では存在できる位置)後にそのままプレイヤキャラクタを拡大させるなどして四肢部の長さを変化させるのでは、長さが変化された後の四肢部では障害物に衝突する位置などの先端部が存在できない位置に存在してしまうことがある。中間部が存在できない位置に存在してしまうこともある。このような場合は、改めて先端部の位置や中間部の位置を決定し直さなければならない。
 一方、この変形例のように格子間のデータを補正し、補正したデータを適用できるようにすることで、プレイヤキャラクタを拡大・縮小させるなど四肢部の長さの変化を確定させてから、変化された長さで四肢部のそれぞれにおける先端部及び中間部の位置を決定できる。このため、四肢部のそれぞれにおける先端部及び中間部の位置を何度も決定し直すことなく一度で決定できるようになり、処理負荷を小さくすることができる。また、格子間のデータの補正が必要となっても、その処理負荷は極小さくて済むので、先端部及び中間部の位置を一旦決めてから四肢部の長さを変化させる場合に生じ得る処理負荷に比べれば、大した問題とはならない。
 また、四肢部の長さを変化させる場合には、上記の実施の形態において説明した、図4(a)に示した各位置座標において定義される中間部の可動範囲のデータは、その長さの変化に応じた複数の可動範囲のデータを記憶しているものとして、四肢部の長さが変化する場合には、その長さの変化に応じて中間部の可動範囲を変化させるようにすることができる。
 これは、プレイヤキャラクタが全体的に拡大・縮小される場合のように、固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら四肢部の長さが変化されるものであっても、固定部から中間部、中間部から先端部のそれぞれの長さの比率が変わるものであってもよい。さらに、全体としては四肢部の長さが変わらなくても、固定部から中間部、中間部から先端部のそれぞれの長さの比率が変わる場合には、四肢部の長さが変化するものとして、この例に含められる。
 このようにすることで、ゲームの進行において、常に同じ形状のキャラクタのみを動作させるだけではなく、様々な形状に変化させることができるようになり、その変化後のキャラクタに対してもその四肢部の大きさ、形状に合わせた適正な動作のモデリングが可能となる。また、プレイヤキャラクタに自然な動作をさせながらも、様々な形状にプレイヤキャラクタを変化させることができるので、プレイヤはゲームとしての興趣が得られるようになる。例えば、プレイヤキャラクタの手だけが伸びて敵キャラクタを攻撃できるような場合に、手が伸びるほど肘の可動範囲が小さくなるような様子をモデリングできる。
 なお、四肢部の長さが、固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定の場合と変わる場合とでは、その四肢部自体の長さが同じであっても、その先端部の到達範囲が異なるものとしてもよい。これは、例えば、上記の実施の形態において図2のスケルトンモデルで示した右腕の手首の到達範囲であれば、固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定の場合には、全体としてその到達範囲が広くなるのに対し、比率が変わる場合には、スケルトンモデルの背面側の到達範囲が広くなるような到達範囲の変化があってもよい。
 この手法により、本発明において四肢部の動作をモデリングするキャラクタには、胴体に対して四肢部だけの大きさ、形状が変化するような仮想的なキャラクタ、例えば、極端に腕部の長いキャラクタを用いるものとすることができ、そのキャラクタの胴体と四肢部とに合わせた、適切な四肢部の先端部の到達範囲、および中間部の可動範囲を設定することができる。これによって、例えば、一部に極端な大きさの四肢部、あるいは四肢部の中でも固定部から中間部、中間部から先端部の比率が変化の前後で変わる四肢部を有する仮想的なキャラクタであっても、その四肢部の大きさ、形状に合わせた適正な動作のモデリングが可能となる。
 また、四肢部(または、キャラクタ全体)の大きさ、形状を変化させたときには、それが大きく変化する場合には、一般的に動作が鈍くなるものであり、結果として四肢部の先端部の到達範囲、および中間部の可動範囲が狭くなるように定義してもよい。一方、小さく変化する場合には、一般的に動作が素早くなるものであり、結果として四肢部の先端部の到達範囲、および中間部の可動範囲が広くなるように定義するようにしてもよい。
 上記の実施の形態では、四肢部の動作のモデリングについて、人型のプレイヤキャラクタの腕部や脚部といった、関節が1つの場合の四肢部の動作のモデリングを例に示したが、関節が2つ以上ある場合であっても、その関節角の形状の組合せとして中間部の可動範囲を定義し、上記の実施の形態を適用するものとしてもよい。
 上記の実施の形態では、右上腕部が負傷した場合について、先端部の到達範囲、および中間部の可動範囲が狭まる場合の例を1つ示したが、このように負傷した場合の先端部の到達範囲、および中間部の可動範囲の狭まる範囲は、負傷の程度に応じて変化するものであってもよい。例えば、負傷の程度が軽い場合の先端部の到達範囲、および中間部の可動範囲に対して、負傷の程度が重い場合の先端部の到達範囲、および中間部の可動範囲は、より狭められるように定義してもよい。こうすることで、プレイヤは自らが動作させるプレイヤキャラクタの動作に対する現実味を得られるものとなる。
 また、先端部の到達範囲、および中間部の可動範囲が変化するようなゲームの状況は、プレイヤキャラクタが負傷した場合に限らず、例えば、プレイヤキャラクタが武器や防具を装備できる場合において、その武器や防具の種類が変化するというものでもよい。さらに詳細に説明すると、重い武器や防具を装備する場合には、先端部の到達範囲、および中間部の可動範囲がより狭く定義され、反対に、軽い武器や防具を装備する場合には、先端部の到達範囲、および中間部の可動範囲が広く定義されるようにするなどである。
 また、同様に、プレイヤキャラクタに各種ステータスを設定している場合には、例えば、そのステータスの示す状態が、毒に犯されている状態や麻痺の状態であるとき、先端部の到達範囲、および中間部の可動範囲はより狭く定義されるものとしてもよい。また、ステータスにおいて、プレイヤキャラクタの気分や気持ちの状態を示す場合に、気分や気持ちが落ち込んでいる状態のときは、先端部の到達範囲、および中間部の可動範囲はより狭く定義され、反対に、気分や気持ちが上昇している状態のときは、先端部の到達範囲、および中間部の可動範囲が広く定義されるものとしてもよい。
 また、プレイヤキャラクタを動作させる仮想3次元空間における状況が、プレイヤキャラクタの行動に影響を及ぼすようなものである場合にも、先端部の到達範囲、および中間部の可動範囲が変化するようにしてもよい。例えば、仮想3次元空間における状況が、気温の寒い状況であるときには、先端部の到達範囲、および中間部の可動範囲はより狭く定義され、また、重力や、移動体に乗っているときに生じる荷重により先端部の到達範囲、および中間部の可動範囲はより狭く定義されるものとしてもよい。また、その仮想3次元空間における状況が水中である場合には、先端部の到達範囲、および中間部の可動範囲が変化されるものとしてもよい。
また、プレイヤキャラクタ自身の動作の状態において、先端部の到達範囲、および中間部の可動範囲が変化するようにしてもよい。例えば、プレイヤキャラクタが走っている状態のときの両腕の先端部の到達範囲、および中間部の可動範囲については、現実的にも、制限されるものであるため、その到達範囲、可動範囲が狭く定義されるものとしてもよい。また、例えば、両手首が縛られている場合に、一方の腕の動作は、他方の腕からの影響を受けることによって制限されることも考えられ、他方の腕の形状によっては、一方の中間部の可動範囲がより狭く定義されるものとしてもよい。
 また、現実的な四肢部の動作においても、勢いよく動かせば、通常よりもより広い範囲に亘って四肢部を動作させることができるため、上記の実施の形態におけるプレイヤキャラクタにおいても、前の動作の速度に応じて、先端部の到達範囲、および中間部の可動範囲がより広くなるものとしてもよい。
 上記の実施の形態では、右腕を例にして各四肢部に先端部の到達範囲、および中間部の可動範囲が定義されているものとしたが、これに限らず、四肢部においても両腕だけ、このような先端部の到達範囲、および中間部の可動範囲が定義されているものとしてもよい。
 上記の実施の形態では、右腕を例にして、その右腕において、先端部の到達範囲、およびその先端部の位置に応じた中間部の可動範囲を定義し、他の四肢部についてはその四肢部毎に到達範囲、可動範囲を定義しているものとしていたが、両腕の片方の腕において先端部の到達範囲、中間部の可動範囲のデータが定義されていれば、その反転したデータを他方の腕に適用するものとしてもよい。これによって、それぞれの独立した到達範囲、可動範囲のデータを保持する必要はなく、情報量を軽減することができるようになる。また、このような情報量の軽減は、左右対称な四肢部を有するもの、例えば、他のほ乳類やは虫類、或いは昆虫などにおいても同様に適用することができる。
 上記の実施の形態では、プレイヤキャラクタをモデルとして、そのモデリングの手順を示したが、ノンプレイヤキャラクタも同様に、その動作をモデリングするものとしてもよい。
 上記の実施の形態では、胴体に対して四肢部、例えば、腕部、脚部などの動作のモデリングについて説明した。これは、例えば、両腕の動作範囲は、肩関節の位置が同じであれば、胴体の動き(捻りなど)による影響があまり見られないからである。一方、人間の足部(膝下)の動作範囲は、空間上で同じ場所に位置していても、腿部(膝上)の動きによって相当な影響を受けるので、通常であれば、膝の位置を基準としたつま先の位置や足首の角度のモデリングに、上記の実施の形態をそのままに適用することはできない。
 もっとも、人間が椅子に座った姿勢だけを考えるならば腿部が固定されるので、足部の動作範囲に対して腿部の動きというものをほとんど無視することができる。そこで、例えば、人型のキャラクタが椅子に座っていることを前提とした上で足部の動作をモデリングする場合には、腿部を胴体、足部を胴体に結合される肢体と見立て、膝関節を上記の実施の形態における肩関節、つま先を上記の実施の形態における手首、足首を上記の実施の形態における肘といった具合に当て嵌め、上記の実施の形態と同様の手法によって、足部の動作をモデリングすることが可能となる。
 上記の実施の形態では、プレイヤの操作およびゲーム進行に応じて、プレイヤキャラクタの四肢部の動作をモデリングするものとしていたが、予め、プレイヤの操作およびゲーム進行に応じたプレイヤキャラクタの動作をモデリングし、そのモデリングした動作をプレイヤの操作、およびゲーム進行に応じて実行するものであってもよい。
 上記の実施の形態では、人型のプレイヤキャラクタの四肢部を例とした動作のモデリングを示したが、これに限らず、四肢部を有する、例えば、骨格を有する脊椎動物や、甲殻類など、動物全般をモデルとして動作のモデリングを行ってもよく、また、油圧ショベル、ロボットアームのような、無生物に対しても適用できる。
 上記の実施の形態では、本発明にかかるキャラクタの動作に係るモデリングをビデオゲームでする場合に適用し、各プレイヤがゲームを進めるために用いる端末装置としてゲーム専用機であるビデオゲーム装置100を適用していた。これに対して、本発明は、3次元コンピュータグラフィックスによるモデリングであれば、ビデオゲーム以外でキャラクタの動作に係るモデリングをする場合にも適用することができる。
 また、本発明にかかる手法でモデリングの処理を行う装置は、ビデオゲーム装置100と同様の構成要素を備えるものであれば、汎用のパーソナルコンピュータなどを適用してもよい。3次元コンピュータグラフィックスを処理できる能力があれば、表示装置121及びサウンド出力装置125を装置本体101と同一の筐体内に納めた構成を有する携帯ゲーム機(アプリケーションの実行機能を有する携帯電話機を含む)を適用するものとしてもよい。
 記録媒体131としては、DVD-ROMやCD-ROMの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをDVD/CD-ROMドライブ113の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体131に格納して提供するのではなく、HDD107に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
 上記の実施の形態では、ビデオゲーム装置100のプログラム及びデータは、記録媒体131に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク151上に存在するサーバ装置が有する固定ディスク装置に格納しておき、装置本体101にネットワーク151を介して配信するものとしてもよい。ビデオゲーム装置100において、通信インターフェイス115がサーバ装置から受信したプログラム及びデータは、HDD107に保存し、実行時にRAM105にロードすることができる。
 100 ビデオゲーム装置
 101 ビデオゲーム装置本体
 103制御部
 105 RAM
 107 HDD
 109 サウンド処理部
 111 グラフィック処理部
 112 フレームメモリ
 113 DVD/CD-ROMドライブ
 115 通信インターフェイス
 117 インターフェイス部
 119 内部バス
 121 表示装置
 122 表示画面
 125 サウンド出力装置
 131 記録媒体
 151 ネットワーク
 161 入力部
 162 メモリーカード

Claims (8)

  1. 第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、
    該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をモデリングする動作モデリング装置であって、前記第1関節の位置を基準として、前記肢体の前記第2関節よりも先にある特定部位の位置を決定する特定部位位置決定手段と、
    前記特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データ記憶手段と、
    前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記角度範囲データ記憶手段に記憶された角度範囲データに基づいて、前記第2関節の位置を決定する第2関節位置決定手段と
    を備えることを特徴とする動作モデリング装置。
  2. 前記キャラクタは、ゲームにおいて登場するキャラクタであり、
    前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、
    前記角度範囲データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記第2関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、
    前記第2関節位置決定手段は、前記角度範囲データ記憶手段に記憶された複数の角度範囲データのうちの前記ゲーム状況判定手段により判定された状況に対応した角度範囲データに基づいて、前記第2関節の位置を決定する
    ことを特徴とする請求項1に記載の動作モデリング装置。
  3. 前記特定部位を前記第1関節からの相対位置として位置させることができる該特定部位の可動域を定義した可動域データを記憶する可動域データ記憶手段をさらに備え、
    前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された可動域データに基づいて、前記特定部位の位置を決定し、
    前記角度範囲データ記憶手段は、前記可動域データ記憶手段に記憶された可動域の範囲内の位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶する
    ことを特徴とする請求項1または2に記載の動作モデリング装置。
  4. 前記キャラクタは、ゲームにおいて登場するキャラクタであり、
    前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、
    前記可動域データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、
    前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記ゲーム状況判定手段により判定された状況に対応した可動域データに基づいて、前記特定部位の位置を決定する
    ことを特徴とする請求項3に記載の動作モデリング装置。
  5. 前記第1関節から前記第2関節までの長さと前記第2関節から前記特定部位までの長さとの比率を維持しつつ、前記肢体の長さを変化させる肢体長変化手段と、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記角度範囲データ記憶手段に前記角度範囲データに対応付けて記憶されている前記特定部位の前記第1関節からの相対位置を補正する角度範囲データ補正手段とをさらに備え、
    前記特定部位位置決定手段は、前記第1関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、
    前記第2関節位置決定手段は、前記角度範囲データ補正手段により前記特定部位の前記第1関節からの相対位置が補正された角度範囲データに基づいて、前記第2関節の位置を決定する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の動作モデリング装置。
  6. 前記肢体の長さを変化させる肢体長変化手段をさらに備え、
    前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第2関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、
    前記特定部位位置決定手段は、前記第1関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、
    前記第2関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第2関節の位置を決定する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の動作モデリング装置。
  7. 第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置においてモデリングする動作モデリング方法であって、
    前記肢体の前記第2関節よりも先にある特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させるステップと、
    前記第1関節の位置を基準として、前記コンピュータ装置が備える処理装置が所定の演算により前記特定部位の位置を決定するステップと、
    前記決定された前記特定部位の位置に応じて前記コンピュータ装置が備える処理装置が前記記憶装置に記憶された角度範囲データを参照して、前記第2関節の位置を決定するステップと
    を備えることを特徴とする動作モデリング方法。
  8. 第1関節を介して胴体に結合されるとともに中途に第2関節が配された肢体であって、該第1関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置にモデリングさせるためのプログラムであって、
    前記肢体の前記第2関節よりも先にある特定部位の前記第1関節からの相対位置に対して、前記第2関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させる角度範囲データ記憶手段、
    前記第1関節の位置を基準として、前記特定部位の位置を決定する特定部位位置決定手
    段、及び、
    前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記記憶装置に予め記憶された角度範囲データに基づいて、前記第2関節の位置を決定する第2関節位置決定手段
    として前記コンピュータ装置を機能させるためのプログラム。
PCT/JP2012/053291 2011-02-16 2012-02-13 動作モデリング装置及び方法、並びにプログラム WO2012111622A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/982,850 US9208613B2 (en) 2011-02-16 2012-02-13 Action modeling device, method, and program
EP12747011.0A EP2677502A4 (en) 2011-02-16 2012-02-13 Movement modeling device, method, and program
CN201280007496.4A CN103403767B (zh) 2011-02-16 2012-02-13 动作建模装置及方法、以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-031341 2011-02-16
JP2011031341A JP5118220B2 (ja) 2011-02-16 2011-02-16 動作モデリング装置及び方法、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2012111622A1 true WO2012111622A1 (ja) 2012-08-23

Family

ID=46672541

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/053291 WO2012111622A1 (ja) 2011-02-16 2012-02-13 動作モデリング装置及び方法、並びにプログラム

Country Status (5)

Country Link
US (1) US9208613B2 (ja)
EP (1) EP2677502A4 (ja)
JP (1) JP5118220B2 (ja)
CN (1) CN103403767B (ja)
WO (1) WO2012111622A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113129414A (zh) * 2021-04-12 2021-07-16 北京爱奇艺科技有限公司 手部动作修复方法、装置、设备及存储介质
JP7475618B1 (ja) 2023-12-04 2024-04-30 株式会社セルシス 骨格モデルの姿勢決定方法及びプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014001168B4 (de) * 2014-01-31 2019-03-14 Abb Schweiz Ag Robotersteuerung
KR101515847B1 (ko) 2014-08-06 2015-05-04 스타십벤딩머신 주식회사 Nui 장치에 의해 수집된 동작정보의 보정 방법 및 장치
CN108961399B (zh) * 2018-09-04 2022-05-17 福建师范大学 一种完整四肢骸骨活体关节活动还原方法
WO2020070856A1 (ja) * 2018-10-04 2020-04-09 三菱電機株式会社 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
US10902618B2 (en) * 2019-06-14 2021-01-26 Electronic Arts Inc. Universal body movement translation and character rendering system
JP7293036B2 (ja) * 2019-08-09 2023-06-19 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム及び情報処理方法
US11504625B2 (en) 2020-02-14 2022-11-22 Electronic Arts Inc. Color blindness diagnostic system
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US11232621B2 (en) 2020-04-06 2022-01-25 Electronic Arts Inc. Enhanced animation generation based on conditional modeling
JP7233399B2 (ja) * 2020-06-23 2023-03-06 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US11887232B2 (en) 2021-06-10 2024-01-30 Electronic Arts Inc. Enhanced system for generation of facial models and animation
WO2024075512A1 (ja) * 2022-10-03 2024-04-11 株式会社Nttドコモ アバター画像生成装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251122A (ja) * 1993-03-01 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 歩行動作生成処理方法
JPH0863617A (ja) * 1994-08-24 1996-03-08 Fujitsu Ltd Cgモデルの姿勢処理装置
JPH09231395A (ja) * 1996-02-22 1997-09-05 Matsushita Electric Ind Co Ltd 歩行動作データ修正方法
JPH10208072A (ja) * 1996-11-19 1998-08-07 Namco Ltd スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体
JP2006323804A (ja) * 2005-04-19 2006-11-30 Matsushita Electric Works Ltd 商品提案システム、商品販売システム、商品設計支援システム
JP2010170279A (ja) 2009-01-21 2010-08-05 Namco Bandai Games Inc 骨格動作制御システム、プログラムおよび情報記憶媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163617A (ja) * 1994-11-30 1996-06-21 Matsushita Electric Ind Co Ltd 多言語対応選択呼出受信機
US6320988B1 (en) 1996-11-19 2001-11-20 Namco Ltd. Skeleton model shape transformation method, image synthesizing apparatus, and information storage medium
US6057859A (en) * 1997-03-31 2000-05-02 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
US6535215B1 (en) * 1999-08-06 2003-03-18 Vcom3D, Incorporated Method for animating 3-D computer generated characters
JP3363136B2 (ja) * 2000-10-31 2003-01-08 コナミ株式会社 動画像生成方法、装置、動画像生成プログラムを記録した可読記録媒体及びビデオゲーム装置
JP2003256873A (ja) * 2002-03-05 2003-09-12 Matsushita Electric Works Ltd 商品擬似体験システム
JP3926307B2 (ja) 2003-08-06 2007-06-06 株式会社スクウェア・エニックス 3次元画像描画装置及び方法、プログラム、並びに記録媒体
JP4387429B2 (ja) 2007-07-25 2009-12-16 株式会社スクウェア・エニックス 画像生成装置及び方法、並びにプログラム及び記録媒体
JP4382117B2 (ja) 2007-07-25 2009-12-09 株式会社スクウェア・エニックス 画像生成装置及び方法、並びにプログラム及び記録媒体
KR101483713B1 (ko) * 2008-06-30 2015-01-16 삼성전자 주식회사 모션 캡쳐 장치 및 모션 캡쳐 방법
US8941642B2 (en) 2008-10-17 2015-01-27 Kabushiki Kaisha Square Enix System for the creation and editing of three dimensional models
US20110267357A1 (en) * 2010-04-29 2011-11-03 Rennuit Antoine Felix Robert Animating a virtual object within a virtual world
EP2544151B1 (en) 2010-05-10 2014-05-21 Square Enix Co., Ltd. Image processing device, image processing method, and image processing program
JP5227389B2 (ja) 2010-12-07 2013-07-03 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲーム装置、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251122A (ja) * 1993-03-01 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> 歩行動作生成処理方法
JPH0863617A (ja) * 1994-08-24 1996-03-08 Fujitsu Ltd Cgモデルの姿勢処理装置
JPH09231395A (ja) * 1996-02-22 1997-09-05 Matsushita Electric Ind Co Ltd 歩行動作データ修正方法
JPH10208072A (ja) * 1996-11-19 1998-08-07 Namco Ltd スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体
JP2006323804A (ja) * 2005-04-19 2006-11-30 Matsushita Electric Works Ltd 商品提案システム、商品販売システム、商品設計支援システム
JP2010170279A (ja) 2009-01-21 2010-08-05 Namco Bandai Games Inc 骨格動作制御システム、プログラムおよび情報記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2677502A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113129414A (zh) * 2021-04-12 2021-07-16 北京爱奇艺科技有限公司 手部动作修复方法、装置、设备及存储介质
CN113129414B (zh) * 2021-04-12 2024-04-12 北京爱奇艺科技有限公司 手部动作修复方法、装置、设备及存储介质
JP7475618B1 (ja) 2023-12-04 2024-04-30 株式会社セルシス 骨格モデルの姿勢決定方法及びプログラム

Also Published As

Publication number Publication date
JP2012208536A (ja) 2012-10-25
EP2677502A4 (en) 2017-08-23
US20130307850A1 (en) 2013-11-21
JP5118220B2 (ja) 2013-01-16
CN103403767B (zh) 2017-02-15
EP2677502A1 (en) 2013-12-25
US9208613B2 (en) 2015-12-08
CN103403767A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
JP5118220B2 (ja) 動作モデリング装置及び方法、並びにプログラム
JPH10188028A (ja) スケルトンによる動画像生成装置、該動画像を生成する方法、並びに該動画像を生成するプログラムを記憶した媒体
TW201215435A (en) Visual target tracking
JP7078596B2 (ja) 画像生成プログラム、画像生成処理装置及び画像生成方法
JP5785414B2 (ja) プログラム、および、当該プログラムを記録したプログラム記録部を備えている画像処理装置
JP5767681B2 (ja) ゲームプログラムおよびゲームシステム
US20170221248A1 (en) Animating a virtual object in a virtual world
JP4047575B2 (ja) 情報処理装置における表示物体生成方法、これを実行制御するプログラム及びこのプログラムを格納した記録媒体
JP4199764B2 (ja) スキンの制御点の位置の計算装置、計算方法、ならびに、プログラム
CN114359469B (zh) 生成主控对象投影的方法、装置、设备及介质
JP5491971B2 (ja) プログラム、当該プログラムを記録した記録媒体、および、当該プログラムを実行するコンピュータ
JP7022107B2 (ja) 画像生成プログラム、画像生成処理装置及び画像生成方法
JP5843679B2 (ja) 画像再生プログラム及びゲームシステム
JP2018128851A (ja) プログラム、オブジェクト配置システム及びオブジェクト配置方法
JP2011095935A (ja) プログラム、情報記憶媒体及び画像生成システム
JP6310516B2 (ja) ゲームプログラム及びゲームシステム
JP4450047B2 (ja) 情報処理装置における表示物体生成方法、これを実行制御するプログラム及びこのプログラムを格納した記録媒体
JP5676030B2 (ja) プログラム、および、当該プログラムを実行するゲーム装置
JP2015212965A (ja) プログラム、および、当該プログラムを実行するコンピュータを備えた画像処理装置
JP2021043611A (ja) 処理システム、情報処理装置、プログラム及び処理方法
JP5378027B2 (ja) ゲームプログラム、記憶媒体およびコンピュータ装置
JP2001052199A (ja) 画像生成システム及び情報記憶媒体
JP4287479B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP2001052201A (ja) 画像生成システム及び情報記憶媒体
JP6267295B1 (ja) ゲームプログラムおよびゲームシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12747011

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012747011

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13982850

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE