JP3686920B2 - 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置 - Google Patents

3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置 Download PDF

Info

Publication number
JP3686920B2
JP3686920B2 JP2002146638A JP2002146638A JP3686920B2 JP 3686920 B2 JP3686920 B2 JP 3686920B2 JP 2002146638 A JP2002146638 A JP 2002146638A JP 2002146638 A JP2002146638 A JP 2002146638A JP 3686920 B2 JP3686920 B2 JP 3686920B2
Authority
JP
Japan
Prior art keywords
display area
position coordinates
position coordinate
snow
video game
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.)
Expired - Fee Related
Application number
JP2002146638A
Other languages
English (en)
Other versions
JP2003337958A (ja
Inventor
誠 東山
賢太朗 永山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Corp
Original Assignee
Konami Corp
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
Priority to JP2002146638A priority Critical patent/JP3686920B2/ja
Application filed by Konami Corp filed Critical Konami Corp
Priority to PCT/JP2003/006170 priority patent/WO2003098554A1/en
Priority to EP03725820A priority patent/EP1506530B1/en
Priority to CNA038115840A priority patent/CN1656518A/zh
Priority to AU2003228105A priority patent/AU2003228105A1/en
Priority to DE60323968T priority patent/DE60323968D1/de
Priority to KR1020047018888A priority patent/KR100650228B1/ko
Priority to US10/514,822 priority patent/US20050181871A1/en
Publication of JP2003337958A publication Critical patent/JP2003337958A/ja
Application granted granted Critical
Publication of JP3686920B2 publication Critical patent/JP3686920B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • 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
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • 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
    • 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/663Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8041Skating using skis, skates or board

Description

【0001】
【発明の属する技術分野】
本発明は、仮想3次元空間内を移動する複数のオブジェクトを表示するための3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置に関するものである。
【0002】
【従来の技術】
近年、キャラクタ等のオブジェクトをモニタ画面内に作成される仮想3次元空間において表示するようにした種々のビデオゲームが普及している。かかるビデオゲームとして、スキー、サーフィン、アイススケート、スノーボード等の各種スポーツを題材としたものが知られている。このようなスポーツを題材にしたビデオゲームにおいては、リアル感を出すために各スポーツ特有の状況を可能な限り再現することが求められ、ユーザの欲求を満足させる必要がある。例えば、スキー及びスノーボードを題材としたビデオゲームにおいては競技中の降雪状況が再現される。
【0003】
図6は、降雪状況を再現するための従来の3次元画像処理の一例を示すフローチャートである。図6に示す従来の3次元画像処理は、分岐処理を含む種々の処理を実行可能な演算処理装置と、描画処理専用に設けられた描画処理装置とを備えるビデオゲーム装置を用いて行われる処理である。
【0004】
ステップS101において、演算処理装置は雪粒子のパラメータの初期化を行う。ステップS102において、演算処理装置は、ワールド座標系からカメラ座標系に変換するためのカメラ行列を算出する。なお、このカメラ行列を算出する計算ルーチンはビデオゲーム装置の既存のライブラリを用いることで算出することができる。
【0005】
ステップS103において、演算処理装置はループカウンタiに1を代入する。ステップS104において、演算処理装置は、雪粒子の初期位置座標に移動速度と外力とを加えることによって移動後の雪粒子の新しい位置座標を算出する。ステップS105において、演算処理装置は、移動後の雪粒子の位置座標をワールド座標系からカメラ座標系に変換する。ステップS106において、演算処理装置は、雪粒子を表示可能な表示領域内に移動後の雪粒子の位置座標があるか否かを判断し、移動後の雪粒子の位置座標が表示領域の範囲内にある場合(ステップS106でYES)、ステップS108に移行し、移動後の雪粒子の位置座標が表示領域の範囲内にない場合(ステップS106でNO)、ステップS107に移行する。
【0006】
ステップS107において、演算処理装置は、移動後の雪粒子の位置座標が表示領域外にあると判断された場合、雪粒子の情報を再構築する。ステップS108において、描画処理装置は雪粒子の描画処理を行う。ステップS109において、演算処理装置は、ループカウンタiを1だけインクリメントする。
【0007】
ステップS110において、演算処理装置は、ループカウンタiがあらかじめ設定された雪粒子の数以下であるか否かを判断する。すなわち、ステップS104からステップS109までの処理を雪粒子の数の回数だけ繰り返すことによって全ての雪粒子を描画する。ここで、ループカウンタiが雪粒子の数以下である判断されれば(ステップS110でYES)、まだ描画されていない雪粒子があるためステップS104に戻り、ループカウンタiが雪粒子の数より大きいと判断されれば(ステップS110でNO)、全ての雪粒子が描画されたためステップS111に移行する。ステップS111において、演算処理装置は雪粒子のパラメータを更新する。ステップS112において、演算処理装置はゲーム進行処理を行う。そして、ゲーム進行処理が行われた後、ステップS102に戻ることとなる。
【0008】
図7は、従来の3次元画像処理で雪粒子を描画した場合に表示されるゲーム画面の一例を示す画面図である。図7に示すゲーム画面400には、ユーザによって操作されるスノーボーダーを模したキャラクタ401と、キャラクタ401が滑走するコース402と、降雪状況を再現するための雪粒子403とが表示されている。上記のように3次元画像処理が行われることによって、雪粒子403がゲーム画面400に表示され、降雪状況が再現される。
【0009】
【発明が解決しようとする課題】
上記図6に示す従来の3次元画像処理のフローチャートにおけるステップS108の処理は、描画処理専用の描画処理装置によって行われる処理であり、その他のステップS101〜S107及びステップS109〜S112の処理は、分岐処理を含む種々の処理を実行可能な演算処理装置によって行われる処理である。そのため、上記従来の3次元画像処理で降雪状況を再現する場合、分岐処理等の複雑な演算を行うため描画処理に時間がかかるとともに、演算処理装置の処理に要する負担が大きいため、図7のゲーム画面400に示すように、再現することができる雪の量も少なく限られている。特に、多量の雪が降っている状況を再現する場合、従来の3次元画像処理では表示することができる雪粒子の数に限りがあり、リアル感のある降雪状況の再現が困難である。そのため、従来のビデオゲームにおける降雪状況の再現では、ユーザに充分なリアル感を与えることができず、興趣に欠けるものであった。
【0010】
本発明は、上記の問題を解決するためになされたもので、ビデオゲーム装置の演算処理装置の処理に要する負担を軽減し、多数のオブジェクトを描画することができる3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置を提供することを目的とするものである。
【0011】
【課題を解決するための手段】
請求項1に記載の本発明は、仮想3次元空間内を移動する複数のオブジェクトを描画するための3次元画像処理プログラムであって、
前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出手段と、
算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更手段と、
前記表示領域内の前記オブジェクトを描画する描画手段としてビデオゲーム装置を機能させ
前記表示領域は直方体形状であり、
前記位置座標変更手段は、前記表示領域の各辺の少なくとも一辺の長さを減算することによって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
前記オブジェクトの位置座標は整数値によって表され、
前記位置座標変更手段は、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とする。
【0012】
請求項1に記載の本発明に従えば、仮想3次元空間内を移動する複数のオブジェクトを描画するための3次元画像処理プログラムは、仮想3次元空間内におけるオブジェクトの移動後の位置座標を算出する位置座標算出手段と、位置座標算出手段によって算出された移動後のオブジェクトの位置座標が所定の表示領域内に納まるように当該オブジェクトの位置座標を変更する位置座標変更手段と、位置座標変更手段によって表示領域内に納まるように変更されたオブジェクトを描画する描画手段としてビデオゲーム装置を機能させる。
【0013】
すなわち、仮想3次元空間内を移動するオブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、位置座標が表示領域内に納まるように変更されたオブジェクトが描画される。
【0014】
したがって、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0015】
また、オブジェクトが表示可能な表示領域は直方体形状であり、位置座標変更手段は、直方体形状の表示領域を構成する各辺の少なくとも一辺の長さを減算することによってオブジェクトの位置座標を表示領域内に納めるように変更する。
【0016】
すなわち、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0017】
また、オブジェクトの位置座標は整数値によって表され、位置座標変更手段は、オブジェクトの位置座標の下位ビットを取得するマスク処理によってオブジェクトを表示領域内に納める。
【0018】
すなわち、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【0019】
請求項に記載の本発明は、形状が異なる複数のテクスチャを記憶するテクスチャ記憶手段としてビデオゲーム装置をさらに機能させ、
前記描画手段は、前記テクスチャに基づいて前記オブジェクトを描画することを特徴とする。
【0020】
請求項に記載の本発明に従えば、形状が異なる複数のテクスチャを記憶するテクスチャ記憶手段としてビデオゲーム装置をさらに機能させ、描画手段は、テクスチャに基づいてオブジェクトを描画する。
【0021】
すなわち、テクスチャ記憶手段に記憶されているオブジェクトのテクスチャに基づいてオブジェクトが描画されるため、形状が異なる複数種類のテクスチャを記憶しておくことで、1つのオブジェクトを基準に種々のオブジェクトを表現することができ、ビデオゲームを多様化させることができる。
【0022】
請求項に記載の本発明は、前記テクスチャは雪を表すテクスチャを含むことを特徴とする。
【0023】
請求項に記載の本発明に従えば、オブジェクトを表すテクスチャは雪を表すテクスチャを含む。
【0024】
すなわち、雪を表すテクスチャでオブジェクトを描画することで降雪状況をビデオゲームで再現することができ、さらに、形状が異なる複数の雪のテクスチャを記憶しているため、このテクスチャを変えることで様々な形状の雪を表現することができ、同じ処理で多様な降雪状況を再現することができるのでリアル感が増すこととなる。
【0025】
請求項に記載の本発明は、前記ビデオゲーム装置は、分岐処理を含む種々の処理を実行可能な演算処理装置と、描画処理装置とを備え、
前記描画処理装置を前記位置座標算出手段及び前記位置座標変更手段として機能させることを特徴とする。
【0026】
請求項に記載の本発明に従えば、ビデオゲーム装置は、分岐処理を含む種々の処理を実行可能な演算処理装置と、描画処理装置とを備え、描画処理装置を位置座標算出手段及び位置座標変更手段として機能させる。
【0027】
画処理装置は、高速に演算処理を行うために分岐処理等の複雑な演算処理機能を省いており、単純な演算処理機能のみを有している。すなわち、オブジェクトの移動後の仮想3次元空間内における位置座標を算出する処理と、算出された移動後のオブジェクトの位置座標を、オブジェクトが表示される表示領域内に納めるように変更する処理とは分岐処理がないため、分岐処理ができる演算処理装置ではなく、分岐処理はできないが演算処理装置より高速に演算を行うことができる描画処理装置によって演算処理を実行することができ、演算処理装置の処理に要する負担を軽減することができる。
【0028】
請求項に記載の本発明は、仮想3次元空間内を移動する複数のオブジェクトを描画する3次元画像処理方法であって、
ビデオゲーム装置が、前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出ステップと、
ビデオゲーム装置が、算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更ステップと、
ビデオゲーム装置が、前記表示領域内の前記オブジェクトを描画する描画ステップとを含み、
前記表示領域は直方体形状であり、
前記位置座標変更ステップは、前記表示領域の各辺の少なくとも一辺の長さを減算することによって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
前記オブジェクトの位置座標は整数値によって表され、
前記位置座標変更ステップは、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とする。
【0029】
請求項に記載の本発明に従えば、仮想3次元空間内を移動する複数のオブジェクトを描画する3次元画像処理方法は、ビデオゲーム装置が、オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出ステップと、ビデオゲーム装置が、位置座標算出ステップにおいて算出された移動後のオブジェクトの位置座標が所定の表示領域内に納まるように当該オブジェクトの位置座標を変更する位置座標変更ステップと、ビデオゲーム装置が、位置座標変更ステップにおいて表示領域内に納まるように変更されたオブジェクトを描画する描画ステップとを含む。
【0030】
すなわち、仮想3次元空間内を移動するオブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、位置座標が表示領域内に納まるように変更されたオブジェクトが描画される。
【0031】
したがって、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0032】
また、オブジェクトが表示可能な表示領域は直方体形状であり、位置座標変更手段は、直方体形状の表示領域を構成する各辺の少なくとも一辺の長さを減算することによってオブジェクトの位置座標を表示領域内に納めるように変更する。
【0033】
すなわち、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0034】
また、オブジェクトの位置座標は整数値によって表され、位置座標変更手段は、オブジェクトの位置座標の下位ビットを取得するマスク処理によってオブジェクトを表示領域内に納める。
【0035】
すなわち、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【0036】
請求項に記載の本発明は、仮想3次元空間内を移動する複数のオブジェクトを描画するビデオゲーム装置であって、
前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出手段と、
算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更手段と、
前記表示領域内の前記オブジェクトを描画する描画手段とを備え
前記表示領域は直方体形状であり、
前記位置座標変更手段は、前記表示領域の各辺の少なくとも一辺の長さを減算することによって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
前記オブジェクトの位置座標は整数値によって表され、
前記位置座標変更手段は、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とする。
【0037】
請求項に記載の本発明に従えば、仮想3次元空間内を移動する複数のオブジェクトを描画するビデオゲーム装置は、オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出手段と、位置座標算出手段によって算出された移動後のオブジェクトの位置座標が所定の表示領域内に納まるように当該オブジェクトの位置座標を変更する位置座標変更手段と、位置座標変更手段によって表示領域内に納まるように変更されたオブジェクトを描画する描画手段とを備える。
【0038】
すなわち、仮想3次元空間内を移動するオブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、位置座標が表示領域内に納まるように変更されたオブジェクトが描画される。
【0039】
したがって、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0040】
また、オブジェクトが表示可能な表示領域は直方体形状であり、位置座標変更手段は、直方体形状の表示領域を構成する各辺の少なくとも一辺の長さを減算することによってオブジェクトの位置座標を表示領域内に納めるように変更する。
【0041】
すなわち、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0042】
また、オブジェクトの位置座標は整数値によって表され、位置座標変更手段は、オブジェクトの位置座標の下位ビットを取得するマスク処理によってオブジェクトを表示領域内に納める。
【0043】
すなわち、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【0044】
【発明の実施の形態】
以下、本発明の一実施の形態によるビデオゲーム装置について図面を参照しながら説明する。
【0045】
図1は本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。なお、以下の説明では、ビデオゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明するが、本発明はこの例に特に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【0046】
図1に示すビデオゲーム装置は家庭用ゲーム機100及び家庭用テレビジョン200を備える。家庭用ゲーム機100には、ビデオゲームプログラム及びゲームデータが記録されたコンピュータ読み出し可能な記録媒体300が装填され、ビデオゲームプログラム及びゲームデータが適宜読み出されてゲームが実行される。
【0047】
家庭用ゲーム機100は、CPU(Central Processing Unit)1、バスライン2、グラフィックスデータ生成プロセッサ3、インターフェース回路(I/F)4、メインメモリ5、ROM(Read Only Memory)6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース回路13、バッファ14〜16、記録媒体ドライブ17、メモリ18及びコントローラ19を含む。家庭用テレビジョン200はテレビジョンモニタ21、増幅回路22及びスピーカ23を含む。
【0048】
CPU1はバスライン2およびグラフィックスデータ生成プロセッサ3に接続されている。バスライン2はアドレスバス、データバス及びコントロールバス等を含み、CPU1、インターフェース回路4、メインメモリ5、ROM6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12及びインターフェース回路13を相互に接続している。
【0049】
描画プロセッサ10はバッファ14に接続される。音声プロセッサ11はバッファ15及び増幅回路22に接続される。デコーダ12はバッファ16及び記録媒体ドライブ17に接続される。インターフェース回路13はメモリ18及びコントローラ19に接続される。
【0050】
家庭用テレビジョン200のテレビジョンモニタ21は描画プロセッサ10に接続される。スピーカ23は増幅回路22に接続される。なお、業務用ビデオゲーム装置の場合、テレビジョンモニタ21、増幅回路22及びスピーカ23は、家庭用ゲーム機100を構成する各ブロックとともに1つの筺体に収納される場合がある。
【0051】
また、ビデオゲーム装置がパーソナルコンピュータやワークステーション等を核として構成されている場合、テレビジョンモニタ21等はコンピュータ用のディスプレイに対応する。また、伸張回路7、描画プロセッサ10及び音声プロセッサ11等は、それぞれ記録媒体300に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース回路13は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ14〜16はそれぞれメインメモリ5又は拡張メモリの各記憶エリアに対応する。
【0052】
次に、図1に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ3はCPU1のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ3は座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
【0053】
グラフィックスデータ生成プロセッサ3が行う主な処理としては、CPU1から供給される画像データの2次元又は仮想3次元空間内における各頂点の座標データ、移動量データ、回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてCPU1に返す処理、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【0054】
インターフェース回路4は周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ5はRAM(Random Access Memory)等で構成される。ROM6にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。このプログラムはパーソナルコンピュータのBIOS(Basic Input Output System)に相当する。
【0055】
伸張回路7は動画に対するMPEG(Moving Picture Experts Group)規格や静止画に対するJPEG(Joint Photographic Experts Group)規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理はデコード処理(VLC:Variable Length Codeによってエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、イントラ画像の復元処理等を含む。
【0056】
描画プロセッサ10は所定時間T(例えば、1フレームでT=1/60秒)ごとにCPU1が発行する描画命令に基づいてバッファ14に対する描画処理を行う。
【0057】
バッファ14は例えばRAMで構成され、表示エリア(フレームバッファ)と非表示エリアとに分けられる。表示エリアはテレビジョンモニタ21の表示面上に表示するデータの展開エリアで構成される。非表示エリアはスケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
【0058】
ここで、テクスチャデータは2次元の画像データである。カラーパレットデータはテクスチャデータ等の色を指定するためのデータである。CPU1は、これらのデータを記録媒体300から一度に又はゲームの進行状況に応じて複数回に分けて、予めバッファ14の非表示エリアに記録する。
【0059】
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の2次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の2次元仮想図形であり、例えば、三角形や四角形が用いられる。
【0060】
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ14の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ14上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【0061】
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ3がCPU1からの仮想3次元空間上におけるポリゴン頂点座標データを移動量データ及び回転量データに基づいて座標変換することによって2次元上でのポリゴン頂点座標データに置換されたものである。輝度データはCPU1からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離に基づいてグラフィックスデータ生成プロセッサ3によって決定される。
【0062】
ポリゴン頂点アドレスデータはバッファ14の表示エリア上のアドレスを示す。描画プロセッサ10は3個のポリゴン頂点アドレスデータで示されるバッファ14の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【0063】
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。CPU1は各ポリゴンの仮想3次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ14に記憶する。そして、後述するコントローラ19の操作によって、テレビジョンモニタ21の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている視点位置を変えるときに、以下の処理が行われる。
【0064】
すなわち、CPU1はグラフィックスデータ生成プロセッサ3に対してバッファ14の非表示エリア内に保持している各ポリゴンの頂点の3次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
【0065】
グラフィックスデータ生成プロセッサ3は各ポリゴンの頂点の3次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の3次元座標データを順次求める。
【0066】
このようにして求められた各ポリゴンの3次元座標データのうち水平及び垂直方向の座標データは、バッファ14の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ10に供給される。
【0067】
描画プロセッサ10は3個のポリゴン頂点アドレスデータによって示されるバッファ14の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、テレビジョンモニタ21の表示画面上には、多数のポリゴンにテクスチャの貼り付けられた物体が表示される。
【0068】
通常の2次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ14上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、CPU1からの2次元平面上における頂点座標データをCPU1からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ3が座標変換することによって得られる。
【0069】
音声プロセッサ11は記録媒体300から読み出されたADPCM(Adaptive Differential Pulse Code Modulation)データをバッファ15に記憶させ、バッファ15に記憶されたADPCMデータが音源となる。
【0070】
また、音声プロセッサ11は、例えば、周波数44.1kHzのクロック信号に基づき、バッファ15からADPCMデータを読み出す。音声プロセッサ11は、読み出したADPCMデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加等の処理を施す。
【0071】
記録媒体300から読み出される音声データがCD−DA(Compact Disk Digital Audio)等のPCM(Pulse Code Modulation)データの場合、音声プロセッサ11はこの音声データをADPCMデータに変換する。また、PCMデータに対するプログラムによる処理は、メインメモリ5上において直接行われる。メインメモリ5上において処理されたPCMデータは、音声プロセッサ11に供給されてADPCMデータに変換される。その後、上述した各種処理が施され、音声がスピーカ23から出力される。
【0072】
記録媒体ドライブ17としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体300としては、DVD−ROM、CD−ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
【0073】
記録媒体ドライブ17は記録媒体300から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ12に供給する。デコーダ12は記録媒体ドライブ17からの再生したデータに対してECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ5又は音声プロセッサ11に供給する。
【0074】
メモリ18としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するため等に用いられる。
【0075】
コントローラ19はユーザが種々の操作指令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号をCPU1に送出する。コントローラ19には、第1ボタン19a、第2ボタン19b、第3ボタン19c、第4ボタン19d、上方向キー19U、下方向キー19D、左方向キー19L、右方向キー19R、L1ボタン19L1、L2ボタン19L2、R1ボタン19R1、R2ボタン19R2、スタートボタン19e、セレクトボタン19f、左スティック19SL及び右スティック19SRが設けられている。
【0076】
上方向キー19U、下方向キー19D、左方向キー19L及び右方向キー19Rは、例えば、キャラクタやカーソルをテレビジョンモニタ21の画面上で上下左右に移動させるコマンドをCPU1に与えるために使用される。
【0077】
スタートボタン19eは記録媒体300からゲームプログラムをロードするようにCPU1に指示するため等に使用される。セレクトボタン19fは記録媒体300からメインメモリ5にロードされるゲームプログラムに関する各種選択をCPU1に指示するため等に使用される。
【0078】
左スティック19SL及び右スティック19SRを除くコントローラ19の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
【0079】
左スティック19SL及び右スティック19SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む360°方向に亘って傾倒可能な構成になっている。左スティック19SL及び右スティック19SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のx座標及び前後方向のy座標の値を操作信号としてインターフェース回路13を介してCPU1に送出する。
【0080】
なお、第1ボタン19a、第2ボタン19b、第3ボタン19c、第4ボタン19d、L1ボタン19L1、L2ボタン19L2、R1ボタン19R1及びR2ボタン19R2は、記録媒体300からロードされるゲームプログラムに応じて種々の機能に使用される。
【0081】
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体300が記録媒体ドライブ17に装填されている場合、電源スイッチ(図示省略)がオンされてビデオゲーム装置に電源が投入されると、ROM6に記憶されているオペレーティングシステムに基づいて、記録媒体300からゲームプログラムを読み出すように、CPU1は記録媒体ドライブ17に指示する。これによって、記録媒体ドライブ17は記録媒体300から画像データ、音声データ及びプログラムデータを読み出す。読み出された画像データ、音声データ及びプログラムデータはデコーダ12に供給され、デコーダ12によってエラー訂正処理が各データに施される。
【0082】
デコーダ12によってエラー訂正処理が施された画像データは、バスライン2を介して伸張回路7に供給される。伸張回路7によって上述した伸張処理が行われた画像データは描画プロセッサ10に供給され、描画プロセッサ10によってバッファ14の非表示エリアに書き込まれる。デコーダ12によってエラー訂正処理が施された音声データは、メインメモリ5又は音声プロセッサ11を介してバッファ15に書き込まれる。デコーダ12によってエラー訂正処理が施されたプログラムデータはメインメモリ5に書き込まれる。
【0083】
以降、CPU1は、メインメモリ5に記憶されているゲームプログラム及びユーザがコントローラ19を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、ユーザがコントローラ19を用いて指示する内容に基づいて、CPU1は画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
【0084】
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた3次元座標データや視点位置データのグラフィックスデータ生成プロセッサ3への供給、グラフィックスデータ生成プロセッサ3が求めたバッファ14の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
【0085】
音声処理の制御として、例えば、音声プロセッサ11に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ19の操作に応じた演算等が行われる。
【0086】
次に、記録媒体300に記録されているゲームプログラムに基づいて実行されるビデオゲームについて説明する。本実施の形態におけるビデオゲームは、スノーボードを題材としたものである。ユーザによって操作されるスノーボーダーを模したキャラクタが仮想3次元空間内に設けられたコース上を滑走することによってビデオゲームが進行する。また、このビデオゲームでは、スノーボードの競技中の降雪状況が再現され、仮想3次元空間内を移動する多数の雪粒子が表示されるようになっている。スノーボードの競技中の降雪状況を再現することによって、ユーザは、降雪状況において滑走する実際のスノーボード競技のような臨場感を味わうことができる。なお、以下の説明では仮想3次元空間内を移動する複数のオブジェクトを雪粒子とする。
【0087】
図2は図1に示すビデオゲーム装置の主要機能を示すブロック図である。図2に示すように、ビデオゲーム装置は、機能的には、演算処理部31、描画演算処理部32、描画処理部33、データ記憶部34、プログラム記憶部35、表示部36及び操作部37を含む。
【0088】
演算処理部31は、例えばCPU1で実現され、CPU1がメインメモリ5に記憶されている3次元画像処理プログラムを実行することによって、ゲーム進行処理部41として機能する。
【0089】
ゲーム進行処理部41は、ユーザの操作によるコントローラ19からの入力信号に基づいてキャラクタの動作を制御するとともに、ビデオゲームの進行に関する種々の処理を行う。
【0090】
描画演算処理部32は、例えばグラフィックスデータ生成プロセッサ3で実現され、CPU1がメインメモリ5に記憶されている3次元画像処理プログラムを実行することによって、位置座標算出部42、位置座標変更部43として機能する。
【0091】
位置座標算出部42は、オブジェクトである雪粒子の移動後の仮想3次元空間内における位置座標を算出する。なお、雪粒子の位置座標は整数値によって表される。
【0092】
位置座標変更部43は、位置座標算出部42で算出された移動後の雪粒子の位置座標を、雪粒子が表示される表示領域である表示ボックス内に納めるように変更する。この表示ボックスは中心に仮想カメラ視点が設けられた直方体形状であり、本実施の形態では一辺の長さがlの立方体形状である。表示ボックスは、中心に仮想カメラ視点が設けられているため、キャラクタの移動に応じて仮想3次元空間内を移動する。なお、表示ボックスの一辺の長さlはビット演算するために2のn乗の値をとる。表示ボックスの一辺の長さlが短い場合、仮想カメラの画角が大きくなると雪粒子を表示する表示ボックスと、雪粒子を表示しない3次元仮想空間との境界が明らかとなってしまい違和感のあるゲーム画面となってしまう。そこで、違和感のないゲーム画面を表示するためには表示ボックスの一辺の長さlを1024(2=210)ビットにすることが好ましい。
【0093】
また、位置座標変更部43は、表示ボックスの各辺の少なくとも一辺の長さを減算することによって移動後の雪粒子の位置座標を表示ボックス内に納める。つまり、位置座標変更部43は、移動後の雪粒子の位置座標の下位のビットを取り出すマスク処理を行うことによって移動後の雪粒子を表示ボックス内に納める。
【0094】
描画処理部33は、例えば描画プロセッサ10で実現され、雪粒子を表すテクスチャに基づいて表示ボックス内の雪粒子を描画する。
【0095】
データ記憶部34は、例えばメインメモリ5で実現され、雪粒子情報記憶部44を含む。
【0096】
雪粒子情報記憶部44は雪粒子に関する情報を記憶しており、仮想3次元空間上の初期位置座標、雪粒子の移動速度、雪粒子の大きさ及び形状の異なる雪粒子を表す複数種類のテクスチャ等を記憶する。
【0097】
プログラム記憶部35は、例えば記録媒体ドライブ17等で実現され、コンピュータ読み取り可能な記録媒体45が装着される。記録媒体45は記録媒体300で実現され、ビデオゲームプログラムとして3次元画像処理プログラムを記憶している。また、ビデオゲームプログラムは、キャラクタの動作を制御するための制御プログラム及び表示されるキャラクタ及びオブジェクトに関する表示データを含む。なお、記録媒体45から3次元画像処理プログラムが読み取られ、当該プログラムがメインメモリ5に記録されている場合、メインメモリ5がプログラム記憶部35として機能する。
【0098】
表示部36は例えばテレビジョンモニタ21等で実現される。操作部37は例えばコントローラ19等で実現される。
【0099】
なお、本実施の形態において、位置座標算出部42は位置座標算出手段に相当し、位置座標変更部43は位置座標変更手段に相当し、描画処理部33は描画処理手段に相当し、雪粒子情報記憶部44はテクスチャ記憶手段に相当し、CPU1は演算処理装置に相当し、グラフィックスデータ生成プロセッサ3は描画処理装置に相当する。
【0100】
図3は、本実施の形態におけるテクスチャの一例を示す図である。図3(a)は円形状の雪粒子A1を表すテクスチャであり、図3(b)は円形の外周部分に凹凸を設けた略円形状の雪粒子A2を表すテクスチャであり、それぞれビットマップイメージとして記憶されている。雪粒子情報記憶部44は、オブジェクトの形状が異なる複数のテクスチャを記憶しており、本実施の形態では、図3(a)及び図3(b)に示すような2種類の形状の雪粒子のビットマップイメージがテクスチャデータとして記憶されている。なお、雪粒子情報記憶部44に記憶されている雪粒子のテクスチャの数としては上記の2種類に限らず、1種類のみを記憶しておいてもよく、また、上記の2種類のテクスチャとは異なる他の形状のテクスチャを3種類以上記憶しておいてもよい。雪粒子のテクスチャを1種類のみ記憶しておく場合、テクスチャデータを記憶するための記憶領域を低減することができ、雪粒子のテクスチャを3種類以上記憶しておく場合、様々な形状の雪粒子を描画することができるため、さらにリアル感が増す降雪状況を再現することができる。
【0101】
図4は、図1に示すビデオゲーム装置による3次元画像処理の一例を示すフローチャートである。なお、図4に示す3次元画像処理は、CPU1等が記録媒体300に記憶されている3次元画像処理プログラム等を実行することによって行われる処理である。
【0102】
なお、以下の処理に用いる変数において、snow_maxは表示される雪粒子の数を表し、snow[1〜snow_max]は雪粒子の情報を表し、雪粒子の情報(snow)はt(x,y,z)、v(x、y、z)、size及びtex_idのパラメータで構成される。t(x、y、z)は仮想3次元空間内の雪粒子の初期位置座標を表し、v(x,y,z)は雪粒子の移動速度を表し、sizeは雪粒子の大きさを表し、tex_idは雪粒子のテクスチャの種類を表す。v_max(x,y,z)は雪粒子の移動速度の最大値を表し、tex_id_maxはテクスチャの種類の最大値を表し、tex_bitmap[1〜tex_id_max]はビットマップイメージを表し、size_maxは雪粒子の大きさの最大値を表している。cam(x,y,z)は仮想カメラの位置座標を表し、look(x,y,z)は仮想カメラの注視座標を表し、cam_mtxはワールド座標系から仮想カメラ視点から見たカメラ座標系に変換するための4×4のカメラ行列を表している。pow(x,y,z)は風の強さ等の外力を表し、pow_total(x,y,z)は外力の積算値を表している。field_length(x,y,z)は表示ボックスの一辺の長さを表し、x,y,zはそれぞれ2の階乗の値をとる。field_length_mask(x,y,z)は下位ビットを取り出すためのビットマスク用の値であり、field_length_mask(x,y,z)=field_length(x,y,z)−1である。
【0103】
ステップS1においてCPU1は雪粒子の初期化を行う。具体的には、snow[1〜snow_max].t(x,y,z)に0〜{field_length(x,y,z)−1}の乱数値を代入し、snow[1〜snow_max].v(x,z)に‐v_max(x,z)〜v_max(x,z)の乱数値を代入し、snow[1〜snow_max].v(y)に1〜v_max(y)の乱数値を代入し、snow[1〜snow_max].sizeに1〜size_maxの乱数値を代入し、snow[1〜snow_max].tex_idに1〜tex_id_maxの乱数値を代入する。さらに、pow(x,y,z)にゲーム開始時に設定される風の強さ等の外力の初期値を代入し、pow_total(x,y,z)に0を代入し、clockに0を代入する。
【0104】
ステップS2において、CPU1は、ワールド座標系からカメラ座標系に変換するためのカメラ行列cam_mtxを算出する。ワールド座標系とは、3次元仮想空間内においてオブジェクトが配置される座標系のことであり、カメラ座標系とは、仮想カメラ視点の位置を0として視線方向をz軸とした座標系のことである。3次元仮想空間を表示しようとする場合、ワールド座標系からカメラ座標系に変換する必要がある。そこで、ワールド座標系からカメラ座標系に変換するためのカメラ行列cam_mtxを算出する。仮想カメラの位置座標cam(x,y,z)と仮想カメラの注視座標look(x,y,z)とからカメラ行列cam_mtxを算出する。なお、このカメラ行列cam_mtxを算出する計算ルーチンはビデオゲーム装置の既存のライブラリを用いることで算出される。
【0105】
ステップS3においてCPU1はループカウンタiに1を代入する。ステップS4において、グラフィックスデータ生成プロセッサ3は、雪粒子の移動後の位置座標を算出する。すなわち、グラフィックスデータ生成プロセッサ3は、雪粒子の初期位置座標snow[i].t(x,y,z)に雪粒子の移動量(移動速度snow[i].v(x,y,z)に時刻clockを乗算した値)と外力pow_total(x,y,z)とを加えることによって移動後の雪粒子の新しい位置座標t'(x,y,z)を算出する。この移動後の雪粒子の新しい位置座標t'(x,y,z)の算出方法としては下記の(1)式によって表される。
【0106】
t'(x,y,z)=snow[i].t(x,y,z)+snow[i].v(x,y,z)×clock+pow_total(x,y,z)・・・・(1)
なお、上記(1)式におけるt'(x,y,z)は計算用の一時ワークであり、メインメモリ5に記憶される。
【0107】
ステップS5において、グラフィックスデータ生成プロセッサ3は、移動後の雪粒子の位置座標t'(x,y,z)を仮想カメラの表示ボックス内に納めるように座標をマスク処理する。このマスク処理は下記の(2)式によって表される。
【0108】
t'(x,y,z)={(t'(x,y,z)−cam(x,y,z))ANDfield_length_mask(x,y,z)}−(field_length(x,y,z)/2)・・・・(2)
なお、上記(2)式における“AND”は、t'(x,y,z)−cam(x,y,z)とfield_length_mask(x,y,z)との論理積を表すビット演算子である。
【0109】
このように、仮想3次元空間内における移動後の雪粒子の位置座標から仮想3次元空間内における仮想カメラ視点の位置を表すカメラ座標を減算した値とマスク処理用に1だけ減算された表示ボックスの一辺の長さとの論理積を求めることで雪粒子の移動後の位置座標をマスク処理し、雪粒子の位置座標の下位ビットのみを取得することができ、表示ボックス内から出た雪粒子を表示ボックス内に戻すことができ、常に一定の量の雪粒子を表示することが可能となる。
【0110】
ステップS6において、グラフィックスデータ生成プロセッサ3は、移動後の雪粒子の位置座標t'(x,y,z)をワールド座標系からカメラ座標系に変換する。すなわち、グラフィックスデータ生成プロセッサ3は、移動後の雪粒子の位置座標t'(x,y,z)をカメラ行列cam_mtxで回転のみの座標変換を行う。この座標変換は移動後の雪粒子の位置座標t'(x,y,z)とカメラ行列cam_mtxとの内積を求めることによって行われ、下記の(3)式によって表される。
【0111】
t'(x,y,z)=t'(x,y,z)・cam_mtx・・・・(3)
なお、上記(3)式における“・”は内積を表す演算子である。
【0112】
ステップS7において、グラフィックスデータ生成プロセッサ3は雪粒子の描画処理を行う。この描画処理は、snow[i].tex_idで示されるテクスチャデータをメインメモリ5から読み出し、描画プロセッサ10に登録し、スプライト表示座標の左上端座標と右下端座標とを描画プロセッサ10に登録することによって行われる。スプライト表示座標の左上端座標はt'(x,y,z)−snow[i].sizeで表され、右下端座標はt'(x,y,z)+snow[i].sizeで表される。描画プロセッサ10は、テクスチャデータ及びスプライト表示座標の左上端座標と右下端座標とをバッファ14の表示エリア上に書き込み、これによって、テレビジョンモニタ21の表示画面上に雪粒子が表示される。
【0113】
ステップS8において、CPU1は、ループカウンタiを1だけインクリメントする。
【0114】
ステップS9において、CPU1は、ループカウンタiがsnow_max以下であるか否かを判断する。すなわち、ステップS4からステップS8までの処理を雪粒子の数であるsnow_maxの回数だけ繰り返すことによって全ての雪粒子を描画する。ここで、ループカウンタiがsnow_max以下である判断されれば(ステップS9でYES)、まだ描画されていない雪粒子があるためステップS4に戻り、ループカウンタiがsnow_maxより大きいと判断されれば(ステップS9でNO)、全ての雪粒子が描画されたためステップS10に移行する。
【0115】
ステップS10において、CPU1は雪粒子のパラメータを更新する。ここで、更新されるパラメータは、仮想カメラの位置座標cam(x,y,z)、仮想カメラの注視座標look(x,y,z)、外力pow(x,y,z)及び時刻clockである。仮想カメラの位置座標cam(x,y,z)及び仮想カメラの注視座標look(x,y,z)は、仮想カメラの移動に応じて移動後のそれぞれの座標に更新される。外力pow(x,y,z)は、風向きが変わった場合に再設定が行われる。時刻clockは、時間を進めるためにclock=clock+1として設定される。
【0116】
ステップS11において、CPU1はゲーム進行処理を行う。ゲーム進行処理は雪粒子の描画以外の処理であり、例えば、コントローラ19からの入力信号に応じたキャラクタの移動等の処理が行われる。そして、ゲーム進行処理が行われた後、ステップS2に戻ることとなる。
【0117】
上記図4に示す3次元画像処理のフローチャートにおけるステップS3からステップS7までの処理は、描画処理専用の描画処理装置(本実施の形態ではグラフィックスデータ生成プロセッサ3)によって行われる処理であり、その他のステップS1、ステップS2及びステップS8からステップS11の処理は、分岐処理を含む種々の処理を実行可能な演算処理装置(本実施の形態ではCPU1)によって行われる処理である。図6のフローチャートで示される従来の3次元画像処理では、ステップS101〜S112までの処理のうちのステップS108以外の主な処理が演算処理装置によって行われており、ステップS106に示す分岐処理等の複雑な演算を行うため描画処理に時間がかかるとともに、演算処理装置の処理に要する負担が大きくなっている。一方、本発明に係る3次元画像処理では、描画処理装置が行うことができない分岐処理を行わないため、描画処理装置での演算処理が可能となっており、主な処理を描画処理装置によって行うことが可能となっている。描画処理装置は、分岐処理等の複雑な演算処理はできないけれども、演算処理装置よりも高速に演算処理することが可能であり、本発明に係る3次元画像処理では、演算処理装置よりも高速な演算処理が可能な描画処理装置を用いて演算処理を行うことによって、従来の3次元画像処理よりも演算処理にかかる時間を短縮することができる。このように、主な処理に描画処理装置を用いて上記のような3次元画像処理が行われ、降雪状況が再現されることで、主な処理に演算処理装置を用いて3次元画像処理を行うより高速に雪粒子を描画することができ、且つ演算処理装置の処理に要する負担を軽減することができるため、多数の雪粒子を描画することができる。
【0118】
図5は、本実施の形態における3次元画像処理で行き粒子を描画した場合に表示されるゲーム画面の一例を示す画面図である。図5に示すゲーム画面410には、ユーザによって操作されるスノーボーダーを模したキャラクタ401と、キャラクタ401が滑走するコース402と、雪粒子403とが表示されている。図5に示すように本実施の形態における3次元画像処理で雪粒子を描画した場合、CPU1より高速な演算処理が可能なグラフィックスデータ生成プロセッサ3によって演算が行われるため、CPU1の処理に要する負担が軽減され、多数の雪粒子を表示することができる。そのため、スノーボードの競技中に多量の雪が降る降雪状況を再現することができ、ユーザは臨場感を味わうことができ、興趣に富むビデオゲームとなる。
【0119】
次に、降雪状況を再現する場合の本実施の形態の3次元画像処理(図4のフローチャートに示す)における演算処理装置(CPU1)及び描画処理装置(グラフィックスデータ生成プロセッサ3)にかかる負荷と、従来の3次元画像処理(図6のフローチャートに示す)における演算処理装置及び描画処理装置にかかる負荷とを比較してみる。本実施の形態における3次元画像処理及び従来の3次元画像処理では、ともにsnow_max=10000とし、10000個の雪粒子を描画する場合の演算処理装置及び描画処理装置にかかる負荷を比較する。本実施の形態における3次元画像処理によって10000個の雪粒子を描画した場合、演算処理装置にかかる負荷は1%未満であり、描画処理装置にかかる負荷は7%であった。また、従来の3次元画像処理によって10000個の雪粒子を描画した場合、演算処理装置にかかる負荷は70%であり、描画処理装置にかかる負荷は4%であった。通常、演算処理装置にかかる負荷としては10%以下が理想とされている。従来の3次元画像処理では、分岐処理等の複雑な演算処理を演算処理装置によって行っているため、演算処理装置に70%もの負荷がかかっており、いかに大きな負荷がかかっているかがわかる。一方、本実施の形態における3次元画像処理では、主な演算処理を描画処理装置によって行っているため、演算処理装置にかかる負荷はわずか1%未満であり、さらに、主な演算処理を描画処理装置によって行っているにもかかわらず、描画処理装置にかかる負荷は従来の3次元画像処理に比べて3%しか増加しておらず、本実施の形態における3次元画像処理が従来の3次元画像処理に比べていかに演算処理装置の処理に要する負担を軽減することができるかがわかる。
【0120】
なお、本実施の形態では、ビット演算するために雪粒子の位置座標は整数値を用いたが、本発明は特にこれに限定されず、雪粒子の位置座標に浮動小数値を用いてもよい。雪粒子の位置座標に浮動小数値を用いる場合の処理について説明する。雪粒子の位置座標に浮動小数値を用いる場合、図4に示すフローチャートのステップS5の処理で用いた(2)式を下記の()式に替える。
【0121】
t'(x,y,z)={(t'(x,y,z)−cam(x,y,z))MODfield_length(x,y,z)}−(field_length(x,y,z)/2)・・・・(
なお、上記()式における“MOD”は除算を行った余りの値を表す剰余演算子であり、例えば、x=aMODbであれば、xの値はaをbで割った余りとなる。
【0122】
上記に示す()式を図4に示すフローチャートのステップS5の処理で用いることによって、雪粒子を表示ボックス内に納めることができるため、field_length(x,y,z)のx、y、zのそれぞれは2の階乗の値にする必要がなく、浮動小数値を用いることも可能となる。また、field_length_mask(x,y,z)も不要となる。ただし、浮動小数値を用いる場合、除算演算を行うため、ビット演算に比べて演算速度は遅くなってしまう。
【0123】
本実施の形態において、雪粒子の情報snow[1〜snow_max]は初期位置座標t(x,y,z)、移動速度v(x、y、z)、雪粒子の大きさsize及びテクスチャの種類tex_idのパラメータで構成されるとしたが、本発明は特にこれに限定されず、他のパラメータを持たせてもよい。例えば、雪粒子の情報snow[1〜snow_max]のパラメータとして雪粒子の縦方向及び横方向の大きさsize_x size_y、雪粒子の回転速度rot_speed及び雪粒子の色に関する情報r,g,b等をさらに持たせる。これらのパラメータは、図4に示すフローチャートにおけるステップS1において、適当な乱数値が代入され、ステップS7における処理で用いられる。
【0124】
size_x size_yで表される変数は、雪粒子の縦、横の大きさを変えて再現する場合に用いることができる。図4に示すフローチャートにおけるステップS7において、スプライト表示座標の左上端座標xはx=t'(x)−snow[i].size_xで表され、左上端座標yはy=t'(y)−snow[i].size_yで表され、右下端座標xはx=t'(x)+snow[i].size_xで表され、右下端座標yはy=t'(y)+snow[i].size_yで表される。このように、スプライト表示座標の左上端座標x,y及び右下端座標x,yを設定することによって、図3(a)に示すような円形状の雪粒子のビットマップイメージを種々の形状に変形することができ、例えば、楕円形状の雪粒子を描画することができる。
【0125】
rot_speedで表される変数は、雪粒子の回転を再現する場合に用いることができる。図4に示すフローチャートにおけるステップS7において、グラフィックスデータ生成プロセッサ3は、時刻clockにおける回転値rotateを下記の()式を用いることによって算出することができる。
【0126】
rotate=rot_speed×clock・・・・(
このように、雪粒子のビットマップイメージを回転値rotate分だけ回転させて描画することによって雪粒子が回転して落ちていく表現ができる。
【0127】
r,g,bで表される変数は、雪粒子の色を変化させる場合に用いることができる。rはR(Red)成分のパラメータを表し、gはG(Green)成分のパラメータを表し、bはB(Blue)成分のパラメータを表す。図4に示すフローチャートにおけるステップS7において、グラフィックスデータ生成プロセッサ3は、テクスチャデータにr,g,bの変数で表される成分を加算又は減算することによって雪粒子のテクスチャデータの色を変化させて描画する。このように、雪粒子のテクスチャデータの色を変化させて描画することによって、種々の色の雪粒子を表現することができ、例えば、赤い雪、青い雪及び黒い雪等を降らせることも可能となる。
【0128】
また、本実施の形態では、オブジェクトを雪粒子として説明したが、本発明は特にこれに限定されず、例えば、オブジェクトを雨粒子としてもよい。この場合、雨粒子を表すビットマップイメージをテクスチャデータとして記憶しておき、雨粒子の移動速度v(x,y,z)を雪粒子の移動速度に比べて速くすることで降雨状況を再現することができる。また、オブジェクトを砂粒子にすることによって、砂嵐等を再現することができ、さらに、オブジェクトを埃粒子にすることによって、埃が舞っている状況を再現することができる。
【0129】
また、本実施の形態では、図4に示す3次元画像処理のフローチャートにおけるステップS3からステップS7までの処理は、描画処理専用の描画処理装置(本実施の形態ではグラフィックスデータ生成プロセッサ3)によって行われる処理であるとしたが、本発明は特にこれに限定されず、図4に示す3次元画像処理のフローチャートにおけるステップS3からステップS7までの処理を演算処理装置(本実施の形態ではCPU1)によって行ってもよい。この場合、演算処理装置に要する負担は大きくなるが、分岐処理を行わないため、従来の3次元画像処理に比べて処理時間を短縮することができる。
【0130】
また、本実施の形態では、スノーボードを題材としたビデオゲームとして説明したが、本発明は特にこれに限定されず、例えば、スキー、野球、サッカー等の屋外で行われるスポーツを題材としたビデオゲームにも適用することができ、さらに、アクションゲーム、シミュレーションゲーム、シューティングゲーム、ロールプレイングゲーム及び格闘ゲーム等の他のビデオゲームにも適用することができる。
【0131】
【発明の効果】
請求項1に記載の本発明によれば、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0132】
また、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0133】
また、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【0134】
請求項に記載の本発明によれば、テクスチャ記憶手段に記憶されているオブジェクトのテクスチャに基づいてオブジェクトが描画されるため、形状が異なる複数種類のテクスチャを記憶しておくことで、1つのオブジェクトを基準に種々のオブジェクトを表現することができ、ビデオゲームを多様化させることができる。
【0135】
請求項に記載の本発明によれば、雪を表すテクスチャでオブジェクトを描画することで降雪状況をビデオゲームで再現することができ、さらに、形状が異なる複数の雪のテクスチャを記憶しているため、このテクスチャを変えることで様々な形状の雪を表現することができ、同じ処理で多様な降雪状況を再現することができるのでリアル感が増すこととなる。
【0136】
請求項に記載の本発明によれば、描画処理装置は、高速に演算処理を行うために分岐処理等の複雑な演算処理機能を省いており、単純な演算処理機能のみを有している。すなわち、オブジェクトの移動後の仮想3次元空間内における位置座標を算出する処理と、算出された移動後のオブジェクトの位置座標を、オブジェクトが表示される表示領域内に納めるように変更する処理とは分岐処理がないため、分岐処理ができる演算処理装置ではなく、分岐処理はできないが演算処理装置より高速に演算を行うことができる描画処理装置によって演算処理を実行することができ、演算処理装置の処理に要する負担を軽減することができる。
【0137】
請求項に記載の本発明によれば、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0138】
また、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0139】
また、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【0140】
請求項に記載の本発明によれば、最初にオブジェクトの初期のパラメータが設定され、オブジェクトの移動後の仮想3次元空間内における位置座標が算出され、算出された移動後のオブジェクトの位置座標が、オブジェクトが表示される表示領域内に納まるように変更され、移動後のオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を必要としないため、例えば、ビデオゲーム装置が分岐処理を含む種々の処理を実行可能な汎用の演算処理装置を備える場合、演算処理装置の処理に要する負担を軽減することができ、多数のオブジェクトを描画することができる。
【0141】
また、オブジェクトが表示可能な直方体形状の表示領域の各辺の少なくとも一辺の長さを減算することによって、表示領域から外れた移動後のオブジェクトの位置座標が表示領域内に戻されるため、従来のようにオブジェクトの位置座標が表示領域内にあるか否かの分岐処理を用いずにオブジェクトを表示領域内に納めることができる。
【0142】
また、オブジェクトの位置座標は整数値によって表されるため、オブジェクトの移動後の位置座標の算出にビット演算を用いることが可能となり、オブジェクトの位置座標に浮動小数値を用いる場合に比べて演算速度を速くすることができ、さらに、オブジェクトの移動後の位置座標をマスク処理することによって、下位ビットのみを取り出して直方体形状の表示領域の各辺の少なくとも一辺の長さを減算するため、従来のようにオブジェクト位置座標が表示領域内にあるか否かの分岐処理を必要とせずに簡略な演算処理を用いてオブジェクトを表示領域内に納めることができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。
【図2】 図1に示すビデオゲーム装置の主要機能を示すブロック図である。
【図3】 本実施の形態におけるテクスチャの一例を示す図である。
【図4】 図1に示すビデオゲーム装置による3次元画像処理の一例を示すフローチャートである。
【図5】 本実施の形態における3次元画像処理で行き粒子を描画した場合に表示されるゲーム画面の一例を示す画面図である。
【図6】 降雪状況を再現するための従来の3次元画像処理の一例を示すフローチャートである。
【図7】 従来の3次元画像処理で雪粒子を描画した場合に表示されるゲーム画面の一例を示す画面図である。
【符号の説明】
1 CPU
2 バスライン
3 グラフィックスデータ生成プロセッサ
4,13 インターフェース回路
5 メインメモリ
6 ROM
7 伸張回路
8 パラレルポート
9 シリアルポート
10 描画プロセッサ
11 音声プロセッサ
12 デコーダ
14〜16 バッファ
17 記録媒体ドライバ
18 メモリ
19 コントローラ
21 テレビジョンモニタ
31 演算処理部
32 描画演算処理部
33 描画処理部
34 データ記憶部
35 プログラム記憶部
36 表示部
37 操作部
41 ゲーム進行処理部
42 位置座標算出部
43 位置座標変更部
44 雪粒子情報記憶部
45 記録媒体

Claims (6)

  1. 仮想3次元空間内を移動する複数のオブジェクトを描画するための3次元画像処理プログラムであって、
    前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出手段と、
    算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更手段と、
    前記表示領域内の前記オブジェクトを描画する描画手段としてビデオゲーム装置を機能させ
    前記表示領域は直方体形状であり、
    前記位置座標変更手段は、前記表示領域の各辺の少なくとも一辺の長さを減算することによって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
    前記オブジェクトの位置座標は整数値によって表され、
    前記位置座標変更手段は、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とする3次元画像処理プログラム。
  2. 形状が異なる複数のテクスチャを記憶するテクスチャ記憶手段としてビデオゲーム装置をさらに機能させ、
    前記描画手段は、前記テクスチャに基づいて前記オブジェクトを描画することを特徴とする請求項1記載の3次元画像処理プログラム。
  3. 前記テクスチャは雪を表すテクスチャを含むことを特徴とする請求項記載の3次元画像処理プログラム。
  4. 前記ビデオゲーム装置は、分岐処理を含む種々の処理を実行可能な演算処理装置と、描画処理装置とを備え、
    前記描画処理装置を前記位置座標算出手段及び前記位置座標変更手段として機能させることを特徴とする請求項1〜のいずれかに記載の3次元画像処理プグラム。
  5. 仮想3次元空間内を移動する複数のオブジェクトを描画する3次元画像処理方法であって、
    ビデオゲーム装置が、前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出ステップと、
    ビデオゲーム装置が、算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更ステップと、
    ビデオゲーム装置が、前記表示領域内の前記オブジェクトを描画する描画ステップとを含み、
    前記表示領域は直方体形状であり、
    前記位置座標変更ステップは、前記表示領域の各辺の少なくとも一辺の長さを減算することによって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
    前記オブジェクトの位置座標は整数値によって表され、
    前記位置座標変更ステップは、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とする3次元画像処理方法。
  6. 仮想3次元空間内を移動する複数のオブジェクトを描画するビデオゲーム装置であって、
    前記オブジェクトの移動後の仮想3次元空間内における位置座標を算出する位置座標算出手段と、
    算出された移動後のオブジェクトの位置座標を、前記オブジェクトが表示される表示領域内に納めるように変更する位置座標変更手段と、
    前記表示領域内の前記オブジェクトを描画する描画手段とを備え
    前記表示領域は直方体形状であり、
    前記位置座標変更手段は、前記表示領域の各辺の少なくとも一辺の長さを減算すること によって前記オブジェクトの位置座標を前記表示領域内に納めるように変更し、
    前記オブジェクトの位置座標は整数値によって表され、
    前記位置座標変更手段は、前記位置座標の下位ビットを取得するマスク処理によって前記オブジェクトを前記表示領域内に納めることを特徴とするビデオゲーム装置。
JP2002146638A 2002-05-21 2002-05-21 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置 Expired - Fee Related JP3686920B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2002146638A JP3686920B2 (ja) 2002-05-21 2002-05-21 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
EP03725820A EP1506530B1 (en) 2002-05-21 2003-05-16 Three dimensional image processing program, three dimensional image processing method, and video game device
CNA038115840A CN1656518A (zh) 2002-05-21 2003-05-16 三维图像处理程序、三维图像处理方法、以及视频游戏设备
AU2003228105A AU2003228105A1 (en) 2002-05-21 2003-05-16 Three dimensional image processing program, three dimensional image processing method, and video game device
PCT/JP2003/006170 WO2003098554A1 (en) 2002-05-21 2003-05-16 Three dimensional image processing program, three dimensional image processing method, and video game device
DE60323968T DE60323968D1 (de) 2002-05-21 2003-05-16 Bildverarbeitungsprogramm, bildverarbeitungsmethode und bildverarbeitungsgerät für ein dreidimensionales videospiel
KR1020047018888A KR100650228B1 (ko) 2002-05-21 2003-05-16 3차원 이미지 처리 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체,3차원 이미지 처리 방법, 및 비디오 게임 장치
US10/514,822 US20050181871A1 (en) 2002-05-21 2003-05-16 Three dimensional image processing program, three dimensional image processing method, and video game device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002146638A JP3686920B2 (ja) 2002-05-21 2002-05-21 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置

Publications (2)

Publication Number Publication Date
JP2003337958A JP2003337958A (ja) 2003-11-28
JP3686920B2 true JP3686920B2 (ja) 2005-08-24

Family

ID=29545142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002146638A Expired - Fee Related JP3686920B2 (ja) 2002-05-21 2002-05-21 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置

Country Status (8)

Country Link
US (1) US20050181871A1 (ja)
EP (1) EP1506530B1 (ja)
JP (1) JP3686920B2 (ja)
KR (1) KR100650228B1 (ja)
CN (1) CN1656518A (ja)
AU (1) AU2003228105A1 (ja)
DE (1) DE60323968D1 (ja)
WO (1) WO2003098554A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4563266B2 (ja) * 2005-06-29 2010-10-13 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
CN100463004C (zh) * 2006-02-24 2009-02-18 腾讯科技(深圳)有限公司 一种渲染模型残影效果的方法
CN100394448C (zh) * 2006-05-17 2008-06-11 浙江大学 基于图像传输的三维远程渲染系统及其方法
TWI450749B (zh) * 2007-11-21 2014-09-01 Mstar Semiconductor Inc 遊戲處理裝置
US20100125552A1 (en) * 2008-10-30 2010-05-20 Peterson Barry L Method and system for updating viewer caches
JP5322717B2 (ja) * 2009-03-17 2013-10-23 東芝電波プロダクツ株式会社 降雪現象表示方法
CN101527051B (zh) * 2009-03-26 2011-11-16 北京像素软件科技股份有限公司 基于大气散射原理对天空进行渲染的方法和装置
GB201004675D0 (en) * 2010-03-19 2010-05-05 Imagination Tech Ltd Memory management system
CN102402115A (zh) * 2010-09-09 2012-04-04 腾讯科技(成都)有限公司 一种获得游戏3d图像的方法及装置
KR101364133B1 (ko) * 2011-06-15 2014-02-21 주식회사 브이터치 가상터치를 이용한 3차원 장치 및 3차원 게임 장치
CN102867026A (zh) * 2012-08-23 2013-01-09 上海创图网络科技发展有限公司 一种三维网页的显示装置及其应用
CN104866506B (zh) 2014-02-25 2019-07-09 腾讯科技(深圳)有限公司 一种播放动画的方法及装置
CN106362398B (zh) * 2016-10-14 2020-02-07 网易(杭州)网络有限公司 摄像机镜头位置的确定方法及装置
JP7133094B2 (ja) * 2019-07-11 2022-09-07 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法、及びプログラム
CN112138378A (zh) * 2020-09-22 2020-12-29 网易(杭州)网络有限公司 2d游戏中闪光效果的实现方法、装置、设备及存储介质
CN114067071B (zh) * 2021-11-26 2022-08-30 湖南汽车工程职业学院 一种基于大数据的高精地图制作系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522082A (en) * 1986-01-23 1996-05-28 Texas Instruments Incorporated Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits
US6749509B1 (en) * 1994-06-20 2004-06-15 Sega Corporation Image processing method and apparatus
DE69530824D1 (de) * 1994-06-20 2003-06-26 Sega Corp Verfahren und gerät zur bildverarbeitung
JP3187301B2 (ja) * 1994-12-02 2001-07-11 株式会社ナムコ ゲーム装置及び画像合成方法
US5764243A (en) * 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US5781789A (en) * 1995-08-31 1998-07-14 Advanced Micro Devices, Inc. Superscaler microprocessor employing a parallel mask decoder
US5825368A (en) * 1995-12-27 1998-10-20 Lucent Technologies Inc. Method and apparatus for rendering graphical components on a display utilizing geometric constraints
JP3519216B2 (ja) * 1996-07-16 2004-04-12 株式会社ナムコ 3次元シミュレータ装置及び情報記憶媒体
KR100292148B1 (ko) * 1996-08-21 2001-11-22 고우즈키 가게마사 코멘드입력방법및기록매체
JP3695217B2 (ja) * 1999-04-30 2005-09-14 オムロン株式会社 画像処理装置及び画像入力装置
BR0105178A (pt) * 2000-03-21 2002-04-30 Sony Computer Entertainment Inc Aparelho de entretenimento, suporte de armazenamento e processo e programa para decidir a condição meteorológica em um mundo virtual
JP4443716B2 (ja) * 2000-03-29 2010-03-31 株式会社バンダイナムコゲームス ゲーム装置、および、情報記憶媒体
JP2002292115A (ja) * 2001-03-29 2002-10-08 Square Co Ltd ゲーム装置、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
JP2002292119A (ja) * 2001-03-29 2002-10-08 Square Co Ltd ビデオゲームプログラム、ビデオゲームプログラムを記録した記録媒体、ビデオゲームにおけるキャラクタ移動制御方法及びゲーム装置
JP2002292116A (ja) * 2001-03-29 2002-10-08 Square Co Ltd ゲーム装置、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
JP4704622B2 (ja) * 2001-07-30 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP3527489B2 (ja) * 2001-08-03 2004-05-17 株式会社ソニー・コンピュータエンタテインメント 描画処理方法及び装置、描画処理プログラムを記録した記録媒体、描画処理プログラム
JP3577016B2 (ja) * 2001-08-24 2004-10-13 コナミ株式会社 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP3448042B2 (ja) * 2001-10-10 2003-09-16 コナミ株式会社 ゲーム画面表示プログラム、ゲーム画面表示方法及びビデオゲーム装置

Also Published As

Publication number Publication date
EP1506530A1 (en) 2005-02-16
AU2003228105A1 (en) 2003-12-02
US20050181871A1 (en) 2005-08-18
KR20050008730A (ko) 2005-01-21
AU2003228105A8 (en) 2003-12-02
WO2003098554A1 (en) 2003-11-27
JP2003337958A (ja) 2003-11-28
EP1506530B1 (en) 2008-10-08
KR100650228B1 (ko) 2006-11-27
DE60323968D1 (de) 2008-11-20
CN1656518A (zh) 2005-08-17

Similar Documents

Publication Publication Date Title
JP3577016B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP3686920B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP2007226707A (ja) ゲーム装置およびゲームプログラム
US20050014543A1 (en) Game apparatus, game program and game method
US6878065B2 (en) Video game system, character action control method, and readable storage medium storing character action control program
JP3597803B2 (ja) 音量制御プログラム、音量制御方法及びビデオゲーム装置
JP5103509B2 (ja) ゲーム制御装置、ゲーム制御プログラム、及びゲーム制御方法
US6962527B2 (en) Recording medium storing game process control program, game process control program, game process control method, and video game device
JP3647790B2 (ja) 画像表示プログラム、画像表示方法及びビデオゲーム装置
EP1302224A2 (en) Recording medium storing game screen display program, game screen display program, game screen display method, and video game device
US7014561B2 (en) Recording medium for storing gauge display program, gauge display method video game device, and gauge display program
JPH11306391A (ja) 画像処理装置、ゲーム装置、画像処理方法および記録媒体
KR100771758B1 (ko) 화상 표시 제어 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체, 화상 표시 제어 방법 및 비디오 게임 장치
JP2004242706A (ja) ゲームプログラムおよびゲーム装置
JP3533212B1 (ja) キャラクタ操作プログラム、キャラクタ操作方法及びビデオゲーム装置
JP3737784B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP3561480B2 (ja) 育成ゲーム進行制御プログラム、育成ゲーム進行制御方法及び育成ゲーム装置
JP3621663B2 (ja) 音声出力プログラム、音声出力方法及びビデオゲーム装置
JP3629453B2 (ja) ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置
US6296567B1 (en) Video game machine and computer-readable recording medium containing video game program
JP3611828B2 (ja) ポイント変更プログラム、ポイント変更方法及びビデオゲーム装置
JP5204917B2 (ja) ゲーム制御装置、ゲーム制御プログラム、及びゲーム制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050329

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees