(57)【要約】  画像処理システムにおいて，影の質を落とすこと無く，一画面に表示される多くの人型の影を生成する場合であっても，プロセッサに負荷をかけずに描画することを可能とする。前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する制御をさせる画像描画プログラムであって，前記キャラクタデータに対応するキャラクタ画像データを形成するステップと，前記描画プロセッサにより形成されたキャラクタ画像データをフレームメモリに描画するステップと，さらに，前記描画プロセッサに前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成し，前記テクスチャメモリに保存するステップと，さらに，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して，前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタの影のテクスチャを描画するステップを実行させる。【特許請求の範囲】
【請求項１】
メモリから読み出されるキャラクタデータに対応してキャラクタ画像データを生成する描画プロセッサと，キャラクタに貼り付けられるテクスチャを保存するテクスチャメモリと，前記テクスチャが貼り付けられたキャラクタが描画されるフレームメモリを有する画像処理システムで実行され，前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する制御をさせる画像描画プログラムであって，
前記描画プロセッサに，
仮想三次元空間に設定された視点から，前記複数のキャラクタを透視投影して前記キャラクタデータに対応するキャラクタ画像データを形成するステップと，
前記描画プロセッサにより形成されたキャラクタ画像データをフレームメモリに描画するステップと，
さらに，前記描画プロセッサに前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，
一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成し，前記テクスチャメモリに保存するステップと，
さらに，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して，前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタの影のテクスチャを描画するステップを，
実行させるための画像描画プログラム。
【請求項２】
請求項１において，
前記描画プロセッサに，前記一のキャラクタの影を，所定のパラメータに関し，参照影として利用できるキャラクタの数がより多くなるように選択した前記パラメータの条件に合う，実際には画面上に描画を行わない仮想キャラクタの影とさせる画像描画プログラム。
【請求項３】
請求項２において，
前記描画プロセッサに，前記実際には画面上に描画を行わない仮想キャラクタの影を，前記所定のパラメータが角度であるとき，所定の角度の差分許容範囲内で，参照影として利用できるキャラクタ数がより多くなるように選択した角度にある仮想のキャラクタの影とさせる画像描画プログラム。
【請求項４】
請求項１において，
前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタであって，前記仮想三次元空間の特定座標位置に向かう方向が，所定の範囲にないときは，前記描画プロセッサに前記描画されるキャラクタ自身の影に対応して貼り付けられる影のテクスチャを生成させる画像描画プログラム。
【請求項５】
請求項１において，
前記描画プロセッサに前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するステップを実行させるとき，
前記仮想三次元空間の特定座標位置から所定距離以上離れた位置にあるキャラクタの影を，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させる画像描画プログラム。
【請求項６】
請求項１において，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するステップを実行させるとき， 
表示画面上の表示サイズが所定サイズ以下であるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させる画像描画プログラム。
【請求項７】
請求項１において，
前記描画プロセッサに，前記テクスチャメモリに保存した前記一のキャラクタに対応して貼り付ける影のテクスチャを対応するキャラクタのサイズ，向きに応じて拡大・縮小及び，回転して貼り付けさせる画像描画プログラム。
【請求項８】
請求項１において，
前記描画プロセッサに，前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するステップを実行させるとき，
前記仮想三次元空間の特定座標位置から第１の距離以上離れ，第２の距離までの範囲に位置するキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画し，前記第２の距離以上離れた位置にあるキャラクタに対しては影の描画を行わないように制御させる画像描画プログラム。
【請求項９】
請求項１において，
前記描画プロセッサに，前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するステップを実行させるとき，
表示画面上の表示サイズが第１のサイズ以下であって，第２のサイズ以上であるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画し，前記第２のサイズ以下であるキャラクタに対しては影の描画を行わないように制御させる画像描画プログラム。
【請求項１０】
メモリから読み出されるキャラクタデータに対応してキャラクタ画像データを生成する描画プロセッサと，キャラクタに貼り付けられるテクスチャを保存するテクスチャメモリと，前記テクスチャが貼り付けられたキャラクタが描画されるフレームメモリを有し，画像描画プログラムにより前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する制御を実行させる画像処理システムであって，
仮想三次元空間に設定された視点から，前記複数のキャラクタを透視投影して前記キャラクタデータに対応するキャラクタ画像データを形成する描画プロセッサと，
前記描画プロセッサにより形成されたキャラクタ画像データにより前記キャラクタの画像が描画されるフレームメモリと，
前記フレームメモリにキャラクタの画像が描画される際に貼り付けられるテクスチャを保持するテクスチャメモリを有し，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，
前記描画プロセッサは，一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成して，前記テクスチャメモリに保存し，
さらに，前記一のキャラクタと同じポーズの範疇に設定される，前記描画されるキャラクタの影のテクスチャの描画を，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して行う，
ことを特徴とする画像処理システム。
【請求項１１】
請求項１０において，
前記一のキャラクタの影は，所定のパラメータに関し，参照影として利用できるキャラクタ数がより多くなるように選択された前記パラメータの条件に合う，実際には画面上に描画を行わない仮想キャラクタの影であることを特徴とする画像処理システム。
【請求項１２】
請求項１１において，
前記実際には画面上に描画を行わない仮想キャラクタの影は，前記所定のパラメータが角度であるとき，所定の角度の差分許容範囲内で，参照影として利用できるキャラクタ数がより多くなるように選択された角度にある仮想のキャラクタの影であることを特徴とする画像処理システム。
【請求項１３】
請求項１０において，
前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタであって，前記仮想三次元空間の特定座標位置に向かう方向が，所定の範囲にないときは，前記描画されるキャラクタ自身の影に対応して貼り付けられる影のテクスチャを生成する，
ことを特徴とする画像処理システム。
【請求項１４】
請求項１０において，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するとき，
前記仮想三次元空間の特定座標位置から所定距離以上離れた位置にあるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画する
ことを特徴とする画像処理システム。
【請求項１５】
請求項１０において，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画させるとき，
表示画面上の表示サイズが所定サイズ以下であるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させる，
ことを特徴とする画像描画システム。
【請求項１６】
請求項１０において，
前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを対応するキャラクタのサイズ，向きに応じて拡大・縮小・回転させて貼り付けることを特徴とする画像描画システム。
【請求項１７】
請求項１０において，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画するとき，
前記仮想三次元空間の特定座標位置から第１の距離以上離れ，第２の距離までの範囲に位置するキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画し，
前記第２の距離以上離れた位置にあるキャラクタに対しては影の描画を行わない
ことを特徴とする画像処理システム。
【請求項１８】
請求項１０において，
前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画させるとき，
表示画面上の表示サイズが第１のサイズ以下であって，第２のサイズ以上であるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させ，
前記第２のサイズ以下であるキャラクタに対しては影の描画を行わないように制御させる
ことを特徴とする画像処理システム。
【請求項１９】
画像描画プログラムによりプロセッサを制御して仮想三次元空間に位置する複数のキャラクタを表示画面上に表示する画像処理システムにおいて読み取り可能な記録媒体であって，
請求項１乃至９に記載のいずれかに記載の画像描画プログラムを格納した記録媒体。
【請求項２０】
メモリから読み出されるキャラクタデータに対応してキャラクタ画像データを生成する描画プロセッサと，キャラクタに貼り付けられるテクスチャを保存するテクスチャメモリと，前記テクスチャが貼り付けられたキャラクタが描画されるフレームメモリを有する画像処理システムで実行され，前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する画像処理システムにおいてキャラクタ画像に対応して表示される影の画像描画方法であって，
描画プロセッサにより仮想三次元空間に設定された視点から，前記複数のキャラクタを透視投影して前記キャラクタデータに対応するキャラクタ画像データを形成し，
前記描画プロセッサにより形成されたキャラクタ画像データにより前記キャラクタの画像をフレームメモリに描画し，
前記フレームメモリにキャラクタの画像が描画される際に貼り付けられるテクスチャをテクスチャメモリに保持し，
さらに，前記描画プロセッサに前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，
一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成し，前記テクスチャメモリに保存し，
さらに，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して，前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタの影のテクスチャを描画する，
ことを特徴とする影の画像描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像処理プログラム及び，これを用いた画像処理システムに関し，特に画像処理システムの一態様としてのゲームシステムにおいて，影テクスチャの処理負荷を低減することが可能なゲームプログラムに関する。
【発明の背景】
【０００２】
画像処理システムの一態様としてのゲームシステムにあっては，より仮想現実感を与えるために，ディスプレイ画面に表示されるキャラクタ（アクションゲームにおいて戦闘を行なうオブジェクトを指す）に付随して，その動きに合わせて人，動物，空想上の生物，ロボット等のモデル型の影（以降，単に人型の影という）を表示することが行われている。
【０００３】
この人型の影の描写は，影のテクスチャを，キャラクタモデルやその動き（モーション）に基づき，フレーム毎に計算して作成し，それを，地面を構成するポリゴンに貼り付けることで実現される。このとき，一画面に表示されるキャラクタの数分の計算及び作成が必要となる。
【０００４】
したがって，アクションゲーム等における一画面に表示されるキャラクタの数が多くなるほど，描画処理を行う描画プロセッサの負荷が大きくなる。
【０００５】
このように，キャラクタの影の描画において，同一画面内に表示されるキャラクタの数が多くなるにつれて，キャラクタのモーション計算や投影モデルの描画を行うための負荷が増加し，処理落ちが生じる機会が多くなる。
【０００６】
かかる不都合に対応する手法として，影の描画を簡易の形態，例えば丸影（approximate shadow）にするという方法が考えられる。丸影で描画する場合は影テクスチャを生成しないので，影テクスチャの生成負荷は生じない。
【０００７】
しかし，一律に丸影にしてしまうと，キャラクタが倒れたりする描画に対する影として丸影で描画することになり，違和感を遊戯者に与えることにもなる。
【０００８】
ここで，ゲームシステムにおいて，影の形成について，特開２００２−１９００３２号公報に記載の技術が知られている。この特許文献に記載の発明は，キャラクタ自身により形成された影が，当該キャラクタの他の部分に投影される場合の影の生成及び，影の表示をリアルタイムに行うことに特徴を有している。
【０００９】
さらに，前記特開２００２−１９００３２号公報には，前記の通り一画面に表示されるキャラクタの数が多いほど，描画処理を行う描画プロセッサの負荷が大きくなるという問題に対し，何ら解決の示唆を与える記載はない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって，本発明の目的は，影の質を落とすこと無く，一画面に表示される多くの人型の影を生成する場合であっても，プロセッサに負荷をかけずに描画することを可能とするゲームプログラム及び，これを用いたゲームシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を達成する本発明の第１の側面は，メモリから読み出されるキャラクタデータに対応してキャラクタ画像データを生成する描画プロセッサと，キャラクタに貼り付けられるテクスチャを保存するテクスチャメモリと，前記テクスチャが貼り付けられたキャラクタが描画されるフレームメモリを有する画像処理システムで実行され，前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する制御をさせる画像描画プログラムであって，前記描画プロセッサに，仮想三次元空間に設定された視点から，前記複数のキャラクタを透視投影して前記キャラクタデータに対応するキャラクタ画像データを形成するステップと，前記描画プロセッサにより形成されたキャラクタ画像データをフレームメモリに描画するステップと，前記描画プロセッサに前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成し，前記テクスチャメモリに保存するステップと，さらに，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して，前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタの影のテクスチャを描画するステップを実行させることを特徴とする。【００１２】
上記の課題を達成する本発明の第２の側面は，メモリから読み出されるキャラクタデータに対応してキャラクタ画像データを生成する描画プロセッサと，キャラクタに貼り付けられるテクスチャを保存するテクスチャメモリと，前記テクスチャが貼り付けられたキャラクタが描画されるフレームメモリを有し，画像描画プログラムにより前記描画プロセッサに仮想三次元空間に位置する複数のキャラクタを所定の視点から眺め，２次元平面に透視投影した画像を画像処理システムの表示画面上に表示する制御を実行させる画像処理システムであって，仮想三次元空間に設定された視点から，前記複数のキャラクタを透視投影して前記キャラクタデータに対応するキャラクタ画像データを形成する描画プロセッサと，前記描画プロセッサにより形成されたキャラクタ画像データにより前記キャラクタの画像が描画されるフレームメモリと，前記フレームメモリにキャラクタの画像が描画される際に貼り付けられるテクスチャを保持するテクスチャメモリを有し，前記描画プロセッサにより前記フレームメモリに描画されるキャラクタの画像に対応して表示される影の画像を描画するとき，前記描画プロセッサは，一のキャラクタの影に対応して貼り付けられる影のテクスチャを生成して，前記テクスチャメモリに保存し，さらに，前記一のキャラクタと同じポーズの範疇に設定される，前記描画されるキャラクタの影のテクスチャの描画を，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを使用して行うことを特徴とする。【００１３】
さらに，本発明は，前記一のキャラクタの影は，所定のパラメータに関し，参照影として利用できるキャラクタ数がより多くなるように選択された前記パラメータの条件に合う，実際には画面上に描画を行わない仮想キャラクタの影であることを特徴とする。【００１４】
前記実際には画面上に描画を行わない仮想キャラクタの影は，前記所定のパラメータが角度であるとき，所定の角度の差分許容範囲内で，参照影として利用できるキャラクタ数がより多くなるように選択された角度にある仮想のキャラクタの影であることを特徴とする。【００１５】
また，本発明は，前記一のキャラクタと同じポーズの範疇に設定される前記描画されるキャラクタであって，前記仮想三次元空間の特定座標位置に向かう方向が，所定の範囲にないときは，前記描画プロセッサに前記描画されるキャラクタ自身の影に対応して貼り付けられる影のテクスチャを生成させることを特徴とする。【００１６】
さらに，本発明は，前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画させるとき，前記仮想三次元空間の特定座標位置から所定距離以上離れた位置にあるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させることを特徴とする。【００１７】
さらにまた，本発明は，前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画させるとき，表示画面上の表示サイズ( 長さに限られず，面積あるいは体積をサイズの基準としてもよい。)が所定サイズ以下であるキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させることを特徴とする。
また，本発明は，前記テクスチャメモリに保存された前記一のキャラクタに対応して貼り付けられる影のテクスチャを対応するキャラクタのサイズ，向きに応じて拡大・縮小・回転させて貼り付けることを特徴とする。【００１８】
また，本発明は，前記描画プロセッサにより前記フレームメモリに描画されるキャラクタ画像に対応して表示される影の画像を描画させるとき，前記仮想三次元空間の特定座標位置から第１の距離以上離れ，第２の距離までの範囲に位置するキャラクタの影は，予め前記テクスチャメモリに保存した所定形状のテクスチャを貼り付けて，前記フレームメモリに描画させ，前記第２の距離以上離れた位置にあるキャラクタに対しては影の描画を行わないように制御させることを特徴とする。【００１９】
本発明の特徴は，以下に図面に従い説明される発明の実施の形態例から更に明らかになる。
【発明の効果】
【００２０】
本発明により，複数のキャラクタの影の描画を，先に作成された影を参照して，他のキャラクタについて，使い回すことにより一画面に表示される多くの人型の影をプロセッサに負荷をかけずに描画することが可能である。
【図面の簡単な説明】
【００２１】
【図１】図１は，本発明を適用するゲームシステムの構成例を示す図である。
【図２】図２は，描画のためのデータテーブルの作成フロー図である。
【図３】図３は，作成されたデータテーブルに従い実行される描画処理の手順を示すフロー図である。
【図４】図４は，仮想三次元空間の上部に視点カメラを位置づけて，対峙する複数のキャラクタを上部から観察した図である。
【図５】図５は，キャラクタリストの一例を示す図である。
【図６】図６は，ポーズテーブルの例を示す図である。
【図７】図７は，モーションテーブルの例を示す図である。
【図８】図８は，描画リスト及び，参照描画リストを示す図である。
【図９】図９は，本発明の一実施例における画像表示例を示す図である。
【図１０】図１０は，本発明の他の実施例における画像表示例である。
【図１１】図１１は，さらに，本発明の他の実施例における画像表示例である。
【図１２】図１２は，ステップＳ１（図２）において，キャラクタ位置をソートして並べて作成されたキャラクタリストの例を示す図である。
【発明を実施するための最良の形態】
【００２２】
以下に図面を参照して，本発明の実施例を説明する。かかる実施例は，本発明の理解のためのものであり，本発明の適用は，これに限定されるものではない。特に，実施例として，以下に遊戯者の操作に関連して進行するインタラクティブなゲームシステムを例に説明するが，本発明の原理に基づき，本発明の適用は，インタラクティブ性のない再生専用のプログラム（デモンストレーション，シミュレータなど）で処理実行される一般的な画像処理システムにおいても適用可能である。【００２３】
図１は，本発明を適用するゲームシステムの構成例である。このゲームシステムの構成は，各種態様に適用可能である。すなわち，家庭用ビデオゲーム機として用いあるいは，ゲームセンターに配置される業務用ゲーム装置とすることが可能である。さらに，独立のゲーム装置とするか，あるいはネットワークを介して複数のゲーム装置間でゲームを実行可能とするように構成する場合にも，本発明の適用は可能である。  【００２４】
図１において，メインプロセッサ１は，ＣＤ／ＤＶＤ等ディスク状のＲＯＭ１８０あるいはインタフェース１９０に接続される半導体記録媒体１９１に格納されたゲームプログラム，あるいは，通信インタフェース２００を介してインターネット等のネットワーク２１０を経由して送られたゲームプログラムに基づき，遊戯者の操作に対応する操作信号等に対応してゲーム処理，画像処理及び音声処理を実行する。また，ＣＤ／ＤＶＤ等ディスク状のＲＯＭ１８０の他，ＨＤＤ等の磁気記憶媒体に格納するゲームプログラムにより処理するように構成しても良い。【００２５】
さらに，メインプロセッサ１によりあるいは，必要によりメインプロセッサ１とは別個に用意される図示されていないコプロセッサにより，座標変換，透視変換，光源計算等のジオメトリー処理を行う。【００２６】
ゲームコントローラ１５１により遊戯者の操作に対応する操作信号がインタフェース１５０を通してメインプロセッサ１００に転送される。【００２７】
ＲＯＭ１６０には，システム全体を制御するプログラムあるいは，業務用ゲーム装置にあっては，更にゲームプログラムを格納する。【００２８】
ＲＡＭ１７０はメインメモリであり，ゲーム実行中における作業用データを保持する。【００２９】
サウンドプロセッサ１４０は，メインプロセッサで作成される音声データに対応して音声出力を生成し，スピーカ１４１に出力する。【００３０】
次に，描画プロセッサ１２０及び，ＶＲＡＭ１３０及びディスプレイ１２１が本発明と直接関連する機能部である。【００３１】
描画プロセッサ１２０は，ポリゴンやボリューム等で形成されるオブジェクトの描画処理を実行する。ゲーム画像を構成する各フレーム毎に，メインプロセッサ１００からオブジェクトデータが描画プロセッサ１２０に送られる。同時に，必要なテクスチャデータがＶＲＡＭ１３０の一部領域で構成するテクスチャメモリ１３２に転送，保存される。
描画プロセッサは１２０は，メインプロセッサ１００から送られたオブジェクトデータに基づき，オブジェクトに対応するテクスチャを生成し，ＶＲＡＭ１３０のテクスチャメモリ１３２に格納する。【００３２】
その後，Ｚバッファ等によりオブジェクトを構成するポリゴンの順序をソートし，陰面処理を行いながら，テクスチャメモリ１３２に保存されたテクスチャを貼り付けてＶＲＡＭ１３０の一部に形成されるフレームバッファ１３１に一フレーム分の画像を描画していく。この際，ゲームプログラムに従い，必要な他の画像処理，例えば，半透明処理，シェーディング等の処理が行われる。【００３３】
フレームバッファ１３１に描画された画像は，ディスプレイ１２１に出力表示される。【００３４】
上記処理において，本発明は，特に，オブジェクトの内，ゲームに登場する複数のキャラクタにより形成される影のテクスチャの生成，及びその描画の方法に特徴を有する。【００３５】
図２，図３は，本発明に従う影テクスチャ形成プログラムにより実行制御される描画プロセッサの処理フローである。【００３６】
特に，図２は，描画のためのデータテーブルの作成フローであり，図３は，作成されたデータテーブルに従い実行される描画処理の手順を示すフローである。なお，図２における描画のためのデータテーブルの作成フローは，描画プロセッサ１２０でなく，メインプロセッサ１００により実行させることも可能である。【００３７】
さらに，描画のためのＶＲＡＭ１３０に論理的に形成されるフレームメモリ１３１と，テクスチャメモリ１３２は，物理的に独立したメモリとすることも可能である。【００３８】
今，実施例として，図４に示すような，対戦ゲームにおいて遊戯者により操作されるキャラクタ（プレイヤ）Ｐに対し，複数のキャラクタが対峙する画像フレームを想定する。【００３９】
図４は，仮想三次元空間の上部に視点カメラを位置づけて，対峙する複数のキャラクタを上部から観察した図である。図４に登場するキャラクタは，遊戯者により操作されるキャラクタPと，これと対戦する複数のキャラクタ０〜１１が表示されている。【００４０】
そして，仮想三次元空間に標準的な点光源あるいは，線光源，面光源，平行光源等として形成可能である光源が設定されている。これにより，画面の左手方向からプレイヤPに向かう方向に光が差している。したがって，複数のキャラクタ０〜１１のそれぞれのポーズに対応する影がキャラクタP方向に伸びるように形成される。【００４１】
先に説明したように，従来技術においては描画処理の際に，複数のキャラクタ０〜１１のそれぞれについて，影のテクスチャを生成することが必要であり，これによりプロセッサの負荷が大きくなり，高速処理が困難となる恐れもあった。本発明はかかる不都合を解消するものである。【００４２】
図２に戻り説明する。描画処理がスタートすると，該当のフレームに表示すべきキャラクタのデータがメインプロセッサ１００から描画プロセッサ１２０に送られる。これに基づき描画プロセッサ１２０は，該当フレームに対する初期化処理として，描画すべきフレームに表示される複数のキャラクタを，特定座標位置，例えば視点座標に最も近い遊戯者の操作対象であるキャラクタＰの座標位置からの距離を基準にソートして並べてキャラクタリストを作成する。【００４３】
さらに，キャラクタ毎に，そのポーズを特定するフラグを対応させたポーズテーブルを生成する（ステップＳ１）。【００４４】
生成されたキャラクタリスト及びポーズテーブルは，描画プロセッサ１２０に保持し，あるいは，メインメモリ１７０に保持するようにしても良い。
図５は，キャラクタリストの一例である。該当のフレーム画像に登場するキャラクタをプレイヤＰからの距離が近い順に，ソートされてリストされている。キャラクタＩＤは，対応するキャラクタを特定する識別子である。【００４５】
図６は，ポーズテーブルの例である。ポーズテーブルは，所定のポーズＩＤ，実施例として，“構え”，“倒れ”及び“起き上がり”のポーズを特定するポーズＩＤに対し，該当のポーズで表示されるキャラクタをキャラクタＩＤで特定するテーブルである。【００４６】
すなわち，ポーズＩＤは，同じポーズ（姿勢）の範疇を特定する識別子であり，多少異なる姿勢であっても同じポーズＩＤに属するものとして扱う。【００４７】
なお，実際は，“構え”や“倒れ”のポーズと較べて，起き上がり中のポーズに対応して生成される影には，構えや倒れのポーズほどには影の形に共通点が無い。このため，“起き上がり”のポーズは，同じポーズとして即ち，参照影ポーズとして扱わず，“構え”，“倒れ”以外の全てのポーズを含んだ「その他」として扱うことが好ましい。【００４８】
なぜならば，一の起き上がり中のポーズのキャラクタの影を，他の起き上がり中のポーズのキャラクタについて参照影として用いると，起き上がり中のポーズ姿勢が違うために，違和感が相当に生じることになるからである。このため，「その他」として扱うポーズについては，参照影を使わないようにする。【００４９】
但し，「その他」として扱うポーズに含まれる場合であっても，例外的にモーションＩＤが同一の範疇であれば，参照影を生成するようにしてもよい。モーションＩＤは，図７に示すモーションテーブルにおいて説明するようにゲームプログラムの進行に対応するキャラクタの一連のモーション（動き）の中で，時間経過毎（例えばフレーム毎）の姿勢を特定する識別子である。【００５０】
ここでいう姿勢とは，上記のポーズ（姿勢）とは異なる。すなわち，上記のポーズ（姿勢）は，同じ範疇を含む上位の概念であり，モーションＩＤで特定される姿勢は，具体例である。例えば，キャラクタの胴体，頭，両腕，両脚等の相互位置関係の，ユニークな一つがモーションＩＤで特定される。【００５１】
したがって，上記の「その他」として扱うポーズであっても，モーションＩＤが同一の範疇であれば，参照影を生成するという機能を有効とする。かかる機能を有効とする確率は低いとは思われるが，複数の敵に対して同時に攻撃を加えるようなアクションゲームにあっては，ゲームの特性上，敵における同じ「やられ」モーションが再生される事が多く，同一モーションＩＤによる参照影の生成を用いることが有利である。【００５２】
上記に関連して，“構え”，“倒れ”以外で，同じポーズの範疇として扱えるものとしては，“走り”，“歩き”，“しゃがみ”等のポーズも使用可能である。【００５３】
初期化処理の後，図５に示したキャラクタリストにあるキャラクタＩＤがなくなるまで（ステップＳ２，ＮＯ），ステップＳ２からＳ９までのループ処理を行い，ソートされた順番にキャラクタの影をどのように描画するかを決定する。【００５４】
ステップＳ３において，モーションテーブルからキャラクタのポーズＩＤを取得する。ここで，モーションテーブルは，ゲームプログラムに対応して予め用意されるキャラクタのモーション毎に対応する関連データが登録されている。【００５５】
図７に示すモーションテーブルには，ゲームプログラムの進行に対応する順に現れるモーションＩＤとしてモーション番号（ＮＯ）が予め設定されている。さらに図７において，設定された複数のモーションＩＤのそれぞれに対応してポーズＩＤが登録されている例を示している。たとえば，モーションＩＤが１，３，ｍ，ｎは“倒れ”というポーズが描画されるものと定義され，対応する倒れポーズのＩＤが登録されている。【００５６】
同様に，モーション２，ｍ＋１，ｍ＋２，ｎ−１は，“構え”というポーズが描画されるものと定義され，対応する構えポーズのＩＤが登録されている。さらに，モーション４は，“起き上がり”というポーズが描画されるものと定義され，対応する起き上がりポーズのＩＤが登録されている。【００５７】
かかるモーションテーブルから先ず“倒れ”ポーズのＩＤが取得される（ステップＳ３）。この取得された“倒れ”ポーズのＩＤに基づき，図６に示したポーズテーブルを参照し，いずれのキャラクタＩＤがセットされているか否かが判断される（ステップＳ４）。図６に示す例では，描画されるキャラクタＩＤ１，ＩＤ６，ＩＤ７が“倒れポーズ”であることが登録されている。
ポーズテーブルにキャラクタＩＤが登録されていれば（ステップＳ４，ＹＥＳ），この登録されているキャラクタＩＤをポーズテーブルから取得する（ステップＳ５）。次いで，取得したキャラクタＩＤに対応するキャラクタの向き（角度）が，上記特定座標位置の方向に対し所定範囲にあるか否かを判断し，所定範囲内であれば（ステップＳ６，ＹＥＳ），当該キャラクタの影を参照描画リストに登録する（ステップＳ７）。【００５８】
この参照描画リストに登録することは，既に作成されている他のキャラクタの影のテクスチャを参照（使い回し）出来ることを意味している。【００５９】
一方，ステップＳ４において，ポーズテーブルにキャラクタＩＤがセットされていないとき（ステップＳ４，ＮＯ），あるいは，ステップＳ６においてキャラクタの向き（角度）が，特定座標位置の方向に対し所定範囲でないと判断されるとき（ステップＳ６，ＮＯ），描画リストに追加し，ポーズテーブルにキャラクタＩＤをセットする（ステップＳ８）。【００６０】
ここで，描画リスト及び，参照描画リストは，図８に示すようである。すなわち，図８において，一行目の欄Ｉは，描画リストであり，オリジナルに影のテクスチャを作成する対象となるキャラクタのＩＤを示している。【００６１】
たとえば，図４に示すフレームの表示例において，“倒れ”ポーズを取るキャラクタＩＤ６，“構え”ポーズを取るキャラクタＩＤ０及び，“起き上がり”ポーズを取るキャラクタＩＤ８，さらに同様に“倒れ”ポーズを取るが，キャラクタの向き（角度）が，特定の座標位置方向に対し所定範囲でない（ステップＳ６，ＮＯ）キャラクタＩＤ２が，描画リストＩにセットされ，新規に影のテクスチャが作成されるべきことを示している。【００６２】
さらに，図８において，参照描画リストIIにはオリジナルの影を参照出来る即ち，使い回しが出来る対象となるキャラクタのＩＤを示している。たとえば，ＩＤ６について作成される“倒れ”ポーズの影テクスチャを，キャラクタＩＤ７のキャラクタ影として参照することが出来ることを示している。【００６３】
同様に，キャラクタＩＤ０について作成される“構え”ポーズの影テクスチャを，キャラクタＩＤ９，３，５及び４のキャラクタ影として参照することが出来ることを示している。【００６４】
キャラクタＩＤ８について作成される“起き上がり”ポーズの影テクスチャ及び，キャラクタＩＤ２について作成される“倒れ”ポーズの影テクスチャを参照するキャラクタは，いずれもセットされていない。【００６５】
このように一のキャラクタについて，描画リストに追加及び，ポーズテーブルにキャラクタＩＤがセットされる（ステップＳ８）と，キャラクタリスト（図５参照）からセットされている該当のキャラクタＩＤが削除される（ステップＳ９）。したがって，上記処理が，キャラクタリストにセットされたキャラクタＩＤがなくなるまで（ステップＳ２，ＮＯ），繰り返し行われる。【００６６】
ついで，上記により作成された図８に示す描画リストＩ及び，参照描画リストＩＩに基づき，図３の処理フローに従い描画処理が行われる。
図３において，描画プロセッサ１２０は，描画リストＩから先ず第１のポーズＩＤに対応する登録されているキャラクタＩＤ６を求める（ステップＳ１０）。【００６７】
そして，描画プロセッサ１２０は，この求めたキャラクタＩＤ６のポーズは，図６のポーズテーブルから
“倒れ”のポーズであることが分かり，対応する影テクスチャを作成し，テクスチャメモリ１３２に格納する（ステップＳ１１）。【００６８】
同時に，描画プロセッサ１２０は，作成した影テクスチャをフレームバッファ１３１に送り影を描画する（ステップＳ１２）。【００６９】
つぎに，参照影描画リストＩＩを検索して，描画リストＩに登録されているキャラクタＩＤ６の影テクスチャを参照影として使用するキャラクタＩＤの登録の有無を検索する（ステップＳ１３）。【００７０】
キャラクタＩＤ６の影テクスチャを参照影として使用する対応するキャラクタＩＤの登録が有れば（ステップＳ１３，ＹＥＳ），テクスチャメモリ１３２にアクセスして格納されているキャラクタＩＤ６の影テクスチャを読み出し，これを用いて，フレームバッファ１３１に同じ影を描画する（ステップＳ１４）。このとき，影の描画処理において，貼り付けに利用される影テクスチャを，対応するキャラクタのサイズ，向きに応じて拡大・縮小・回転させて貼り付けるようにしてもよい。【００７１】
キャラクタＩＤ６の影テクスチャが参照描画されると，参照描画リストIIからキャラクタＩＤ６の影テクスチャを参照影画として利用するべく登録されているキャラクタＩＤ７の登録を削除する（ステップＳ１５）。【００７２】
このステップＳ１３からステップＳ１５の処理を，一つのキャラクタＩＤ従って，一つのポーズに対して参照画リストIIに登録対象がなくなるまで（ステップＳ１３，ＮＯ），継続する。【００７３】
そして，一つのキャラクタＩＤに対しての参照画リストIIに登録された参照対象の全てのキャラクタＩＤについて参照描画処理が終わると，描画リストＩから参照されるべきキャラクタＩＤの登録を削除し，同時に，参照画リストIIに登録された参照画を利用する全てのキャラクタＩＤを削除する（ステップＳ１６）。【００７４】
処理は，ステップＳ１０に戻り， 描画リストＩに登録された影テクスチャの作成対象のキャラクタＩＤがなくなるまで（ステップＳ１０，ＮＯ），上記ステップ１１から１６の処理を行い，描画処理を終了する。【００７５】
図９は，本発明の適用例と比較するための従来方法により形成，描画された影の表示例を示す図であり，キャラクタａ，ｂ，ｃ，ｄ，ｅの全てが，参照影を使わずに，全て本物影で表示されている例である。なお，背景画は省略されている。【００７６】
図１０，図１１は，本発明の適用により描画された画像の例を示す図である。図９と同様に，背景画は省略されている。【００７７】
図１０に示す例では，キャラクタｂについて影の描画を行う際に，キャラクタａについて作成した影のテクスチャを参照して使い回ししている。キャラクタｄ，ｅについては，それぞれ，新規に作成した影のテクスチャを作成している。【００７８】
したがって，描画プロセッサ１２０により，キャラクタｂについては影のテクスチャの作成，及びテクスチャメモリ１３２に格納という処理を省略することが出来る。これにより，描画プロセッサ１２０の負荷を低減することが可能である。【００７９】
さらに，図１０において，キャラクタｃの影が丸影で形成されている。これは次の理由によるものである。すなわち，特定座標位置からのキャラクタの位置する距離が所定値を超えているとき，当該キャラクタの画像は，他のキャラクタに対し小さく画像表示される。かかる場合，キャラクタの形状に対応する影の形状を持たなくても遊戯者に違和感を与えることがない。したがって，特定座標位置からのキャラクタｃの位置する距離が所定値を超えているときに，所定形状，例えば丸の形状の影テクスチャを用いて描画することによっても描画プロセッサ１２０の負荷を軽減することが出来る。【００８０】
また，距離によらず，表示画面上のキャラクタの表示サイズが所定サイズ以下である時に，丸影を使用するようにしてもよい。
図１１は，更に本発明の他の実施例における画像表示例であり，キャラクタｆについては，その影の描画が省略されている。キャラクタｆは，更に図１０におけるキャラクタｃより特定座標位置から更に遠い位置にあり，この場合は，キャラクタの表示は更に小さくなり，影の描画を省略しても違和感を与えることがない。
上記丸影の生成条件として，距離を基準として遊戯者の操作対象のキャラクタ（プレイヤ）から所定以上の距離がある場合に生成することを説明した。しかし，上記説明のように，距離を基準としているが，より望ましい実施態様として，距離を見ることではなく，優先度の高い順に，例えば，プレイヤから近い順番に精度の高い影タイプを適応して行き，足りなくなったキャラクタは，丸影や影無しで表示するという対応とすることができる。【００８１】
ここで，上記実施例において，参照影数が最も多くなるように，本物影を生成するキャラクタを検索することも可能である。しかし，本物影が状況に応じて変化しやすいため，本物影を描画するキャラクタが変化するたびに影の形態も変化し，結果として影が頻繁に切り替わってしまうという欠点がある。【００８２】
影の描画負荷は，単純な集計，検索の処理に比べて通常は重いので，ある程度複雑な検索を行なっても総合的には描画プロセッサの負荷を軽減することが出来る。【００８３】
そこで，対応として，ゲームの特性を理解した上で，最もよく使われそうな影を生成するための仮想キャラクタのパラメータを，ある程度あらかじめ設定しておくことも可能である。【００８４】
たとえば，図４に示したような対戦ゲームでは，「立ち構えポーズでプレイヤの方向を向いている影」あるいは，「攻撃を受けて地面に倒れている影」などがよく使われそうな仮想キャラクタの影として考えられる。このような仮想キャラクタを使うことにより，影を生成するキャラクタが外部の影響を受けることなく常に同じタイプの影を生成し続けることが出来る。【００８５】
これにより，仮想キャラクタを使わなかった場合に参照元キャラクタが切り替わる瞬間に影の形が突然変わってしまうという現象を回避することが出来る。【００８６】
さらに，描画負荷を下げるために，仮想キャラクタのパラメータをある程度自由に調整できるようにして，参照影が有効に使われる確率を増やすことが出来る。【００８７】
ここで，更に，参照影の利用を出来るだけ多くするという観点からの他の実施例を考える。この他の実施例においては，実際には画面上に描画を行わない仮想キャラクタの影（仮想本物影）という考えを利用する。【００８８】
図１２は，ステップＳ１（図２）において，複数のキャラクタの位置をソートして並べて作成されたキャラクタリストの例である。【００８９】
例えば，対戦ゲームにおいて，遊戯者の操作対象のキャラクタ（プレイヤ）と対戦する複数のキャラクタ（エネミー）について，前記プレイヤの位置からの距離の順にソートして並べられている（ソート順ＣＨ１〜ＣＨ２２）。ソート順ＣＨ１〜ＣＨ４に対応するキャラクタは，プレイヤに最も近い位置に居るキャラクタであり，その動きが激しくなるものである。【００９０】
したがって，ＣＨ１〜ＣＨ４に対応するキャラクタに対する影のテクスチャは，本物影を使用する。なお，図１２には，リストされていないが，遊戯者の操作対象のキャラクタ（プレイヤ）は重要であるので，本物影を使用する。 【００９１】
ついで，ＣＨ５〜ＣＨ１４に対応するキャラクタに対しての影のテクスチャの描画は，実際のキャラクタの影像ではなく，予め作成され仮想的，代表的もしくは平均的な影テクスチャ（仮想本物影）を用意し，これを用いて描画することが可能である。【００９２】
すなわち，ＣＨ５〜ＣＨ１４のキャラクタについて，実際には画面上に描画を行わない仮想キャラクタの影（仮想本物影）を作成し，仮想キャラクタの影ポーズが一致するものに，この仮想キャラクタの影（仮想本物影）を参照影として描画を行う。【００９３】
図１２に示す例では，ＣＨ５〜ＣＨ１０のキャラクタについては，実際には画面上に描画を行わない仮想キャラクタの影（仮想本物影１）を作成し，これを参照する参照画を使用する。また，ＣＨ１１のキャラクタについては，他に同じポーズの範疇のキャラクタが存在しないために，自身の本物影を使用する。【００９４】
ＣＨ１２のキャラクタは，ＣＨ２のキャラクタとポーズの範疇を同じくし，従ってＣＨ２の本物影を参照する参照画を使用する。【００９５】
さらに，ＣＨ１３〜ＣＨ１４のキャラクタについては，実際には画面上に描画を行わない仮想キャラクタの影（仮想本物影２）を作成し，これを参照する参照画を使用する。【００９６】
ここでポイントとなるのは，仮想キャラクタの影を生成する際に，現在登場しているキャラクタやモーションに対して出来るだけ多く参照影を利用して描画できるように，仮想キャラクタのパラメータ（角度やモーション）を設定することである。【００９７】
理解の容易のため仮想キャラクタのパラメータとして角度について例を挙げて説明する。【００９８】
プレイヤから近い順番に６人のキャラクタが居て，それぞれの向きが，０,１０,２０,３０,４０,５０度の方向を向いていた場合を考える。同じ本物影を参照画として描画出来る角度の差分許容範囲が３０度未満とすると，０度方向を見ているキャラクタを本物影として描画すると，１０度と２０度を向いている２つのキャラクタについて，その本物影を参照影として描画できる。【００９９】
しかし，３０度方向を向いているキャラクタに対しては，また新たに負荷をかけて本物影を生成しなくてはならなくなり，全ての影を描画すると次のような態様における描画負荷となる。【０１００】
０度向きのキャラクタ：本物影
１０度向きのキャラクタ：参照影
２０度向きのキャラクタ：参照影
３０度向きのキャラクタ：本物影
４０度向きのキャラクタ：参照影
５０度向きのキャラクタ：参照影
これに対し，仮想キャラクタの角度（向き）を０度から３６０度まで検索し，参照影が最も多くなるような角度に設定する。【０１０１】
上記の例（６つのキャラクタが，０,１０,２０,３０,４０,５０度の方向を向いている）に対しては，仮想キャラクタとして，２５度の方向を向いたキャラクタを生成する。このキャラクタは，実際には画面上に描画はされないものである。【０１０２】
このとき，全てのキャラクタの向きが，仮想キャラクタに対して，２５度から±３０度未満であることが，同じ本物影（仮想本物影）を参照画として描画することが出来る角度の差分許容範囲である。したがって，０,１０,２０,３０,４０,５０度の方向を向いている６つのキャラクタの全てについて，仮想キャラクタの本物影（仮想本物影）を参照画として描画することが出来る。これにより，描画負荷を軽減することが出来る。【０１０３】
すなわち，仮想キャラクタ影の描画負荷は投影テクスチャを作成するだけなので，本物影1個の描画負荷（＝仮想本物影1個の描画負荷）＋参照影６個の描画負荷となり，参照影の負荷は本物影の作成負荷に比べて軽いので，全体として処理が軽くなる。【０１０４】
図１２において，更にソート順ＣＨ１５〜１９のキャラクタに対しては，予め作成されている丸影を用いて影の描画をする。ソート順ＣＨ２０〜２２のキャラクタに対しては，影の描画は省略する。【０１０５】
以上図面に従い説明したように，本発明は，表示画像シーンの特徴に合わせて，効果的にキャラクタの影テクスチャを作成し，影描画を行うことが出来る。これにより，描画プロセッサの負荷が増えることが回避出来る。また，遊戯者に違和感なく，表示品質を下げることなく画像表示を行うことが可能である。【０１０６】
さらに，本発明は，上記実施例に限定されずに適用が可能であり，本発明の技術的範囲は，請求項の記載並びに，これに均等の範囲にも含まれるものである。
【図１】
2007029568.tif 000002
【図２】
2007029568.tif 000003
【図３】
2007029568.tif 000004
【図４】
2007029568.tif 000005
【図５】
2007029568.tif 000006
【図６】
2007029568.tif 000007
【図７】
2007029568.tif 000008
【図８】
2007029568.tif 000009
【図９】
2007029568.tif 000010
【図１０】
2007029568.tif 000011
【図１１】
2007029568.tif 000012
【図１２】
2007029568.tif 000013
【国際調査報告】
2007029568.tif 000014
2007029568.tif 000015