JP3765453B2 - 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体 - Google Patents

3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3765453B2
JP3765453B2 JP11640698A JP11640698A JP3765453B2 JP 3765453 B2 JP3765453 B2 JP 3765453B2 JP 11640698 A JP11640698 A JP 11640698A JP 11640698 A JP11640698 A JP 11640698A JP 3765453 B2 JP3765453 B2 JP 3765453B2
Authority
JP
Japan
Prior art keywords
image
plane
character
characters
virtual camera
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
JP11640698A
Other languages
English (en)
Other versions
JPH11306385A (ja
Inventor
和礼 川村
Original Assignee
株式会社ハドソン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ハドソン filed Critical 株式会社ハドソン
Priority to JP11640698A priority Critical patent/JP3765453B2/ja
Publication of JPH11306385A publication Critical patent/JPH11306385A/ja
Application granted granted Critical
Publication of JP3765453B2 publication Critical patent/JP3765453B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • 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/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • 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/8011Ball

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は3DCGアニメーション画像表示方法及びその装置並びにプログラムを記録した記録媒体に関し、更に詳しくは3DCGアニメーション(例えばゲーム)空間における第1のキャラクタ(野球やサッカーのボール等)と、ユーザが操作可能な第2のキャラクタ(ボールを処理するためのプレーヤ等)との関係をTV等の2D画面を見ているユーザに対して効果的に表示可能な所謂仮想カメラのカメラワーク技術に関する。
【0002】
この種の3DCGアニメーション画像の表示方法及びそのプログラムを記録した記録媒体はパーソナルコンピュータや個人的に使用又はゲームセンター等に設置されるゲーム装置により利用される。
【0003】
【従来の技術】
図14は従来技術を説明する図で、図14(A)は野球ゲームの3DCGイメージを示している。図において、球場グランドには複数のプレーヤが配置され、ゲームユーザ(以下、単にユーザと言う)は攻撃側又は守備側を選択して野球ゲームを楽しむ。ここで、Pはピッチャ−、Bはバッタ−、Cはキャッチャ−、▲1▼はファースト、▲2▼はセカンド、▲3▼はサード、Sはショート、Rはライト、Cn はセンタ−、Lはレフトを夫々表す。図示しないが、他にランナーrも含まれる。
【0004】
従来の比較的簡易な野球ゲームでは、複数の仮想カメラ(以下、単にカメラとも呼ぶ)11 〜16 をスタンドの周囲に固定(想定)すると共に、ゲームの進行に応じてカメラを切り換え、各場面で得られる2D(透視変換)画面をユーザに提供するものであった。
具体的に言うと、例えばユーザが守備側の場合に、ピッチャ−Pが投球するシーンではカメラ11 でグランドの全体を映す。これはユーザが敵方の打球コースを見易いアングルである。次にバッターBが例えばレフトフライを打つと、カメラ11 をカメラ12 に切換え、レフト側の守備範囲を中心に映す。この時、ユーザは不図示の操作パッドで守備プレーヤ(この場合はレフトL)を打球の着地点側に素早く移動させ、レフトフライをキャッチする。
【0005】
しかし、これでは2D画面が単調(退屈)であるばかりか、野球ゲームに選手として参加しているユーザにプレーをしている臨場感が得られない。
また、従来の少し高度な野球ゲームでは、カメラ視線の方向制御とズーム制御とにより注目対象の被写体を大写しにするものがある。
具体的に言うと、例えばユーザが攻撃側の場合に、ピッチャ−Pが投球するシーンではカメラ11 でピッチャ−PとバッターBとをズームアップする。これは攻撃側のユーザ(即ち、バッターB)がピッチャ−Pの投球コースを読み易いアングルである。
【0006】
しかし、従来のこの様なシーンはピッチャ−Pの投球場面に限られたものであり、そのカメラアングルも予め定めた方向及びズームに決め打ちされていた。
一方、打撃後に、例えばカメラ12 をズームアップして注目の被写体(打球,守備プレーヤ等)を追おうとすると、そのカメラ制御は極端に複雑(困難)なものとなる。即ち、被写体の移動に伴いボールとプレーヤが重なったり、ボールが視野外に移動したりするが、このような場合のカメラワーク処理が問題となる。
【0007】
例えばカメラ12 をカメラ13 (又は15 )に切り換える方法があるが、係る状況下でカメラを切り換えると、2D画面を見ているユーザの方向感覚が一瞬にして失われ、ユーザの守備プレーヤ操作に支障を来す。またカメラ12 の視線を振る方法もあるが、同様にしてユーザの方向感覚が鈍ってしまう。またカメラ12 のズームを戻す方法もあるが、ズームを変えると2D画面を見ているユーザの距離感覚が失われ、ユーザの守備プレーヤ操作に支障を来す。
【0008】
図14(B)は格闘ゲームにおける撮像イメージの平面図を示している。
図(a)において、従来のカメラ1は基本的には二人の格闘者D,Eを結ぶ線分DEの中点から該線分DEと直角方向の離れた位置に配置(固定)され、常に格闘者D,Eをカメラの中に収められるようにズーム等で処理していた。
しかし、この手法は格闘ゲーム等の様に格闘者D,Eが比較的接近している場合の撮像には良いが、野球,サッカー等の球技ゲームの様に各キャラクタ(ボール,各プレーヤ)が広範囲に散らばっている場合の撮像には被写体が小さくなり過ぎる等の理由により、到底利用出来ない。また、この手法では格闘者D,Eが矢印方向に移動(回転)すると、二者が重なってしまい、2D画面を見ているユーザに死角が生じる。
【0009】
図(b)は格闘者D,Eの移動(回転)に伴いカメラ1もその基本的撮像関係を保ちながら移動(回転)する場合を示している。
しかし、この手法は格闘ゲームの様に格闘者D,E間の相対的関係のみを見ていれば良い場合は良いが、球技ゲームの様に常にユーザが背景(グランド,ホーベース等)と各キャラクタ(ボール,各プレーヤ)との位置関係を把握しておく必要がある場合の撮像には到底利用出来ない。
【0010】
【発明が解決しようとする課題】
上記の如く、従来のカメラワークは、球技ゲーム等に参加するユーザに対して実際にプレーをしているような臨場感を与えられるものでは無かった。
本発明は上記従来技術の問題点に鑑み成されたものであって、その目的とする所は、2D画面を介して球技ゲーム等を行うユーザに実際のプレーヤとしての臨場感を効果的に与えることの可能な3DCGアニメーション画像の表示方法及びそのプログラムを記録した記録媒体を提供することにある。
【0011】
【課題を解決するための手段】
上記の課題は例えば図1(A)の手法により解決される。即ち、本発明(1)の画像処理装置は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第1及び第2のキャラクタC ,C の画像を生成する画像生成手段と、前記第1及び第2のキャラクタC ,C を含む画像を撮影してその画像を画面に表示するための仮想カメラ1と、前記仮想カメラ1を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第1のキャラクタCの平面座標をA、かつユーザが操作可能な第2のキャラクタCの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求めると共に、2点MP間を結ぶ線分MPを点Mの回りで前記平面上の所定方向と平行となるように回転変換し、前記仮想カメラ1の位置を前記点Pの回転変換後の平面座標Cの上に設定するものである。
【0012】
なお、図1(A)は一例の3DCG直交座標系X,Y,Zを示すもので、実際にはどの軸をX,Y,Z軸に選んでも良い。また、この例のXZ平面は3DCG空間におけるカメラ位置決定処理の一般性を損なわないように任意に傾けて描いてある。但し、Y軸は紙面に垂直とする。
また、カメラ1の高さ、視線方向(アングル)、ズーム等については何も規定していないが、ここでは一定として説明する。特にXZ平面上の視線方向については予め図示の如く所定方向(ここでは紙面の真上から真下の方向)を見る様に定めておく。またズームについては、2D画面を見るユーザに正確な距離感を与えるために、好ましくは使用しない。その代わりに被写体(キャラクタC1 ,C2 )の移動に伴いカメラ1が移動することとなる。
【0013】
係る状況の下、上記本発明(1)の処理は、例えば第1のキャラクタC1 をボール(打球)、第2のキャラクタC2 をユーザのゲーム操作に従ってこの打球を追う守備プレーヤと考えると分かり易い。そして、打球C1 が守備プレーヤC2 の側に飛来してくる時のある瞬間におけるカメラ1の設定位置(XZ座標)は上記本発明(1)により以下のように求められる。但し、演算順序は以下の記載順に限らない。
【0014】
まず2点AB間を結ぶ線分ABを所定比で分割するような中間点Mを求める。この場合に、中間点Mを幾分点Bの側寄り(例えば0.4:0.6等)に選ぶことで最終的なカメラ位置Cは常に幾分プレーヤC2 の側にあることになる。
次に線分ABのB側の延長線上で該線分ABの長さに比例した第3の点P1 を求める。これにより仮のカメラ位置は2点AB間の距離に比例した距離だけプレーヤC2 の後方に離れる。好ましくは、この比例定数は、カメラ1の所定の視野角(画角)を考慮して、その最終的なカメラ位置Cから被写体を撮像した場合の2キャラクタC1 ,C2 が2D画面の一杯に収まるように選択される。
【0015】
次に2点MP1 間を結ぶ線分MP1 を点Mの回りでXZ平面上の所定方向と平行となるように回転変換する。そして、第1,第2のキャラクタC1 ,C2 を2D画面上に表示するための仮想カメラ1の位置を、前記点P1 の回転変換後の平面座標Cの上に設定する。これにより、カメラ1は常にXZ平面上における2キャラクタC1 ,C2 の中間点(注目点とも呼べる)Mを所定方向(ここでは紙面の真上から真下の方向)に見ることになる。
【0016】
以上により、ユーザは2D画面一杯に展開されるような打球C1 とプレーヤC2 との関係を常に3DCG空間の所定方向(ここでは一定方向)から見ることになる。そして、ボールC1 がプレーヤC2 に近づくと、カメラ1は一定のカメラアングルを維持しつつ2点ABの接近に応じてプレーヤC2 (矢印h)の方向に近づき、最終的にユーザはプレーヤC2 の真近でボールC1 をキャッチすることになる。
【0017】
かくして、本発明(1)によれば、2D画面を見ているユーザにはあたかも実際にプレーしているような臨場感が効果的に与えられる。その際には、ユーザの距離感覚及び方向感覚が損なわれないため、ユーザは常にプレーヤC2 を正確にゲーム操作できる。また2D画面(特に背景画面)が回転しないので、長時間ゲームを行っても目が疲れたり酔ったりしない。また、3DCGアニメーション空間におけるこのようなカメラ位置CはXZ平面上についての2次元座標演算処理により高速に求められる。
【0018】
また本発明(2)の画像処理装置は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第1及び第2のキャラクタC ,C の画像を生成する画像生成手段と、前記第1及び第2のキャラクタC ,C を含む画像を撮影してその画像を画面に表示するための仮想カメラ1と、前記仮想カメラ1を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第1のキャラクタCの平面座標をA、かつユーザが操作可能な第2のキャラクタCの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求めると共に、2点MP間を結ぶ線分MPの前記平面上における所定方向と平行な方向への正弦又は余弦成分を求め、前記仮想カメラ1の位置を前記正弦又は余弦成分の点Mと反対側の点Cの上に設定するものである。
【0019】
本発明(2)は仮想カメラ1の上記好ましい設定位置Cを求めるための他の構成を示している。なお線分ABの中間点Mの決定については上記と同様で良い。
次に線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求める。この場合の比例定数は、例えば上記図1(A)に示したカメラ位置Cが好ましいとする場合は、前記第3の点Pが底辺MCを有する直角三角形MPCの頂点Pとなるように選ばれる。
【0020】
次に2点MP2 間を結ぶ線分MP2 の前記平面上における所定方向と平行な方向への正弦成分(|MC|=|MP2 |sinθ2 )又は余弦成分(|MC|=|MP2 |cosθ1 )を求める。そして、第1,第2のキャラクタC1 ,C2 を2D画面上に表示するための仮想カメラ1の位置を、前記正弦又は余弦成分の点Mと反対側の点Cの上に設定する。これにより、カメラ1は常にXZ平面上における2キャラクタC1 ,C2 の中間点Mを所定方向に見ることになる。
【0021】
本発明(2)によれば、線分MP2 の所定方向と平行な方向への正弦又は余弦成分|MC|を求める演算は上記本発明(1)における線分(ベクトル)MP1 の回転演算を行うのに比べて簡単である。
また本発明(3)の画像処理装置は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第1及び第2のキャラクタC ,C の画像を生成する画像生成手段と、前記第1及び第2のキャラクタC ,C を含む画像を撮影してその画像を画面に表示するための仮想カメラ1と、前記仮想カメラ1を所定の位置に設定する制御手段とを備え、前記制御手段は、前記第1のキャラクタCの平面座標をA、かつユーザが操作可能な第2のキャラクタCの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第1の成分aを求めると共に、2点MB間を結ぶ線分MBの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第2の成分bを求め、前記仮想カメラの位置を、前記第2のキャラクタCの平面座標Bから前記第1,第2の成分a,bのベクトル合成分だけオフセットさせた平面座標Cの上に設定するものである。
【0022】
本発明(3)は仮想カメラ1の上記好ましい設定位置Cを求めるための更に他の構成を示している。なお、線分ABの中間点Mの決定については上記と同様で良い。
次に線分ABのXZ平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第1の成分aを求める。ここで、線分ABの所定方向と平行な方向への正弦成分|a´|=|AB|sinθであり、又は余弦成分|a´|=|AB|cosθである。この場合に、予め比例定数δを適当に選ぶことでδ|a´|=第1の成分|a|となる。
【0023】
次に2点MB間を結ぶ線分MBのXZ平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第2の成分bを求める。ここで、線分MBの所定方向と直角な方向への正弦成分|b´|=|MB|sinθ1 であり、又は余弦成分|b´|=|MB|cosθ2 である。この場合に、予め比例定数εを適当(好ましくは1)に選ぶことでε|b´|=第2の成分|b|となる。
【0024】
次に第1,第2のキャラクタC1 ,C2 を2D画面上に表示するための仮想カメラ1の位置を、第2のキャラクタC2 の平面座標Bから前記第1,第2の成分a,bのベクトル合成(和)分だけオフセットさせた平面座標Cの上に設定する。これにより、カメラ1は常にXZ平面上における2キャラクタC1 ,C2 の中間点Mを所定方向に見ることとなる。
【0025】
本発明(3)によれば、上記本発明(1),(2)にあるような線分ABのB側の延長線上で該線分ABの長さに比例した第3の点P(又はP)を求める処理を省略できる。従って、XZ平面上の上記計算に必要な座標空間をあまり大きくとる必要が無く、有利である。
また上記の課題は例えば図1(B)の手法により解決される。即ち、本発明(4)の画像処理装置は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを前記第1及び第2のキャラクタを結ぶ線分の延長線上にない所定の位置に設定する制御手段とを備え、前記制御手段は、前記3DCGアニメーション空間につき任意に選んだ平面をXZ平面とし、かつ第1のキャラクタCの平面座標をA(x,z)、ユーザが操作可能な第2のキャラクタCの平面座標をB(x ,z )とする場合に、前記XZ平面上における所定方向と平行な向きに置かれる仮想カメラ1の位置を前記第2のキャラクタCの平面座標B(x,z)から、X,Z軸につき夫々、
=α(x−x
=γ(z−z
但し、α,γ:定数
だけオフセットさせた平面座標Cの上に設定するものである。
【0026】
本発明(4)は、仮想カメラ1の向きを所定軸(例えばZ軸と平行な方向)に合わせることにより上記本発明(3)の座標演算処理が極めて簡単になる場合を示している。
即ち、図1(B)において、上記図1(A)の第1,第2の成分a,bに相当する各オフセット量CZ ,CX は、夫々、
z =γ(z2 −z1
x =α(x2 −x1
の演算により簡単に求まる。ここで、例えば係数(比例定数)α=−0.4であり、また係数(比例定数)γは例えば0<γ<2の範囲で選ばれる。従って、本発明(4)によれば、カメラ1の位置を極めて簡単な処理により高速に求められる。
【0027】
好ましくは、本発明(5)においては、上記本発明(1)又は(2)において、制御手段は、長さを表す第1,第2の閾値をCmin ,Cmax (Cmin<Cmax)とする場合に、2点BP間を結ぶ線分BPの長さ|BP|がCmin ≦|BP|≦Cmaxの範囲内となるように第3の点P(P 又はP )を求めるものである。
図1(A)において、第3の点がPの場合を説明する。
【0028】
本発明(5)によれば、2点ABがあまりに離れているような場合には|BP1 |=Cmax (例えば18m)にクランプされる。即ち、カメラ1はこれ以上にはプレーヤC2 から離れない。この時、ボールC1 は2D画面には映らないかもしれないが、まだ十分遠くにあるので、ユーザが捕球等の操作するのには支障はない。一方、プレーヤC2 は所要のサイズ(あまり小さくならない状態)で2D画面に映っており、ユーザは実戦の臨場感を失わずにゲームを楽しめる。
【0029】
また上記本発明(5)によれば、2点ABがあまりに接近したような場合には|BP1 |=Cmin (例えば6m)にクランプされる。即ち、カメラ1はこれ以上にはプレーヤC2 の側に近づかない。従って、プレーヤC2 がボールC1 をキャッチするようなシーンを少し離れた位置から最適のアングルで映せる。一方、ユーザはプレーヤC2 がボールC1 をキャッチする時点までの周囲の状況を見失うようなことはなく、よって最後までプレーヤC2 を適正にゲーム操作できる。なお、以上のことは、第3の点がP2 の場合についても同様に考えられる。
【0030】
また好ましくは、本発明(6)においては、上記本発明(3)において、制御手段は、長さを表す第1,第2の閾値をCmin ,Cmax(Cmin<Cmax)とする場合に、第1の成分aをその長さ|a|がCmin≦|a|≦Cmaxの範囲内となるようにクランプするものである。
本発明(6)は、上記本発明(5)の考えを上記本発明(3)に適用したものであり、同様に理解できる。但し、2キャラクタC,C間の距離を、上記本発明(5)のように線分ABの長さ|AB|で評価するのでは無く、カメラ1の向き(所定方向)と平行な第1の成分aの長さ|a|により評価している点で異なる。本発明(6)によれば、第1の成分aはカメラ1の向きと平行であるので、該第1の成分|a|≧Cmaxによりカメラ位置を|a|=Cmaxにクランプしても遠くのボールCが2D画面内に収まっている場合が多い。
【0031】
また好ましくは、本発明(7)においては、上記本発明(4)において、制御手段は、長さを表す第1,第2の閾値をCmin,Cmax(Cmin<Cmax)とする場合に、Z軸方向のオフセット量の大きさ|C |をmin≦|C|≦Cmaxの範囲内となるようにクランプするるものである。
本発明(7)は、上記本発明(6)の考えを上記本発明(4)に適用したものであり、同様に理解できる。
【0032】
また好ましくは、本発明(8)においては、上記本発明(1)〜(7)において、制御手段は、第1及び又は第2のキャラクタC,Cの移動に伴い仮想カメラ1の位置を時々刻々と更新するものである。
従って、2キャラクタC,Cが近づく時はカメラ1も注目点(2者の中間点M)の側に次第に近づき、また2キャラクタC,Cが遠ざかる時はカメラ1も注目点から次第に遠ざかる。このようなダイナミックなカメラワークを容易かつリアルタイムに行える。
【0033】
好ましくは上記本発明(1)〜(8)において、仮想カメラ1の高さ及びその注視点の方向を固定としたものである。
従って、係る状況の下におけるカメラ位置はXZ平面上についての2次元座標演算処理により高速に求められる。
なお、上記カメラ1のXZ平面座標位置を決めた上で、必要ならカメラ1の高さ、アングル(視線方向)、ズーム等を変更するような様々なバリエーション制御を容易に追加できることは言うまでも無い。
【0034】
また好ましくは上記本発明(4)又は(7)において、例えば図3(A)に示す如く野球ゲームのゲームプログラムに適用され、3DCGアニメーション空間につき任意に選んだ例えばX軸をホームベースとセカンドベースとを結ぶ直線と直角の方向に、かつ任意に選んだ例えばY軸を高さの方向に、かつ残りのZ軸をホームベースとセカンドベースとを結ぶ直線と平行な方向に夫々とったものである。
【0035】
ところで、この図3(A)の座標系(即ち、カメラ1の視線方向)のとり方は、上記図1(B)の座標系のとり方と一致しており、従って、このような野球ゲームは上記本発明(4)又は(7)の手法により極めて簡単かつ高速に処理できる。なお、詳細は実施の形態に従って後述する。
また好ましくは、本発明()においては、上記本発明(8)において、野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第1のキャラクタCの落下予定地点の付近に所定形状のマーカを生成するものである。
【0036】
図5(B)に野球ゲームに適用した場合の平面図を示す。
図において、バッターBが例えばライトフライを打つと、その打球2の軌跡Aは空気抵抗を考慮したニュートンの第2法則に基づき略放物曲線として求まる。従って、打撃の瞬間から打球2の落下予定地点Qは既知である。
しかるに、上記本発明(9)によれば、カメラ1は、例えばライトプレーヤRの全身を含む周囲の状況を効果的に映すべく、常にライトプレーヤRよりも少し高い位置から幾分グランドの側を見るように固定されているため、その2D画面には高く上がった打球2(第1のキャラクタC1 )が殆ど映らない。このためユーザはライトプレーヤRをどの方向に移動させるか分からない。
【0037】
そこで、本発明()では、打球2の落下予定地点Qの付近に所定形状(例えば円環形状)のマーカ3を表示させることにした。従って、この場合のユーザは、ライトプレーヤRをその周囲のグランド上に表示されるマーカ3の方向に移動させれば良い。なお、このことは蹴り上げられたサッカーボールの落下予定地点にも適用できることは言うまでも無い。
【0038】
また好ましくは、本発明(10)においては、上記本発明(8)において、野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第1のキャラクタCの平面座標A上(例えばY=0の所)に該第1のキャラクタCの影パターンを生成するものである。
図5(B)において、以下に説明する状況は上記ライトフライの場合と同様である。本発明(10)によれば、打球2のXZ平面座標A上に該打球2の影パターン2´を表示させるので、2D画面を見ているユーザは守備プレーヤRと共に打球2の飛来コースも容易に認識できる。
【0039】
また好ましくは上記本発明(1)〜(8)において、平面上における所定方向とは該平面上における一定の方向又は該平面上の1点を見る方向である。
図1に戻り、上記予め所定方向(XZ平面上における一定の方向)を決めたことにより、該一定の方向との関係で最適のカメラ位置Cを一律に決定することができた。
【0040】
ところで、上記XZ平面上における一定の方向に代えて、予めXZ平面上におけるある1点を決めておくことも可能である。この1点は、野球ゲームで言えば例えばホームベース後方の1点であり、またサッカーゲームで言えば例えばゴール後方の1点と決めることができる。その結果、カメラ1のXZ平面方向の視線を常に所定方向(ホームベース後方の1点又はゴール後方の1点)を向くように制御することが容易に可能となる。
【0041】
なお、この場合の所定方向は、上記のように常に紙面の真上から真下を見るような一定の方向とはならないが、1回毎のカメラ位置計算サイクルで見ると、その都度XZ平面上の1点を指すような各所定方向が得られる。このよな各所定方向を上記本発明(1)〜(8)のカメラ位置決定アルゴリズムに適用することにより、2キャラクタC1 ,C2 の中間点(注目点)Mを通して常にXZ平面上の1点を見るようなカメラ1の最適位置Cが求まる。
【0042】
カメラが平面上における一定の方向又は該平面上の1点を見る場合の作用を図5(B)を参照して簡単に説明する。
まずカメラ1が常に一定の方向を見る場合で言うと、例えばライトフライにより守備プレーヤがライトRに決まった時点で、カメラは点1の場所に図示のようなアングルで置かれる。カメラ1の視野内には近くのライトRも遠くのバッターB(即ち、打球2)も共に収まっており、良いカメラワークである。
【0043】
一方、打球が、上記ライトフライでは無く、例えばファースト▲1▼の側に飛んだ時は、上記同様のカメラ位置決定処理により、この場合のカメラ1a はファースト▲1▼の左側後方に上記カメラ11 と同じアングルで置かれる。この場合のカメラ1a にも近くのファースト▲1▼と離れたバッターBとが共に収まっており、良いカメラワークである。
【0044】
しかし、この場合の2D画面を見ると、ファーストプレーヤ▲1▼の姿が上記ライトプレーヤRの場合よりもかなり画面の右側を向いて映っていることが容易に想像できる。これは、上記ライトプレーヤRよりもZ軸から深い角度に位置しているファーストプレーヤ▲1▼がホームベースの方向を見て立っているのに、ユーザはカメラ1を介して常にZ軸の方向を見ているため、起こる現象である。このため、打球コースによっては、ユーザは守備プレーヤをほぼ真横から操作しなければならないような場面も生じ得る。
【0045】
かかる場合には、カメラ1が常にXZ平面上の1点(例えば、ホームベース後方の1点N)を見るようにすることで、ユーザはどのプレーヤでも一定の方向から制御できるようになる。従って、この場合のユーザが維持する方向感覚は、各プレーヤについて共通のホームベースの方向となる。処理の詳細は後述する。
なお、実際上は場面に応じて上記一定の方向と1点を見る方向との各処理を使い分ける事が容易に可能であり、従ってカメラワークを様々な場面に応じて一層柔軟に運用可能となる。
【0046】
また、本発明(11)の画像表示方法は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想
カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点P を求めるステップと、2点MP間を結ぶ線分MPを点Mの回りで前記平面上の所定方向と平行となるように回転変換するステップと、前記仮想カメラの位置を前記点Pの回転変換後の平面座標Cの上に設定するステップとを実行するものである。
また、本発明(12)の画像表示方法は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求めるステップと、2点MP間を結ぶ線分MPの前記平面上における所定方向と平行な方向への正弦又は余弦成分を求めるステップと、前記仮想カメラの位置を前記正弦又は余弦成分の点Mと反対側の点Cの上に設定するステップとを実行するものである。
また、本発明(13)の画像表示方法は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第1の成分aを求めると共に、2点MB間を結ぶ線分MBの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第2の成分bを求めるステップと、前記仮想カメラの位置を前記第2のキャラクタの平面座標Bから前記第1,第2の成分a,bのベクトル合成分だけオフセットさせた平面座標Cの上に設定するステップとを実行するものである。
また、本発明(14)の画像表示方法は、3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラを前記第1及び第2のキャラクタを結ぶ線分の延長線上にない位置に時々刻々と更新する制御手段とを備え、前記制御手段によって、前記3DCGアニメーション空間につき任意に選んだ平面をXZ平面とし、かつ第1のキャラクタの平面座標をA(x ,z )、ユーザが操作可能な第2のキャラクタの平面座標をB(x ,z )とする場合に、前記XZ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第2のキャラクタの平面座標B(x ,z )から、X,Z軸につき夫々、
=α(x−x
=γ(z−z
但し、α,γ:定数
だけオフセットさせた平面座標Cの上に設定するステップを実行するものである。
また、本発明(15)の記録媒体は、上記本発明(11)〜(14)の何れか1つに記載の画像表示方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0047】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる複数の実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。
図2は実施の形態によるゲーム装置の構成を示す図で、図において、11はゲーム装置の主制御{ゲームプログラム及び3DCGデータの読込制御,ユーザによる操作データの読込制御等)並びに3DCGアニメーションに係るゲーム処理(ゲームキャラクタの移動処理,本発明によるカメラ位置決定処理等)を行うCPU(ゲームプロセッサとも呼ぶ)、12はCPU11が使用するRAM,ROM,EEPROM等からなる主メモリ(MM)、13はCPU11のローカル(ホスト)バス、14はデータを高速転送可能なPCI(Peripheral Component Interconnect)バス、15はホストバス13とPCIバス14間の接続(調停)制御を行うホスト−PCIブリッジ(H−Pブリッジ)、16はユーザがゲーム操作を行うための各種制御キー(スタートキー,選択キー,十字キー等)や、マウス,ジョイスティック等の位置入力手段を備える操作パッド、17は操作パッド16をシステムに収容するための周辺インタフェース(PIF)、18はゲームプログラム(処理手順,ゲームパラメータ,3DCGモデルデータ等)をマスクROM等に記録しているROMカートリッジ(ROM−C)、19はROMカートリッジ18をシステムに着脱自在に収容するためのROMカートリッジインタフェース(ROM−CIF)、20は上記ゲームプログラムを記録しているコンパクトディスクROM(CD−ROM)、21はCD−ROM20をシステムに着脱自在に収容し、駆動するためのCD−ROMドライバ、22は、ゲームプログラムのオンラインダウンロードや他のゲーム装置とのゲーム対戦を行うために、本システムを不図示の公衆網に接続するための通信制御部(COM)、23は通信線である。
【0048】
更に、30は入力の3DCGモデルデータを2D画面の透視変換画像データに変換するための公知の一例の3Dアクセラレータ、31はジオメトリプロセッサ、32はモデリング変換部、33は陰影処理部、34は視点変換部、35は透視変換部、36はレンダリング(ラスタ)プロセッサ、37は走査線分解部、38はZバッファ、39は隠面消去部、40はテクスチャメモリ、41はテクスチャ処理部、42は出力のカラー表示画像データ(R,G,B)を記憶するフレームメモリ、43はD/A変換部(DAC)、44は表示部としての例えばカラーCRTモニタ、44Aはその表示画面、45はCRT44に水平垂直同期信号H,Vを提供すると共に、3Dアクセラレータ30に前記H,Vに対応するx,y同期信号を提供するCRT制御部(CRTC)である。なお、3Dアクセラレータの動作については後述する。
【0049】
図3は実施の形態による野球ゲームの動的パラメータを説明する図で、本発明の野球ゲームへの適用例を示している。
図3(A)は球場グランドのXZ平面図を示しており、ここでは3DCG空間におけるユニバーサル(又はワールド)座標X,Y,Zの原点を例えばホームベース上に置いている。そして、例えばホームベースとセカンドベースとを結ぶ直線の方向にZ軸をとり、これと垂直な方向にX軸をとり、かつY軸を高さ方向にとっている。
【0050】
CPU(ゲームプロセッサ)11が主に管理・運用する野球ゲームの動的なパラメータは、ボールB,複数のプレ−ヤ及び複数のランナ−からなる各ゲームキャラクタの位置や姿勢と、仮想カメラ1のXZ平面上における位置である。
このうち、攻撃側を選択したユーザが操作するのはバッターBであり、また守備側を選択したユーザが操作するのはピッチャーP,キャッチャーC,各内野手▲1▼〜▲3▼,S及び各外野手R,Cn ,Lである。但し、守備側を選択したユーザが同時に操作できるのは何れか1つのプレーヤであり、ゲームの進行に応じて自発的に(即ち、ユーザのキー操作により)、又はCPU11により通常の野球ルールに従って自動的に、何れか1つのプレーヤが選択される。この選択されたプレーヤを守備プレーヤと呼ぶ。
【0051】
一方、カメラ1の位置制御は、専らこれをCPU11が行う。カメラ1の水平方向の視野角θh は例えば50°の固定とする。またズーム機能は使用せず、よって2D画面を見ているユーザは常に一定の距離感覚を維持できる。また、カメラ1の視線を水平方向に±θr ローテートすることは技術的には容易に可能であるが、本実施の形態では、ユーザが常にグランド上の一定方向(ホームベースのある方向)を容易に認識出来るように、ここではZ軸と平行な方向に固定している。従って、守備側を選択したユーザは常に守備プレーヤと略同じ方向を見ていることになり、実際に野球を行っている臨場感が得られる。
【0052】
なお、カメラ1を、上記Z軸と平行な方向にでは無く、常にホームベース後方の1点の方向に向くように制御することも可能である。この場合の守備側を選択したユーザは2D画面を介して各守備プレーヤと同じ略ホームベースの方向を見ていることになり、ユーザの臨場感は増大する。
図3(B)は球場グランドのYZ平面図を示している。
【0053】
カメラ1の垂直方向の視野角θv は例えば50°の固定とする。勿論、長方形状のTV画面サイズに合わせて視野角θh 又はθv を変更しても良い。また、カメラ1の高さを基準位置から±Cy したり、又はカメラ1の視線を垂直方向に±θt チルトするような事は技術的には容易に可能であるが、本実施の形態ではカメラ1を各プレーヤの平均的な身長よりも少し高い位置に固定すると共に、水平方向からのチルト角θt が例えば−10°程度となるように固定している。以上からして、仮想カメラ1についてはXZ平面上の設定位置を決定するだけで良く、カメラ制御が大幅に簡単となる。
【0054】
因みに、図3(B)は身長2m弱の守備プレーヤをそのCmin (例えば6m)後方から撮影した場合のカメラ1の撮像エリアを示している。図によれば、カメラ1が守備プレーヤに最短距離Cmin まで接近した場合でも、ユーザが当該守備プレーヤを含む周囲のグランドのみならず、その前方(及び上方)の状況も十分に把握できることが容易に理解できる。またカメラ1を少し上側から構えることで複数のプレーヤが重なってもこれらを容易に識別できる。
【0055】
図4は実施の形態における視点変換及び透視変換処理のイメージ図で、以下、上記図2も参照して実施の形態における3Dアクセラレータ処理を説明する。
ジオメトリプロセッサ31において、モデリング変換部32はキャラクタ(ボール,プレーヤ,背景等)の各基準位置データB(x,y,z),P(x,y,z)等、及びその形状モデルデータに従って3D空間XYZ上の各対応位置にポリゴン等の集合からなる実サイズの各キャラクタ(バッターB,ピッチャーP等)の3DCGモデルを生成・展開する。陰影処理部33は前記生成モデルに対して光線(太陽光又は照明光等)を考慮した陰影を付ける。視点変換部34は上記ワールド座標系XYZにおける3DCG画像データをカメラ1の視点情報に従う視点座標系xyzの3DCG画像データに変換する。なお、この視点情報(特にカメラ1のXZ座標情報)はCPU11により上記本発明に従って逐次計算され、順次視点変換部34に提供される。そして、透視変換部35はカメラ1の視点情報(視点座標系xyz)に従って各3DCG生成モデルの透視変換を行う。
【0056】
更にレンダリングプロセッサ36において、走査線分解部37は前記透視変換後の各画素データをCRT44の走査線アドレスx,yに従って抽出する。隠面消去部39はZバッファ38を使用して画面44Aに見えないはずの部分の画素データを画面44Aに見える部分の画素データで書き換える。テクスチャ処理部41は最終的に画面44Aに見える部分の各画素データに対してテクスチャメモリ40の対応するテクスチャデータを貼付ける。フレームメモリ42は、2画面分のカラー画像データ(R,G,B)を記憶可能であり、一方のフレームメモリにカラー画像データの書き込みを行っている間に、他方フレームメモリから表示のためのカラー画像データを読み出す。D/A変換器43はフレームメモリ42から読み出した各カラー画素データをアナログの画素信号に変換してCRT44にビデオ信号VSを提供する。かくして、上記一連のジオメトリ処理及びレンダリング処理は所謂パイプライン方式により高速に連続して繰り返し行われる。
【0057】
図5は実施の形態による守備プレーヤ決定処理を説明する図であり、ここではユーザが守備側を選択した場合の処理を説明する。
図5(A)はCPU11による守備プレーヤ決定処理のフローチャートを示しており、不図示のゲーム(メイン)処理から必要な時にコールされる。
最初はピッチャーPの投球をバッターBが打撃した時にコールされる。その際には、事前のメイン処理において、投球2とバットとの当たり判定が行われ、通常の物理法則に従って打球2の軌跡が求められる、ここでは、説明の簡単のためにフライとゴロとを想定し、フライは内野手の頭上を越えてゆくような打球、ゴロはフライ以外の打球とする。なお、最初はフライであっても守備プレーヤによりキャッチされずに落下した後はゴロとなる。
【0058】
ステップS1ではフライフラグFfly =1か否かを判別する。このフラグは打球がフライの状態にある時はFfly =1、フライ以外の状態(ゴロ又はフライが落下した後)にある時はFfly =0となるように予めメイン処理で処理される。Ffly =1(フライ)の場合はステップS2で打球2の落下予定地点に近いプレーヤを守備プレーヤに選択して処理を抜ける。またFfly =0(ゴロ)の場合はステップS3で打球2のXZ平面上における飛球軌跡に近いプレーヤを守備プレーヤに選択して処理を抜ける。
【0059】
図5(B)は上記守備プレーヤ決定処理のイメージ図を示している。
Aはライトフライの打球軌跡を示しており、この場合の打球2は内野手▲1▼,▲2▼の頭上を越えて落下予定点Qに落下することがCPU11により打撃時に計算される。この場合に、落下予定点Qに最も近いのはライトRであるから、CPU11はライトRを守備プレーヤと決定し、その後のユーザの操作対象はライトRとなる。
【0060】
一方、Bはショートゴロの打球軌跡を示しており、この場合の打球2はショートSとサード▲3▼の中間方向に向かうことがCPU11により打撃時に計算される。この場合に、打球軌跡Bに最も近いのはショートSであるから、CPU11はショートSを守備プレーヤと決定し、その後のユーザの操作対象はショートSとなる。
【0061】
ここで、ショートSとゴロ軌跡Bとの間の距離|c|は、例えば以下のように求められる。今、ゴロ軌跡のベクトルをB、ホームベースにあったボール2からショートSに向かうベクトルをaとすると、ベクトルB,aのなす角θは、
【0062】
【数1】
Figure 0003765453
【0063】
により求まる。但し、記号・はベクトルの内積である。従って距離|c|は、
|c|=|a|sinθ
により求まる。又は、この場合の距離|c|を、
【0064】
【数2】
Figure 0003765453
【0065】
により一挙に求めても良い。但し、記号×はベクトルの外積である。
また、サード▲3▼とゴロ軌跡Bとの間の距離|d|も同様に求まり、ここでは|c|<|d|により、ショートSが守備プレーヤとなる。
しかるに、ユーザによるショートSの操作が間に合わない場合がある。又はショートSの操作が間に合っても、ショートSの選手能力に基づくエラー率と乱数制御とによって稀にショートSがエラーする場合がある。係る場合の打球2はショートSを越えて外野の側に向かい、この時のショートSに関するエラー判定に従い、上記図5(A)のプレーヤ決定処理が再度コールされる。
【0066】
この場合も、ステップS1ではFfly =0(ゴロ)によりステップS3に進み、今度はこの時点で打球軌跡Bに最も近いレフトLが守備プレーヤに決定され、その後のユーザの操作対象はレフトLとなる。
図6は第1の実施の形態によるカメラ位置決定処理のフローチャートで、不図示のメイン処理から必要な時にコールされる。なお、これは上記本発明(1)に対応した処理であり、併せて図1(A)も参照されたい。
【0067】
最初はピッチャーPの投球をバッターBが打撃した時にコールされる。
ステップS10では打球(最初はバットの位置にある)2の座標A(x1 ,z1 )を取得する。ステップS11では守備プレーヤの座標B(x2 ,z2 )を取得する。ステップS12では2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求める。ステップS13では線分ABのB側の延長線上で距離ABに比例する第3の点P1 の平面座標P1 (x3 ,z3 )を求める。
【0068】
ステップS14ではベクトル(又は線分)BP1 を求める。ステップS15ではベクトルBP1 の長さ|BP1 |につき、|BP1 |≦Cmin か否かを判別する。|BP1 |≦Cmin の場合はステップS18で第3の点P1 が|BP1 |=Cmin となるように|BP1 |をクランプし、後述のステップS19に進む。また上記ステップS15の判別で|BP1 |≦Cmin でない場合はステップS16で更に|BP1 |≧Cmax か否かを判別する。|BP1 |≧Cmax の場合はステップS17で第3の点P1 が|BP1 |=Cmax となるように|BP1 |をクランプし、後述のステップS19に進む。
【0069】
また上記ステップS16の判別で|BP1 |≧Cmax でもない場合はステップS19でベクトルMP1 を求める。ステップS20では中間点Mを中心にベクトルMP1 をY軸の回りに所定方向と平行な方向となるまで回転変換する。
今、中間点M上に回転の原点を置き、ベクトルMP1 を(x3 ,z3 )、回転後のベクトルMCを(x4 ,z4 )とする時に、Y軸の回りの回転演算は、
【0070】
【数3】
Figure 0003765453
【0071】
により得られる。ここで、回転角θ1 はベクトルMP1 と所定方向に平行な線分MCとの成す角θ1 として求められる。また、θ1 の符号はY軸に向かう方向(紙面に垂直手前の方向)から見て左回りの回転が正であり、よって図示の場合は負となる。
そして、ステップS21では得られたXZ平面座標C(x4 ,z4 )をカメラ位置と決定し、この処理を抜ける。
【0072】
その後、このカメラ位置決定処理は、例えばCRT44の1フレーム毎にコールされ、こうしてカメラ1の位置は、時々刻々と移動する打球2及び又は守備プレ−ヤと共に、常に両者間の関係(注目点M)を最適な距離及びアングルで捕らえるべくスムーズに移動することとなる。
ところで、上記ステップS20において、ベクトルMP1 をY軸の回りに所定方向と平行な方向となるまで回転変換する代わりに、該ベクトルMP1 をY軸の回りにカメラ1がXZ平面上の1点(例えばホームベース後方の1点N)を見る方向となるまで回転変換することが容易に可能である。これを図5(B)を参照し、かつ守備プレーヤがファースト▲1▼と決定された場合について説明する。
【0073】
ステップS19でベクトルMP1 を求めるまでは上記と同様で良い。そして、ステップS20におけるこの場合の回転角θ1 ´は、ホームベース後方の1点Nと上記求めた中間点Mとを結ぶ線分NMのM側の延長線と線分MP1 との成す角θ1 ´として求まる。ステップS21では角度θ1 ´の回転変換により得られたXZ平面座標C´(x4 ,z4 )をカメラ1b の位置と決定し、この処理を抜ける。この時、カメラ1b の視線は中間点Mを介してホームベース後方の1点N(即ち、略ホームベースの方向)を向くように配置される。
【0074】
図7は第2の実施の形態によるカメラ位置決定処理のフローチャートで、上記同様にして不図示のメイン処理から必要な時にコールされる。なお、これは上記本発明(2)に対応した処理であり、併せて図1(A)も参照されたい。
ステップS30〜S39までの処理は基本的には上記図6で述べたの処理と同様で良い。但し、ステップS33では線分ABの点B側の延長線上で距離ABに比例する第3の点P2 の平面座標P2 (x3 ,z3 )を求める。この場合の比例定数は、もし上記図6の処理の場合と同じ位置Cにカメラ1を設定しようとする場合には、|BP2 |≧|BP1 |の関係により、図6の場合の比例定数よりも大きい値に選ばれる。但し、距離|BP1 |と距離|BP2 |との比はこれらの線分BP1 /BP2 が所定方向との間で成す角度θ1 (0°〜90°)により大きく異なってくるため、常に図6の場合と同じ位置Cにカメラ1を設定できる訳ではない。
【0075】
しかし、この手法を図3(A)に示す様な座標系の野球ゲームに適用する場合には、実際上角度θ1 が45°≦|θ1 |≦90°の範囲内で変化するため、図6と図7の手法による各比例定数の比も1.0〜1.4の範囲内で変化する。従って、この比例定数の比を例えば1.2程度とすることで、比較的良い近似が得られる。
【0076】
そして、ステップS40ではベクトルMP2 と、中間点Mを通過する所定方向のベクトルMGとに基づきカメラ位置Cを求める。具体的には、ベクトルMP2 のXZ平面上における所定方向と平行な方向への正弦成分(|MC|=|MP2 |sinθ2 )又は余弦成分(|MC|=|MP2 |cosθ1 )を求める。
図8は第3の実施の形態によるカメラ位置決定処理のフローチャートで、上記同様にして不図示のメイン処理から必要な時にコールされる。
【0077】
なお、これは上記本発明(3),(4)に対応した処理であるが、上記の如く本発明(3),(4)は基本的には共通の考え方に基づいている。そこで、ここでは、処理効率の極めて高い本発明(4)の場合を具体的に説明する。そこで、併せて図1(B)も参照されたい。
ステップS51では打球(最初はバットの位置にある)2の座標A(x1 ,z1 )を取得する。ステップS52では守備プレーヤの座標B(x2 ,z2 )を取得する。ステップS53ではカメラ1の守備プレーヤC2 からのX軸方向のオフセット量Cx を、
X =α(x2 −x1
により求める。ここで、係数αは例えば−0.4である。負の符号−は、この座標系XYZとの関係から、カメラ1を常に守備プレーヤC2 とボールC1 との中間の側にオフセットさせることを意味する。また0.4はカメラ1がボールC1 と守備プレーヤC2 との中心位置よりも少し守備プレーヤC2 の側に寄っていることを意味する。これは守備プレーヤC2 の動き(操作性)に重きを置いたカメラワークである。
【0078】
ステップS54ではカメラ1の守備プレーヤC2 からのZ軸方向のオフセット量Cz を、
z =γ(z2 −z1
により求める。ここで、係数γは例えば1である。即ち、基本的にはカメラ1をZ軸上の差分(z2 −z1 )と同じ量だけ守備プレーヤC2 からZ軸方向に下げる操作である。しかし、カメラ1をあまり下げすぎても、またあまり近づけすぎても、臨場感のある画像が得られない。
【0079】
そこで、ステップS55では|CZ |≦Cmin (Cmin は例えば6m)か否かを判別する。|CZ |≦Cmin の場合はステップS58でCZ =±Cmin にクランプする。なお、Cmin の符号は上記ステップS54で求めた符号に従う。
また上記ステップS55の判別で|CZ |≦Cmin でない場合は更にステップS56で|CZ |≧Cmax (Cmax は例えば18m)か否かを判別する。|CZ |≧Cmax の場合はステップS57でCZ =±Cmax にクランプする。なお、Cmax の符号は上記ステップS54で求めた符号に従う。また上記ステップS56の判別で|CZ |≧Cmax でもない場合は、Cmin <|CZ |<Cmax の場合であり、上記ステップS53,S54で求めたCx ,CZ の値をそのまま保持してこの処理を抜ける。
【0080】
図5(B)に戻り、上記図8の処理によるカメラ1の設定イメージを概説する。バッターBがライトフライを打った時は、カメラ11 はまずライトRの後方左Cmax ,−CX の位置に置かれる。
なお、この打球2が図の破線で示すようなホームランの場合には、カメラ11 はライトRの後方左Cmax ,−CX の位置から打球2の進行につれて該ライトRの後方左Cmin ,−CX の位置まで近づいた後、打球2がライトRの頭上を追い越した時点では、Cz <0によりライトRの前方左−Cmin ,−CX の位置に瞬時に移動(ワープ)し、同時にCz <0によりカメラ11 の向きを反転してカメラ12 となり、その後の打球2がライトRから離れるにつれて、カメラ12 もライトRから離れるようなシーンとなる。これは、ライトRの目から見た正に臨場感あふれるホームランシーンである。
【0081】
また、バッターBがショートゴロを打った時は、カメラ13 はまずショートSの後方右Cmax ,CX の位置に置かれる。またショートSがエラーをした時はカメラ14 はその時ショートSのカバーに回っていたレフトLの後方右CZ ,CX の位置に置かれる。
ところで、上記図8に戻り、上記ステップS55〜S58で述べたと同様のクランプ処理は上記ステップS53の処理で求めたX軸方向のオフセット量|Cx |につき適用しても良い。この場合は、X軸方向の長さを表す第1,第2の閾値をCmin ,Cmax (但し、上記Z軸方向の閾値と同一とは限らない)とする場合に、オフセット量|Cx |はCmin ≦|Cx |≦Cmax の範囲内でクランプされることになる。即ち、図1(B)において、この場合のカメラ1は|Cx |>Cmax の場合は、|Cx |=Cmax でクランプされ、それ以上は第2のキャラクタC2 から離れない。また|Cx |<Cmin の場合は、|Cx |=Cmin でクランプされ、それ以上は第2のキャラクタC2 に近づかない。但し、±Cx の符号はステップS53で求めたCx の符号に従う。
【0082】
図5(B)において、この様な処理に基づくカメラワークは、たまたまZ軸上に居るセカンド▲2▼又はセンターCn 等が守備プレーヤに決定されたような場合に好適である。即ち、この場合のカメラ1はセカンド▲2▼又はセンターCn の真後ろではなく、真後ろからX軸方向に±Cmin だけオフセットした位置に配置される。従って、この場合のユーザは打球2も守備プレーヤも共に良く見れる。
【0083】
なお、上記オフセット量|Cx |をクランプする考え方は、上記本発明(3)における第2の成分bの大きさ|b|をクランプするように適用しても良いことは明らかである。
図9〜図11は実施の形態による一例のカメラワークを説明する図(1)〜(3)で、バッターBがライトフライを打った時のカメラ1の動きを詳細に示している。なお、この例のカメラ位置は上記図8の処理により行われる。
【0084】
図9(A)において、バッターボックスには敵方の右バッターBが立っており、この時、カメラ1は守備側から右バッターBの構えが良く見えるようにピッチャーPの斜め左上後方から右バッターBを捕らえている。因みにこの2D画像は、ユーザには上記図4の様に見える。但し、このカメラワークは上記図8の処理とは関係なく、所謂決め打ちのアングルにより所望に行われる。
【0085】
図9(B)において、バッターボックスには敵方の左バッターBが立っており、この時、カメラ1は守備側から左バッターBの構えが良く見えるようにピッチャーPの斜め右上後方から左バッターBを捕らえている。
図10(A)において、バッターBがライトフライ(図の点線のコースA)を打ったことにより、この場合の守備プレーヤ(第2のキャラクタC2 )は、通常の野球ルールに従い、又は打球2の落下予定地点Qに最も近いと言う理由で、例えばCPU11によりライトRが選択され、カメラ1は該ライトRの後方左Cmax ,CX =α(x2 −x1 )の位置bに置かれる。勿論、この場合の第1のキャラクタC1 は打球2である。
【0086】
これにより、ユーザはグランドの一定方向に撮影したライトRと、フライの着地予定点を表すマーカ3と、遠くの打球2とを見ることになり、ユーザは操作パッド16及びCPU11を介して速やかにライトRをマーカ3の方向に移動開始させる。一方、CPU11は、通常の野球ルールに従い、独自にセンターCn をライトRのカバーに走らせる。
【0087】
図10(B)において、打球2が進むと共に、ライトRもマーカ3の方向に移動する。カメラ1の位置は両者の移動と共に逐次更新され、図10(B)の位置関係ではカメラ1は元の位置bから矢印の方向に移動し、新たな位置cにある。また、この区間では打球2までの距離がまだ遠いため、Cmax には変更は無く、CX のみが変化している。またこの例では打球2よりも速くライトRがX軸方向に移動したため、カメラ1はグランドの左側にシフトしている。
【0088】
更にまた、この時点では、打球2が高く上がったため、この場合のユーザには打球2が見えないかも知れない。そこで、好ましくは、打球2の影パターン2´を該打球2のXZ平面座標上(ここでは、Y=0)に書き込む。これにより、ユーザは、マーカ3のみならず、おおよその打球コース{ボールの速さ(即ち、フライの高さ),進み具合等)を知ることができる。一方、バッターBはランナーrと化し、ファースト側に走っている。
【0089】
図11(A)において、打球2は着地予定点Qに近づき、ライトRも略マーカ3の付近にいる。また、この区間では打球2とライトR間の距離(z2 −z1 )が小さくなったため、Cz もγ(z2 −z1 )の減少に伴って急速に小さくなる。これに伴いカメラ1は元の位置cから略Z軸と平行な方向に移動し、この時点では新たな位置dにある。
【0090】
図11(B)において、この例では打球2の落下前にライトRがマーカ3内に到達したことにより、打球2はライトRにより捕球される。この時点では距離(z2 −z1 )=0となるため、それ以前からカメラ1のオフセット量Cz はCmin にクランプされており、カメラ1はeの位置に止まっている。また距離(x2 −x1 )=0となった時点では、カメラ1はライトRの後方からライトRの後ろ姿を大きく映し出している。従って、その2D画面を見たユーザにはあたかも自分がボールをキャッチしたような臨場感が得られる。
【0091】
図12,図13は実施の形態による他の例のカメラワークを説明する図(1),(2)で、バッターBがショートゴロを打った時のカメラ1の動きを詳細に示している。
図12(A)において、バッターBがショートゴロ(図の点線のコースB)を打ったことにより、この場合の守備プレーヤは、通常の野球ルールに従い、又はまず内野手の内でゴロ軌跡Bまでの距離が最も短いと言う理由で、例えばCPU11によりショートSが選択され、カメラ1は該ショートSの後方右Cmax ,CX =α(x2 −x1 )の位置bに置かれる。
【0092】
これにより、ユーザはグランドの一定方向に撮影したショートSと、比較的遠くの打球2とを見ることになり、ユーザは操作パッド16及びCPU11を介して速やかにショートSをゴロ軌跡B(但し、ゴロ軌跡Bが実際に表示される訳ではない)の方向に移動を開始させる。なお、CPU11は、必要なら、マーカ3をゴロ軌跡B上の適当な位置に表示する。またCPU11は、通常の野球ルールに従い、独自にレフトL(及び又はセンターCn )をショートSをカバーする方向に走らせる。
【0093】
図12(B)において、打球2が進むと共に、ショートSもゴロ軌跡Bの方向に移動する。なお、この例では、打球2がX軸から約60°の方向に素早く飛んだこと、及びその間にショートSがあまり動けなかったこと等を反映して、カメラ1は元の位置bから新たな位置cまでゴロ軌跡Bと略対称な方向に速やかに移動している。
【0094】
図13(A)において、この例ではショートSがたまたまエラーした結果、CPU11はエラー判定に基づき再度守備プレーヤの選択を行い、この例ではショートSのカバーに回っていたレフトLが新たな守備プレーヤに選択されている。これに伴い、カメラ1の位置も元のc点から新たなd点の位置に切り換わって(ワープして)おり、以後はレフトLと打球2との関係を追跡する事になる。また、ユーザの操作対象もショートSからレフトLに切り換わっている。
【0095】
図13(B)において、この例では打球2の通過前にレフトLがゴロ軌跡Bに到達したことにより、打球2はレフトLにより捕球される。捕球時のカメラ1の撮像状態は上記図11(B)で述べたものと同様である。
なお、上記各実施の形態では個人的に使用するようなゲーム装置への適用例を述べたが、上記本発明による手法はパーソナルコンピュータやゲームセンター等に設置されるゲーム装置等にも適用できる。
【0096】
また、上記各実施の形態では上記本発明による各手法をコンピュータにより実行する場合を述べたが、該手法をCPU以外のハードウエア構成(論理回路と演算回路の組合せ等)により実行するように構成しても良い。
また、上記各実施の形態では野球ゲームへの適用例を述べたが、他にサッカー,ソフトボール,フットボール,ラグビー等の様々な球技ゲームに適用できることは言うまでも無い。即ち、上記打球2が守備プレーヤの側に飛んでくる状況を効果的に映すのも、また蹴り上げられたサッカーボールがディフェンスやフォアード等のプレーヤ側に飛んでくる状況、又は飛んで行く状況を効果的に映すのも、上記カメラワークの手法の原理には何ら変わる所が無い。
【0097】
また、3DCG空間XYZの座標の決め方についても球技ゲームでは多くの共通点が認められる。例えば、上記野球ゲームにおける座標系の基準を置いたホームベースは、サッカーゲームにおけるゴールの基準位置に対応させられる。なお、サッカーゲームのゴールは2つ有るが、例えば何れかサッカーボールに近い方のゴールをその時点の座標系の基準とすれば良い。
【0098】
また、上記本発明に好適なる複数の実施の形態を述べたが、本発明思想を逸脱しない範囲内で各処理手順の細部の構成、処理の順序、及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【0099】
【発明の効果】
以上述べた如く本発明によれば、3DCGアニメーション(ゲーム等)の表示方法において、常に注目の2対象を2D画面に収めることが可能であると共に、2対象が離れている時は仮想カメラを十分に引いて全体状況を把握し易くし、かつ2対象が接近するのに応じて、基本的にはカメラをその所定のアングルを維持しつつユーザの操作対象に近づける簡単な制御により、特に野球やサッカー等の球技ゲームを行うようなユーザに対して、あたかもユーザが実際にプレーしているかの様な臨場感あふれる2D画面を効果的に提供できる。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】実施の形態によるゲーム装置の構成を示す図である。
【図3】実施の形態による野球ゲームの動的パラメータを説明する図である。
【図4】実施の形態における視点変換及び透視変換処理のイメージ図である。
【図5】実施の形態による守備プレーヤ決定処理を説明する図である。
【図6】第1の実施の形態によるカメラ位置決定処理のフローチャートである。
【図7】第2の実施の形態によるカメラ位置決定処理のフローチャートである。
【図8】第3の実施の形態によるカメラ位置決定処理のフローチャートである。
【図9】実施の形態による一例のカメラワークを説明する図(1)である。
【図10】実施の形態による一例のカメラワークを説明する図(2)である。
【図11】実施の形態による一例のカメラワークを説明する図(3)である。
【図12】実施の形態による他の例のカメラワークを説明する図(1)である。
【図13】実施の形態による他の例のカメラワークを説明する図(2)である。
【図14】従来技術を説明する図である。
【符号の説明】
1 カメラ
2 ボール
2´ ボールの影
3 マーカ

Claims (15)

  1. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
    少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
    前記制御手段は、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点P を求めると共に、2点MP間を結ぶ線分MPを点Mの回りで前記平面上の所定方向と平行となるように回転変換し、前記仮想カメラの位置を前記点Pの回転変換後の平面座標Cの上に設定することを特徴とする画像処理装置。
  2. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
    少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
    前記制御手段は、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求めると共に、2点MP間を結ぶ線分MPの前記平面上における所定方向と平行な方向への正弦又は余弦成分を求め、前記仮想カメラの位置を前記正弦又は余弦成分の点Mと反対側の点Cの上に設定することを特徴とする画像処理装置。
  3. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
    少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを所定の位置に設定する制御手段とを備え、
    前記制御手段は、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求め、前記線分ABの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第1の成分aを求めると共に、2点MB間を結ぶ線分MBの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第2の成分bを求め、前記仮想カメラの位置を前記第2のキャラクタの平面座標Bから前記第1,第2の成分a,bのベクトル合成分だけオフセットさせた平面座標Cの上に設定することを特徴とする画像処理装置。
  4. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置において、
    少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記仮想カメラを前記第1及び第2のキャラクタを結ぶ線分の延長線上にない所定の位置に設定する制御手段とを備え、
    前記制御手段は、前記3DCGアニメーション空間につき任意に選んだ平面をXZ平面とし、かつ第1のキャラクタの平面座標をA(x ,z )、ユーザが操作可能な第2のキャラクタの平面座標をB(x ,z )とする場合に、前記XZ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第2のキャラクタの平面座標B(x ,z )から、X,Z軸につき夫々、
    =α(x−x
    =γ(z−z
    但し、α,γ:定数
    だけオフセットさせた平面座標Cの上に設定することを特徴とする画像処理装置。
  5. 制御手段は、長さを表す第1,第2の閾値をCmin ,Cmax (Cmin<Cmax)とする場合に、2点BP間を結ぶ線分BPの長さ|BP|がCmin ≦|BP|≦Cmaxの範囲内となるように第3の点Pを求めることを特徴とする請求項1又は2に記載の画像処理装置。
  6. 制御手段は、長さを表す第1,第2の閾値をCmin ,Cmax(Cmin<Cmax)とする場合に、第1の成分aをその長さ|a|がCmin≦|a|≦Cmaxの範囲内となるようにクランプすることを特徴とする請求項3に記載の画像処理装置。
  7. 制御手段は、長さを表す第1,第2の閾値をCmin,Cmax(Cmin<Cmax)とする場合に、Z軸方向のオフセット量の大きさ|C |をmin≦|C|≦Cmaxの範囲内となるようにクランプすることを特徴とする請求項4に記載の画像処理装置。
  8. 制御手段は、第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新することを特徴とする請求項1乃至7の何れか1つに記載の画像処理装置。
  9. 野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第1のキャラクタの落下予定地点の付近に所定形状のマーカを生成することを特徴とする請求項8に記載の画像処理装置。
  10. 野球、サッカー等のグランドを使用する球技ゲームのゲームプログラムに適用され、前記画像生成手段は、ボールに対応させた第1のキャラクタの平面座標A上に該第1のキャラクタの影パターンを生成することを特徴とする請求項8に記載の画像処理装置。
  11. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
    前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
    前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点P を求めるステップと、2点MP間を結ぶ線分MPを点Mの回りで前記平面上の所定方向と平行となるように回転変換するステップと、前記仮想カメラの位置を前記点Pの回転変換後の平面座標Cの上に設定するステップとを実行することを特徴とする画像表示方法。
  12. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
    前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
    前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABのB側の延長線上で該線分ABの長さに比例した第3の点Pを求めるステップと、2点MP間を結ぶ線分MPの前記平面上における所定方向と平行な方向への正弦又は余弦成分を求めるステップと、前記仮想カメラの位置を前記正弦又は余弦成分の点Mと反対側の点Cの上に設定するステップとを実行することを特徴とする画像表示方法。
  13. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
    前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラの位置を時々刻々と更新する制御手段とを備え、
    前記制御手段によって、前記第1のキャラクタの平面座標をA、かつユーザが操作可能な第2のキャラクタの平面座標をBとする場合に、2点AB間を結ぶ線分ABを所定比で分割する中間点Mを求めるステップと、前記線分ABの前記平面上における所定方向と平行な方向への正弦又は余弦成分に比例する第1の成分aを求めると共に、2点MB間を結ぶ線分MBの前記平面上における所定方向と直角な方向への正弦又は余弦成分に比例する第2の成分bを求めるステップと、前記仮想カメラの位置を前記第2のキャラクタの平面座標Bから前記第1,第2の成分a,bのベクトル合成分だけオフセットさせた平面座標Cの上に設定するステップとを実行することを特徴とする画像表示方法。
  14. 3DCGアニメーション空間上で動作可能な複数キャラクタの画像を画面に表示する画像処理装置の画像表示方法であって、
    前記画像処理装置が、少なくとも第1及び第2のキャラクタの画像を生成する画像生成手段と、前記第1及び第2のキャラクタを含む画像を撮影してその画像を画面に表示するための仮想カメラと、前記第1及び又は第2のキャラクタの移動に伴い仮想カメラを前記第1及び第2のキャラクタを結ぶ線分の延長線上にない位置に時々刻々と更新する制御手段とを備え、
    前記制御手段によって、前記3DCGアニメーション空間につき任意に選んだ平面をXZ平面とし、かつ第1のキャラクタの平面座標をA(x ,z )、ユーザが操作可能な第2のキャラクタの平面座標をB(x ,z )とする場合に、前記XZ平面上における所定方向と平行な向きに置かれる仮想カメラの位置を前記第2のキャラクタの平面座標B(x ,z )から、X,Z軸につき夫々、
    =α(x−x
    =γ(z−z
    但し、α,γ:定数
    だけオフセットさせた平面座標Cの上に設定するステップを実行することを特徴とする画像表示方法。
  15. 請求項11乃至14の何れか1つに記載の画像表示方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP11640698A 1998-04-27 1998-04-27 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体 Expired - Fee Related JP3765453B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11640698A JP3765453B2 (ja) 1998-04-27 1998-04-27 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11640698A JP3765453B2 (ja) 1998-04-27 1998-04-27 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH11306385A JPH11306385A (ja) 1999-11-05
JP3765453B2 true JP3765453B2 (ja) 2006-04-12

Family

ID=14686276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11640698A Expired - Fee Related JP3765453B2 (ja) 1998-04-27 1998-04-27 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3765453B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8081182B2 (en) 2004-03-03 2011-12-20 Qualcomm Incorporated Depth buffer for rasterization pipeline
US20050195198A1 (en) * 2004-03-03 2005-09-08 Anderson Michael H. Graphics pipeline and method having early depth detection
JP6905568B2 (ja) * 2019-11-21 2021-07-21 株式会社コーエーテクモゲームス ゲームプログラム、ゲーム処理方法及び情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239683B2 (ja) * 1995-05-11 2001-12-17 株式会社セガ 画像処理装置および画像処理方法
TW346611B (en) * 1996-03-28 1998-12-01 Sega Enterprises Kk An image processor, a game machine using the image processor, a method of image processing and a medium

Also Published As

Publication number Publication date
JPH11306385A (ja) 1999-11-05

Similar Documents

Publication Publication Date Title
JP6748773B2 (ja) 映像提示装置、映像提示方法、およびプログラム
US10821347B2 (en) Virtual reality sports training systems and methods
US20200035019A1 (en) Method and system for generating an image
EP0778547B1 (en) Image processing apparatus and image processing method
US6231443B1 (en) Game apparatus and method of replaying game
JP3786132B2 (ja) ゲーム画像処理プログラム及び記憶媒体
US8172678B2 (en) Image processing for a game
US11826628B2 (en) Virtual reality sports training systems and methods
US7275986B2 (en) Method for performing game, information storage medium, game device, data signal and program
EP2253358B1 (en) Game device, game device control method, program, information storage medium
JP2009544107A (ja) シミュレーションにおける写真マッピング
KR20000064948A (ko) 화상 처리 장치 및 화상 처리 방법
JP3833445B2 (ja) ゲーム装置および情報記憶媒体
JPH08229238A (ja) 3次元シューティングゲーム装置
JP3496205B2 (ja) ゲーム機における球技ゲームでの視点変更方法
JPH06105231A (ja) 画像合成装置
JP2012101025A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
JP4377114B2 (ja) 情報記憶媒体及びゲーム装置
JP2006061717A (ja) ゲーム画像の表示制御プログラム及びゲーム装置並びに記憶媒体
JP3765453B2 (ja) 3dcgアニメーションの画像表示方法及びその装置並びにプログラムを記録した記録媒体
JP7387286B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Tedjokusumo et al. Immersive multiplayer games with tangible and physical interaction
JP7403581B2 (ja) システム及びデバイス
JP2005349175A (ja) ゲームプログラムおよびゲーム装置
JP2022077380A (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051214

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: 20060117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060119

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

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: 20140203

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees