(57)【特許請求の範囲】
【請求項１】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理プログラムであって、
コンピュータを、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付ける手段、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求める手段、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出する手段、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断する手段、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタを移動させてから前記挙動を行う手段、
として機能させるための画像処理プログラム。
【請求項２】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理プログラムであって、
コンピュータを、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付ける手段、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求める手段、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出する手段、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断する手段、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタの向きを回転させてから前記挙動を行う手段、
として機能させるための画像処理プログラム。
【請求項３】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理プログラムであって、
コンピュータを、
（ａ）前記ゲーム装置の入力手段から前記プレイヤキャラクタに対し、動作指示入力があったか否かの判断を行う手段、
（ｂ）前記（ａ）の判断が肯定された場合、前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させるための特殊挙動の経路を求める手段、
（ｃ）前記特殊挙動の経路の一部が前記仮想空間内の他のオブジェクトと衝突するか否かの判断を行う手段、
（ｄ）前記特殊挙動の経路の一部が前記他のオブジェクトと衝突すると判断した場合に、前記特殊挙動の経路における所定点を中心にして前記特殊挙動の経路を所定の角度だけ回転移動する手段、
（ｅ）前記回転移動後の特殊挙動の経路について、前記（ｃ）〜（ｄ）のステップを繰り返す手段、
（ｆ）前記（ｃ）又は前記（ｅ）における（ｃ）の判断が否定された場合、前記特殊挙動の経路に基づき、前記オブジェクトの特殊挙動を再生する手段、
として機能させるための画像処理プログラム。
【請求項４】
前記コンピュータを、
前記視点の視方向又は視点の挙動を前記特殊挙動に応じて変化する手段
としてさらに機能させる、請求項３に記載の画像処理プログラム。
【請求項５】
前記視点の挙動は、複数のパターンからなり、
前記コンピュータを、
前記各パターンに基づき、前記視点の挙動に係る経路と前記他のオブジェクトとが衝突するか否かの判定を行う手段、
前記判定の結果に応じて、非衝突のパターンを選択し、該パターンに基づき、前記視点の挙動を制御する手段、
としてさらに機能させる、請求項４に記載の画像処理プログラム。
【請求項６】
前記コンピュータを、
前記視点の挙動に係る経路と前記他のオブジェクトとが衝突するか否かの判定を行うステップにおいて、前記判断の結果、前記複数のパターンのいずれも前記他のオブジェクトと衝突すると判断した場合に、前記複数のパターンのうち、前記衝突するとの判定が肯定される数が最も少ない一のパターンを選択し、該パターンに基づき、前記視点の挙動を制御する手段
としてさらに機能させる、請求項５に記載の画像処理プログラム。
【請求項７】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理方法であって、
コンピュータが、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付けるステップと、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求めるステップ、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出するステップと、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断するステップと、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタを移動させてから前記挙動を行うステップと、
を実行する画像処理方法。
【請求項８】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理方法であって、
コンピュータが、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付けるステップと、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求めるステップと、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出するステップと、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断するステップ、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタの向きを回転させてから前記挙動を行うステップと、
を実行する画像処理方法。
【請求項９】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理方法であって、
コンピュータが、
（ａ）前記ゲーム装置の入力手段から前記プレイヤキャラクタに対し、動作指示入力があったか否かの判断を行うステップと、
（ｂ）前記（ａ）の判断が肯定された場合、前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させるための特殊挙動の経路を求めるステップと、
（ｃ）前記特殊挙動の経路の一部が前記仮想空間内の他のオブジェクトと衝突するか否かの判断を行うステップと、
（ｄ）前記特殊挙動の経路の一部が前記他のオブジェクトと衝突すると判断した場合に、前記特殊挙動の経路における所定点を中心にして前記特殊挙動の経路を所定の角度だけ回転移動させるステップと、
（ｅ）前記回転移動後の特殊挙動の経路について、前記（ｃ）〜（ｄ）のステップを繰り返すステップと、
（ｆ）前記（ｃ）又は前記（ｅ）における（ｃ）の判断が否定された場合、前記特殊挙動の経路に基づき、前記オブジェクトの特殊挙動を再生するステップと、
を実行する画像処理方法。
【請求項１０】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理装置であって、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付ける手段と、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求める手段と、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出する手段と、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断する手段と、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタを移動させてから前記挙動を行う手段と、
を備える画像処理装置。
【請求項１１】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理装置であって、
前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させる挙動を当該プレイヤキャラクタに行わせるための指示入力を受け付ける手段と、
前記挙動における前記プレイヤキャラクタ及び前記敵キャラクタの移動経路を求める手段と、
前記仮想空間内における前記プレイヤキャラクタ及び敵キャラクタの位置を算出する手段と、
前記算出された前記プレイヤキャラクタ又は前記敵キャラクタの位置が、前記他のオブジェクトの隣接領域内であるかを判断する手段と、
前記指示入力を受け、かつ、前記判断が肯定された場合において、少なくとも前記プレイヤキャラクタ又は前記敵キャラクタのいずれか一方の前記移動経路が前記他のオブジェクト内に入るとき、当該移動経路が当該他のオブジェクト内に入らないように、当該プレイヤキャラクタ又は当該敵キャラクタの向きを回転させてから前記挙動を行う手段と、
を備える画像処理装置。
【請求項１２】
仮想空間内のプレイヤキャラクタ及び敵キャラクタを含むオブジェクトを視野領域に含むように視点を設定し、当該視野領域内の画像を生成するための画像処理装置であって、
（ａ）入力手段から前記プレイヤキャラクタに対し、動作指示入力があったか否かの第１の判断を行う手段と、
（ｂ）前記（ａ）の判断が肯定された場合、前記仮想空間内で前記プレイヤキャラクタ及び前記敵キャラクタを互いに関連して移動させ、当該仮想空間内に配置された他のオブジェクトに当該敵キャラクタを衝突させるための特殊挙動の経路を求める手段と、
（ｃ）前記特殊挙動の経路の一部が前記仮想空間内の他のオブジェクトと衝突するか否かの第２の判断を行う手段と、
（ｄ）前記特殊挙動の経路の一部が前記他のオブジェクトと衝突すると判断した場合、前記特殊挙動の経路における所定点を中心にして前記特殊挙動の経路を所定角度だけ回転移動させる手段と、
前記特殊挙動の経路に基づき、前記複数の操作対象オブジェクトの特殊挙動を再生する手段と、を備え、
前記再生する手段は、
前記第２の判断を行う手段により前記回転移動後の特殊挙動の一部が前記仮想空間内の他のオブジェクトと衝突すると判断された場合、前記回転移動後の特殊挙動の経路に基づき、前記複数の操作対象オブジェクトの特殊挙動を再生する、
画像処理装置。
【請求項１３】
請求項１から請求項６に記載の画像処理プログラムが記憶されたコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に係り、特に、ゲームプルグラムでの、キャラクタや視点の特殊挙動の制御に適した画像処理技術に関するものである。
【背景技術】
【０００２】
３Ｄ画像処理技術がゲーム装置に用いられている。すなわち、画像データ空間である、３次元座標に、遊戯者が操作するプレイヤキャラクタ、プレイヤキャラクタの敵となる敵キャラクタなどのオブジェクトの３次元形状と、その位置やその動きを定義し、これを仮想カメラから見た映像に変換し、画面に、プレイヤキャラクタと敵キャラクタなどが対戦するなどの仮想現実世界を表示する。キャラクタの動きばかりでなく、視点の動きをデザイナーが多彩に設計することにより、３Ｄ画像処理技術は、ユーザに多彩な映像を提供することができる。
【０００３】
キャラクタの動作は、遊戯者の操作に基づくが、キャラクタを特殊な挙動で動かす場合（例えば必殺技など）には、コンピュータがプログラムに基づいてキャラクタを自動制御することが行われる。関連技術が、例えば、WO1997/046295、特開2003-067780の各公報に記載されている。
【特許文献１】WO1997/046295
【特許文献２】特開2003-067780
【発明の開示】
【発明が解決しようとする課題】
【０００４】
キャラクタの特殊挙動は、例えば、キャラクタが３次元仮想空間上のある位置に存在し、かつ、ユーザからの入力、例えば敵キャラクタへのパンチやキックなどを繰り出すボタンを押したときに、発生する。しかしながら、従来は、キャラクタの座標移動の大きい、特殊挙動は、屋外など、障害物のない場所で行なわれていた。しかし、屋内、通路などの狭い場所で発生させると、壁に潜り込んでしまうという問題があり、特殊挙動を実施できなかった。
【０００５】
また、キャラクタの特殊挙動に合わせて視点を移動させると、視点がデータ空間中の、例えば壁や地面などの構造物中にもぐり込んで、キャラクタを的確に表示できないという問題があった。
【０００６】
そこで、本発明は、複数のキャラクタが特殊な挙動をとっても、複数キャラクタの特殊挙動が不自然にならないようにした画像処理技術を提供する事を目的とする。さらに、本発明は、視点の制御を、複数キャラクタの挙動を的確に表示できるようにした画像処理技術を提供する事を目的とする。さらに、本発明は、キャラクタや視点の動きを、複数キャラクタの特殊挙動を的確に表示できるように制御可能な画像処理技術を提供する事を目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明においては、仮想空間内で複数のオブジェクトを動作させるための指令を受けるとともに、前記仮想空間内に視点を設定して該視点から見える前記オブジェクトを含む領域を演算し、該演算の結果を表示装置に表示する処理を行うための画像処理プログラム、画像処理方法及び画像処理装置において、前記仮想空間における前記複数のオブジェクトの位置を算出し、前記複数のオブジェクトに特殊挙動を発生させる領域を設定し、前記領域に前記複数のオブジェクトが含まれているか否かの第１の判断を行い、入力装置を介して前記複数のオブジェクトのうち、いずれか一のオブジェクトに対し、所定の指令があったか否かの第２の判断を行い、前記第１の判断及び前記第２の判断において、いずれの判断も肯定されたとき、前記複数のオブジェクトを前記特殊挙動が可能となる位置まで強制移動し、前記視点を前記複数のオブジェクトとともに移動し、前記視点の位置を算出し、前記視点の視方向又は前記視点の挙動を前記複数のオブジェクトの特殊挙動に応じて変化させるようにした。
【０００８】
係る本発明によれば、遊戯者の操作によることなく、特殊挙動を発生してよい領域で、キャラクタが特殊挙動のパターンで確実に動作できる。
【０００９】
また本発明においては、仮想空間内で複数のオブジェクトを動作させるための指令を受けるとともに、前記仮想空間内に視点を設定して該視点から見える前記オブジェクトを含む領域を演算し、該演算の結果を表示装置に表示する処理を行う画像処理プログラム、画像処理方法及び画像処理装置において、前記仮想空間における前記複数のオブジェクトの位置を算出し、前記複数のオブジェクトに特殊挙動を発生させ、前記視点を前記特殊挙動に応じて移動し、前記特殊挙動の経路が他のオブジェクトと衝突するか否かの判定を行い、前記特殊挙動の経路が前記他のオブジェクトと衝突すると判断したとき、前記特殊挙動の経路を前記他のオブジェクトと非衝突の範囲に移動させるようにした。
【００１０】
係る本発明によれば、操作対象オブジェクトが他のオブジェクトに干渉されない位置に補正されるため、視点から操作対象オブジェクトの画像が的確に表示される。
【発明の効果】
【００１１】
以上説明したように、本発明は、操作対象である複数のオブジェクトが特殊な挙動をとっても、当該オブジェクトの特殊挙動が不自然にならないようにした画像処理技術を提供する事ができる。
【００１２】
さらに、本発明は、視点の制御を、複数のオブジェクトの挙動を的確に表示できるようにした画像処理技術を提供する事ができる。さらに、本発明は、オブジェクトや視点の動きを、複数オブジェクトの特殊挙動を的確に表示できるように制御可能な画像処理技術を提供する事ができる。
【発明を実施するための最良の形態】
【００１３】
次に本発明の実施形態について説明する。この実施形態は、本発明の画像処理をゲーム装置に適用したものである。ゲームは、３次元座標空間に、プレイヤキャラクタと敵キャラクタとを配置し、ユーザの操作に基づいてこれらキャラクタを移動させるとともに、キャラクタ間で闘いを行うことにより実現される。さらに、プレイヤキャラクタは、所定の条件を満たした時に特殊挙動を行う。
【００１４】
図１（１）-（３）は、特殊挙動に対応する、モニタ画面の出力である。ユーザが操作する人物２が敵である人物３を壁１に押し付けて、敵を倒す過程を示している。この一連の過程がプレイヤキャラクタ２の特殊挙動である。「ユーザが操作する人物」が操作対象としてのオブジェクト、即ちプレイヤキャラクタである。「敵となる人物」が、画像処理装置が操作するか、或いは他の遊戯者によって操作される敵キャラクタ３である。
【００１５】
この特殊挙動はプレイヤキャラクタと敵キャラクタとが壁の近くに移動し、ユーザがプレイヤキャラクタに、操作装置を介して攻撃指示を与えると、画像処理装置は特殊挙動を自動再生する。
【００１６】
図２は、画像処理装置の処理ボードのハードウエアブロックの一例であり、業務用または家庭用向けのゲーム装置およびパーソナルコンピュータや携帯型コンピュータ、携帯電話などに適応可能である。
【００１７】
処理ボードは、プログラムにより動作し、装置全体を制御するＣＰＵ２０と、ＣＰＵが使用するプログラムやデータを格納するシステムメモリ２２と、ゲームプログラムや出力する画像や音声などのデータが記憶されたプログラムデータ用ＲＯＭなどの記憶媒体２４と、装置を起動させた際に各ブロックを初期化するためのプログラムを格納するブートロム２６と、各ブロック間でプログラムやデータのやり取りを行うバスを制御するバスアービタ２８と、ディスプレイに表示する（ポリゴン）オブジェクト(表示体)の３次元仮想空間又は２次元座標内での位置座標や向きを計算するジオメトリプロセッサ３０と、ジオメトリプロセッサによって算出されたオブジェクトの向きや位置座標等に基づいて、ディスプレイに出力する画像を生成（描画）するレンダリングプロセッサ３２と、それに接続され、画像を生成するためのデータやコマンドなど格納するグラフィックメモリ３４と、スピーカに出力する音声を生成するオーディオプロセッサ３６と、それに接続され、音声を生成するためのデータやコマンドなど格納するオーディオメモリ３６Ａとで構成される。符号３８は、通信Ｉ／Ｆであり、符号４０はペリフェラルインターフェースである。
【００１８】
尚、システムメモリ、グラフィックメモリ、サウンドメモリは、１つのメモリをバスアービタに接続して各機能で共通に使用するようにしてもよく、各機能ブロックも機能として画像処理装置内に存在すればよく、機能ブロック同士が統合されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されていても良い。
【００１９】
プログラムデータ用のＲＯＭは、マスクロムやフラッシュロムなどの電気的にデータを読み出せるＩＣメモリや、ＣＤ-ＲＯＭ、ＤＶＤ-ＲＯＭなどの光学的にデータを読み出せる装置と光ディスクまたは磁気ディスク等であっても良い。バスアービタには、外部からのデータ入出力を行うインターフェースが組み込まれており、ここに周辺装置としてのペリフェラルが接続される。
【００２０】
ペリフェラルには、マウス（ポインティングデバイス）やキーボード、ゲーム用コントローラ等のキー操作のためのスイッチがある。
【００２１】
図３に、プレイヤキャラクタの特殊挙動の過程（挙動パターン）が符号３００として示されている。符号３００Ａは特殊挙動の開始点であり、符号３００Ｂ−Ｄは中間点であり、符号３００Ｅ終点である。プレイヤキャラクタは、各点を通過するように移動し、その過程で敵キャラクタを倒すために、パンチやキックなどを繰り出すようにしている。
【００２２】
符号３０２は敵キャラクタの挙動の過程を示したものである。符号３０２Ａ  は挙動の開始点、符号３０２Ｂ−Ｄは中間点、符号３０２Ｅは最終点である。プレイヤキャラクタと敵キャラクタは、図３に示す位置関係、すなわち、互いに近接して、お互いに関連して動作する。両キャラクタの位置関係及び挙動は、ゲームデータとして記憶媒体２４に記憶されている。ＣＰＵ２０は、このゲームデータを参照して、２つのキャラクタをお互いにリンクさせて、それぞれ図３に示す挙動にしたがって動作させる。両キャラクタの挙動パターンの終点、で、例えば、既述のとおり、プレイヤキャラクタが敵キャラクタを壁に打ちつける等の挙動がディスプレイモニタに再生される。
【００２３】
プレイヤキャラクタや敵キャラクタの図３に示す挙動パターン、即ち、開始点、中間点、そして終点の各座標は、ローカル座標系で定義される。これに対して、格闘ゲーム全体のフィールドはグローバル座標系で定義されている。ローカル座標の原点をグローバル座標上の所定点に定義することにより、キャラクタの特殊挙動パターンをグローバル座標系にマッピングすることができる。ローカル座標をグローバル座標にマッピングする際、ローカル座標系の向き(例えばＺ軸方向)を調整することにより、キャラクタの挙動パターンが再生される向きを制御することができる。
【００２４】
プレイヤキャラクタの特殊な挙動パターンは、ユーザがプレイヤキャラクタを単に操作するだけでは開始されない。グローバル座標系におけるプレイヤキャラクタの位置と、プレイヤキャラクタにユーザからパンチなどの指令があったか否かかの両方に依存する。これらの要件が肯定された際、ＣＰＵ２０は、記憶媒体２４に保存されたデータに基づいて、キャラクタが特殊挙動によって動作するように、キャラクタを制御する。
【００２５】
図４は、プレイヤキャラクタ４００と敵キャラクタ４０２が壁の付近において、争っている状態を示した斜視図である。便宜上立方体によって囲まれた範囲４０４に、プレイヤキャラクタ及び敵キャラクタの少なくとも一方が入った場合で、ユーザからの特殊入力がペリフェラルを介してＣＰＵ２０にあった場合に、ＣＰＵは特殊挙動の発生を許容する。特殊挙動が、プレイヤキャラクタが敵キャラクタを壁に打ち付けるものであるために、判定領域４０４は壁に隣接して設けられている。
【００２６】
次に、ＣＰＵが図５のようにキャラクタを動作させるためのフローチャートについて説明する。このフローチャートは記憶媒体２４にプログラムとして記憶されている。
【００２７】
先ず、ＣＰＵは、プレイヤキャラクタ及び敵キャラクタの座標を読み込み、この座標が前記立方状の判定領域内にあるか否かが判定される(４０００)。この判定が否定された場合には、ユーザ入力にしたがって、プレイヤキャラクタ及び敵キャラクタを通常挙動で動作させる（４００４）。通常挙動とは、例えば格闘ゲームにおいて普通に現れる、ジャンプ、キック、パンチなどである。
【００２８】
図４の（１）に示すように、プレイヤキャラクタが敵キャラクタを壁に向かって追い詰めて、判定領域４０４に入ると、ステップ４００２の判定が肯定される。次に、ＣＰＵは、ユーザからの攻撃入力（特定ボタンの操作）があったか否かを判定し、これが肯定されると、壁に対するプレイヤキャラクタが近づく方向を算出し、この方向に沿って、特殊挙動の元となるローカル座標系の方向を定め、グローバル座標系に対してこの方向でローカル座標系のキャラクタの特殊挙動のパターンをマッピングする(４００８)。ステップ４００６が否定判定の場合は、ステップ４００４に移行する。
【００２９】
ＣＰＵは、プレイヤキャラクタ及び敵キャラクタの位置を算出し、キャラクタの挙動パターンの開始点(図３)が、プレイヤキャラクタのワンアクション、例えば、プレイヤキャラクタが敵キャラクタを一つのパンチで壁に打ち付けることができる位置(図４の４０５)、すなわち、特殊挙動が成功する位置に一致していない場合には、開始点をこの位置になるように、プレイヤキャラクタと敵キャラクタとを図１の４０５まで強制移動させる(４０１０)。この過程が、図４の（２）に示されている。（２）において、プレイヤキャラクタ及び敵キャラクタは、矢印４０１で示されるように、目的位置４０５まで一気に、壁に対して垂直方向に強制移動させられる。
【００３０】
（１）の符号４１０は視点の位置であり、矢印４１２は視方向である。（１）の視点はキャラクタが通常動作中の位置にあり、（２）ではキャラクタの特殊動作を開始した際での視点の位置と視方向を示している。特殊動作中のキャラクタをユーザに的確に提示できる位置と方向に視点が設定されている。これら視点はキャラクタと一体になって移動する。次いで、ＣＰＵはプレイヤキャラクタと敵キャラクタを特殊挙動で制御して一例の処理を終了する。
【００３１】
次に、視点の挙動パターンについて説明する。図６に示すように、視点の挙動は複数のパターンがある。視点の挙動パターンにはＣ１，Ｃ２，Ｃ３の三つにパターンがある。予め、特殊挙動のパターンを最も的確に表現できる視点の挙動パターンがプログラム上決定されている。図６において、６０は、３次元座標空間(グローバル座標系)にある壁であり、６２は、非道路区画６５，６５Ａとの間の道である。各視点のパターンは図示された視点、中間点、及び終点を経るように動作する。
【００３２】
キャラクタに特殊挙動が発生した際、視点がキャラクタとともに移動すると視点が他のオブジェクト内にまで移動してしまうことになる。図６においてプログラム上優先度が最も高い視点であるＣ１の終点が壁内に埋め込まれてしまった状態を示している。この時、ＣＰＵは他の視点パターンを選択して、キャラクタの特殊挙動を映像表示する。
【００３３】
図７は視点制御フローであり、ＣＰＵが記憶媒体に記憶されたプログラムに基づいて実行する。ＣＰＵは、特殊挙動のコマンドが発生した段階で、複数の視点挙動パターンについて、視点の挙動パターンが経る各点の座標と他のオブジェクト(壁)との衝突判定を行う（７００）。ここで衝突判定とは、カメラの座標と他のオブジェクトの座標とを比較し、カメラの座標がオブジェクトと重なっているか否かの判定である。少なくとも一つの中継点で重なりがあるカメラパーンは衝突判定が肯定され、全ての中間点で重なりが無いカメラパターンは衝突判定が否定される。
【００３４】
衝突判定が否定されたカメラパターンが２以上ある場合には、カメラパターンの優先度が判定されて(７０２)、優先度が高いカメラパターンに基づいて視点の位置及び移動経路が決定される(７０４)。衝突判定が否定されたカメラパターンが無い場合には、衝突判定程度を各カメラパターンで比較し、衝突判定程度が少ないカメラパターンに基づいて視点の移動制御が行われる(７０６)。例えば、衝突判定が肯定される中間点の数が少ないほど衝突判定程度が少ないと判定される。この時の視点移動制御では、カメラパターンを構成する各点が壁内に位置する場合には、壁の表面の座標になるようにカメラパターン全体の位置を移動（補正）する(７０８)。
【００３５】
次に、キャラクタの特殊挙動の他の実施形態を示す斜視図である。この実施形態が先に説明した実施形態と比較して異なる点は、キャラクタの特殊挙動は、図４の判定エリア４０４に関係なく、ユーザからの入力指示により再生される点である。特殊挙動の発生のためのコマンドが発生した際、ＣＰＵはこのコマンドが、特殊挙動のコマンドであることを算出して、キャラクタの移動パターンの位置制御をスタートする。図８の（１）-（３）にこの制御の内容が示されている。
【００３６】
ＣＰＵはキャラクタの特殊挙動の中間点と他のオブジェクトとの衝突判定を行い、衝突が無い場合には、キャラクタの特殊挙動パターンを再生する。この状態は、図８の（１）に対応する。便宜上８００で示される立方体の領域(挙動パターンの外周)は壁内に入っていない。
【００３７】
キャラクタの移動過程での少なくとも一つの点が壁内にもぐり込んでしまう場合(図８（１）、図９)には、図８（３）において符号８０２として示されるように、キャラクタの挙動パターン全体（４０４）を壁に対して法線方向に離間するように所定距離移動させる。なお、図９は、図３に示すキャラクタの挙動パターンを３次元座標空間に置かれた他のオブジェクトと重ねて表示している。プレイヤキャラクタの終点３００Ｅと敵キャラクタの終点３０２Ｅが壁内に潜り込んでいる。移動距離としては、キャラクタの移動経路の各点が壁内にならない座標に成るような値が選ばれる。次いで、キャラクタの特殊挙動パターンに基づいてキャラクタの特殊挙動が再生される。
【００３８】
オブジェクトとの重なりを解消する他の態様として、図１０に示すように、所定点を基準として、プレイヤキャラクタの挙動パターンと敵キャラクタの挙動パターンとを一体にして回転（θ）させる。３００´は回転後のプレイヤキャラクタの挙動パターン中にある各点の集合であり、３００は回転前のものである。敵キャラクタ３０２についても同様である。
【００３９】
回転移動は所定角度毎（例えば４５°毎に時計方向・半時計方向）に行なわれる。ＣＰＵは、回転の都度衝突判定を行う。衝突が無くなった時点で、キャラクタの補正後の挙動パターンを決定する。全ての角度で衝突がある場合には、挙動パターンの各点が壁と衝突しないように、壁の法線方向に沿って壁から離間するように、キャラクタを(最小限)移動させる。この時、最も移動量が少なくて済む角度にしたがって、キャラクタの挙動パターンを回転させる。
【００４０】
図１１は、図４の変形例であり、プレイヤキャラクタと敵キャラクタが前記判定領域内でかつ壁に近接している状態で、プレイヤがコントロールパットの攻撃ボタンを押した場合を示している。この場合、図１１（１）から（２）に示されているように、ＣＰＵは両キャラクタの位置を壁の近くから壁から垂直方向に沿って、壁から遠ざかるように強制移動先まで移動させる。これにより、プレイヤキャラクタが敵キャラクタを壁に打ちつけるという特殊挙動をユーザの操作から独立させて、ＣＰＵが的確に自動再生する。壁に近づいている位置では、キャラクタは特殊挙動を実現できない。
【００４１】
以上の実施形態により、操作対象オブジェクトが特殊な挙動をとっても、当該オブジェクトの特殊挙動が不自然にならないようにした。さらに、視点の制御を、オブジェクトの挙動を的確に表示できるようにした。
【００４２】
以上説明した実施形態は、本発明の一例であり、本発明はこの実施形態に限られる事なく、適宜変更可能である。例えば、既述の実施例の画像処理装置は、家庭用ゲーム装置、アーケードゲーム装置、パーソナルコンピュータ、携帯電話のいずれにも適用可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明が適用されたゲームアプリケーションの一実施例に係る画面図である。
【図２】画像処理装置の処理ボードの一実施例に係るハードウエアブロック図である。
【図３】プレイヤキャラクタ及び敵キャラクタキャラクタの特殊挙動に係る、キャラクタの位置の変位を示す線図である。
【図４】プレイヤキャラクタ及び敵キャラクタの特殊挙動制御機構を示す、斜視図である。
【図５】図４に対応する動作フローチャートである。
【図６】視点が仮想空間中を移動する経路を示した線図である。
【図７】視点の挙動パターン決定ルーチンを示すフローチャートである。
【図８】プレイヤキャラクタ及び敵キャラクタの他の特殊挙動制御機構を示す、斜視図である。
【図９】図８に対応する、プレイヤキャラクタ及び敵キャラクタの移動座標の経路を示す線図である。
【図１０】図９に対応する、前記経路を回転移動させた状態を示す線図である。
【図１１】図４とは他の実施形態に係る、キャラクタの特殊挙動制御の機構を示す斜視図である。
【図１】
0004788950.tif 000002
【図２】
0004788950.tif 000003
【図３】
0004788950.tif 000004
【図４】
0004788950.tif 000005
【図５】
0004788950.tif 000006
【図６】
0004788950.tif 000007
【図７】
0004788950.tif 000008
【図８】
0004788950.tif 000009
【図９】
0004788950.tif 000010
【図１０】
0004788950.tif 000011
【図１１】
0004788950.tif 000012