JP4134191B2 - ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体 - Google Patents

ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体 Download PDF

Info

Publication number
JP4134191B2
JP4134191B2 JP2006113871A JP2006113871A JP4134191B2 JP 4134191 B2 JP4134191 B2 JP 4134191B2 JP 2006113871 A JP2006113871 A JP 2006113871A JP 2006113871 A JP2006113871 A JP 2006113871A JP 4134191 B2 JP4134191 B2 JP 4134191B2
Authority
JP
Japan
Prior art keywords
character
angle
viewpoint
specific
virtual
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.)
Active
Application number
JP2006113871A
Other languages
English (en)
Other versions
JP2007282861A (ja
Inventor
満 紙山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2006113871A priority Critical patent/JP4134191B2/ja
Publication of JP2007282861A publication Critical patent/JP2007282861A/ja
Application granted granted Critical
Publication of JP4134191B2 publication Critical patent/JP4134191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在するゲームにおいて、仮想3次元空間を透視変換することにより得た2次元画像を表示するための技術に関する。
2次元ビデオゲームの画面表示には、当初、視点がキャラクタの真上にあるオーバービューや、視点が水平面上にあるサイドビューが用いられていた。その後、よりリアルな画像を作成するためにクォータービューが用いられるようになった。クォータービューでは、水平面より上に設定された視点から、見下ろした画像が表示画面に表示されることとなる(例えば、特許文献1参照)。
一方、最近のポリゴンを用いた3次元ビデオゲームの画面表示では、よりリアルな画像を表示させるため、キャラクタの目線に視点があるキャラクタビューが多用されている。3次元ビデオゲームにおけるキャラクタビューでは、キャラクタの進行方向を見ることができるが、キャラクタの周囲を360度均等に見渡すことができないという問題が生じてしまう。このため、特にロールプレイングゲームなどのキャラクタの周囲の状況を見渡す必要があるゲームでは、クォータビューが用いられることも多い。
しかしながら、3次元ビデオゲームにおけるクォータビューでは、キャラクタの正面側に視点が位置したときに、キャラクタの顔がはっきりと表示されないという問題が生じてしまう。ゲームをプレイしているときにおいて常にキャラクタを見ているプレイヤにとって、緻密にデザインされたキャラクタの顔がはっきりと表示されないのであれば、ゲームの興趣は減少するものであった。
これに対して、ゲーム上の必要性に応じてキャラクタの顔が注目対象に向くようなゲームがあった(例えば、特許文献2参照)。キャラクタの顔がはっきりと表示されないという問題を解決するために、特許文献2の注目対象を仮想カメラの視点とすることで、キャラクタの顔を仮想カメラの視点を向く方向(視点方向)に向け、真正面から見たキャラクタの顔を画面表示させることが考えられる。
特開平7−182532号公報(段落0002) 特開2002−200340号公報(段落0098)
しかしながら、キャラクタ自体の向きが視点方向とは異なる方向にあるときもあり、キャラクタの顔を視点方向に向けることが不都合なこともある。また、キャラクタ自体の向きが視点方向となっていても、キャラクタの顔を視点方向にそのまま向けたのでは、キャラクタの目線が完全にカメラ目線になってしまう。ゲームにおけるキャラクタの状態によってはカメラ目線の画像が表示される場合には、キャラクタの顔の動きが非常に不自然なものとなり、却ってリアルさが失われてしまうこととなる。
本発明は、キャラクタの特定部位をプレイヤに視認しやすい角度を向け表示することに留意しつつ、キャラクタの特定部位が不自然な状態で表示されない画像を表示装置に表示することのできるゲーム装置等を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点にかかるゲーム装置は、他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるゲーム装置であって、前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段と、前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段と、前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段と、前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、前記キャラクタの特定部位以外の部位の方向に対する前記特定部位の方向を変位させる特定部位変位手段と、前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段と、前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段とを備え、前記特定部位変位手段は、前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる上下角変位手段を含むことを特徴とする。
上記第1の観点にかかるゲーム装置では、キャラクタが向いている方向と該キャラクタの位置から仮想カメラの視点の位置に向かう方向とがなす特定角が、臨界角より小さいと判定された場合には、該キャラクタの特定部位以外の部位の方向に対して該特定部位の上下角を変位することで、プレイヤが該特定部位を視認しやすい状態の画像を表示装置に表示することができる。また、キャラクタが向いている方向が仮想カメラの視点の方向に対して臨界角の範囲内であるときに限って特定部位の上下角を変位させることにより、特定部位が仮想カメラを向いていないときにまで不必要に変位させないで済む。
上記第1の観点にかかるゲーム装置では、プレイヤの操作により、前記視点移動手段に前記仮想カメラの視点の位置を移動させる旨を指示する視点移動操作手段をさらに備えるものとすることができる。
ここでは、プレイヤの操作に基づく仮想カメラの視点の移動でも、キャラクタが向いている方向と該キャラクタの位置から仮想カメラの視点の位置に向かう方向とがなす特定角が臨界角より小さくなると、特定部位の上下角が変化し、キャラクタの特定部位を視認しやすく表示装置に表示させることができる。
上記第1の観点にかかるゲーム装置において、前記視点移動手段は、前記キャラクタとの間の距離と前記仮想3次元空間における高さを一定に維持しつつ、前記キャラクタの位置を参照点として、前記仮想カメラの視点の位置を周回移動させるものとすることができる。
ここでは、仮想カメラの視点がキャラクタの参照点と一定の距離を保ちつつ移動されることにより、視界の広さが一定に維持されている場合にはキャラクタが表示装置に表示される大きさを変化させずに、様々な角度から表示装置に表示させることができる。
上記第1の観点にかかるゲーム装置において、前記上下角変位手段は、前記特定角の大きさに応じた角度だけ前記特定部位の上下角を変位させるものとすることができる。
なお、前記上下角変位手段は、前記キャラクタの位置または前記特定部位の位置から前記視点の位置に向かう方向の仰角よりも小さい角度だけ、前記特定部位の上下角を変位させるものとすることができる。なお、特定部位の上下角は、上向きだけ、下向きだけ、或いは両方に、変位されるものとすることができる。
この場合には、キャラクタが向いている方向と、該キャラクタの位置から仮想カメラの視点の位置とがなす特定角の大きさに応じた角度だけ特定部位の上下角が変位することにより、該仮想カメラの視点の位置が高いか低いかで該特定部位の上下角の変位する角度が変わるので、該特定部位の方向を自然に変位させることができる。さらに、キャラクタの特定部位の上下角を、該特定部位の位置から仮想カメラの視点の方向に向かう仰角より小さい角度だけ変位させるものとすると、キャラクタの向いている方向が仮想カメラの視点に向かう方向から臨界角の範囲内にあっても、特定部位の上下角の変位が大きくなりすぎず、特定部位の方向の変位が不自然に大きくなりすぎてしまうことがない。
また、前記上下角変位手段は、前記特定角が0度であるときに変位される角度が最大角となるように、該特定角の大きさに応じて前記特定部位の上下角を変位させるものとすることができる。
この場合には、仮想カメラの視点の位置が移動し続けるような場合でも、特定部位の上下角の変位を自然な流れで行うことができる。
ここで、前記最大角は、前記特定部位に含まれる特定シンボルが前記キャラクタの該特定部位以外の部位によって隠れない範囲で定められた角度であってもよい。
この場合には、キャラクタの向いている方向が仮想カメラの視点に向かう方向から臨界角の範囲内にある場合に、特定部位に含まれる特定シンボルを必ず表示装置に表示させて遊技者に認識させるようにすることができる。例えば、キャラクタの顔が特定部位である場合には目を特定シンボルとし、キャラクタの目が髪の毛などで隠れないようにキャラクタの顔の動きを制御することができる。
上記第1の観点にかかるゲーム装置において、前記特定部位変位手段は、前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、前記特定角の大きさに応じた角度だけ前記特定部位の左右角を変位させる左右角変位手段をさらに含むものとすることができる。
なお、前記左右角変位手段は、前記特定角よりも小さい角度だけ、前記特定部位の左右角を変位させるものとすることができる。
また、前記左右角変位手段は、前記臨界角より小さい角度範囲で定められた所定角よりも前記特定角が小さいときには、前記特定部位の左右角を変位させないものとすることができる。
この場合には、特定部位を左右にも変位させることで、該特定部位がさらに視認しやすくなる。さらに、キャラクタの特定部位の左右角を特定角より小さい角度だけ変位することができるものとしたり、特定角が臨界角よりも小さい所定角の範囲にあるときに特定部位の左右角を変位することができるものとすることで、該特定角が臨界角の範囲内にあっても、該特定部位の左右角の変位が大きくなりすぎず、当該キャラクタの向きによって特定部位の変位の方向が大きくなりすぎてしまうことがない。
上記第1の観点にかかるゲーム装置において、前記仮想3次元空間において前記キャラクタの位置を移動させるキャラクタ移動手段をさらに備えるものとすることができる。
ここで、前記特定部位変位手段は、前記キャラクタ移動手段により前記キャラクタが前記仮想3次元空間において移動される速度が所定速度よりも小さいことを条件として、前記特定部位の方向を変位させるものとすることができる。例えば、キャラクタが歩行時は特定部位の方向を変位させるが、走行時は変位させないものとすることができる。
この場合には、前記特定部位変位手段は、前記キャラクタ移動手段により前記キャラクタが前記仮想3次元空間において移動される速度に応じて、該速度が小さいほど変位される角度が大きくなるように前記特定部位の方向を変化させるものとすることができる。
この場合には、キャラクタが所定速度以上で移動している場合には特定部位の変位が行われないので、キャラクタの特定部位の変位が特定部位以外の部位の動きに比べて不自然となることがない。さらに、キャラクタの移動速度に応じて、特定部位の方向が変位されることによって、プレイヤが特定部位を視認しやすい状態の画像を表示装置に表示することに留意されつつ、キャラクタの特定部位が特定部位以外の部位の動きに比べて不自然に変位することがない。
また、前記特定部位変位手段は、前記キャラクタの位置が前記キャラクタ移動手段により位置が移動されずに前記仮想3次元空間において静止していることを条件として、前記特定部位の方向を変位させるものとすることができる。
この場合には、キャラクタが静止しているときにだけ、特定部位の変位が行われるのであれば、キャラクタの特定部位が特定部位以外の部位の動きに比べて不自然に変位することがない。
上記第1の観点にかかるゲーム装置において、前記キャラクタは、顔を構成部位として含む生物型キャラクタであり、前記特定部位は、前記生物型キャラクタの顔であるものとすることができる。プレイヤにとって、キャラクタの顔は注目する箇所であるので、顔の方向が変位されることによって、プレイヤが顔を視認しやすい状態の画像を表示装置に表示することで、ゲームの興趣は減少することがない。
上記第1の観点にかかるゲーム装置において、前記キャラクタは、それぞれが特定部位を含む複数のキャラクタによって構成され、前記特定部位変位手段は、前記仮想カメラの視点の位置から各キャラクタの位置との間の距離に応じて、各キャラクタの特定部位の方向を変位させるものとすることができる。
この場合には、表示装置に表示されている複数のキャラクタにおいて、仮想カメラの視点の位置から各キャラクタの位置との距離に応じて特定部位を変位することで、プレイヤが複数のキャラクタの特定部位を視認しやすい状態の画像を表示装置に表示することができる。なお、仮想カメラの視点の位置から遠く離れた位置のキャラクタにおいては、特定部位の変位を行わないものとすることができる。
上記目的を達成するため、本発明の第2の観点にかかるキャラクタの表示方法は、他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるキャラクタの表示方法であって、前記キャラクタの前記仮想3次元空間における位置と方向とを前記コンピュータ装置が備える記憶手段に記憶し、前記記憶手段に記憶されたキャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させて、該視点の位置を前記記憶手段に記憶し、前記記憶手段に記憶されたキャラクタの方向と、前記記憶手段に記憶されたキャラクタの位置から視点の位置に向かう方向とがなす特定角を算出して、該算出した特定角を前記記憶手段に記憶し、前記記憶手段に記憶された特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定し、前記特定角が前記臨界角よりも小さいと判定されたときに、前記記憶手段に記憶されたキャラクタの位置に応じて定められる特定部位の位置と前記記憶手段に記憶された視点の位置との高低差に応じて前記特定部位の上下角を変位させ、該上下角の変位された特定部位の方向を前記記憶手段に記憶し、前記記憶手段に記憶された視点の位置で前記仮想3次元空間のうちの少なくとも前記特定部位の上下角が変位されたキャラクタを含む範囲を前記仮想スクリーン上に透視変換して前記表示装置に表示させるための2次元画像を生成し、該生成した2次元画像をフレームメモリに展開し、前記フレームメモリに展開された2次元画像を前記表示装置に画面表示することを特徴とする。
上記目的を達成するため、本発明の第3の観点にかかるプログラムは、他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるプログラムであって、前記プログラムは、前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段、前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段、前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段、前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、少なくとも前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる特定部位変位手段、前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段、及び、前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
上記目的を達成するため、本発明の第4の観点にかかるコンピュータ読み取り可能な記録媒体は、他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるプログラムを記録した記録媒体であって、前記プログラムは、前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段、前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段、前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段、前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、少なくとも前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる特定部位変位手段、前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段、及び、前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段として前記コンピュータ装置を機能させることを特徴とする。
以下、添付図面を参照して、本発明の実施の形態について説明する。
図1は、この実施の形態に適用されるゲーム装置1の構成を示す外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。図1において、ゲーム装置1は、2つの液晶表示器(LCD)11及び12を所定の配置位置となるように、ハウジング18に収納して構成される。
第1液晶表示器(以下、「LCD」という)11及び第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18a及び上部ハウジング18bから構成され、上部ハウジング18bが下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第1LCD11の平面形状よりも少し大きな平面形状を有し、一方主面から第1LCD11の表示画面を露出するように開口部が形成される。下部ハウジング18aは、その平面形状が上部ハウジング18bよりも横長に選ばれ、横方向の略中央部に第2LCD12の表示画面を露出する開口部が形成され、第2LCD12を挟む何れか一方にスピーカ15の音抜き孔が形成されるとともに、第2LCD12を挟む左右に操作スイッチ部14が装着される。
操作スイッチ部14は、第2LCD12の右横における下部ハウジング18aの一方主面に装着される動作スイッチ(以下、Aボタンという)14a及び動作スイッチ(以下、Bボタンという)14bと、第2LCD12の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ(十字キー)14cと、スタートスイッチ14dと、セレクトスイッチ14eと、側面スイッチ14f及び14gとを含む。
Aボタン14a及びBボタン14bは、所定の指示を入力するために用いられる。方向指示スイッチ14cは、プレイヤによって操作スイッチ部14を用いて操作可能なプレイヤオブジェクト(この実施の形態では、キャラクタ)やカーソルなどの移動方向を入力するために用いられる。方向指示スイッチ14cは、十字キーにより構成され、上下左右の合計4方向の入力を行うことができる。側面スイッチ(以下、Lボタンという)14f及び側面スイッチ(以下、Rボタンという)14gは、下部ハウジング18aにおける上部面(上部側面)の左右に設けられる。
この実施の形態で適用される3次元ビデオゲームでは、Lボタン14f及びRボタン14gは、Bボタン14bとともに後述する仮想カメラの視点を移動させる指示を入力するために用いられる。プレイヤがLボタン14fのみを操作することによって後述する仮想カメラの視点はキャラクタを中心として左周りで周回移動し、Rボタン14gのみを操作することによって後述する仮想カメラの視点は右周りで周回移動する。また、プレイヤがLボタン14fと同時にBボタン14bを操作することによって後述する仮想カメラの視点は上方向(極座標方向)に移動する。プレイヤがRボタン14gと同時にBボタン14bを操作することによって後述する仮想カメラの視点は下方向に移動する。
第2LCD12の上面には、タッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスティック16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スティック16の座標位置を検出して出力するものである。タッチパネル13は、所定の指示を入力するために用いられる。
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスティック16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スティック16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。
次に、ゲーム装置1の回路構成について説明する。図2は、ゲーム装置1の回路構成を示すブロック図である。図2において、ハウジング18に収納される電子回路基板には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、カートリッジ17と接続するためのコネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1のグラフィック処理ユニット(第1GPU)24、第2のグラフィック処理ユニット(第2GPU)26、ワーキングRAM(WRAM)22、及び通信ポート29が接続される。
コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがWRAM22に記憶される。ROM171には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、WRAM22に適宜読み込まれ実行される。
第1GPU24には、第1ビデオRAM(以下「VRAM」)23が接続され、第2GPU26には、第2のビデオRAM(以下「VRAM」)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第1ゲーム画像を生成し、第1VRAM23に描画する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第2ゲーム画像を生成し、第2VRAM25に描画する。第1VRAM23、第2VRAM25は、それぞれ2フレーム分用意され、画データの展開用と画像データの読み出し用が1フレーム期間毎に交互に切り替えられる。
第1GPU24が第1LCD11に接続され、第2GPU26が第2LCD12に接続される。第1GPU24は、CPUコア21からの指示に応じて第1VRAM23に描画された第1ゲーム画像を第1LCD11に出力する。そして、第1LCD11は、第1GPU24から出力された第1ゲーム画像を表示する。第2GPU26は、CPUコア21からの指示に応じて第2VRAM25に描画された第2ゲーム画像を第2LCD12に出力する。そして、第2LCD12は、第2GPU26から出力された第2ゲーム画像を表示する。
I/F回路27には、タッチパネル13、操作スイッチ部14、及びスピーカ15が接続される。I/F回路27は、タッチパネル13、操作スイッチ部14、及びスピーカ15等の外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。スピーカ15は、上述した音抜き孔の内側位置に配置され、実行中のゲームに応じて生成される音声を出力する。
タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応する座標系を有し、スティック16等によって入力(指示)された位置に対応する座標データをWRAM22に設けられる所定のレジスタに出力するものである。例えば、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も表示画面に対応した256dot×192dotである。なお、タッチパネル13の検出精度は、第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
通信ポート29は、他のゲーム装置、据え置き型ゲーム機、或いはサーバ装置などの外部装置と情報を送受信する。なお、ゲーム装置1は、通信ポート29から所定エリア内にある他のゲーム装置とピアツーピア(Peer-to-Peer)で接続し、情報を送受信することができる。つまり、所定エリア内にある複数のゲーム装置間では、サーバーを介さずに通信を行うことができる。
以下、この実施の形態において、図1に示したゲーム装置1で実行される3次元ビデオゲームについて説明する。この実施の形態にかかる3次元ビデオゲームは、仮想3次元空間に設けられたフィールド上を、プレイヤが操作スイッチ部14を操作して動作させるキャラクタ(プレイヤキャラクタ)が移動していくことによりゲームが進行していく。
図3は、この3次元ビデオゲームにおいて用いられるキャラクタの例を示す図である。このキャラクタ200が存在することとなる仮想3次元空間は、ワールド座標系(X,Y,Z)によって示される。図3に示するように、キャラクタ200は、各頂点の座標をローカル座標系(x,y,z)の座標で示す複数のポリゴンによって構成されている。キャラクタ200のほぼ中心位置には、中心点201が設けられており、仮想3次元空間におけるキャラクタ200の位置は、中心点201のワールド座標系における座標で示される。
キャラクタ200の内部には、仮想的な骨格202a、202b…202nが設定されている。キャラクタ200の内部に設定された骨格202a〜202nは、関節203a〜203mを介して順に結合されており、キャラクタ200が走る、歩く、方向を変えるなどの能動的な動作によって位置が決められる。なお、後述する仮想カメラの視点移動の場合において、キャラクタ200の頭部に設定された骨格202aは、後述する仮想カメラの視点の位置の移動によっても変位する。
キャラクタ200がフィールド上において停止している場合には、ワールド座標系のY座標と、ローカル座標系のy座標とが必ず一致し、また、頭部に設定された骨格202aは、顔方向が変位されないものとなっているため、ローカル座標系のy座標と平行となる。
キャラクタ200の体を構成する各部位は、内部に設定された骨格202が、該骨格202と接続する関節203を支点として前後左右に傾くこと、或いは回転することで動かされる。例えば、キャラクタ200の顔は、頭部に設定された骨格202aが関節203aを支点として、後ろに45度傾くことによって45度だけ上方向を向き、前に45度傾くことによって45度だけ下方向を向く。また、キャラクタ200の顔は、頭部に設定された骨格202aが、右に45度回転することによって45度だけ右方向を向き、左に45度回転することによって45度だけ左方向を向く。なお、キャラクタ200の体の内部に設定された各骨格202には、動かすことのできる動作可能角範囲が設定されている。この実施の形態で適用される3次元ビデオゲームでは、キャラクタ200の顔は、顔以外の部位の方向に対して方向を変位させることができる。
ローカル座標系における骨格202の位置が決定まると、キャラクタ200を構成する各ポリゴンの位置のローカル座標系の位置は、一意に定まるものとなる。仮想3次元空間における骨格203及びポリゴンの位置は、キャラクタ200の向いている方向に応じてローカル座標系の座標をワールド座標系の座標に変換することで決定されるものとなる。
キャラクタ200の向いている方向は、ローカル座標系の各座標軸がワールド座標系の各座標軸に対してなす角で表される。そして、表示処理を行う際においては、両者の座標軸同士がなす角に従って、キャラクタ200を構成するポリゴンの頂点のローカル座標系の座標がワールド座標系の座標に変換される。キャラクタ200の進行方向は、現在のフレーム期間におけるキャラクタ200の位置と前のフレーム期間におけるキャラクタ200の位置関係に基づいて決められる。
キャラクタ200が仮想3次元空間内のフィールドを移動していく様子は、仮想カメラにより仮想3次元空間を透視変換することで第1LCD11の表示画面上に映し出され、プレイヤに認識されるものとなる。第2LCD12の表示画面には、フィールド上におけるキャラクタ200の位置を示す2次元マップが表示されるが、本発明とは直接的に関わりがないので説明を省略する。
図4は、この透視変換の様子を模式的に示す。仮想3次元空間内に仮想カメラ301が置かれ、仮想スクリーン302上に投影された画像が第1LCD11の表示画面上に表示される画像となる。
この仮想カメラ301の位置が視点303、仮想カメラ301の向きが視軸304、視点303と仮想スクリーン302の頂点の四隅を結んだ4本の直線が作る領域が視界305となる。仮想スクリーン302の大きさは固定であり、視界305の広さを決めれば仮想スクリーン302の位置が決まり、仮想スクリーン302の位置を決めれば視界305の広さが決まるという関係がある。ここでは、視界305の広さは、一定に保たれるものとする。なお、視点303から一定距離のところに後部クリップ面を設けてもよい。
このように、仮想スクリーン302上に画像を投影するために用いられる座標系が視点座標系(X’,Y’,Z’)であり、視軸304の方向が視点座標系のZ’軸となる。ワールド座標系の座標(ローカル座標家の座標から変換された座標を含む)は、視点座標系の座標に変換されて、次に示す隠面消去の処理を含む透視変換の処理が行われる。
透視変換により仮想スクリーン302上に投影した画像を生成する場合には、前面に他の物体があって隠されてしまう面を消去する隠面消去を行う必要がある。隠面消去の方法としては、ここでは、Zバッファ法を用いるものとしている。CPUコア21は、ワールド座標系の座標を視点座標系の座標へ変換すると、各特徴点の座標を第1GPU24に送るとともに、描画命令を出力する。この描画命令に基づいて、第1GPU24は、各特徴点について前面にある点(Z’座標の小さな点)のデータ(Z’の値)が残るようにZバッファの値を更新し、更新の都度、当該点について画像データをそれぞれ第1VRAM23に展開していく。
透視変換を行う前提として、仮想カメラ301の視点303の位置、視軸304の方向、視角305の大きさ(仮想カメラの視点303の位置から仮想スクリーン302までの距離)が決まっている必要がある(仮想スクリーン302の位置は、これらが決まると必然的に決まる)。仮想カメラ301の視点303の位置は、キャラクタ200と一定距離の位置に保たれ、プレイヤからのLボタン14f及びRボタン14g、ならびにBボタン14bの操作によって指示方向に移動する。視軸304の方向は、必ずキャラクタ200の中心点201の位置を参照点として向くように設定されている。
図5は、この3次元ビデオゲームにおいて用いられる仮想カメラ301の視点303の移動を模式的に示す図である。図5に示するように、キャラクタ200は、フィールド400上に配置される。仮想カメラ301の視点303は、キャラクタ200の中心点201の位置を参照点とした仮想的な半球303S上にある。図5において仮想カメラ301の視点303は、プレイヤからのLボタン14f及びRボタン14g、ならびにBボタン14bの操作によって、半球303S上を指示方向に移動することができる。
仮想カメラ301の視点303の位置からキャラクタ200の中心点201の位置の間の距離に比べ、キャラクタ200の中心点201の位置からキャラクタ200の顔の位置の間の距離は、無視できる程度に短い。ここで、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向は、キャラクタ200の顔の位置から仮想カメラ301の視点の位置に向かう方向と同視することができる。ワールド座標系において、キャラクタ200の中心点201の位置を(Xc,Yc,Zc)とし、仮想カメラ301の視点303の位置を(Xv,Yv,Zv)とすると、仮想カメラ301の視点303のY座標をキャラクタ200の中心点201のY座標まで下ろした視点直下点303dの位置は(Xv,Yc,Zv)となる。
図5において、キャラクタ200の顔以外の部位が向いている体方向は、体方向ベクトル401で示される。キャラクタ200の体方向は、ローカル座標系のx軸方向である。仮想3次元空間におけるキャラクタ200の顔以外の部位が向いている体方向を示す体方向ベクトル401は、ワールド座標系のY軸方向とローカル座標系のy軸方向が一致するものと仮定し、ワールド座標系のX軸方向とローカル座標系のx軸方向とのなす角度をγとすると、(cosγ,0,sinγ)と表すことができる。ここで、ワールド座標系のX軸とローカル座標系のx軸が一致するときには、体方向ベクトル401は(1,0,0)と表すことができる。
キャラクタ200の中心点201の位置から視点直下点303dの位置に向かう方向は、視点直下方向ベクトル402で示される。視点直下方向ベクトル402は、(Xv−Xc,0,Zv−Zc)と表すことができる。キャラクタ200の中心点201の位置から視点303の位置に向かう方向は、視点方向ベクトル403で示される。視点方向ベクトル403は、(Xv−Xc,Yv−Yc,Zv−Zc)と表すことができる。
キャラクタ200の体方向と、キャラクタ200の中心点201の位置から視点直下点303dに向かう方向とがなす視点左右角θは、体方向ベクトル401と視点直下方向ベクトル402とを用いた演算によって求めることができる。キャラクタ200の中心点201の位置から視点直下点303dに向かう方向と、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向とがなす視点上下角βは、視点直下方向ベクトル402と視点方向ベクトル403とを用いた演算によってを求めることができる。視点上下角βは、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向の仰角である。
ローカル座標系のx−y座標平面において、キャラクタ200の体方向と、キャラクタ200の顔が向いている顔方向とがなす角度を顔上下角αとする。ここで、顔上下角αは、キャラクタ200の顔以外の部位に対して顔が向いている角度と言うことができる。キャラクタ200の顔方向は、頭部に設定された骨格202aがローカル座標系のx−y座標平面において関節203aを支点として、体方向に対して顔上下角αだけ傾けられることで、変位される。キャラクタ200の顔は、頭部に設定された骨格202aがローカル座標系のy軸に平行で回転していない通常時においては、キャラクタ200の体方向と同じ方向を向くように設定されているため、顔方向は体方向ベクトル401の方向と一致するものとなる。
次に、プレイヤ200の顔の上下方向の動きについて、仮想カメラ301の視点301が左右に動く場合を例にして説明する。図5に示すように、フィールド400上にキャラクタ200が存在する場合に、プレイヤからのLボタン14f或いはRボタン14g、ならびにBボタン14bの操作によって、仮想カメラ301の視点303の位置を仮想3次元空間において半球303S上で移動させる。この場合において、視点左右角θが所定角度(例えば、76度)より小さくなったとき、キャラクタ200の顔方向は、ROM171に記憶されている顔方向調整テーブル500に従って変位する。
図6は、ROM171に記憶されている顔方向調整テーブルの例を示す図である。顔方向調整テーブル500は、視点左右角θ(度)と、顔方向係数(%)とを対応付けて記憶している。
顔方向係数は、視点左右角θが小さくなるほど大きな値となるように設定されており、視点左右角θが0度となった場合には、顔方向係数は最大値75%となる。顔方向調整テーブル500には、視点左右角θが76度以内の範囲のみ対応する顔方向係数が登録されており、視点左右角θが77度以上となる場合には、キャラクタ200の顔方向は変位されない。顔上下角αは、視点上下角βと、顔方向係数(%)との乗算によって算出される。
例えば、視点左右角θが0度になった場合(キャラクタ200の体方向の真っ正面に仮想カメラ301の視点303が位置した場合)には、キャラクタ200の体方向と顔方向とがなす顔上下角αは、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向の仰角を示す視点上下角βの75%分の角度となる。ここで、キャラクタ200の顔方向は、体方向の真っ正面から0.75βだけ仮想カメラ301の視点303の位置する方向を向くものとなる。
また、視点左右角θが大きくなるに従って顔方向係数が小さくなるように定められているので、視点303の位置が同じ高さで周回移動しているときには、視点左右角θが76度になると顔方向の変位が開始され、視点左右角θが小さくなるのにつれて顔方向の変位量角が大きくなり、視点左右角が0度になると顔方向の変位量が最大となり、反対側で視点左右角θが大きくなるのにつれて顔方向の変位量が小さくなり、視点左右角θが76度を越えると顔方向が変位されなくなる。
なお、仮想カメラ301の視点303が動く場合と同様に、キャラクタ200がフィールド400上を移動した場合にも、仮想カメラ301の視点303の位置と、キャラクタ200の中心点201の位置との関係によって、キャラクタ200の顔方向は変位する。但し、キャラクタ200がフィールド400上を移動中はキャラクタ200の顔方向は変位しない。
以下、この実施の形態にかかる3次元ビデオゲームにおける処理について説明する。ここでは、説明を簡単にするため、仮想3次元空間において動作するオブジェクトとしては、キャラクタ200しか存在しないものとし、仮想カメラ300の視界305の広さは一定であるものとする。また、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。また、実際には、骨格202の位置決め等には、ベクトル演算を用い、角度の判定には正弦、余弦、正接などを用いるが、説明の簡単化のため、角度そのものを用いた説明を行うものとする。
キャラクタ200のフィールド400上における位置や向き、仮想カメラ301の視点303の位置は、少なくとも最新のデータがWRAM22の所定の領域に記憶されるものとなっている。少なくともキャラクタ200の位置は、最新のデータの一つ前のデータもWRAM22に記憶されている。また、これらに基づいて算出された角度(顔上下角α、視点上下角β、視点左右角θ)も、WRAM22に一時記憶されるものとなっている。
図7は、この実施の形態にかかる3次元ビデオゲームにおけるメイン処理を示すフローチャートである。このメイン処理は、1フレーム分の画像を生成する処理であり、30分の1秒ごとのタイマ割り込みによって行われる。メイン処理においては、CPUコア21は、プレイヤにより方向指示スイッチ14cからキャラクタ200をフィールド400上で移動させるための指示が入力されているかどうかを判定する(ステップS101)。
キャラクタ200をフィールド400上で動作させるための指示が入力されている場合には、CPUコア21は、該入力された指示の移動方向に従ってキャラクタ200の位置(ワールド座標系)を移動させる。ここで、方向指示スイッチ14cから入力された指示の移動方向と、キャラクタ200の体方向とが違う場合には、CPUコア21は、まずキャラクタ200の体方向を変位し、キャラクタ200の体方向と、入力された指示の移動方向とを一致させる。そして、キャラクタ200の体が入力された指示の移動方向を向いてから、CPUコア21は、該方向にキャラクタ200の位置(ワールド座標系)を移動させる。ここで、CPUコア21は、キャラクタ200の動作に応じてキャラクタ200の内部に設定された各骨格202a〜202nのローカル座標系における位置を決定する(ステップS102)。そして、ステップS105の処理に進む。
ステップS101においてキャラクタ200をフィールド400上で動作させるための指示が入力されていない場合には、CPUコア21は、プレイヤによりLボタン14f及びRボタン14g、ならびにBボタン14bから仮想カメラ301の視点303を移動させるための指示が入力されているかどうかを判定する(ステップS103)。仮想カメラ301の視点303を移動させるための指示が入力されていない場合には、そのままステップS108の処理に進む。
仮想カメラ301の視点303を移動させるための指示が入力されている場合には、CPUコア21は、該入力された指示の移動方向に従って仮想カメラ301の視点303の位置を半球303S上で移動させる(ステップS104)。そして、ステップS105の処理に進む。ステップS105では、CPUコア21は、仮想カメラ301の視点303の位置からキャラクタ200の中心点201の位置を向くように、視軸304の方向を移動する。
次に、CPUコア21は、前回のフレームと、今回のフレームとにおいてキャラクタ200の中心点201の位置(ワールド座標系)を比較し、キャラクタ200がフィールド400上で停止しているかどうかを判定する(ステップS106)。キャラクタ200が停止していれば、CPUコア21は、キャラクタ200の体方向に対して、顔方向を調整する顔方向調整処理を行う(ステップS107)。そして、顔方向調整処理を行った後に、ステップS108の処理に進む。なお、顔方向調整処理の詳細については、後述する。キャラクタ200がフィールド400上で停止していなければ、そのままステップS108の処理に進む。
ステップS108では、CPUコア21は、視界305によって決められる仮想スクリーン302に仮想カメラ301の視点303の位置からキャラクタ200を含む仮想3次元空間を透視変換して、第1LCD11の表示画面上に表示する2次元画像の生成を第1GPU24に依頼する表示処理を行う。表示処理を終了すると、このメイン処理を終了し、次のフレーム期間の開始のタイミングにおいて、再びメイン処理が実行されることとなる。
この表示処理においては、CPUコア21は、仮想3次元空間に存在するオブジェクトを構成するポリゴンのうちで透視変換される範囲(すなわち、視界305の広さの範囲内で仮想スクリーン302よりも遠い位置(及び後部クリップ面よりも近い位置)に含まれるポリゴンを特定する。CPUコア21は、特定されたポリゴンの各頂点のワールド座標系の座標(ローカル座標系の座標から変換されたものを含む)を視点座標系の座標に変換する。CPUコア21は、これら視点座標系の各座標を第1CPU24に送るとともに、描画命令を出力する。
描画命令を受け取った第1GPU24は、視点座標系の座標に基づいて、各面の構成する各点について、前面にある点(Z’座標の小さな点)のデータ(Z’の値)が残るようにZバッファの内容を更新する。Zバッファの値を更新した場合には、第1GPU24は、当該点について画像データをそれぞれ第1VRAM23(画像データの展開用)に展開していく。第1GPU24は、展開される画像データに対してシェーディングやテクスチャマッピングなどの処理も行っている。
第1GPU24は、また、前のフレーム期間で第1VRAM23(今回のフレーム期間では、画像データの読み出し用とされる)に展開された画像データを順次読み出し、同期信号を付加してビデオ信号を生成し、第1LCD11に出力する。第1LCD11は、第1VRAM23から出力されたビデオ信号に対応した画像を表示画面に表示する。1フレーム期間毎に表示画面が切り替えられていくことで、プレイヤは、キャラクタ200が仮想3次元空間で動作する画像を見ることができるようになる。
図8は、ステップS107の顔方向調整処理を詳細に示すフローチャートである。顔方向調整処理では、CPUコア21は、ワールド座標系においてキャラクタ200の体方向と、キャラクタ200の中心点201の位置から視点直下点303dに向かう方向とがなす視点左右角θを算出する(ステップS201)。そして、CPUコア21は、視点左右角θが76度以下であるかどうかを判定する(ステップS202)。視点左右角θが76度以下でなければ、そのまま顔方向調整処理を終了して、図7のフローチャートに復帰する。
一方、視点左右角θが76度以下であれば、CPUコア21は、ROM171に記憶されている顔方向調整テーブル500を参照し、視点左右角θに対応する顔方向係数を特定する。そして、CPUコア21は、特定した顔方向係数と、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向の仰角を示す視点上下角βと、を乗算し、キャラクタ200の体方向と顔方向とがなす顔上下角αを算出する(ステップS203)。
次に、CPUコア21は、頭部に設定された骨格202aをローカル座標系のx−y座標平面において関節203aを支点として、顔以外の部位の向いている方向(体方向)に対して算出した顔上下角αだけ傾けることで、キャラクタ200の顔方向を変位する(ステップS204)。その後、顔方向調整処理を終了して、図7のフローチャートに復帰する。
以上説明したように、この実施の形態にかかる3次元ビデオゲームでは、キャラクタ200の体方向と、キャラクタ200の中心点201の位置から視点直下点303dに向かう方向とがなす視点左右角θが76度以下であれば、ローカル座標系のx−y座標平面においてキャラクタ200の顔以外の部位の向いている方向(体方向)に対して顔方向がなす顔上下角αが変位されるものとなる。この場合には、キャラクタ200の顔が第1LCD11の表示画面上に写る角度にあるとき、プレイヤにとってキャラクタ200の顔を視認しやすい状態での第1LCD11の表示画面上に表示することができる。プレイヤは、ゲームをプレイしているときにおいて常にキャラクタ200を見ており、一般的に緻密にデザインされているキャラクタ200の顔がはっきりと表示されるので、ゲームの興趣は向上するものとなる。
また、視点左右角θが76度以下であるときに限って、顔上下角αを変位させることにより、キャラクタ200の顔が第1LCD11の表示画面上に写らない状態にあるときまでまで、不必要にキャラクタ200の顔方向を変位させることがない。
また、視点左右角θが76度以下であっても、キャラクタ200が静止しているときにだけ、顔上下角αが変位され、キャラクタ200がフィールド400上を移動しているときには、顔上下角αは変位されない。このため、キャラクタ200が動作しているときに動作の態様にそぐわない方向に顔が向いてしまうことがなく、キャラクタ200の顔方向が顔以外の部位の動きに比べて不自然に変位されることがない。
ここで、顔上下角αは、顔方向係数と視点上下角βとを乗算した値によって決定される。顔方向係数は、視点左右角θに応じて顔方向調整テーブル500に登録されているため、キャラクタ200の顔方向は、視点左右角θに応じて変位するものとなる。なお、顔方向調整テーブル500に登録されている顔方向係数の最大値は75%である。ここで、キャラクタ200の顔方向は、最大であってもキャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向の仰角を示す視点上下角βの75%分しか変位しない。
このように、キャラクタ200の顔方向は、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向の仰角を示す視点上下角βより小さい角度までしか変化しないので、キャラクタ200の顔方向において顔上下角αの変位が大きくなりすぎず、キャラクタ200の体方向に比べて顔方向が異様に不自然な方向に変位してしまうということがない。また、キャラクタ200の顔方向は最大であっても0.75βしか変位されないため仮想カメラ301の方向を完全に向くわけではなく、キャラクタ200の顔方向が変位することによってキャラクタ200が不自然なカメラ目線となってしまうことがない。
なお、顔方向係数が最大値となるのは、視点左右角θが0度になった場合(キャラクタ200の体方向の真っ正面に仮想カメラ301の視点303が位置した場合)である。仮想カメラ301の視点303の位置が正面からずれるほど、顔方向係数は小さくなり、キャラクタ200の顔方向において顔上下角αの変位が小さくなる。この場合には、仮想カメラ301の視点303が移動し続けているときでもキャラクタ200の顔方向が自然な流れで変位される。
プレイヤは、Lボタン14f及びRボタン14g、ならびにBボタン14bの操作によって、仮想カメラ301の視点303の位置をキャラクタ200の中心点201と一定の距離を保ちつつ、視界305を一定の広さとしたまま、該入力された指示の移動方向に移動させることができる。この場合には、キャラクタ200の第1LCD11の表示画面上に表示される大きさを変化させずに、キャラクタ200を様々な角度から表示画面に表示させることができる。
なお、仮想カメラ301の視点303が動く場合と同様に、キャラクタ200がフィールド400上を移動した場合にも、仮想カメラ301の視点303の位置と、キャラクタ200の中心点201の位置との関係によって、プレイヤ200の顔方向は変位する。但し、キャラクタ200がフィールド400上を移動中はキャラクタ200の顔方向は変位しない。ここで、仮想カメラ301の視点303がキャラクタ200の中心点201と一定の距離を保ちつつ移動され、視界305の広さも一定に保たれることにより、第1LCD11の表示画面上で表示されるキャラクタの大きさを変化させずに、様々な角度からカメラ目線とはならないキャラクタ200の顔を第1LCD11の表示画面上に表示させることができる。
仮想カメラ301の視点303は、Lボタン14f或いはRボタン14gとBボタン14bとが同時に操作されたときには、それぞれ半球303S上を上下方向に移動するものとしており、視点左右角θだけではなく視点上下角βも、視点303の位置の移動で変化するものとしていた。視点X−Zキャラクタの顔上下角αは、視点左右角θに応じて定められる顔方向係数の違いだけではなく、視点上下角βの違いによっても変化するので、視点303の位置を上下方向に移動させた場合にも、キャラクタ200の顔方向をプレイヤが視認しやすいように変位させることができる。
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
上記実施の形態では、視点左右角θに応じてキャラクタ200の顔方向を変位する顔上下角αが決定されるものとしていたが、顔上下角αを決定する条件はこれに限るものではない。
例えば、変位対象となる顔の構成要素の一部が表示されるように顔上下角αが決定されるのであれば、キャラクタ200の外貌的特徴でプレイヤに最も強い印象を与えることとなる目が、髪の毛や、鎧や帽子など装備したアイテムなどで隠れないように顔上下角αを決定することができる。ここでは、キャラクタ200の顔方向が変位されることによって髪の毛、鎧や帽子など装備したアイテムなどによってキャラクタ200の目が隠れてしまうことがなくなるので、プレイヤは、キャラクタ200の目を確実に視認でき、キャラクタ200の外貌的特徴を把握しやすくなる。
また、キャラクタ200の性格などによって顔上下角αが決定されるのであれば、好奇心旺盛なのキャラクタ200は、クールなキャラクタ200に比べて顔上下角αを大きくすることができる。ここでは、キャラクタ200の特性に応じて、キャラクタ200の顔の変位を変えることによって、よりリアルな画像を表示することができる。
上記実施の形態では、キャラクタ200がフィールド400上で停止していることを条件に、キャラクタ200の顔方向が変位されるものとしていたが、変位を行うかどうかを決定するキャラクタ200の動作条件はこれに限るものではない。例えば、キャラクタ200が所定速度以下で移動している場合には、キャラクタ200の顔方向を変位可能なものとしてもよい。ここで、キャラクタ200の移動速度に応じて、移動速度が小さいほど顔上下角αが大きくなるようにキャラクタ200の顔方向を変位させるものとすることができる。
この場合には、キャラクタ200がフィールド400上を所定速度以上で移動している場合には顔方向が変位されないので、キャラクタ200の顔方向が体の動きに比べて不自然に変位されることがない。さらに、キャラクタ200の移動速度に応じて顔上下角αが決定されることによって、プレイヤにとってのキャラクタ200の顔の視認しやすさを実現しつつ、且つキャラクタ200の顔方向が体の動きに比べて不自然に変位されるのを防ぐことができる。
上記実施の形態では、顔上下角αは、ROM171に記憶されておいる顔方向調整テーブル500を参照することで決定されるものとしていたが、これに限るものではなく、他の方法によって決定されるものであってもよい。例えば、ゲームプログラム中に顔上下角αを算出するためのいくつかの係数を記憶しておき、それらの演算結果によって顔上下角αが決定されるものであってもよい。この場合には、演算結果がキャラクタ200の中心点201の位置から視点直下点303dに向かう方向と、キャラクタ200の中心点201の位置から仮想カメラ301の視点303の位置に向かう方向とがなす視点上下角βより大きくならないように係数及び演算式を設定する必要がある。
上記実施の形態では、顔上下角αは、視点上下角βと、顔方向係数(%)との乗算によって算出されるものとしていたが、これに限るこのではなく、その他の演算によって決定されるものであってもよい。
上記実施の形態では、キャラクタ200の顔方向は、視点左右角θが76度以内の範囲にあるときには、頭部に設定された骨格202aをローカル座標系のx−y座標平面において関節203aを支点として、顔以外の部位の向いている方向(体方向)に対して算出された顔上下角αだけ傾けることで変位されるものとしていた。さらに視点左右角θが76度以内の範囲にあるときには、骨格202aを視点303の方向に応じて左右いずれかの方向に所定の角だけ回転されるものとしてもよい。ここで、左右方向の回転角は、ワールド座標系において、キャラクタ200の体方向と、キャラクタ200の中心点201の位置から視点直下点303dに向かう方向とがなす視点左右角θに応じて該視点左右角θより小さい角度に決定されるものとすることができる。
この場合には、キャラクタ200の顔方向を、左右にも変位させることで、キャラクタ200の顔がさらに視認しやすくなる。さらに、キャラクタ200の顔の左右角を、キャラクタ200の体方向とキャラクタ200の中心点201の位置から視点直下点303dに向かう方向とがなす視点左右角θより小さい角度だけ変位することができるものとすると、視点左右角θが76度の範囲内であっても、キャラクタ200の体方向の向きに対して顔方向の変位が大きくなりすぎてしまうことがない。
さらに、設定された骨格202aの回転によりキャラクタ200の顔方向を左右方向に回転させるのは、視点左右角θが上下方向を変化させる場合の76度よりも小さい所定角度(例えば、60度)にあるときに限るものとしてもよい。この場合にも、キャラクタ200の体方向の向きに対して顔方向の変位が大きくなりすぎてしまうことがない。
上記実施の形態では、キャラクタ200の顔方向において顔上下角αが変位されるものとしていたが、変位される部分はこれに限るものではなく、キャラクタ200を構成する他の部分であってもよい。例えば、キャラクタ200が持っている盾の方向が変位されれば、プレイヤは、緻密にデザインされた盾をはっきりと視認することができ、ゲームの興趣は向上するものとなる。
上記実施の形態では、視点左右角θが76度以下である場合に、顔上下角αが変位されるものとしていたが、変位が行われる角度範囲はこれに限るものではなく、90度より小さい所定の角度であればよい。顔方向係数の最大値も75%に限らず、0%よりも大きく100%よりも小さい所望の範囲内で定めることができる。さらに、顔方向係数は、視点左右角θの大きさによってのみ定めるのではなく、視点上下各βの大きさによっても定めるものとすることもできる。
上記実施の形態では、フィールド400上に1のキャラクタ200が存在するものとしていたが、これに限るものではなく、複数のキャラクタ200が第1LCD11の表示画面上に表示されるゲームに本発明を適用するものとしてもよい。この場合には、第1LCD11の表示画面上に表示される複数のキャラクタ200のほぼ中心位置を参照点とした仮想的な半球上に仮想カメラ301の視点303が設定されるものとなる。この場合には、ワールド座標系において、各キャラクタ200の中心点201の位置と、仮想カメラ301の視点303の位置との間の距離に応じて顔上下角αを決定することができる。
例えば、第1LCD11の表示画面上に表示される複数のキャラクタ200において、仮想カメラ301の視点303の位置から各キャラクタ200の中心点201の位置との距離に応じて顔上下角αが変位されるものとしてもよい。例えば、近くに配置されているキャラクタ200ほど顔方向が大きく変位されるものとすると、プレイヤが複数のキャラクタ200の顔を視認しやすくなる。なお、仮想カメラ301の視点303の位置から遠く離れた位置(ワールド座標系)に配置されたキャラクタ200においては、顔方向の変位を行わないものとすることもできる。
上記実施の形態では、顔方向調節処理において、キャラクタ200を構成する1の(頭部に設定された)骨格202aを関節203aを支点として、顔以外の部位の向いている方向(体方向)に対して算出した顔上下角αだけ傾けることで、キャラクタ200の顔方向を変位するものとしていたが、傾ける骨格202は複数であってもよい。例えば、頭部に設定された骨格202aと、首に設定された骨格202とを傾けることによって、顔方向を顔上下角αだけ変位するものとしてもよい。
上記実施の形態では、仮想カメラ301の視点303の位置は、キャラクタ200と一定距離の位置に保たれ、プレイヤからのLボタン14f及びRボタン14g、ならびにBボタン14bの操作によって指示方向に移動されるものとしていた。また、視界305の広さも一定に保たれるものとしていた。しかしながら、本発明で適用可能な仮想カメラ301の制御態様は、これに限るものではない。
仮想カメラ301の視点303の位置は、必ずしもキャラクタ200の移動に追随して移動させる必要はない。プレイヤの操作によらなくても、ゲームの進行状況に応じて仮想カメラ301の視点303の位置が移動することがあってもよい。さらに、キャラクタ200と視点303の間の距離も、視界305の広さも、必ずしも一定に保つ必要はなく、状況に応じて変化させるものとしてもよい。
上記の実施の形態では、キャラクタ200は、プレイヤからの移動の指示によってのみ仮想3次元空間で移動することを前提としており、視点303よりも高い位置に移動いできることはほとんどなかった。これに対して、例えば、エレベーターの昇降によりキャラクタ200が上方向に移動させることで、第1LCD11の表示画面上には仮想カメラ301の視点303からキャラクタ200を見上げる画像を表示させることができるようになる。この場合には、視点上下角βに従ってキャラクタ200の顔方向を下向きに変位させるものとすることができる。
上記の実施の形態では、第1LCD11と第2LCD12という2つの表示装置、及びタッチパネル13というポインティングデバイスを備えるゲーム装置1において、本発明を適用したゲームを実行するものとした場合を例として説明した。しかしながら、少なくともゲームの画像を表示する表示装置と、プレイヤが指示を入力することのできる入力装置とを備えるものであれば、ゲーム装置1以外のコンピュータ装置において、本発明を適用したゲームを実行するものとしてもよい。本発明を適用したゲームを実行するコンピュータ装置は、ゲーム専用機でもパーソナルコンピュータのような汎用機であってもよく、携帯型であるか据え置き型であるかを問わない。また、発明を適用したゲームを実行するコンピュータ装置として、携帯電話機を適用することもできる。
上記の実施の形態では、ゲーム装置1のプログラム及びデータは、ゲームカートリッジ17のROM171に格納されて配布されるものとしていた。もっとも、これらのプログラム及びデータを格納する記録媒体は、このようなものに限るものではなく、プラットフォームとなるコンピュータ装置の形態に応じて、光and/or磁気ディスク装置(フレキシブルディスク、CD−ROM、DVD−ROMなど)を適用することもできる。固定ディスク装置を備えるコンピュータ装置をプラットフォームとする場合には、これらのプログラム及びデータは、固定ディスク装置に予め格納して配布してもよい。
本発明の実施の形態に適用されるゲーム装置の構成を示す外観図である。 ゲーム装置の回路構成を示すブロック図である。 本発明の実施の形態に適用される3次元ビデオゲームにおいて用いられるキャラクタの例を示す図である。 透視変換の様子を模式的に示す図である。 本発明の実施の形態に適用される3次元ビデオゲームにおいて用いられる仮想カメラの視点の移動を模式的に示す図である。 ROMに記憶されている顔方向調整テーブルの例を示す図である。 本発明の実施の形態に適用される3次元ビデオゲームにおけるメイン処理を示すフローチャートである。 図7の顔方向調整処理を詳細に示すフローチャートである。
符号の説明
1 ゲーム装置
11 第1LCD
12 第2LCD
13 タッチパネル
14 操作スイッチ部
14b Bボタン
14c 方向指示スイッチ
14f Lボタン
14g Rボタン
21 CPUコア
22 WRAM
171 ROM
200 キャラクタ
201 中心点
202 骨格
203 関節
301 仮想カメラ
303 視点
304 視軸
401 体方向ベクトル401
402 視点直下方向ベクトル
403 視点方向ベクトル
500 顔方向調整テーブル

Claims (19)

  1. 他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるゲーム装置であって、
    前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段と、
    前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段と、
    前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段と、
    前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、前記キャラクタの特定部位以外の部位の方向に対する前記特定部位の方向を変位させる特定部位変位手段と、
    前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段と、
    前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段とを備え、
    前記特定部位変位手段は、前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる上下角変位手段を含む
    ことを特徴とするゲーム装置。
  2. プレイヤの操作により、前記視点移動手段に前記仮想カメラの視点の位置を移動させる旨を指示する視点移動操作手段をさらに備える
    ことを特徴とする請求項1に記載のゲーム装置。
  3. 前記視点移動手段は、前記キャラクタとの間の距離と前記仮想3次元空間における高さを一定に維持しつつ、前記キャラクタの位置を参照点として、前記仮想カメラの視点の位置を周回移動させる
    ことを特徴とする請求項1または2に記載のゲーム装置。
  4. 前記上下角変位手段は、前記特定角の大きさに応じた角度だけ前記特定部位の上下角を変位させる
    ことを特徴とする請求項1乃至3のいずれか1項に記載のゲーム装置。
  5. 前記上下角変位手段は、前記キャラクタの位置または前記特定部位の位置から前記視点の位置に向かう方向の仰角よりも小さい角度だけ、前記特定部位の上下角を変位させる
    ことを特徴とする請求項4に記載のゲーム装置。
  6. 前記上下角変位手段は、前記特定角が0度であるときに変位される角度が最大角となるように、該特定角の大きさに応じて前記特定部位の上下角を変位させる
    ことを特徴とする請求項4または5に記載のゲーム装置。
  7. 前記最大角は、前記特定部位に含まれる特定シンボルが前記キャラクタの該特定部位以外の部位によって隠れない範囲で定められた角度である
    ことを特徴とする請求項6に記載のゲーム装置。
  8. 前記特定部位変位手段は、前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、前記特定角の大きさに応じた角度だけ前記特定部位の左右角を変位させる左右角変位手段をさらに含む
    ことを特徴とする請求項1乃至7のいずれか1項に記載のゲーム装置。
  9. 前記左右角変位手段は、前記特定角よりも小さい角度だけ、前記特定部位の左右角を変位させる
    ことを特徴とする請求項8記載のゲーム装置。
  10. 前記左右角変位手段は、前記臨界角より小さい角度範囲で定められた所定角よりも前記特定角が小さいときには、前記特定部位の左右角を変位させない
    ことを特徴とする請求項8または9に記載のゲーム装置。
  11. 前記仮想3次元空間において前記キャラクタの位置を移動させるキャラクタ移動手段をさらに備える
    ことを特徴とする請求項1乃至10のいずれか1項に記載のゲーム装置。
  12. 前記特定部位変位手段は、前記キャラクタ移動手段により前記キャラクタが前記仮想3次元空間において移動される速度が所定速度よりも小さいことを条件として、前記特定部位の方向を変位させる
    ことを特徴とする請求項11に記載のゲーム装置。
  13. 前記特定部位変位手段は、前記キャラクタ移動手段により前記キャラクタが前記仮想3次元空間において移動される速度に応じて、該速度が小さいほど変位される角度が大きくなるように前記特定部位の方向を変化させる
    ことを特徴とする請求項11に記載のゲーム装置。
  14. 前記特定部位変位手段は、前記キャラクタの位置が前記キャラクタ移動手段により位置が移動されずに前記仮想3次元空間において静止していることを条件として、前記特定部位の方向を変位させる
    ことを特徴とする請求項11に記載のゲーム装置。
  15. 前記キャラクタは、顔を構成部位として含む生物型キャラクタであり、
    前記特定部位は、前記生物型キャラクタの顔である
    ことを特徴とする請求項1乃至14のいずれか1項に記載のゲーム装置。
  16. 前記キャラクタは、それぞれが特定部位を含む複数のキャラクタによって構成され、
    前記特定部位変位手段は、前記仮想カメラの視点の位置から各キャラクタの位置との間の距離に応じて、各キャラクタの特定部位の方向を変位させる
    ことを特徴とする請求項1乃至15のいずれか1項に記載のゲーム装置。
  17. 他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるキャラクタの表示方法であって、
    前記キャラクタの前記仮想3次元空間における位置と方向とを前記コンピュータ装置が備える記憶手段に記憶し、
    前記記憶手段に記憶されたキャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させて、該視点の位置を前記記憶手段に記憶し、
    前記記憶手段に記憶されたキャラクタの方向と、前記記憶手段に記憶されたキャラクタの位置から視点の位置に向かう方向とがなす特定角を算出して、該算出した特定角を前記記憶手段に記憶し、
    前記記憶手段に記憶された特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定し、
    前記特定角が前記臨界角よりも小さいと判定されたときに、前記記憶手段に記憶されたキャラクタの位置に応じて定められる特定部位の位置と前記記憶手段に記憶された視点の位置との高低差に応じて前記特定部位の上下角を変位させ、該上下角の変位された特定部位の方向を前記記憶手段に記憶し、
    前記記憶手段に記憶された視点の位置で前記仮想3次元空間のうちの少なくとも前記特定部位の上下角が変位されたキャラクタを含む範囲を前記仮想スクリーン上に透視変換して前記表示装置に表示させるための2次元画像を生成し、該生成した2次元画像をフレームメモリに展開し、
    前記フレームメモリに展開された2次元画像を前記表示装置に画面表示する
    ことを特徴とするキャラクタの表示方法。
  18. 他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるプログラムであって、前記プログラムは、
    前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段、
    前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段、
    前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段、
    前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、少なくとも前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる特定部位変位手段、
    前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段、及び、
    前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段
    として前記コンピュータ装置を機能させることを特徴とするプログラム。
  19. 他の部位の方向に対して方向を変位させることが可能な特定部位を含むキャラクタが存在する仮想3次元空間を仮想カメラから仮想スクリーン上に透視変換することにより得られた現在のゲームの進行状況に応じたゲーム画面を表示装置に表示させるコンピュータ装置において実行されるプログラムを記録した記録媒体であって、前記プログラムは、
    前記キャラクタの位置が前記仮想カメラの視界の範囲内とすることを維持しつつ、前記仮想3次元空間における前記特定部位の位置とは異なる高さにおいて該仮想カメラの視点の位置を移動させる視点移動手段、
    前記仮想3次元空間において前記キャラクタが向いている方向と、前記キャラクタの位置から前記仮想カメラの視点の位置に向かう方向とがなす特定角を算出する特定角算出手段、
    前記特定角算出手段が算出した特定角が、90度より小さい所定の角度範囲で定められた臨界角より小さいかどうかを判定する特定角判定手段、
    前記特定角判定手段により前記特定角が前記臨界角よりも小さいと判定されたときに、少なくとも前記仮想カメラの視点の位置と前記特定部位の位置との高低差に応じて前記特定部位の上下角を変位させる特定部位変位手段、
    前記視点移動手段により移動させられた視点の位置で前記仮想3次元空間を前記仮想カメラから前記仮想スクリーン上に透視変換し、前記表示装置に表示させるための2次元画像を生成する透視変換手段、及び、
    前記透視変換手段により生成された2次元画像を前記表示装置に画面表示させる表示制御手段
    として前記コンピュータ装置を機能させることを特徴とするコンピュータ読み取り可能な記録媒体。
JP2006113871A 2006-04-17 2006-04-17 ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体 Active JP4134191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006113871A JP4134191B2 (ja) 2006-04-17 2006-04-17 ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006113871A JP4134191B2 (ja) 2006-04-17 2006-04-17 ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2007282861A JP2007282861A (ja) 2007-11-01
JP4134191B2 true JP4134191B2 (ja) 2008-08-13

Family

ID=38755165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006113871A Active JP4134191B2 (ja) 2006-04-17 2006-04-17 ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4134191B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106952325A (zh) * 2017-03-27 2017-07-14 厦门幻世网络科技有限公司 用于操作三维动画角色的方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4869430B1 (ja) 2010-09-24 2012-02-08 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP5602702B2 (ja) * 2011-10-13 2014-10-08 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP5991418B2 (ja) * 2015-10-02 2016-09-14 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
CN105488834B (zh) * 2015-12-01 2019-03-19 网易(杭州)网络有限公司 角色面部朝向的调整方法及装置
CN109903362B (zh) * 2019-01-10 2023-03-17 珠海金山数字网络科技有限公司 基于Unity3D的2D坐标映射操作3D角色模型注视的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106952325A (zh) * 2017-03-27 2017-07-14 厦门幻世网络科技有限公司 用于操作三维动画角色的方法和装置
CN106952325B (zh) * 2017-03-27 2020-07-21 厦门黑镜科技有限公司 用于操作三维动画角色的方法和装置

Also Published As

Publication number Publication date
JP2007282861A (ja) 2007-11-01

Similar Documents

Publication Publication Date Title
US9776083B2 (en) Spatially-correlated multi-display human-machine interface
US7663629B2 (en) Collision determination program and collision determination apparatus
US7922588B2 (en) Storage medium having game program stored thereon and game apparatus
EP2030661B1 (en) Image generating apparatus, method of generating image, program, and recording medium
US20090244064A1 (en) Program, information storage medium, and image generation system
US7495665B2 (en) Storage medium having game program stored thereon and game apparatus
JP4180065B2 (ja) 画像生成方法、画像生成装置、および画像生成プログラム
JP5586545B2 (ja) ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラム
US7588498B2 (en) Game apparatus and recording medium storing a game program
EP2485119A2 (en) Spatially-correlated multi-display human-machine interface
US20100188587A1 (en) Projection method
JP4134191B2 (ja) ゲーム装置、キャラクタの表示方法、並びにプログラム及び記録媒体
US6670957B2 (en) Entertainment apparatus, storage medium and object display method
US7695367B2 (en) Storage medium having game program stored thereon and game apparatus
JP2006244047A (ja) 情報処理プログラムおよび情報処理装置
US8643679B2 (en) Storage medium storing image conversion program and image conversion apparatus
JP2008259880A (ja) ゲームプログラムおよびゲーム装置
JP3005581B1 (ja) 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲ―ム装置
JP2000113226A (ja) ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体
JP4469709B2 (ja) 画像処理プログラムおよび画像処理装置
JP4695919B2 (ja) ゲームプログラムおよびゲーム装置
JP2005245525A (ja) 画像表示プログラムおよび情報処理装置
JP2006122285A (ja) 3次元画像処理装置、ゲーム装置、3次元画像処理プログラムおよびゲームプログラム
JP2023166053A (ja) 情報処理プログラム、情報処理システム、および情報処理方法
JP2004267553A (ja) ビデオゲームにおけるイベント制御方法、このための装置、ゲーム機、コンピュータプログラムおよび記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080424

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4134191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

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

Year of fee payment: 3

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

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

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