(57)【特許請求の範囲】
【請求項１】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
前記制御手段は、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ１ を求めると共に、２点ＭＰ１間を結ぶ線分ＭＰ１を点Ｍの回りで前記平面上の所定方向と平行となるように回転変換し、前記仮想カメラの位置を前記点Ｐ１の回転変換後の平面座標Ｃの上に設定することを特徴とする画像処理装置。
【請求項２】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
前記制御手段は、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ２を求めると共に、２点ＭＰ２間を結ぶ線分ＭＰ２の前記平面上における所定方向と平行な方向への正弦又は余弦成分を求め、前記仮想カメラの位置を前記正弦又は余弦成分の点Ｍと反対側の点Ｃの上に設定することを特徴とする画像処理装置。
【請求項３】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
前記制御手段は、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第１の成分ａを求めると共に、２点ＭＢ間を結ぶ線分ＭＢの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第２の成分ｂを求め、前記仮想カメラの位置を前記第２のキャラクタの平面座標Ｂから前記第１，第２の成分ａ，ｂのベクトル合成分だけオフセットさせた平面座標Ｃの上に設定することを特徴とする画像処理装置。
【請求項４】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを前記第１及び第２のキャラクタを結ぶ線分の延長線上にない所定の位置に設定する制御手段とを備え、
前記制御手段は、前記３ＤＣＧアニメーション空間につき任意に選んだ平面をＸＺ平面とし、かつ第１のキャラクタの平面座標をＡ（ｘ１ ，ｚ１ ）、ユーザが操作可能な第２のキャラクタの平面座標をＢ（ｘ２ ，ｚ２ ）とする場合に、前記ＸＺ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第２のキャラクタの平面座標Ｂ（ｘ２ ，ｚ２ ）から、Ｘ，Ｚ軸につき夫々、
Ｃｘ＝α（ｘ２−ｘ１）
Ｃｚ＝γ（ｚ２−ｚ１）
但し、α，γ：定数
だけオフセットさせた平面座標Ｃの上に設定することを特徴とする画像処理装置。
【請求項５】
制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ ，Ｃｍａｘ （Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、２点ＢＰ間を結ぶ線分ＢＰの長さ｜ＢＰ｜がＣｍｉｎ ≦｜ＢＰ｜≦Ｃｍａｘの範囲内となるように第３の点Ｐを求めることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ ，Ｃｍａｘ（Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、第１の成分ａをその長さ｜ａ｜がＣｍｉｎ≦｜ａ｜≦Ｃｍａｘの範囲内となるようにクランプすることを特徴とする請求項３に記載の画像処理装置。
【請求項７】
制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ，Ｃｍａｘ（Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、Ｚ軸方向のオフセット量の大きさ｜Ｃｚ｜をＣｍｉｎ≦｜Ｃｚ｜≦Ｃｍａｘの範囲内となるようにクランプすることを特徴とする請求項４に記載の画像処理装置。
【請求項８】
制御手段は、第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新することを特徴とする請求項１乃至７の何れか１つに記載の画像処理装置。
【請求項９】
野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第１のキャラクタの落下予定地点の付近に所定形状のマーカを生成することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第１のキャラクタの平面座標Ａ上に該第１のキャラクタの影パターンを生成することを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ１ を求めるステップと、２点ＭＰ１間を結ぶ線分ＭＰ１を点Ｍの回りで前記平面上の所定方向と平行となるように回転変換するステップと、前記仮想カメラの位置を前記点Ｐ１の回転変換後の平面座標Ｃの上に設定するステップとを実行することを特徴とする画像表示方法。
【請求項１２】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ２を求めるステップと、２点ＭＰ２間を結ぶ線分ＭＰ２の前記平面上における所定方向と平行な方向への正弦又は余弦成分を求めるステップと、前記仮想カメラの位置を前記正弦又は余弦成分の点Ｍと反対側の点Ｃの上に設定するステップとを実行することを特徴とする画像表示方法。
【請求項１３】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第１の成分ａを求めると共に、２点ＭＢ間を結ぶ線分ＭＢの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第２の成分ｂを求めるステップと、前記仮想カメラの位置を前記第２のキャラクタの平面座標Ｂから前記第１，第２の成分ａ，ｂのベクトル合成分だけオフセットさせた平面座標Ｃの上に設定するステップとを実行することを特徴とする画像表示方法。
【請求項１４】
３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラを前記第１及び第２のキャラクタを結ぶ線分の延長線上にない位置に時々刻々と更新する制御手段とを備え、
前記制御手段によって、前記３ＤＣＧアニメーション空間につき任意に選んだ平面をＸＺ平面とし、かつ第１のキャラクタの平面座標をＡ（ｘ１ ，ｚ１ ）、ユーザが操作可能な第２のキャラクタの平面座標をＢ（ｘ２ ，ｚ２ ）とする場合に、前記ＸＺ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第２のキャラクタの平面座標Ｂ（ｘ２ ，ｚ２ ）から、Ｘ，Ｚ軸につき夫々、
Ｃｘ＝α（ｘ２−ｘ１）
Ｃｚ＝γ（ｚ２−ｚ１）
但し、α，γ：定数
だけオフセットさせた平面座標Ｃの上に設定するステップを実行することを特徴とする画像表示方法。
【請求項１５】
請求項１１乃至１４の何れか１つに記載の画像表示方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は３ＤＣＧアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体に関し、更に詳しくは３ＤＣＧアニメーション（例えばゲーム）空間における第１のキャラクタ（野球やサッカーのボール等）と、ユーザが操作可能な第２のキャラクタ（ボールを処理するためのプレーヤ等）との関係をＴＶ等の２Ｄ画面を見ているユーザに対して効果的に表示可能な所謂仮想カメラのカメラワーク技術に関する。
【０００２】
この種の３ＤＣＧアニメーション画像の表示方法及びそのプログラムを記録した記録媒体はパーソナルコンピュータや個人的に使用又はゲームセンター等に設置されるゲーム装置により利用される。
【０００３】
【従来の技術】
図１４は従来技術を説明する図で、図１４（Ａ）は野球ゲームの３ＤＣＧイメージを示している。図において、球場グランドには複数のプレーヤが配置され、ゲームユーザ（以下、単にユーザと言う）は攻撃側又は守備側を選択して野球ゲームを楽しむ。ここで、Ｐはピッチャ−、Ｂはバッタ−、Ｃはキャッチャ−、▲１▼はファースト、▲２▼はセカンド、▲３▼はサード、Ｓはショート、Ｒはライト、Ｃn はセンタ−、Ｌはレフトを夫々表す。図示しないが、他にランナーｒも含まれる。
【０００４】
従来の比較的簡易な野球ゲームでは、複数の仮想カメラ（以下、単にカメラとも呼ぶ）１1 〜１6 をスタンドの周囲に固定（想定）すると共に、ゲームの進行に応じてカメラを切り換え、各場面で得られる２Ｄ（透視変換）画面をユーザに提供するものであった。
具体的に言うと、例えばユーザが守備側の場合に、ピッチャ−Ｐが投球するシーンではカメラ１1 でグランドの全体を映す。これはユーザが敵方の打球コースを見易いアングルである。次にバッターＢが例えばレフトフライを打つと、カメラ１1 をカメラ１2 に切換え、レフト側の守備範囲を中心に映す。この時、ユーザは不図示の操作パッドで守備プレーヤ（この場合はレフトＬ）を打球の着地点側に素早く移動させ、レフトフライをキャッチする。
【０００５】
しかし、これでは２Ｄ画面が単調（退屈）であるばかりか、野球ゲームに選手として参加しているユーザにプレーをしている臨場感が得られない。
また、従来の少し高度な野球ゲームでは、カメラ視線の方向制御とズーム制御とにより注目対象の被写体を大写しにするものがある。
具体的に言うと、例えばユーザが攻撃側の場合に、ピッチャ−Ｐが投球するシーンではカメラ１1 でピッチャ−ＰとバッターＢとをズームアップする。これは攻撃側のユーザ（即ち、バッターＢ）がピッチャ−Ｐの投球コースを読み易いアングルである。
【０００６】
しかし、従来のこの様なシーンはピッチャ−Ｐの投球場面に限られたものであり、そのカメラアングルも予め定めた方向及びズームに決め打ちされていた。
一方、打撃後に、例えばカメラ１2 をズームアップして注目の被写体（打球，守備プレーヤ等）を追おうとすると、そのカメラ制御は極端に複雑（困難）なものとなる。即ち、被写体の移動に伴いボールとプレーヤが重なったり、ボールが視野外に移動したりするが、このような場合のカメラワーク処理が問題となる。
【０００７】
例えばカメラ１2 をカメラ１3 （又は１5 ）に切り換える方法があるが、係る状況下でカメラを切り換えると、２Ｄ画面を見ているユーザの方向感覚が一瞬にして失われ、ユーザの守備プレーヤ操作に支障を来す。またカメラ１2 の視線を振る方法もあるが、同様にしてユーザの方向感覚が鈍ってしまう。またカメラ１2 のズームを戻す方法もあるが、ズームを変えると２Ｄ画面を見ているユーザの距離感覚が失われ、ユーザの守備プレーヤ操作に支障を来す。
【０００８】
図１４（Ｂ）は格闘ゲームにおける撮像イメージの平面図を示している。
図（ａ）において、従来のカメラ１は基本的には二人の格闘者Ｄ，Ｅを結ぶ線分ＤＥの中点から該線分ＤＥと直角方向の離れた位置に配置（固定）され、常に格闘者Ｄ，Ｅをカメラの中に収められるようにズーム等で処理していた。
しかし、この手法は格闘ゲーム等の様に格闘者Ｄ，Ｅが比較的接近している場合の撮像には良いが、野球，サッカー等の球技ゲームの様に各キャラクタ（ボール，各プレーヤ）が広範囲に散らばっている場合の撮像には被写体が小さくなり過ぎる等の理由により、到底利用出来ない。また、この手法では格闘者Ｄ，Ｅが矢印方向に移動（回転）すると、二者が重なってしまい、２Ｄ画面を見ているユーザに死角が生じる。
【０００９】
図（ｂ）は格闘者Ｄ，Ｅの移動（回転）に伴いカメラ１もその基本的撮像関係を保ちながら移動（回転）する場合を示している。
しかし、この手法は格闘ゲームの様に格闘者Ｄ，Ｅ間の相対的関係のみを見ていれば良い場合は良いが、球技ゲームの様に常にユーザが背景（グランド，ホーベース等）と各キャラクタ（ボール，各プレーヤ）との位置関係を把握しておく必要がある場合の撮像には到底利用出来ない。
【００１０】
【発明が解決しようとする課題】
上記の如く、従来のカメラワークは、球技ゲーム等に参加するユーザに対して実際にプレーをしているような臨場感を与えられるものでは無かった。
本発明は上記従来技術の問題点に鑑み成されたものであって、その目的とする所は、２Ｄ画面を介して球技ゲーム等を行うユーザに実際のプレーヤとしての臨場感を効果的に与えることの可能な３ＤＣＧアニメーション画像の表示方法及びそのプログラムを記録した記録媒体を提供することにある。
【００１１】
【課題を解決するための手段】
上記の課題は例えば図１（Ａ）の手法により解決される。即ち、本発明（１）の画像処理装置は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第１及び第２のキャラクタＣ１，Ｃ２の画像を生成する画像生成手段と、前記第１及び第２のキャラクタＣ１，Ｃ２を含む画像を撮影してその画像を画面に表示するための仮想カメラ１と、前記仮想カメラ１を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第１のキャラクタＣ１の平面座標をＡ、かつユーザが操作可能な第２のキャラクタＣ２の平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ１を求めると共に、２点ＭＰ１間を結ぶ線分ＭＰ１を点Ｍの回りで前記平面上の所定方向と平行となるように回転変換し、前記仮想カメラ１の位置を前記点Ｐ１の回転変換後の平面座標Ｃの上に設定するものである。
【００１２】
なお、図１（Ａ）は一例の３ＤＣＧ直交座標系Ｘ，Ｙ，Ｚを示すもので、実際にはどの軸をＸ，Ｙ，Ｚ軸に選んでも良い。また、この例のＸＺ平面は３ＤＣＧ空間におけるカメラ位置決定処理の一般性を損なわないように任意に傾けて描いてある。但し、Ｙ軸は紙面に垂直とする。
また、カメラ１の高さ、視線方向（アングル）、ズーム等については何も規定していないが、ここでは一定として説明する。特にＸＺ平面上の視線方向については予め図示の如く所定方向（ここでは紙面の真上から真下の方向）を見る様に定めておく。またズームについては、２Ｄ画面を見るユーザに正確な距離感を与えるために、好ましくは使用しない。その代わりに被写体（キャラクタＣ1 ，Ｃ2 ）の移動に伴いカメラ１が移動することとなる。
【００１３】
係る状況の下、上記本発明（１）の処理は、例えば第１のキャラクタＣ1 をボール（打球）、第２のキャラクタＣ2 をユーザのゲーム操作に従ってこの打球を追う守備プレーヤと考えると分かり易い。そして、打球Ｃ1 が守備プレーヤＣ2 の側に飛来してくる時のある瞬間におけるカメラ１の設定位置（ＸＺ座標）は上記本発明（１）により以下のように求められる。但し、演算順序は以下の記載順に限らない。
【００１４】
まず２点ＡＢ間を結ぶ線分ＡＢを所定比で分割するような中間点Ｍを求める。この場合に、中間点Ｍを幾分点Ｂの側寄り（例えば０．４：０．６等）に選ぶことで最終的なカメラ位置Ｃは常に幾分プレーヤＣ2 の側にあることになる。
次に線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ1 を求める。これにより仮のカメラ位置は２点ＡＢ間の距離に比例した距離だけプレーヤＣ2 の後方に離れる。好ましくは、この比例定数は、カメラ１の所定の視野角（画角）を考慮して、その最終的なカメラ位置Ｃから被写体を撮像した場合の２キャラクタＣ1 ，Ｃ2 が２Ｄ画面の一杯に収まるように選択される。
【００１５】
次に２点ＭＰ1 間を結ぶ線分ＭＰ1 を点Ｍの回りでＸＺ平面上の所定方向と平行となるように回転変換する。そして、第１，第２のキャラクタＣ1 ，Ｃ2 を２Ｄ画面上に表示するための仮想カメラ１の位置を、前記点Ｐ1 の回転変換後の平面座標Ｃの上に設定する。これにより、カメラ１は常にＸＺ平面上における２キャラクタＣ1 ，Ｃ2 の中間点（注目点とも呼べる）Ｍを所定方向（ここでは紙面の真上から真下の方向）に見ることになる。
【００１６】
以上により、ユーザは２Ｄ画面一杯に展開されるような打球Ｃ1 とプレーヤＣ2 との関係を常に３ＤＣＧ空間の所定方向（ここでは一定方向）から見ることになる。そして、ボールＣ1 がプレーヤＣ2 に近づくと、カメラ１は一定のカメラアングルを維持しつつ２点ＡＢの接近に応じてプレーヤＣ2 （矢印ｈ）の方向に近づき、最終的にユーザはプレーヤＣ2 の真近でボールＣ1 をキャッチすることになる。
【００１７】
かくして、本発明（１）によれば、２Ｄ画面を見ているユーザにはあたかも実際にプレーしているような臨場感が効果的に与えられる。その際には、ユーザの距離感覚及び方向感覚が損なわれないため、ユーザは常にプレーヤＣ2 を正確にゲーム操作できる。また２Ｄ画面（特に背景画面）が回転しないので、長時間ゲームを行っても目が疲れたり酔ったりしない。また、３ＤＣＧアニメーション空間におけるこのようなカメラ位置ＣはＸＺ平面上についての２次元座標演算処理により高速に求められる。
【００１８】
また本発明（２）の画像処理装置は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第１及び第２のキャラクタＣ１，Ｃ２の画像を生成する画像生成手段と、前記第１及び第２のキャラクタＣ１，Ｃ２を含む画像を撮影してその画像を画面に表示するための仮想カメラ１と、前記仮想カメラ１を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第１のキャラクタＣ１の平面座標をＡ、かつユーザが操作可能な第２のキャラクタＣ２の平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ２を求めると共に、２点ＭＰ２間を結ぶ線分ＭＰ２の前記平面上における所定方向と平行な方向への正弦又は余弦成分を求め、前記仮想カメラ１の位置を前記正弦又は余弦成分の点Ｍと反対側の点Ｃの上に設定するものである。
【００１９】
本発明（２）は仮想カメラ１の上記好ましい設定位置Ｃを求めるための他の構成を示している。なお線分ＡＢの中間点Ｍの決定については上記と同様で良い。
次に線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ２を求める。この場合の比例定数は、例えば上記図１（Ａ）に示したカメラ位置Ｃが好ましいとする場合は、前記第３の点Ｐ２が底辺ＭＣを有する直角三角形ＭＰ２Ｃの頂点Ｐ２となるように選ばれる。
【００２０】
次に２点ＭＰ2 間を結ぶ線分ＭＰ2 の前記平面上における所定方向と平行な方向への正弦成分（｜ＭＣ｜＝｜ＭＰ2 ｜ｓｉｎθ2 ）又は余弦成分（｜ＭＣ｜＝｜ＭＰ2 ｜ｃｏｓθ1 ）を求める。そして、第１，第２のキャラクタＣ1 ，Ｃ2 を２Ｄ画面上に表示するための仮想カメラ１の位置を、前記正弦又は余弦成分の点Ｍと反対側の点Ｃの上に設定する。これにより、カメラ１は常にＸＺ平面上における２キャラクタＣ1 ，Ｃ2 の中間点Ｍを所定方向に見ることになる。
【００２１】
本発明（２）によれば、線分ＭＰ2 の所定方向と平行な方向への正弦又は余弦成分｜ＭＣ｜を求める演算は上記本発明（１）における線分（ベクトル）ＭＰ1 の回転演算を行うのに比べて簡単である。
また本発明（３）の画像処理装置は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第１及び第２のキャラクタＣ１，Ｃ２の画像を生成する画像生成手段と、前記第１及び第２のキャラクタＣ１，Ｃ２を含む画像を撮影してその画像を画面に表示するための仮想カメラ１と、前記仮想カメラ１を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第１のキャラクタＣ１の平面座標をＡ、かつユーザが操作可能な第２のキャラクタＣ２の平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求め、前記線分ＡＢの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第１の成分ａを求めると共に、２点ＭＢ間を結ぶ線分ＭＢの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第２の成分ｂを求め、前記仮想カメラの位置を、前記第２のキャラクタＣ２の平面座標Ｂから前記第１，第２の成分ａ，ｂのベクトル合成分だけオフセットさせた平面座標Ｃの上に設定するものである。
【００２２】
本発明（３）は仮想カメラ１の上記好ましい設定位置Ｃを求めるための更に他の構成を示している。なお、線分ＡＢの中間点Ｍの決定については上記と同様で良い。
次に線分ＡＢのＸＺ平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第１の成分ａを求める。ここで、線分ＡＢの所定方向と平行な方向への正弦成分｜ａ´｜＝｜ＡＢ｜ｓｉｎθ２であり、又は余弦成分｜ａ´｜＝｜ＡＢ｜ｃｏｓθ１である。この場合に、予め比例定数δを適当に選ぶことでδ｜ａ´｜＝第１の成分｜ａ｜となる。
【００２３】
次に２点ＭＢ間を結ぶ線分ＭＢのＸＺ平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第２の成分ｂを求める。ここで、線分ＭＢの所定方向と直角な方向への正弦成分｜ｂ´｜＝｜ＭＢ｜ｓｉｎθ1 であり、又は余弦成分｜ｂ´｜＝｜ＭＢ｜ｃｏｓθ2 である。この場合に、予め比例定数εを適当（好ましくは１）に選ぶことでε｜ｂ´｜＝第２の成分｜ｂ｜となる。
【００２４】
次に第１，第２のキャラクタＣ1 ，Ｃ2 を２Ｄ画面上に表示するための仮想カメラ１の位置を、第２のキャラクタＣ2 の平面座標Ｂから前記第１，第２の成分ａ，ｂのベクトル合成（和）分だけオフセットさせた平面座標Ｃの上に設定する。これにより、カメラ１は常にＸＺ平面上における２キャラクタＣ1 ，Ｃ2 の中間点Ｍを所定方向に見ることとなる。
【００２５】
本発明（３）によれば、上記本発明（１），（２）にあるような線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ１（又はＰ２）を求める処理を省略できる。従って、ＸＺ平面上の上記計算に必要な座標空間をあまり大きくとる必要が無く、有利である。
また上記の課題は例えば図１（Ｂ）の手法により解決される。即ち、本発明（４）の画像処理装置は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを前記第１及び第２のキャラクタを結ぶ線分の延長線上にない所定の位置に設定する制御手段とを備え、前記制御手段は、前記３ＤＣＧアニメーション空間につき任意に選んだ平面をＸＺ平面とし、かつ第１のキャラクタＣ１の平面座標をＡ（ｘ１，ｚ１）、ユーザが操作可能な第２のキャラクタＣ２の平面座標をＢ（ｘ２ ，ｚ２ ）とする場合に、前記ＸＺ平面上における所定方向と平行な向きに置かれる仮想カメラ１の位置を前記第２のキャラクタＣ２の平面座標Ｂ（ｘ２，ｚ２）から、Ｘ，Ｚ軸につき夫々、
Ｃｘ＝α（ｘ２−ｘ１）
Ｃｚ＝γ（ｚ２−ｚ１）
但し、α，γ：定数
だけオフセットさせた平面座標Ｃの上に設定するものである。
【００２６】
本発明（４）は、仮想カメラ１の向きを所定軸（例えばＺ軸と平行な方向）に合わせることにより上記本発明（３）の座標演算処理が極めて簡単になる場合を示している。
即ち、図１（Ｂ）において、上記図１（Ａ）の第１，第２の成分ａ，ｂに相当する各オフセット量ＣZ ，ＣX は、夫々、
Ｃz ＝γ（ｚ2 −ｚ1 ）
Ｃx ＝α（ｘ2 −ｘ1 ）
の演算により簡単に求まる。ここで、例えば係数（比例定数）α＝−０．４であり、また係数（比例定数）γは例えば０＜γ＜２の範囲で選ばれる。従って、本発明（４）によれば、カメラ１の位置を極めて簡単な処理により高速に求められる。
【００２７】
好ましくは、本発明（５）においては、上記本発明（１）又は（２）において、制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ ，Ｃｍａｘ （Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、２点ＢＰ間を結ぶ線分ＢＰの長さ｜ＢＰ｜がＣｍｉｎ ≦｜ＢＰ｜≦Ｃｍａｘの範囲内となるように第３の点Ｐ（Ｐ１又はＰ２）を求めるものである。
図１（Ａ）において、第３の点がＰ１の場合を説明する。
【００２８】
本発明（５）によれば、２点ＡＢがあまりに離れているような場合には｜ＢＰ1 ｜＝Ｃmax （例えば１８ｍ）にクランプされる。即ち、カメラ１はこれ以上にはプレーヤＣ2 から離れない。この時、ボールＣ1 は２Ｄ画面には映らないかもしれないが、まだ十分遠くにあるので、ユーザが捕球等の操作するのには支障はない。一方、プレーヤＣ2 は所要のサイズ（あまり小さくならない状態）で２Ｄ画面に映っており、ユーザは実戦の臨場感を失わずにゲームを楽しめる。
【００２９】
また上記本発明（５）によれば、２点ＡＢがあまりに接近したような場合には｜ＢＰ1 ｜＝Ｃmin （例えば６ｍ）にクランプされる。即ち、カメラ１はこれ以上にはプレーヤＣ2 の側に近づかない。従って、プレーヤＣ2 がボールＣ1 をキャッチするようなシーンを少し離れた位置から最適のアングルで映せる。一方、ユーザはプレーヤＣ2 がボールＣ1 をキャッチする時点までの周囲の状況を見失うようなことはなく、よって最後までプレーヤＣ2 を適正にゲーム操作できる。なお、以上のことは、第３の点がＰ2 の場合についても同様に考えられる。
【００３０】
また好ましくは、本発明（６）においては、上記本発明（３）において、制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ ，Ｃｍａｘ（Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、第１の成分ａをその長さ｜ａ｜がＣｍｉｎ≦｜ａ｜≦Ｃｍａｘの範囲内となるようにクランプするものである。
本発明（６）は、上記本発明（５）の考えを上記本発明（３）に適用したものであり、同様に理解できる。但し、２キャラクタＣ１，Ｃ２間の距離を、上記本発明（５）のように線分ＡＢの長さ｜ＡＢ｜で評価するのでは無く、カメラ１の向き（所定方向）と平行な第１の成分ａの長さ｜ａ｜により評価している点で異なる。本発明（６）によれば、第１の成分ａはカメラ１の向きと平行であるので、該第１の成分｜ａ｜≧Ｃｍａｘによりカメラ位置を｜ａ｜＝Ｃｍａｘにクランプしても遠くのボールＣ１が２Ｄ画面内に収まっている場合が多い。
【００３１】
また好ましくは、本発明（７）においては、上記本発明（４）において、制御手段は、長さを表す第１，第２の閾値をＣｍｉｎ，Ｃｍａｘ（Ｃｍｉｎ＜Ｃｍａｘ）とする場合に、Ｚ軸方向のオフセット量の大きさ｜Ｃｚ｜をＣｍｉｎ≦｜Ｃｚ｜≦Ｃｍａｘの範囲内となるようにクランプするるものである。
本発明（７）は、上記本発明（６）の考えを上記本発明（４）に適用したものであり、同様に理解できる。
【００３２】
また好ましくは、本発明（８）においては、上記本発明（１）〜（７）において、制御手段は、第１及び又は第２のキャラクタＣ１，Ｃ２の移動に伴い仮想カメラ１の位置を時々刻々と更新するものである。
従って、２キャラクタＣ１，Ｃ２が近づく時はカメラ１も注目点（２者の中間点Ｍ）の側に次第に近づき、また２キャラクタＣ１，Ｃ２が遠ざかる時はカメラ１も注目点から次第に遠ざかる。このようなダイナミックなカメラワークを容易かつリアルタイムに行える。
【００３３】
好ましくは、上記本発明（１）〜（８）において、仮想カメラ１の高さ及びその注視点の方向を固定としたものである。
従って、係る状況の下におけるカメラ位置はＸＺ平面上についての２次元座標演算処理により高速に求められる。
なお、上記カメラ１のＸＺ平面座標位置を決めた上で、必要ならカメラ１の高さ、アングル（視線方向）、ズーム等を変更するような様々なバリエーション制御を容易に追加できることは言うまでも無い。
【００３４】
また好ましくは、上記本発明（４）又は（７）において、例えば図３（Ａ）に示す如く野球ゲームのゲームプログラムに適用され、３ＤＣＧアニメーション空間につき任意に選んだ例えばＸ軸をホームベースとセカンドベースとを結ぶ直線と直角の方向に、かつ任意に選んだ例えばＹ軸を高さの方向に、かつ残りのＺ軸をホームベースとセカンドベースとを結ぶ直線と平行な方向に夫々とったものである。
【００３５】
ところで、この図３（Ａ）の座標系（即ち、カメラ１の視線方向）のとり方は、上記図１（Ｂ）の座標系のとり方と一致しており、従って、このような野球ゲームは上記本発明（４）又は（７）の手法により極めて簡単かつ高速に処理できる。なお、詳細は実施の形態に従って後述する。
また好ましくは、本発明（９）においては、上記本発明（８）において、野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第１のキャラクタＣ１の落下予定地点の付近に所定形状のマーカを生成するものである。
【００３６】
図５（Ｂ）に野球ゲームに適用した場合の平面図を示す。
図において、バッターＢが例えばライトフライを打つと、その打球２の軌跡Ａは空気抵抗を考慮したニュートンの第２法則に基づき略放物曲線として求まる。従って、打撃の瞬間から打球２の落下予定地点Ｑは既知である。
しかるに、上記本発明（９）によれば、カメラ１は、例えばライトプレーヤＲの全身を含む周囲の状況を効果的に映すべく、常にライトプレーヤＲよりも少し高い位置から幾分グランドの側を見るように固定されているため、その２Ｄ画面には高く上がった打球２（第１のキャラクタＣ1 ）が殆ど映らない。このためユーザはライトプレーヤＲをどの方向に移動させるか分からない。
【００３７】
そこで、本発明（９）では、打球２の落下予定地点Ｑの付近に所定形状（例えば円環形状）のマーカ３を表示させることにした。従って、この場合のユーザは、ライトプレーヤＲをその周囲のグランド上に表示されるマーカ３の方向に移動させれば良い。なお、このことは蹴り上げられたサッカーボールの落下予定地点にも適用できることは言うまでも無い。
【００３８】
また好ましくは、本発明（１０）においては、上記本発明（８）において、野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第１のキャラクタＣ１の平面座標Ａ上（例えばＹ＝０の所）に該第１のキャラクタＣ１の影パターンを生成するものである。
図５（Ｂ）において、以下に説明する状況は上記ライトフライの場合と同様である。本発明（１０）によれば、打球２のＸＺ平面座標Ａ上に該打球２の影パターン２´を表示させるので、２Ｄ画面を見ているユーザは守備プレーヤＲと共に打球２の飛来コースも容易に認識できる。
【００３９】
また好ましくは、上記本発明（１）〜（８）において、平面上における所定方向とは該平面上における一定の方向又は該平面上の１点を見る方向である。
図１に戻り、上記予め所定方向（ＸＺ平面上における一定の方向）を決めたことにより、該一定の方向との関係で最適のカメラ位置Ｃを一律に決定することができた。
【００４０】
ところで、上記ＸＺ平面上における一定の方向に代えて、予めＸＺ平面上におけるある１点を決めておくことも可能である。この１点は、野球ゲームで言えば例えばホームベース後方の１点であり、またサッカーゲームで言えば例えばゴール後方の１点と決めることができる。その結果、カメラ１のＸＺ平面方向の視線を常に所定方向（ホームベース後方の１点又はゴール後方の１点）を向くように制御することが容易に可能となる。
【００４１】
なお、この場合の所定方向は、上記のように常に紙面の真上から真下を見るような一定の方向とはならないが、１回毎のカメラ位置計算サイクルで見ると、その都度ＸＺ平面上の１点を指すような各所定方向が得られる。このよな各所定方向を上記本発明（１）〜（８）のカメラ位置決定アルゴリズムに適用することにより、２キャラクタＣ1 ，Ｃ2 の中間点（注目点）Ｍを通して常にＸＺ平面上の１点を見るようなカメラ１の最適位置Ｃが求まる。
【００４２】
カメラが平面上における一定の方向又は該平面上の１点を見る場合の作用を図５（Ｂ）を参照して簡単に説明する。
まずカメラ１が常に一定の方向を見る場合で言うと、例えばライトフライにより守備プレーヤがライトＲに決まった時点で、カメラは点１１の場所に図示のようなアングルで置かれる。カメラ１１の視野内には近くのライトＲも遠くのバッターＢ（即ち、打球２）も共に収まっており、良いカメラワークである。
【００４３】
一方、打球が、上記ライトフライでは無く、例えばファースト▲１▼の側に飛んだ時は、上記同様のカメラ位置決定処理により、この場合のカメラ１a はファースト▲１▼の左側後方に上記カメラ１1 と同じアングルで置かれる。この場合のカメラ１a にも近くのファースト▲１▼と離れたバッターＢとが共に収まっており、良いカメラワークである。
【００４４】
しかし、この場合の２Ｄ画面を見ると、ファーストプレーヤ▲１▼の姿が上記ライトプレーヤＲの場合よりもかなり画面の右側を向いて映っていることが容易に想像できる。これは、上記ライトプレーヤＲよりもＺ軸から深い角度に位置しているファーストプレーヤ▲１▼がホームベースの方向を見て立っているのに、ユーザはカメラ１を介して常にＺ軸の方向を見ているため、起こる現象である。このため、打球コースによっては、ユーザは守備プレーヤをほぼ真横から操作しなければならないような場面も生じ得る。
【００４５】
かかる場合には、カメラ１が常にＸＺ平面上の１点（例えば、ホームベース後方の１点Ｎ）を見るようにすることで、ユーザはどのプレーヤでも一定の方向から制御できるようになる。従って、この場合のユーザが維持する方向感覚は、各プレーヤについて共通のホームベースの方向となる。処理の詳細は後述する。
なお、実際上は場面に応じて上記一定の方向と１点を見る方向との各処理を使い分ける事が容易に可能であり、従って、カメラワークを様々な場面に応じて一層柔軟に運用可能となる。
【００４６】
また、本発明（１１）の画像表示方法は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想
カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ１ を求めるステップと、２点ＭＰ１間を結ぶ線分ＭＰ１を点Ｍの回りで前記平面上の所定方向と平行となるように回転変換するステップと、前記仮想カメラの位置を前記点Ｐ１の回転変換後の平面座標Ｃの上に設定するステップとを実行するものである。
また、本発明（１２）の画像表示方法は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢのＢ側の延長線上で該線分ＡＢの長さに比例した第３の点Ｐ２を求めるステップと、２点ＭＰ２間を結ぶ線分ＭＰ２の前記平面上における所定方向と平行な方向への正弦又は余弦成分を求めるステップと、前記仮想カメラの位置を前記正弦又は余弦成分の点Ｍと反対側の点Ｃの上に設定するステップとを実行するものである。
また、本発明（１３）の画像表示方法は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第１のキャラクタの平面座標をＡ、かつユーザが操作可能な第２のキャラクタの平面座標をＢとする場合に、２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求めるステップと、前記線分ＡＢの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第１の成分ａを求めると共に、２点ＭＢ間を結ぶ線分ＭＢの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第２の成分ｂを求めるステップと、前記仮想カメラの位置を前記第２のキャラクタの平面座標Ｂから前記第１，第２の成分ａ，ｂのベクトル合成分だけオフセットさせた平面座標Ｃの上に設定するステップとを実行するものである。
また、本発明（１４）の画像表示方法は、３ＤＣＧアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第１及び第２のキャラクタの画像を生成する画像生成手段と、前記第１及び第２のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第１及び又は第２のキャラクタの移動に伴い仮想カメラを前記第１及び第２のキャラクタを結ぶ線分の延長線上にない位置に時々刻々と更新する制御手段とを備え、前記制御手段によって、前記３ＤＣＧアニメーション空間につき任意に選んだ平面をＸＺ平面とし、かつ第１のキャラクタの平面座標をＡ（ｘ１ ，ｚ１ ）、ユーザが操作可能な第２のキャラクタの平面座標をＢ（ｘ２ ，ｚ２ ）とする場合に、前記ＸＺ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第２のキャラクタの平面座標Ｂ（ｘ２ ，ｚ２ ）から、Ｘ，Ｚ軸につき夫々、
Ｃｘ＝α（ｘ２−ｘ１）
Ｃｚ＝γ（ｚ２−ｚ１）
但し、α，γ：定数
だけオフセットさせた平面座標Ｃの上に設定するステップを実行するものである。
また、本発明（１５）の記録媒体は、上記本発明（１１）〜（１４）の何れか１つに記載の画像表示方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００４７】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる複数の実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。
図２は実施の形態によるゲーム装置の構成を示す図で、図において、１１はゲーム装置の主制御｛ゲームプログラム及び３ＤＣＧデータの読込制御，ユーザによる操作データの読込制御等）並びに３ＤＣＧアニメーションに係るゲーム処理（ゲームキャラクタの移動処理，本発明によるカメラ位置決定処理等）を行うＣＰＵ（ゲームプロセッサとも呼ぶ）、１２はＣＰＵ１１が使用するＲＡＭ，ＲＯＭ，ＥＥＰＲＯＭ等からなる主メモリ（ＭＭ）、１３はＣＰＵ１１のローカル（ホスト）バス、１４はデータを高速転送可能なＰＣＩ（Peripheral Component Interconnect)バス、１５はホストバス１３とＰＣＩバス１４間の接続（調停）制御を行うホスト−ＰＣＩブリッジ（Ｈ−Ｐブリッジ）、１６はユーザがゲーム操作を行うための各種制御キー（スタートキー，選択キー，十字キー等）や、マウス，ジョイスティック等の位置入力手段を備える操作パッド、１７は操作パッド１６をシステムに収容するための周辺インタフェース（ＰＩＦ）、１８はゲームプログラム（処理手順，ゲームパラメータ，３ＤＣＧモデルデータ等）をマスクＲＯＭ等に記録しているＲＯＭカートリッジ（ＲＯＭ−Ｃ）、１９はＲＯＭカートリッジ１８をシステムに着脱自在に収容するためのＲＯＭカートリッジインタフェース（ＲＯＭ−ＣＩＦ）、２０は上記ゲームプログラムを記録しているコンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、２１はＣＤ−ＲＯＭ２０をシステムに着脱自在に収容し、駆動するためのＣＤ−ＲＯＭドライバ、２２は、ゲームプログラムのオンラインダウンロードや他のゲーム装置とのゲーム対戦を行うために、本システムを不図示の公衆網に接続するための通信制御部（ＣＯＭ）、２３は通信線である。
【００４８】
更に、３０は入力の３ＤＣＧモデルデータを２Ｄ画面の透視変換画像データに変換するための公知の一例の３Ｄアクセラレータ、３１はジオメトリプロセッサ、３２はモデリング変換部、３３は陰影処理部、３４は視点変換部、３５は透視変換部、３６はレンダリング（ラスタ）プロセッサ、３７は走査線分解部、３８はＺバッファ、３９は隠面消去部、４０はテクスチャメモリ、４１はテクスチャ処理部、４２は出力のカラー表示画像データ（Ｒ，Ｇ，Ｂ）を記憶するフレームメモリ、４３はＤ／Ａ変換部（ＤＡＣ）、４４は表示部としての例えばカラーＣＲＴモニタ、４４Ａはその表示画面、４５はＣＲＴ４４に水平垂直同期信号Ｈ，Ｖを提供すると共に、３Ｄアクセラレータ３０に前記Ｈ，Ｖに対応するｘ，ｙ同期信号を提供するＣＲＴ制御部（ＣＲＴＣ）である。なお、３Ｄアクセラレータの動作については後述する。
【００４９】
図３は実施の形態による野球ゲームの動的パラメータを説明する図で、本発明の野球ゲームへの適用例を示している。
図３（Ａ）は球場グランドのＸＺ平面図を示しており、ここでは３ＤＣＧ空間におけるユニバーサル（又はワールド）座標Ｘ，Ｙ，Ｚの原点を例えばホームベース上に置いている。そして、例えばホームベースとセカンドベースとを結ぶ直線の方向にＺ軸をとり、これと垂直な方向にＸ軸をとり、かつＹ軸を高さ方向にとっている。
【００５０】
ＣＰＵ（ゲームプロセッサ）１１が主に管理・運用する野球ゲームの動的なパラメータは、ボールＢ，複数のプレ−ヤ及び複数のランナ−からなる各ゲームキャラクタの位置や姿勢と、仮想カメラ１のＸＺ平面上における位置である。
このうち、攻撃側を選択したユーザが操作するのはバッターＢであり、また守備側を選択したユーザが操作するのはピッチャーＰ，キャッチャーＣ，各内野手▲１▼〜▲３▼，Ｓ及び各外野手Ｒ，Ｃn ，Ｌである。但し、守備側を選択したユーザが同時に操作できるのは何れか１つのプレーヤであり、ゲームの進行に応じて自発的に（即ち、ユーザのキー操作により）、又はＣＰＵ１１により通常の野球ルールに従って自動的に、何れか１つのプレーヤが選択される。この選択されたプレーヤを守備プレーヤと呼ぶ。
【００５１】
一方、カメラ１の位置制御は、専らこれをＣＰＵ１１が行う。カメラ１の水平方向の視野角θh は例えば５０°の固定とする。またズーム機能は使用せず、よって２Ｄ画面を見ているユーザは常に一定の距離感覚を維持できる。また、カメラ１の視線を水平方向に±θr ローテートすることは技術的には容易に可能であるが、本実施の形態では、ユーザが常にグランド上の一定方向（ホームベースのある方向）を容易に認識出来るように、ここではＺ軸と平行な方向に固定している。従って、守備側を選択したユーザは常に守備プレーヤと略同じ方向を見ていることになり、実際に野球を行っている臨場感が得られる。
【００５２】
なお、カメラ１を、上記Ｚ軸と平行な方向にでは無く、常にホームベース後方の１点の方向に向くように制御することも可能である。この場合の守備側を選択したユーザは２Ｄ画面を介して各守備プレーヤと同じ略ホームベースの方向を見ていることになり、ユーザの臨場感は増大する。
図３（Ｂ）は球場グランドのＹＺ平面図を示している。
【００５３】
カメラ１の垂直方向の視野角θv は例えば５０°の固定とする。勿論、長方形状のＴＶ画面サイズに合わせて視野角θh 又はθv を変更しても良い。また、カメラ１の高さを基準位置から±Ｃy したり、又はカメラ１の視線を垂直方向に±θt チルトするような事は技術的には容易に可能であるが、本実施の形態ではカメラ１を各プレーヤの平均的な身長よりも少し高い位置に固定すると共に、水平方向からのチルト角θt が例えば−１０°程度となるように固定している。以上からして、仮想カメラ１についてはＸＺ平面上の設定位置を決定するだけで良く、カメラ制御が大幅に簡単となる。
【００５４】
因みに、図３（Ｂ）は身長２ｍ弱の守備プレーヤをそのＣmin （例えば６ｍ）後方から撮影した場合のカメラ１の撮像エリアを示している。図によれば、カメラ１が守備プレーヤに最短距離Ｃmin まで接近した場合でも、ユーザが当該守備プレーヤを含む周囲のグランドのみならず、その前方（及び上方）の状況も十分に把握できることが容易に理解できる。またカメラ１を少し上側から構えることで複数のプレーヤが重なってもこれらを容易に識別できる。
【００５５】
図４は実施の形態における視点変換及び透視変換処理のイメージ図で、以下、上記図２も参照して実施の形態における３Ｄアクセラレータ処理を説明する。
ジオメトリプロセッサ３１において、モデリング変換部３２はキャラクタ（ボール，プレーヤ，背景等）の各基準位置データＢ（ｘ，ｙ，ｚ），Ｐ（ｘ，ｙ，ｚ）等、及びその形状モデルデータに従って３Ｄ空間ＸＹＺ上の各対応位置にポリゴン等の集合からなる実サイズの各キャラクタ（バッターＢ，ピッチャーＰ等）の３ＤＣＧモデルを生成・展開する。陰影処理部３３は前記生成モデルに対して光線（太陽光又は照明光等）を考慮した陰影を付ける。視点変換部３４は上記ワールド座標系ＸＹＺにおける３ＤＣＧ画像データをカメラ１の視点情報に従う視点座標系ｘｙｚの３ＤＣＧ画像データに変換する。なお、この視点情報（特にカメラ１のＸＺ座標情報）はＣＰＵ１１により上記本発明に従って逐次計算され、順次視点変換部３４に提供される。そして、透視変換部３５はカメラ１の視点情報（視点座標系ｘｙｚ）に従って各３ＤＣＧ生成モデルの透視変換を行う。
【００５６】
更にレンダリングプロセッサ３６において、走査線分解部３７は前記透視変換後の各画素データをＣＲＴ４４の走査線アドレスｘ，ｙに従って抽出する。隠面消去部３９はＺバッファ３８を使用して画面４４Ａに見えないはずの部分の画素データを画面４４Ａに見える部分の画素データで書き換える。テクスチャ処理部４１は最終的に画面４４Ａに見える部分の各画素データに対してテクスチャメモリ４０の対応するテクスチャデータを貼付ける。フレームメモリ４２は、２画面分のカラー画像データ（Ｒ，Ｇ，Ｂ）を記憶可能であり、一方のフレームメモリにカラー画像データの書き込みを行っている間に、他方フレームメモリから表示のためのカラー画像データを読み出す。Ｄ／Ａ変換器４３はフレームメモリ４２から読み出した各カラー画素データをアナログの画素信号に変換してＣＲＴ４４にビデオ信号ＶＳを提供する。かくして、上記一連のジオメトリ処理及びレンダリング処理は所謂パイプライン方式により高速に連続して繰り返し行われる。
【００５７】
図５は実施の形態による守備プレーヤ決定処理を説明する図であり、ここではユーザが守備側を選択した場合の処理を説明する。
図５（Ａ）はＣＰＵ１１による守備プレーヤ決定処理のフローチャートを示しており、不図示のゲーム（メイン）処理から必要な時にコールされる。
最初はピッチャーＰの投球をバッターＢが打撃した時にコールされる。その際には、事前のメイン処理において、投球２とバットとの当たり判定が行われ、通常の物理法則に従って打球２の軌跡が求められる、ここでは、説明の簡単のためにフライとゴロとを想定し、フライは内野手の頭上を越えてゆくような打球、ゴロはフライ以外の打球とする。なお、最初はフライであっても守備プレーヤによりキャッチされずに落下した後はゴロとなる。
【００５８】
ステップＳ１ではフライフラグＦfly ＝１か否かを判別する。このフラグは打球がフライの状態にある時はＦfly ＝１、フライ以外の状態（ゴロ又はフライが落下した後）にある時はＦfly ＝０となるように予めメイン処理で処理される。Ｆfly ＝１（フライ）の場合はステップＳ２で打球２の落下予定地点に近いプレーヤを守備プレーヤに選択して処理を抜ける。またＦfly ＝０（ゴロ）の場合はステップＳ３で打球２のＸＺ平面上における飛球軌跡に近いプレーヤを守備プレーヤに選択して処理を抜ける。
【００５９】
図５（Ｂ）は上記守備プレーヤ決定処理のイメージ図を示している。
Ａはライトフライの打球軌跡を示しており、この場合の打球２は内野手▲１▼，▲２▼の頭上を越えて落下予定点Ｑに落下することがＣＰＵ１１により打撃時に計算される。この場合に、落下予定点Ｑに最も近いのはライトＲであるから、ＣＰＵ１１はライトＲを守備プレーヤと決定し、その後のユーザの操作対象はライトＲとなる。
【００６０】
一方、Ｂはショートゴロの打球軌跡を示しており、この場合の打球２はショートＳとサード▲３▼の中間方向に向かうことがＣＰＵ１１により打撃時に計算される。この場合に、打球軌跡Ｂに最も近いのはショートＳであるから、ＣＰＵ１１はショートＳを守備プレーヤと決定し、その後のユーザの操作対象はショートＳとなる。
【００６１】
ここで、ショートＳとゴロ軌跡Ｂとの間の距離｜ｃ｜は、例えば以下のように求められる。今、ゴロ軌跡のベクトルをＢ、ホームベースにあったボール２からショートＳに向かうベクトルをａとすると、ベクトルＢ，ａのなす角θは、
【００６２】
【数１】
0003765453.tif 000002
【００６３】
により求まる。但し、記号・はベクトルの内積である。従って距離｜ｃ｜は、
｜ｃ｜＝｜ａ｜ｓｉｎθ
により求まる。又は、この場合の距離｜ｃ｜を、
【００６４】
【数２】
0003765453.tif 000003
【００６５】
により一挙に求めても良い。但し、記号×はベクトルの外積である。
また、サード▲３▼とゴロ軌跡Ｂとの間の距離｜ｄ｜も同様に求まり、ここでは｜ｃ｜＜｜ｄ｜により、ショートＳが守備プレーヤとなる。
しかるに、ユーザによるショートＳの操作が間に合わない場合がある。又はショートＳの操作が間に合っても、ショートＳの選手能力に基づくエラー率と乱数制御とによって稀にショートＳがエラーする場合がある。係る場合の打球２はショートＳを越えて外野の側に向かい、この時のショートＳに関するエラー判定に従い、上記図５（Ａ）のプレーヤ決定処理が再度コールされる。
【００６６】
この場合も、ステップＳ１ではＦfly ＝０（ゴロ）によりステップＳ３に進み、今度はこの時点で打球軌跡Ｂに最も近いレフトＬが守備プレーヤに決定され、その後のユーザの操作対象はレフトＬとなる。
図６は第１の実施の形態によるカメラ位置決定処理のフローチャートで、不図示のメイン処理から必要な時にコールされる。なお、これは上記本発明（１）に対応した処理であり、併せて図１（Ａ）も参照されたい。
【００６７】
最初はピッチャーＰの投球をバッターＢが打撃した時にコールされる。
ステップＳ１０では打球（最初はバットの位置にある）２の座標Ａ（ｘ1 ，ｚ1 ）を取得する。ステップＳ１１では守備プレーヤの座標Ｂ（ｘ2 ，ｚ2 ）を取得する。ステップＳ１２では２点ＡＢ間を結ぶ線分ＡＢを所定比で分割する中間点Ｍを求める。ステップＳ１３では線分ＡＢのＢ側の延長線上で距離ＡＢに比例する第３の点Ｐ1 の平面座標Ｐ1 （ｘ3 ，ｚ3 ）を求める。
【００６８】
ステップＳ１４ではベクトル（又は線分）ＢＰ1 を求める。ステップＳ１５ではベクトルＢＰ1 の長さ｜ＢＰ1 ｜につき、｜ＢＰ1 ｜≦Ｃmin か否かを判別する。｜ＢＰ1 ｜≦Ｃmin の場合はステップＳ１８で第３の点Ｐ1 が｜ＢＰ1 ｜＝Ｃmin となるように｜ＢＰ1 ｜をクランプし、後述のステップＳ１９に進む。また上記ステップＳ１５の判別で｜ＢＰ1 ｜≦Ｃmin でない場合はステップＳ１６で更に｜ＢＰ1 ｜≧Ｃmax か否かを判別する。｜ＢＰ1 ｜≧Ｃmax の場合はステップＳ１７で第３の点Ｐ1 が｜ＢＰ1 ｜＝Ｃmax となるように｜ＢＰ1 ｜をクランプし、後述のステップＳ１９に進む。
【００６９】
また上記ステップＳ１６の判別で｜ＢＰ1 ｜≧Ｃmax でもない場合はステップＳ１９でベクトルＭＰ1 を求める。ステップＳ２０では中間点Ｍを中心にベクトルＭＰ1 をＹ軸の回りに所定方向と平行な方向となるまで回転変換する。
今、中間点Ｍ上に回転の原点を置き、ベクトルＭＰ1 を（ｘ3 ，ｚ3 ）、回転後のベクトルＭＣを（ｘ4 ，ｚ4 ）とする時に、Ｙ軸の回りの回転演算は、
【００７０】
【数３】
0003765453.tif 000004
【００７１】
により得られる。ここで、回転角θ1 はベクトルＭＰ1 と所定方向に平行な線分ＭＣとの成す角θ1 として求められる。また、θ1 の符号はＹ軸に向かう方向（紙面に垂直手前の方向）から見て左回りの回転が正であり、よって図示の場合は負となる。
そして、ステップＳ２１では得られたＸＺ平面座標Ｃ（ｘ4 ，ｚ4 ）をカメラ位置と決定し、この処理を抜ける。
【００７２】
その後、このカメラ位置決定処理は、例えばＣＲＴ４４の１フレーム毎にコールされ、こうしてカメラ１の位置は、時々刻々と移動する打球２及び又は守備プレ−ヤと共に、常に両者間の関係（注目点Ｍ）を最適な距離及びアングルで捕らえるべくスムーズに移動することとなる。
ところで、上記ステップＳ２０において、ベクトルＭＰ1 をＹ軸の回りに所定方向と平行な方向となるまで回転変換する代わりに、該ベクトルＭＰ1 をＹ軸の回りにカメラ１がＸＺ平面上の１点（例えばホームベース後方の１点Ｎ）を見る方向となるまで回転変換することが容易に可能である。これを図５（Ｂ）を参照し、かつ守備プレーヤがファースト▲１▼と決定された場合について説明する。
【００７３】
ステップＳ１９でベクトルＭＰ1 を求めるまでは上記と同様で良い。そして、ステップＳ２０におけるこの場合の回転角θ1 ´は、ホームベース後方の１点Ｎと上記求めた中間点Ｍとを結ぶ線分ＮＭのＭ側の延長線と線分ＭＰ1 との成す角θ1 ´として求まる。ステップＳ２１では角度θ1 ´の回転変換により得られたＸＺ平面座標Ｃ´（ｘ4 ，ｚ4 ）をカメラ１b の位置と決定し、この処理を抜ける。この時、カメラ１b の視線は中間点Ｍを介してホームベース後方の１点Ｎ（即ち、略ホームベースの方向）を向くように配置される。
【００７４】
図７は第２の実施の形態によるカメラ位置決定処理のフローチャートで、上記同様にして不図示のメイン処理から必要な時にコールされる。なお、これは上記本発明（２）に対応した処理であり、併せて図１（Ａ）も参照されたい。
ステップＳ３０〜Ｓ３９までの処理は基本的には上記図６で述べたの処理と同様で良い。但し、ステップＳ３３では線分ＡＢの点Ｂ側の延長線上で距離ＡＢに比例する第３の点Ｐ2 の平面座標Ｐ2 （ｘ3 ，ｚ3 ）を求める。この場合の比例定数は、もし上記図６の処理の場合と同じ位置Ｃにカメラ１を設定しようとする場合には、｜ＢＰ2 ｜≧｜ＢＰ1 ｜の関係により、図６の場合の比例定数よりも大きい値に選ばれる。但し、距離｜ＢＰ1 ｜と距離｜ＢＰ2 ｜との比はこれらの線分ＢＰ1 ／ＢＰ2 が所定方向との間で成す角度θ1 （０°〜９０°）により大きく異なってくるため、常に図６の場合と同じ位置Ｃにカメラ１を設定できる訳ではない。
【００７５】
しかし、この手法を図３（Ａ）に示す様な座標系の野球ゲームに適用する場合には、実際上角度θ1 が４５°≦｜θ1 ｜≦９０°の範囲内で変化するため、図６と図７の手法による各比例定数の比も１．０〜１．４の範囲内で変化する。従って、この比例定数の比を例えば１．２程度とすることで、比較的良い近似が得られる。
【００７６】
そして、ステップＳ４０ではベクトルＭＰ2 と、中間点Ｍを通過する所定方向のベクトルＭＧとに基づきカメラ位置Ｃを求める。具体的には、ベクトルＭＰ2 のＸＺ平面上における所定方向と平行な方向への正弦成分（｜ＭＣ｜＝｜ＭＰ2 ｜ｓｉｎθ2 ）又は余弦成分（｜ＭＣ｜＝｜ＭＰ2 ｜ｃｏｓθ1 ）を求める。
図８は第３の実施の形態によるカメラ位置決定処理のフローチャートで、上記同様にして不図示のメイン処理から必要な時にコールされる。
【００７７】
なお、これは上記本発明（３），（４）に対応した処理であるが、上記の如く本発明（３），（４）は基本的には共通の考え方に基づいている。そこで、ここでは、処理効率の極めて高い本発明（４）の場合を具体的に説明する。そこで、併せて図１（Ｂ）も参照されたい。
ステップＳ５１では打球（最初はバットの位置にある）２の座標Ａ（ｘ1 ，ｚ1 ）を取得する。ステップＳ５２では守備プレーヤの座標Ｂ（ｘ2 ，ｚ2 ）を取得する。ステップＳ５３ではカメラ１の守備プレーヤＣ2 からのＸ軸方向のオフセット量Ｃx を、
ＣX ＝α（ｘ2 −ｘ1 ）
により求める。ここで、係数αは例えば−０．４である。負の符号−は、この座標系ＸＹＺとの関係から、カメラ１を常に守備プレーヤＣ2 とボールＣ1 との中間の側にオフセットさせることを意味する。また０．４はカメラ１がボールＣ1 と守備プレーヤＣ2 との中心位置よりも少し守備プレーヤＣ2 の側に寄っていることを意味する。これは守備プレーヤＣ2 の動き（操作性）に重きを置いたカメラワークである。
【００７８】
ステップＳ５４ではカメラ１の守備プレーヤＣ2 からのＺ軸方向のオフセット量Ｃz を、
Ｃz ＝γ（ｚ2 −ｚ1 ）
により求める。ここで、係数γは例えば１である。即ち、基本的にはカメラ１をＺ軸上の差分（ｚ2 −ｚ1 ）と同じ量だけ守備プレーヤＣ2 からＺ軸方向に下げる操作である。しかし、カメラ１をあまり下げすぎても、またあまり近づけすぎても、臨場感のある画像が得られない。
【００７９】
そこで、ステップＳ５５では｜ＣZ ｜≦Ｃmin （Ｃmin は例えば６ｍ）か否かを判別する。｜ＣZ ｜≦Ｃmin の場合はステップＳ５８でＣZ ＝±Ｃmin にクランプする。なお、Ｃmin の符号は上記ステップＳ５４で求めた符号に従う。
また上記ステップＳ５５の判別で｜ＣZ ｜≦Ｃmin でない場合は更にステップＳ５６で｜ＣZ ｜≧Ｃmax （Ｃmax は例えば１８ｍ）か否かを判別する。｜ＣZ ｜≧Ｃmax の場合はステップＳ５７でＣZ ＝±Ｃmax にクランプする。なお、Ｃmax の符号は上記ステップＳ５４で求めた符号に従う。また上記ステップＳ５６の判別で｜ＣZ ｜≧Ｃmax でもない場合は、Ｃmin ＜｜ＣZ ｜＜Ｃmax の場合であり、上記ステップＳ５３，Ｓ５４で求めたＣx ，ＣZ の値をそのまま保持してこの処理を抜ける。
【００８０】
図５（Ｂ）に戻り、上記図８の処理によるカメラ１の設定イメージを概説する。バッターＢがライトフライを打った時は、カメラ１1 はまずライトＲの後方左Ｃmax ，−ＣX の位置に置かれる。
なお、この打球２が図の破線で示すようなホームランの場合には、カメラ１1 はライトＲの後方左Ｃmax ，−ＣX の位置から打球２の進行につれて該ライトＲの後方左Ｃmin ，−ＣX の位置まで近づいた後、打球２がライトＲの頭上を追い越した時点では、Ｃz ＜０によりライトＲの前方左−Ｃmin ，−ＣX の位置に瞬時に移動（ワープ）し、同時にＣz ＜０によりカメラ１1 の向きを反転してカメラ１2 となり、その後の打球２がライトＲから離れるにつれて、カメラ１2 もライトＲから離れるようなシーンとなる。これは、ライトＲの目から見た正に臨場感あふれるホームランシーンである。
【００８１】
また、バッターＢがショートゴロを打った時は、カメラ１3 はまずショートＳの後方右Ｃmax ，ＣX の位置に置かれる。またショートＳがエラーをした時はカメラ１4 はその時ショートＳのカバーに回っていたレフトＬの後方右ＣZ ，ＣX の位置に置かれる。
ところで、上記図８に戻り、上記ステップＳ５５〜Ｓ５８で述べたと同様のクランプ処理は上記ステップＳ５３の処理で求めたＸ軸方向のオフセット量｜Ｃx ｜につき適用しても良い。この場合は、Ｘ軸方向の長さを表す第１，第２の閾値をＣmin ，Ｃmax （但し、上記Ｚ軸方向の閾値と同一とは限らない）とする場合に、オフセット量｜Ｃx ｜はＣmin ≦｜Ｃx ｜≦Ｃmax の範囲内でクランプされることになる。即ち、図１（Ｂ）において、この場合のカメラ１は｜Ｃx ｜＞Ｃmax の場合は、｜Ｃx ｜＝Ｃmax でクランプされ、それ以上は第２のキャラクタＣ2 から離れない。また｜Ｃx ｜＜Ｃmin の場合は、｜Ｃx ｜＝Ｃmin でクランプされ、それ以上は第２のキャラクタＣ2 に近づかない。但し、±Ｃx の符号はステップＳ５３で求めたＣx の符号に従う。
【００８２】
図５（Ｂ）において、この様な処理に基づくカメラワークは、たまたまＺ軸上に居るセカンド▲２▼又はセンターＣn 等が守備プレーヤに決定されたような場合に好適である。即ち、この場合のカメラ１はセカンド▲２▼又はセンターＣn の真後ろではなく、真後ろからＸ軸方向に±Ｃmin だけオフセットした位置に配置される。従って、この場合のユーザは打球２も守備プレーヤも共に良く見れる。
【００８３】
なお、上記オフセット量｜Ｃx ｜をクランプする考え方は、上記本発明（３）における第２の成分ｂの大きさ｜ｂ｜をクランプするように適用しても良いことは明らかである。
図９〜図１１は実施の形態による一例のカメラワークを説明する図（１）〜（３）で、バッターＢがライトフライを打った時のカメラ１の動きを詳細に示している。なお、この例のカメラ位置は上記図８の処理により行われる。
【００８４】
図９（Ａ）において、バッターボックスには敵方の右バッターＢが立っており、この時、カメラ１は守備側から右バッターＢの構えが良く見えるようにピッチャーＰの斜め左上後方から右バッターＢを捕らえている。因みにこの２Ｄ画像は、ユーザには上記図４の様に見える。但し、このカメラワークは上記図８の処理とは関係なく、所謂決め打ちのアングルにより所望に行われる。
【００８５】
図９（Ｂ）において、バッターボックスには敵方の左バッターＢが立っており、この時、カメラ１は守備側から左バッターＢの構えが良く見えるようにピッチャーＰの斜め右上後方から左バッターＢを捕らえている。
図１０（Ａ）において、バッターＢがライトフライ（図の点線のコースＡ）を打ったことにより、この場合の守備プレーヤ（第２のキャラクタＣ2 ）は、通常の野球ルールに従い、又は打球２の落下予定地点Ｑに最も近いと言う理由で、例えばＣＰＵ１１によりライトＲが選択され、カメラ１は該ライトＲの後方左Ｃmax ，ＣX ＝α（ｘ2 −ｘ1 ）の位置ｂに置かれる。勿論、この場合の第１のキャラクタＣ1 は打球２である。
【００８６】
これにより、ユーザはグランドの一定方向に撮影したライトＲと、フライの着地予定点を表すマーカ３と、遠くの打球２とを見ることになり、ユーザは操作パッド１６及びＣＰＵ１１を介して速やかにライトＲをマーカ３の方向に移動開始させる。一方、ＣＰＵ１１は、通常の野球ルールに従い、独自にセンターＣn をライトＲのカバーに走らせる。
【００８７】
図１０（Ｂ）において、打球２が進むと共に、ライトＲもマーカ３の方向に移動する。カメラ１の位置は両者の移動と共に逐次更新され、図１０（Ｂ）の位置関係ではカメラ１は元の位置ｂから矢印の方向に移動し、新たな位置ｃにある。また、この区間では打球２までの距離がまだ遠いため、Ｃmax には変更は無く、ＣX のみが変化している。またこの例では打球２よりも速くライトＲがＸ軸方向に移動したため、カメラ１はグランドの左側にシフトしている。
【００８８】
更にまた、この時点では、打球２が高く上がったため、この場合のユーザには打球２が見えないかも知れない。そこで、好ましくは、打球２の影パターン２´を該打球２のＸＺ平面座標上（ここでは、Ｙ＝０）に書き込む。これにより、ユーザは、マーカ３のみならず、おおよその打球コース｛ボールの速さ（即ち、フライの高さ），進み具合等）を知ることができる。一方、バッターＢはランナーｒと化し、ファースト側に走っている。
【００８９】
図１１（Ａ）において、打球２は着地予定点Ｑに近づき、ライトＲも略マーカ３の付近にいる。また、この区間では打球２とライトＲ間の距離（ｚ2 −ｚ1 ）が小さくなったため、Ｃz もγ（ｚ2 −ｚ1 ）の減少に伴って急速に小さくなる。これに伴いカメラ１は元の位置ｃから略Ｚ軸と平行な方向に移動し、この時点では新たな位置ｄにある。
【００９０】
図１１（Ｂ）において、この例では打球２の落下前にライトＲがマーカ３内に到達したことにより、打球２はライトＲにより捕球される。この時点では距離（ｚ2 −ｚ1 ）＝０となるため、それ以前からカメラ１のオフセット量Ｃz はＣmin にクランプされており、カメラ１はｅの位置に止まっている。また距離（ｘ2 −ｘ1 ）＝０となった時点では、カメラ１はライトＲの後方からライトＲの後ろ姿を大きく映し出している。従って、その２Ｄ画面を見たユーザにはあたかも自分がボールをキャッチしたような臨場感が得られる。
【００９１】
図１２，図１３は実施の形態による他の例のカメラワークを説明する図（１），（２）で、バッターＢがショートゴロを打った時のカメラ１の動きを詳細に示している。
図１２（Ａ）において、バッターＢがショートゴロ（図の点線のコースＢ）を打ったことにより、この場合の守備プレーヤは、通常の野球ルールに従い、又はまず内野手の内でゴロ軌跡Ｂまでの距離が最も短いと言う理由で、例えばＣＰＵ１１によりショートＳが選択され、カメラ１は該ショートＳの後方右Ｃmax ，ＣX ＝α（ｘ2 −ｘ1 ）の位置ｂに置かれる。
【００９２】
これにより、ユーザはグランドの一定方向に撮影したショートＳと、比較的遠くの打球２とを見ることになり、ユーザは操作パッド１６及びＣＰＵ１１を介して速やかにショートＳをゴロ軌跡Ｂ（但し、ゴロ軌跡Ｂが実際に表示される訳ではない）の方向に移動を開始させる。なお、ＣＰＵ１１は、必要なら、マーカ３をゴロ軌跡Ｂ上の適当な位置に表示する。またＣＰＵ１１は、通常の野球ルールに従い、独自にレフトＬ（及び又はセンターＣn ）をショートＳをカバーする方向に走らせる。
【００９３】
図１２（Ｂ）において、打球２が進むと共に、ショートＳもゴロ軌跡Ｂの方向に移動する。なお、この例では、打球２がＸ軸から約６０°の方向に素早く飛んだこと、及びその間にショートＳがあまり動けなかったこと等を反映して、カメラ１は元の位置ｂから新たな位置ｃまでゴロ軌跡Ｂと略対称な方向に速やかに移動している。
【００９４】
図１３（Ａ）において、この例ではショートＳがたまたまエラーした結果、ＣＰＵ１１はエラー判定に基づき再度守備プレーヤの選択を行い、この例ではショートＳのカバーに回っていたレフトＬが新たな守備プレーヤに選択されている。これに伴い、カメラ１の位置も元のｃ点から新たなｄ点の位置に切り換わって（ワープして）おり、以後はレフトＬと打球２との関係を追跡する事になる。また、ユーザの操作対象もショートＳからレフトＬに切り換わっている。
【００９５】
図１３（Ｂ）において、この例では打球２の通過前にレフトＬがゴロ軌跡Ｂに到達したことにより、打球２はレフトＬにより捕球される。捕球時のカメラ１の撮像状態は上記図１１（Ｂ）で述べたものと同様である。
なお、上記各実施の形態では個人的に使用するようなゲーム装置への適用例を述べたが、上記本発明による手法はパーソナルコンピュータやゲームセンター等に設置されるゲーム装置等にも適用できる。
【００９６】
また、上記各実施の形態では上記本発明による各手法をコンピュータにより実行する場合を述べたが、該手法をＣＰＵ以外のハードウエア構成（論理回路と演算回路の組合せ等）により実行するように構成しても良い。
また、上記各実施の形態では野球ゲームへの適用例を述べたが、他にサッカー，ソフトボール，フットボール，ラグビー等の様々な球技ゲームに適用できることは言うまでも無い。即ち、上記打球２が守備プレーヤの側に飛んでくる状況を効果的に映すのも、また蹴り上げられたサッカーボールがディフェンスやフォアード等のプレーヤ側に飛んでくる状況、又は飛んで行く状況を効果的に映すのも、上記カメラワークの手法の原理には何ら変わる所が無い。
【００９７】
また、３ＤＣＧ空間ＸＹＺの座標の決め方についても球技ゲームでは多くの共通点が認められる。例えば、上記野球ゲームにおける座標系の基準を置いたホームベースは、サッカーゲームにおけるゴールの基準位置に対応させられる。なお、サッカーゲームのゴールは２つ有るが、例えば何れかサッカーボールに近い方のゴールをその時点の座標系の基準とすれば良い。
【００９８】
また、上記本発明に好適なる複数の実施の形態を述べたが、本発明思想を逸脱しない範囲内で各処理手順の細部の構成、処理の順序、及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【００９９】
【発明の効果】
以上述べた如く本発明によれば、３ＤＣＧアニメーション（ゲーム等）の表示方法において、常に注目の２対象を２Ｄ画面に収めることが可能であると共に、２対象が離れている時は仮想カメラを十分に引いて全体状況を把握し易くし、かつ２対象が接近するのに応じて、基本的にはカメラをその所定のアングルを維持しつつユーザの操作対象に近づける簡単な制御により、特に野球やサッカー等の球技ゲームを行うようなユーザに対して、あたかもユーザが実際にプレーしているかの様な臨場感あふれる２Ｄ画面を効果的に提供できる。
【図面の簡単な説明】
【図１】本発明の原理を説明する図である。
【図２】実施の形態によるゲーム装置の構成を示す図である。
【図３】実施の形態による野球ゲームの動的パラメータを説明する図である。
【図４】実施の形態における視点変換及び透視変換処理のイメージ図である。
【図５】実施の形態による守備プレーヤ決定処理を説明する図である。
【図６】第１の実施の形態によるカメラ位置決定処理のフローチャートである。
【図７】第２の実施の形態によるカメラ位置決定処理のフローチャートである。
【図８】第３の実施の形態によるカメラ位置決定処理のフローチャートである。
【図９】実施の形態による一例のカメラワークを説明する図（１）である。
【図１０】実施の形態による一例のカメラワークを説明する図（２）である。
【図１１】実施の形態による一例のカメラワークを説明する図（３）である。
【図１２】実施の形態による他の例のカメラワークを説明する図（１）である。
【図１３】実施の形態による他の例のカメラワークを説明する図（２）である。
【図１４】従来技術を説明する図である。
【符号の説明】
１  カメラ
２  ボール
２´  ボールの影
３  マーカ
【図１】
0003765453.tif 000005
【図２】
0003765453.tif 000006
【図３】
0003765453.tif 000007
【図４】
0003765453.tif 000008
【図５】
0003765453.tif 000009
【図６】
0003765453.tif 000010
【図７】
0003765453.tif 000011
【図８】
0003765453.tif 000012
【図９】
0003765453.tif 000013
【図１０】
0003765453.tif 000014
【図１１】
0003765453.tif 000015
【図１２】
0003765453.tif 000016
【図１３】
0003765453.tif 000017
【図１４】
0003765453.tif 000018