説明

プログラム、情報記憶媒体及びゲーム装置

【課題】 キャラクタモデルの撮影画像が所望する画像となるような仮想カメラの制御を簡単に実現するとともに、キャラクタモデル及び仮想カメラのモーションに係る製作工程を削減することのできる手法を提案すること。
【解決手段】キャラクタのスケルトンモデルMSの骨格の一部として主観カメラCM0や客観カメラCM1を組み込み、主観カメラCM0や客観カメラCM1についても腕や脚といった部位と同じ扱いとして、モーションデータでその動きを制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに、仮想3次元空間の画像を生成させて所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【0002】
近年のコンピュータグラフィックスを用いたビデオゲームでは、ポリゴンモデルで表現される人や動物などの多関節のキャラクタを運動させる場合、キャラクタの身体を関節構造で連結し階層構造した運動モデル(例えば、スケルトンモデルなど)で構成し、モーションデータに従って予め対応付けられた運動モデルの各部位を移動させて、運動モデルに基づいて表示用のパーツオブジェクトを配置することで、キャラクタに一連の動作をさせる方法が採用されている(例えば、特許文献1参照)。
【特許文献1】特許第3380158号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
さて、例えばFPS(ファーストパーソンシューティング)などに代表される一人称視点タイプのビデオゲームの場合、ゲーム画面はプレーヤキャラクタの主観視点から見たゲーム空間を元に生成されるのが一般的である。また、そうしたFPSのようなアクション系のゲームでは、あるプレーヤキャラクタの主観に他のプレーヤキャラクタの様子が写ることが多々あるので、キャラクタを客観視したときの見映えの良い姿と動作(モーション)が要求されるのも良く知られるところである。
【0004】
ところが、見映えの良い姿と動作を実現するためのキャラクタモデル(パーツオブジェクト及び運動モデルを含む)と、そのモーションデータとを製作し、このキャラクタモデルに単純に主観視点用の仮想カメラ(主観カメラ)を固定してしまうと、視界に不必要な身体・躯体のパーツが写り込んだり、見映えの良い派手な動作が故に仮想カメラが振れるなどして、ゲーム画面が見難くなり操作性が悪化してしまうケースが多い。
【0005】
したがって、従来はキャラクタモデルを客観視したときの当該キャラクタモデルの見映えの良いゲーム画面と、キャラクタモデル自身の視点である主観視でゲーム空間を眺めたときのゲーム画面の見易さとを両立させるために、一つのキャラクタモデルについて主観用と客観用の二つの運動モデル及びそれぞれの運動モデルに対するモーションデータをわざわざ製作するとともに、更に、主観視点用と客観視点用の仮想カメラそれぞれのカメラワークを別途製作する手法がとられてきた。その製作工数は、ゲームに登場するキャラクタが増えれば増えるほど増大し、ゲーム製作における大きな負担となっている。
【0006】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、キャラクタモデルの撮影画像が所望する画像となるような仮想カメラの制御を簡単に実現するとともに、キャラクタモデル及び仮想カメラのモーションに係る製作工程を削減することのできる手法を実現することである。
【課題を解決するための手段】
【0007】
上記の課題を解決する第1の発明はコンピュータに、仮想3次元空間の画像を生成させて所定のゲームを実行させるためのプログラムであって、
関節構造を有するモデル(例えば、図3の1プレーヤキャラクタCP1、2プレーヤキャラクタCP2、図4の1プレーヤキャラクタCP1、2プレーヤキャラクタCP2の階層構造)に仮想カメラ(図3の主観カメラCM0、客観カメラCM1)を骨格の一部として組み込み、当該仮想カメラに対応する関節構造を有するモデルとして形成するモデル形成手段(例えば、図12のキャラクタモデルデータ514)、
前記モデル形成手段により形成されたモデルを前記仮想3次元空間に配置するモデル配置手段(例えば、図12の処理部200、モデル配置制御部212、図15のステップS4)、
前記モデル配置手段により配置されたモデルを前記複数の仮想カメラと一体に動作制御するモデル動作制御手段(例えば、図12の処理部200、モデル動作制御部218、図15のステップS16)、
前記仮想カメラから見た前記仮想3次元空間の画像を生成する画像生成手段(例えば、図12の処理部200、画像生成部260、図15のステップS22)、としてコンピュータを機能させるためのプログラムである。
【0008】
また、第14の発明は、仮想3次元空間の画像を生成して所定のゲームを実行するゲーム装置であって、関節構造を有するモデルに仮想カメラを骨格の一部として組み込み、当該仮想カメラに対応する関節構造を有するモデルとして形成するモデル形成手段と、前記モデル形成手段により形成されたモデルを前記仮想3次元空間に配置するモデル配置手段と、前記モデル配置手段により配置されたモデルを前記複数の仮想カメラと一体に動作制御するモデル動作制御手段と、前記仮想カメラから見た前記仮想3次元空間の画像を生成する画像生成手段と、を備えたゲーム装置である。
【0009】
第1及び第14の発明によれば、関節構造を有するモデルの骨格の一部に仮想カメラが組み込まれているため、腕部や脚部を動作させるのと同じようにして仮想カメラのモーションを制御することができる。そうしてこの仮想カメラを視点として仮想3次元空間の画像(ゲーム空間画像)を生成することができる。
したがって、仮想カメラそれぞれをキャラクタモデルの一部として制御できるため、仮想カメラの制御を簡単化することができるとともに、キャラクタモデル及び仮想カメラのモーションに係る製作工程を削減することができる。
【0010】
第2の発明は、前記モデル形成手段が、複数の仮想カメラを前記モデルの骨格の一部として組み込み、各仮想カメラそれぞれに対応する関節構造を有するモデルとして形成するように前記コンピュータを機能させ、前記仮想3次元空間を撮影する仮想カメラを、前記配置されたモデルの骨格の一部として成る複数の仮想カメラの中から選択する仮想カメラ選択手段(例えば、図12の処理部200、仮想カメラ選択部222、図15のステップS20)として前記コンピュータを機能させ、
前記画像生成手段が、前記選択された仮想カメラから見た前記仮想3次元空間の画像を生成するように前記コンピュータを機能させるための第1の発明のプログラムである。
【0011】
第2の発明によれば、第1の発明と同様の効果を奏するとともに、モデルの一部に組み込んだ複数の仮想カメラから仮想カメラを選択して、仮想3次元空間の画像を生成するときの視点とすることができる。仮想カメラ毎に位置や姿勢、動き、撮影画角などを変え、適宜仮想カメラを選択するだけで、モデルを撮影するアングルや構図を自在に切り換える事が可能になる。
【0012】
第3の発明は、前記ゲームの現在の進行状況が、特定の仮想カメラに切り換える状況にあることを検出するためのカメラ切換状況条件を満足したことを検出する切換状況検出手段(例えば、図12の処理部200、図15のステップS10)として前記コンピュータを機能させ、前記仮想カメラ選択手段が、前記切換状況検出手段の検出に応じて前記特定の仮想カメラを選択するように前記コンピュータを機能させるための第2の発明のプログラムである。
【0013】
第3の発明によれば、第2の発明と同様の効果を奏するとともに、ゲームの現在の進行状況に応じて特定の仮想カメラを選択することができる。つまり、モデルのモーションは同じでも、様々な状況に応じたモデルの写し方を設定できる。したがって、状況別にモデルのモーションを設けなくとも、少ない工程で見せ方のバリエーションを増やすことができるようになる。
【0014】
第4の発明は、前記複数の仮想カメラそれぞれに対応する関節構造を含む前記モデルの各関節構造の動きが規定されたモーションデータが予め複数種類用意されており、前記モデル動作制御手段が、所定のコントローラに入力されたプレーヤによる前記モデルの動作指示入力に従って前記モデルに適用するモーションデータを前記複数種類のモーションデータの中から選択するモーションデータ選択手段(例えば、図12の処理部200、モーションデータ選択部214、図15のステップS10)を有し、前記選択されたモーションデータに従って前記モデルの動作を制御するように前記コンピュータを機能させるための第2又は第3の発明のプログラムである。
【0015】
従来のゲーム製作過程ではキャラクタのモーションはビジュアルセンスに富んだ専門のモーションデザイナーが設定し、それを撮影する仮想カメラのカメラワークは別の工程で別のスタッフが製作するのが一般的である。
しかし、第4の発明によれば、第2又は第3の発明と同様の効果を奏するとともに、モーションデータを複数種類用意しておいてゲームコントローラからの操作入力に応じてモーションを選択することで、キャラクタの動作をモーションデータの選択でコントロールできる。つまり、キャラクタのモーション毎に仮想カメラのモーションを設定できる。よって、キャラクタのモーションを設定するときに、そのキャラクタのモーションをより効果的に映す仮想カメラのモーションを設定することが可能となり、ゲーム製作工数をより削減することができるとともに、ゲームの演出品質をより高めることができる。
【0016】
第5の発明は、前記モデル動作制御手段が、前記コントローラに前記モデルの動作指示入力が為された際に、前記モデルに適用中のモーションデータが有るか否かを判定する適用中モーション有無判定手段(例えば、図12の処理部200、ゲーム演算部210、図15のステップS12)と、
前記適用中モーション有無判定手段により有りと判定された場合に、当該適用中のモーションデータと、前記モーションデータ選択手段により適用しようとするモーションデータとして選択されたモーションデータとから、両者のモーションデータによる前記複数の仮想カメラそれぞれを含む前記モデルの動きを補間して前記モデルの動作を制御するモーション補間制御手段(例えば、図12の処理部200、モーション補間部216、図15のステップS14)と、を有するように前記コンピュータを機能させるための第4の発明のプログラムである。
【0017】
第5の発明によれば、第4の発明と同様の効果を奏するとともに、モデルに適用中のモーションデータが有る場合に、現在適用中のモーションデータによる動作から、モーションデータ選択手段により選択されたモーションデータによる次の動作へ、モデルの動作を補完して繋ぐことができる。このモーションの補間には関節構造の一部である仮想カメラの「モーション(従来におけるカメラワーク)」が勿論含まれる。したがって、キャラクタのモーションに切り換えが発生してもそれに伴って、仮想カメラのモーションも自動的に補間されるので、モーションの切り換えを跨いでも破綻の無い自由なカメラワークを実現できる。こうした効果は、キャラクタのモーションと仮想カメラのカメラワークとが別システムで制御されていた従来の構成では実現できないものである。
【0018】
第6の発明は、前記選択されたモーションデータに従って前記モデル動作制御手段により前記モデルの一部として動作制御される前記仮想カメラと、前記仮想3次元空間に配置された他のオブジェクトとの干渉を判定する干渉判定手段(例えば、図12の処理部200、カメラ位置補正部220、図16のステップS50)、前記干渉判定手段により干渉すると判定された場合に、干渉を回避する当該仮想カメラの位置を探索演算する非干渉位置探索演算手段(例えば、図12の処理部200、カメラ位置補正部220、図16のステップS54)、前記干渉判定手段により干渉すると判定された場合に、当該仮想カメラの前記モーションデータに基づく位置を、前記非干渉位置探索演算手段により探索された位置に補正するカメラ位置補正手段(例えば、図12の処理部200、カメラ位置補正部220、図16のステップS56)、として前記コンピュータを機能させるための第4又は第5の発明のプログラムである。
【0019】
第6の発明によれば、第4又は第5の発明と同様の効果を奏するとともに、モデルの一部として動作制御された結果、仮想カメラが仮想3次元空間に配置された他のオブジェクトと干渉する場合、干渉を回避する仮想カメラの位置を探索演算して求めて当該位置に補正することができる。したがって、例えば仮想カメラと干渉した他のオブジェクトのポリゴン等が画面に写り込むといった事態を防ぐことができる。
【0020】
第7の発明は、前記非干渉位置探索演算手段が、前記仮想カメラの周囲所定範囲から、空き空間の条件として予め定められた空き空間条件を満たす位置を探索演算するように前記コンピュータを機能させるための第6の発明のプログラムである。
【0021】
第7の発明によれば、第6の発明と同様の効果を奏するととともに予め定められた条件を満たす空き空間を探索して仮想カメラの位置を補正することができる。したがって、空き空間の条件を適切に設定することで撮影により適切な位置へ補正することができる。
【0022】
第8の発明は、前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラと、前記モデルを三人称視点で撮影する客観カメラとの少なくとも2台が含まれており、前記モデル動作制御手段が、前記モデルを構成する部位のうち、前記モデルの一人称視点用の部位として予め定められた一人称視点用部位の内部又は近傍位置に前記主観カメラの位置を設定して、前記モデルを動作制御し、前記画像生成手段が、前記仮想カメラ選択手段により前記主観カメラが選択されている場合に、前記一人称視点用部位を非表示として前記主観カメラから見た前記仮想3次元空間の画像を生成する、ように前記コンピュータを機能させるための第2〜第7の何れかの発明のプログラムである。
【0023】
第8の発明によれば、第2〜第7の発明と同様の効果を奏するとともに、主観カメラをより一人称視点として適当な位置に設定しつつ、撮影画像内に不要な部位が写らない様にすることができる。
【0024】
第9の発明は、前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラと、前記モデルを三人称視点で撮影する客観カメラとの少なくとも2台が含まれており、ゲーム進行状況が、前記モデルに有利又は不利な状況の条件として予め定められた状況条件に合致したことを検出する状況条件合致検出手段(例えば、図12の処理部200、図15のステップS20)として前記コンピュータを機能させ、前記仮想カメラ選択手段が、前記状況条件合致検出手段の検出に応じて、前記客観カメラを選択する状況条件合致時カメラ選択手段(例えば、図12の処理部200、図15のステップS20、図6の有利/不利状態532p)を有するように前記コンピュータを機能させるための第2〜第8の何れかの発明のプログラムである。
【0025】
第9の発明によれば、第2〜第8の何れかの発明と同様の効果を奏するとともに、状況に応じて客観視点によるゲーム画面とすることで、状況をより把握し易いカメラワークを実現することができる。
【0026】
第10の発明は、前記ゲームは前記モデルが攻撃をする又は攻撃を受けることによって進行が制御されるゲームであり、
前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラ(例えば、図5の主観カメラCM0)と、前記モデルの攻撃時に前記モデルを三人称視点で撮影する攻撃時客観カメラ(例えば、図5の客観カメラCM2)と、前記モデルが攻撃を受けた際に前記モデルを三人称視点で撮影する被攻撃時客観カメラ(例えば、図5の客観カメラCM1)との少なくとも3台が含まれており、
前記モデルが攻撃をすることを検出する攻撃検出手段(例えば、図12の処理部200、図15のステップS10)、
前記モデルが攻撃を受けることを検出する被攻撃検出手段(例えば、図12の処理部200、図15のステップS10)、
前記仮想カメラ選択手段が、前記攻撃検出手段の検出に応じて前記攻撃時客観カメラを選択し、前記被攻撃検出手段の検出に応じて前記被攻撃時客観カメラを選択するように前記コンピュータを機能させるための第2〜第8の何れかの発明のプログラムである。
【0027】
第10の発明によれば、第2〜第8の発明の何れかと同様の効果を奏するとともに、キャラクタが攻撃をしている場合と攻撃を受けている場合とで、その時々に応じた客観カメラに切り替わって選択されるため、攻撃に係る状況に適したカメラワークを実現することができる。
【0028】
第11の発明は、前記ゲームは第1プレーヤの操作入力に従って制御される第1モデルと、第2プレーヤの操作入力に従った制御又はコンピュータ制御される第2モデルとが互いに攻撃して対戦するゲームであり、
前記モデル形成手段が、前記第1モデル及び前記第2モデルそれぞれについて、当該モデルの一人称視点に相当する主観カメラと、当該モデルが攻撃を受けた際に当該モデルを三人称視点で撮影する被攻撃時客観カメラとの少なくとも2台を骨格の一部として組み込んでモデルを形成するように前記コンピュータを機能させ、
前記第1モデルによる前記第2モデルへの攻撃を検出する第1モデル攻撃検出手段(例えば、図12の処理部200、図15のステップS10)として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記第1モデル攻撃検出手段による検出に応じて前記第2モデルの被攻撃時客観カメラを選択するように前記コンピュータを機能させるための第2〜第10の何れかの発明のプログラムである。
【0029】
第11の発明によれば、第2〜第10の発明と同様の効果を奏するとともに、第1モデルが攻撃をしているにも拘わらず、攻撃を受けた第2モデルの側の被攻撃時客観カメラを視点としたゲーム画面が表示されることとなる。ゲーム画面には、第2モデルがやられている状況が映し出されるため、攻撃側である第1プレーヤに、爽快な気分を味合わせる映像演出が可能になる。
【0030】
第12の発明は、前記ゲームは第1プレーヤの操作入力に従って制御される第1モデルと、第2プレーヤの操作入力に従った制御又はコンピュータ制御される第2モデルとが互いに攻撃して対戦するゲームであり、前記モデル形成手段が、前記第1モデル及び前記第2モデルそれぞれについて、当該モデルの一人称視点に相当する主観カメラと、当該モデルの攻撃時に当該モデルを三人称視点で撮影する攻撃時客観カメラ(例えば、図7の客観カメラCM1)との少なくとも2台を骨格の一部として組み込んでモデルを形成するように前記コンピュータを機能させ、
前記第2モデルによる前記第1モデルへの攻撃を検出する第2モデル攻撃検出手段(例えば、図12の処理部200、図15のステップS10)として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記第2モデル攻撃検出手段による検出に応じて前記第2モデルの攻撃時客観カメラを選択するように前記コンピュータを機能させるための第2〜第11の何れかの発明のプログラムである。
【0031】
第12の発明によれば、第2〜第11の発明と同様の効果を奏するとともに、第1モデルが攻撃を受けたにも拘わらず、攻撃をかけた第1モデルの側の客観カメラを視点としたゲーム画面が表示されることとなる。ゲーム画面には、攻撃をする第1モデルの様子を客観視点から見た映像が映し出されるため、攻撃された側の第1プレーヤに、より屈辱的な気分を味合わせるといった映像演出を実現し、対戦時の感情を向上させることができる。
【0032】
第13の発明は、第1〜第12の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第13の発明によれば、第1〜第12の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜12の何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【0033】
本発明によれば、関節構造を有するモデルに仮想カメラが組み込まれて当該モデルが形成されるため、腕部や脚部を動作させるのと同じようにして仮想カメラのモーションを制御することができる。したがって、仮想カメラをモデルの一部として制御できるため、従来のようにキャラクタのモーションとは別工程で仮想カメラのモーションを別途製作しなくても良く、仮想カメラの制御を簡単化することができるとともに、キャラクタモデル及び仮想カメラのモーションに係る製作工程を削減することができる。
【発明を実施するための最良の形態】
【0034】
以下、本発明を適用した実施形態として、家庭用ゲーム装置で一人称視点を基本としたアクションゲームを、2人のプレーヤが同時参加する対戦形式で実行する例を説明する。
【0035】
[ゲーム装置の構成]
図1は、本実施形態における家庭用ゲーム装置の構成例を説明するシステム構成図である。家庭用ゲーム装置1200のゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208を備える。そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力に基づいて制御ユニット1210で各種のゲーム演算や、ゲーム画像及びゲーム音の生成処理を実行し、所与のビデオゲームを実行する。
【0036】
制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備え、家庭用ゲーム装置1200の各部を制御する。
【0037】
また、制御ユニット1210は通信装置1212を備える。通信装置1212は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線接続又は無線接続し、外部装置との間でデータ通信を実現する。
【0038】
ゲーム装置本体1201の制御ユニット1210は、ゲームコントローラ1230から受信した操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル1209で接続されたビデオモニタ1220に出力される。ビデオモニタ1220には、画像を表示する画像表示装置1222と、音声を出力するスピーカ1224とが備えられており、プレーヤは画像表示装置1222に映し出されるゲーム画像を見ながら、スピーカ1224から放音されるゲーム音を聞きつつゲームをプレイする。
【0039】
ゲームコントローラ1230は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられた複数のプッシュボタンスイッチ1232と、側面に設けられたプッシュボタンスイッチ1233と、図で言うところの上下左右の各方向を単独入力するための方向入力キー1234と、右アナログレバー1236と、左アナログレバー1238とを備える。
【0040】
右アナログレバー1236及び左アナログレバー1238は、図で言うところの上下方向と左右方向の2軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ1230を左右の手で把持し、レバー1236a,1238aにそれぞれ親指を添えて操作する。レバー1236a,1238aを倒すことによって2軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとしても使用することもできる。
【0041】
本実施形態では、右アナログレバー1236でプレーヤキャラクタの一人称視点の方向を操作し、左アナログレバー1238でプレーヤキャラクタの前後左右の移動を操作する。また、プッシュボタン1233,1233でそれぞれ左右の水平方向移動を操作し、プッシュボタンスイッチ1232のうち所定スイッチでプレーヤキャラクタから前方所定の攻撃可能範囲内の敵に剣で攻撃をする指示操作を入力する。また、別のスイッチでは前方への機銃の発射をする指示操作を入力し、更に別のスイッチで防御の構えによる防御動作をする指示操作を入力する。
【0042】
尚、ゲーム実行に必要なゲームプログラム及び各種設定データは、通信装置1212を介して通信回線1に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0043】
[ゲームの概要の説明]
次に、本実施形態におけるゲームの概要を説明する。
図2は、本実施形態における画面表示例を示すゲーム画面図である。本実施形態のビデオゲームは、一人称視点のゲーム画面を基本とした対戦型のアクションゲームである。仮想3次元空間に各種障害物オブジェクト4が配置されてゲーム空間が形成され、1プレーヤによって操作される1プレーヤキャラクタPC1(例えば、戦闘ロボット)と、2プレーヤによって操作される2プレーヤキャラクタPC2(例えば、1プレーヤキャラクタPC1と同型色違いの戦闘ロボット)と、コンピュータ制御される複数の敵キャラクタECとのポリゴンモデルが配置される。そして、ゲーム空間内の様子を仮想カメラで撮影したゲーム空間画像を元にゲーム画像を生成し、それを画像表示装置1222に表示させる。
【0044】
本実施形態では、画像表示装置1222には、画面が上下に2分割された上半分に1プレーヤ用の第1ゲーム画像W1、下半分に2プレーヤ用の第2ゲーム画像W2がそれぞれ表示される。本実施形態のビデオゲームは一人称視点によるアクションゲームなので、同図に示すように、基本的には第1ゲーム画面W1に1プレーヤキャラクタPC1の主観視点、第2ゲーム画面W2に2プレーヤキャラクPC2の主観視点となるそれぞれの仮想カメラで撮影したゲーム空間画像に、レーダ表示6や機銃の残段数表示8などのゲーム進行に必要な各種情報表示が付加されて表示される。
【0045】
両プレーヤは、互いのプレーヤキャラクタを操作して敵キャラクタECからの攻撃に剣や機銃(剣よりは攻撃可能範囲は広いが1回で与えるダメージは小さい武器)で応戦しつつ、相手プレーヤキャラクタを探して攻撃して相手を先に倒せばゲームクリアとなる。相手に倒された場合、又は敵キャラクタECの攻撃で受けたダメージがヒットポイントを超えて倒された場合にはゲームオーバーとなる。
【0046】
[キャラクタと仮想カメラの制御の原理]
図3は、本実施形態におけるプレーヤキャラクタのキャラクタモデルの概念図である。図4は、本実施形態におけるスケルトンモデルの階層構造例を示す図である。
これらの図に示すように、両プレーヤキャラクタのキャラクタモデルは、ルート22を基準に階層構造化されたスケルトンモデルMSをベースにキャラクタの躯体20の外観を構成する胴や腕、頭といった部位のパーツオブジェクトが配置されて形成される。更に、本実施形態におけるキャラクタモデルは、スケルトンモデルMSに主観カメラCM0や客観カメラCM1と言った複数の仮想カメラを、骨格の一部としてルートの次の層としてそれぞれ独自に階層構造化して含んでいる。すなわち、キャラクタモデルは関節構造を有するモデルであって、仮想カメラが骨格の一部として組み込まれ、各仮想カメラそれぞれに対応する関節構造を含んだモデルとして形成されている。
【0047】
各プレーヤキャラクタの躯体20の動作は、公知のモーションデータを用いたアクションゲームと同様に実現される。具体的には、ゲームコントローラ1230からの操作入力とゲームの進行状況とに基づいてモーションの種類が選択され、選択されたモーションに対応付けられたモーションデータに基づいてスケルトンモデルMSがフレーム単位で動作制御される。そして、各パーツオブジェクトがスケルトンモデルの対応する位置に配置されることで、ポリゴンで表現されたキャラクタがゲーム空間内で一連の動作(モーション)をする。加えて本実施形態では、仮想カメラ(主観カメラCM0、客観カメラCM1)もスケルトンモデルの一部に組み込まれて構造化されているので、キャラクタの腕や脚などをモーション制御するのと同様にして仮想カメラのモーションも同じモーションデータで制御される。
【0048】
従来は仮想カメラをキャラクタのモデルとは連鎖関係にない独立した存在として扱い、キャラクタのモデル製作工程とは別工程でキャラクタの動作とはまったく別にカメラ独自の移動や姿勢の変化のカメラワークを定義する必要があったが、本実施形態ではキャラクタの各部の動作と同じようにして仮想カメラについても一つのモーションデータで管理する。また、本実施形態では複数の仮想カメラがスケルトンモデルの一部に組み込まれているので、本実施形態におけるモーションデータには、モーションフレーム毎にゲーム画面の生成に使用する仮想カメラを指定する使用カメラ設定の情報が含まれる。尚、キャラクタモデルと一緒に階層構造化される仮想カメラの数や用途は適宜設定することができる。
【0049】
例えば、図5は本実施形態におけるプレーヤキャラクタのモーション設定の一例を示す概念図であって歩行モーションの例を示している。図6は、歩行モーションのモーションデータの一例を示すデータ構成図である。
【0050】
本実施形態における歩行モーションでは、プレーヤキャラクタの躯体が右足一歩と左足一歩分の動作が規定されている。ゲームコントローラ1230から所定の前進操作が入力されている間、この歩行モーションを繰り返し実行することでプレーヤキャラクタは前進歩行することができる。
この歩行モーションは、従来のアクションゲームと同様に、プレーヤキャラクタを客観視したときに重量感のあるロボットの歩行をそれらしく見せるために見映え優先で設定されている。例えば、生身の人間の歩行よりはやや上下動(図中、矢印ラインL1のイメージ)が有り、わずかなぎこちなさを備えるように動作の演出が施される。
【0051】
図6に示すように、本実施形態におけるモーションデータ532は、モーションデータ種類532a別に用意されて、躯体20の一連の動作を定義するためにフレーム番号532bと当該フレーム時点における関節部毎の関節角度532cを格納している。尚、モーションデータ532の形式は関節部の角度を定義する形式に限らず、各部関節のルート22に対する3次元相対位置座標など座標値によって定義する構成やその他の形式であっても良い。
【0052】
主観カメラCM0は、一人称視点ゲームを実現するための主観視点となるカメラであって、一人称視点用部位であるプレーヤキャラクタの頭部の中又はその近傍に設定される。主観カメラCM0は視界を確保するために比較的広い視野を得られるように広角レンズで撮影するように撮影条件が設定される。尚、本実施形態では、主観カメラCM0が広角で撮影することに伴って肩部や胸部などが写り込んで画面が見にくくならないように、モーションデータ532は主観時非表示部位532dで、主観カメラCM0に基づいてゲーム空間画像を生成する場合にポリゴンを非表示とするパーツオブジェクトが定義されている。
【0053】
主観カメラCM0の上下及び前後の動きは、図5の矢印ラインL1に象徴される躯体20の演出された上下・左右・前後の揺動とは無関係に独立的にその動作が設定される。原理的には、主観カメラCM0及び客観カメラCM1は、図4に示したように、キャラクタの各部関節のルート22の直下の階層に位置し、キャラクタの躯体20に従属する階層に位置していない。このため、主観カメラCM0及び客観カメラCM1には、躯体20の動作とは分離した、躯体20の動作に従動することのない動きを設定できるのである。今回の歩行の例でいえば、図5の矢印ラインL2のような動きが設定される。
勿論、ここで設定されるのはルート22からの主観カメラCM0の3次元位置である。主観カメラCM0の向きは、公知の一人称視点ゲームと同様にゲームコントローラ1230からの視線方向操作の対象となるので、モーションデータ532ではフレーム番号532aと対応づけて当該フレーム時点におけるルート22に対する3次元相対位置座標Pc0によってカメラのモーションが定義されている(図6;532e)。
【0054】
客観カメラCM1は、後方斜め上より全身及びその周辺を撮影するように設定される。客観カメラCM1は、プレーヤの操作入力に従って視線方向が変化されることの無い、客観視点として用いられるカメラなのでルート22に対して設計された位置に設計された視線方向に向けて配置されて躯体20のような上下動や前後動が生じないように設定される。視線方向が予め設計されるということは、その姿勢はゲーム製作者の演出意図によって決定されるという意味であり、モーションデータ532ではフレーム番号532aと対応づけてルート22に対する3次元相対位置座標Pc1と3軸周りの姿勢角度θc1とで定義される(図6;532f)。
【0055】
また、本実施形態のモーションデータ532は、当該モーション実行時のゲーム空間画像生成の視点として、スケルトンモデルMSに含まれている仮想カメラのうちどの仮想カメラをどのタイミングで使用するかを定義する使用カメラ設定情報532gを含む。
本実施形態では使用カメラ設定情報532gには異なるカメラモーション選択条件に対応する複数の設定が格納されており、ゲーム進行状況やプレーヤキャラクタの状況が、予め設定されている選択条件と照らして何れかの設定が選択される。同図の例では、標準の設定として主観カメラCM0が全フレームに亘って設定されている(標準532n)。また、プレーヤキャラクタが有利又は不利な状況で選択される設定として、客観カメラCM1が全フレームに亘って設定されている(有利/不利状態532p)。
【0056】
尚、ここで言う「有利又は不利な状況」とは、本実施形態ではキャラクタが機銃攻撃を受けている状態とし、客観カメラを被攻撃時客観カメラとして利用する設定となっている。しかし、これに限らず敵キャラクタECが所定距離に接近している状況や、保護対象となる特定のアイテムを携行していて、当該アイテムをかばいながら戦闘しなければならない状況、と言ったその他の不利な状態(状況)を条件としても良い。また、仮想カメラをもう1台増やして、有利な状況において増加した客観カメラを攻撃時客観カメラとして利用する設定とすることもできる。反対に有利な状況としては、例えば機銃攻撃しながら歩行している状況や、敵より高所にある場合、もしゲームの設定上で味方キャラクタが存在するならば、その味方キャラクタが近くに居る状況などを設定しても良い。
【0057】
このように、スケルトンモデルに組み込まれた仮想カメラの選択設定として、特定の状況条件(カメラ切換状況条件)に合致する場合に客観カメラCM1を視点とするように設定することで、モーションデータの設定のみで、状況が標準時から変化したことを視点の変化としてプレーヤに通知する仕組みを実現できるので、条件の変更や追加などをプログラムの変更工数を掛けずに実現できる。
【0058】
また、ゲーム中に挿入されるムービーカット(ムービーシーン)のようにプレーヤの操作を離れてプレーヤキャラクタが自動操作されるような場合においてプレーヤキャラクタが歩行するカットを使う場合、キャラクタモデルに設定済みの客観カメラCM1を視点として選択するだけで、専用のモデルや専用のモーション(キャラクタ、仮想カメラ両方含む)を別途用意しなくとも、プレーヤキャラクタの歩行を客観的に撮影するカットを容易に生成することができる。
【0059】
図7は、本実施形態におけるスペシャル攻撃(SP攻撃)モーションの例を示す概念図である。図8は対応するモーションデータの設定例を示すデータ構成図である。
スペシャル攻撃のモーションは、ゲームコントローラ1230からスペシャル攻撃操作の入力が有って且つ攻撃がヒットしたと判定された場合に発動され、プレーヤキャラクタが攻撃対象を剣で袈裟掛けに斬って一撃必殺技に撃破する。
【0060】
主観カメラCM0は、攻撃対象を見据えるようにしてとらえつつ、プレーヤキャラクタの頭部から攻撃対象想定位置26へ向けて前方へ移動するようにモーションが付けられている。また、客観カメラCM1は、攻撃時客観カメラに相当し、キャラクタの右方から後方を経て左へ回り込みつつ全身を撮影し、更に攻撃対象の想定位置よりも後方より攻撃対象をなめてプレーヤキャラクタを撮影できる位置に移動するようにモーションがつけられている。
【0061】
主観カメラCM0で撮影される映像は、攻撃対象に剣が振り降ろされる様子を適当な振れを伴いつつズームアップするものとなり、破壊される攻撃対象にプレーヤを注視させる演出をすることができる。また、第1主観カメラCM1で撮影される映像は、派手に剣を振って攻撃対象をなぎ倒す様を回り込むようにして写し、崩れ落ちる攻撃対象越し(例えば肩越し)にプレーヤキャラクタのポーズを撮影したものとなり、迫力のある特別な攻撃であることを演出することができる。
【0062】
図8に示すように、SP攻撃モーションのモーションデータ532では、フレーム番号532b毎に、関節角度532cと、主観カメラCM0の位置座標Pc0(532e)と、客観カメラCM1の位置座標Pc1及び3軸の姿勢角度θc1(532f)とが対応付けて格納されている。
使用カメラ設定532gでは、開始から90フレームまでは主観カメラCM0が選択され、90フレーム以降は客観カメラCM1が選択されるように設定されている。つまり、SP攻撃モーションが適用されている間にカメラの切り換えが行われ、SP攻撃をより好適に演出することができる。
【0063】
図9は、本実施系形態におけるプレーヤキャラクタのモーション設定の一例を示す概念図であって、所定のヒットポイントを超過するダメージを受けて行動不能になる際に適用される「やられモーション」の例を示している。図10は、やられモーションのモーションデータの例を示すデータ構成図である。
【0064】
やられモーションでは、躯体20は行動不能になるほどのダメージを受けて膝を折りつつ後ろにのけぞるようにして崩れる様子を表現するようにモーションが付けられている。主観カメラCM0は、頭部又はその近傍に設定されるが、躯体20が激しく崩れる揺れとは別にカメラのモーションが設定されている。客観カメラは、被攻撃時客観カメラに相当し、キャラクタの斜め前方から側面全身を写す位置に移動し、さらに後方へ回り込みつつ、躯体20とともに倒れるようにして下降するモーションが付けられている。
【0065】
主観カメラCM0に基づくゲーム空間画像は、限界以上のダメージを受けて崩れ落ちる視界の様子が、画面酔いしない適切な振動を伴って映し出される映像となる。客観カメラCM1に基づくゲーム空間画像は、キャラクタの崩れるように倒れる様子を客観的に写しつつも、背後に回りこんで躯体20が前方に倒れ込んでくるような映像となり、迫力ある「やられ」を視覚的に演出することができる。
【0066】
図10に示すように、本実施形態における「やられモーション」のモーションデータ532では、複数種類の使用カメラ設定が定義されており、キャラクタの有利又は不利な状況の条件として予め定められた状況条件に合致したことを検出した場合に何れか一つの設定が選択される。
【0067】
本実施形態では二つの使用カメラ設定が設定されている。一つは、細かなダメージの積み重ねがついにヒットポイントを超過して行動不能になるといった標準状態にて適用される設定である(標準532h)。同図の例では、開始より89フレームまでは主観カメラCM0が設定され、90フレーム以降は客観カメラCM1が設定されている。当該標準状態の使用カメラ設定(標準532h)に基づけば、視界が揺らぎ崩れ落ちる主観から実際に崩れ落ちるキャラクタの様子を客観視するようにカメラが切り換えられる映像となる。
【0068】
もう一つは、プレーヤキャラクタが先のSP攻撃のように特別な攻撃を受けて一撃必殺に撃墜されるような不利な状況にあたる被SP攻撃状態にて適用される設定である(被SP攻撃532j)。被SP攻撃状態では、攻撃を放つ側のキャラクタのSP攻撃モーションにおける客観カメラCM1を選択するように設定されている。
【0069】
このように、特定の状況条件において被攻撃側の視点となる仮想カメラを、攻撃側の客観カメラから選択可能にすることによって、攻撃側キャラクタと被攻撃側キャラクタとの相対位置関係にかかわらず自在なカメラワークを実現し、例えばSP攻撃で見せたいシーンを演出するといった事が可能になる。
【0070】
SP攻撃に係る具体的な一例を挙げると例えば図11のようになる。同図はSP攻撃を受けた場合の使用カメラ設定を説明するための概念図であって、1プレーヤキャラクタPC1のSP攻撃が2プレーヤキャラクタPC2にヒットしたと判定された状況を示している。1プレーヤキャラクタPC1及び付属する仮想カメラ(CM0、CM1)は先に説明したSP攻撃モーションに従って移動され、1プレーヤ用のゲーム画面にはSP攻撃モーションの使用カメラ設定532gに基づく視点による映像が表示される(図8参照)。一方、2プレーヤキャラクタPC2及び付属する仮想カメラCM(非図示)は先のやられモーションに従って移動制御される。そして、2プレーヤ用のゲーム画面には、使用カメラ設定532gの被SP攻撃532jが適用されるので、攻撃側のキャラクタのモーションで定義される客観カメラCM1を視点とする映像となる。
【0071】
先に説明したように、SP攻撃モーションの客観カメラCM1は、攻撃対象想定位置26を挟んでプレーヤキャラクタの正面を撮影する。したがって、SP攻撃を被ったときの2プレーヤキャラクタPC2の向きに係らずSP攻撃を被ってやられる様子を2プレーヤキャラクタPC2をなめて1プレーヤキャラクタPC1の決めポーズを撮影するといった特定の演出を実現し、1プレーヤには爽快な気分を、2プレーヤには屈辱的な気分をそれぞれ与え、対戦気分を盛り上げるといったことができる。
【0072】
尚、本実施形態では不利な状況条件で使用カメラ設定532gの設定を選択したが、有利な状況条件(例えば、特殊兵装を装備している、攻撃相手より高い位置に居る、攻撃時に周囲所定範囲に味方キャラクタが存在するなど)によって使用カメラ設定532gの設定を選択可能としても良い。状況条件については、別途テーブルデータとして記憶しておいて参照する構成としても良いし、プログラム中で分岐判断される構成としても良い。
【0073】
以上のように、本実施形態によれば、モーションデータを用いてキャラクタを制御する形式のゲームにおいて、キャラクタモデルに仮想カメラを含めて階層構造化し、躯体と同様に仮想カメラもまたモーションデータで一括制御することができる。
そもそも、従来、主観視点用と客観視点用とでスケルトンモデルMSに対応づけて配置されるパーツオブジェクトの種類が異なる別々のキャラクタモデルを用意し、それぞれに対応するモーションデータを設定する必要があった理由は、客観視したときに見映えするように派手に演出したキャラクタの躯体のモーションに、単に主観視点用の仮想カメラを固定しただけでは主観映像が大きく揺れたり、不必要に躯体の一部が写りこむといった問題があったからである。
【0074】
しかし、本実施形態によれば、主観カメラのモーションを適切に設定することで、映り込みをさける位置で、躯体に従動して揺れることなく、モーションを設定できる。したがって、従来のように客観視点用のキャラクタモデル及び客観視点用の仮想カメラのカメラワークを用意するとともに、さらに、写りこむ恐れのある部位を削除した主観視点用のモデル及び主観視点用の仮想カメラのカメラワークを用意しなくとも良くなるので、ゲーム製作の工数を大幅に削減できる。
【0075】
また、キャラクタモデルに仮想カメラを含めて階層構造化し、躯体と同様に仮想カメラもまたモーションデータで制御する構成とすることで、躯体のモーションと仮想カメラのモーションを同じ工程で作り込むことができることになる。つまり、モーションデザイナーが躯体のモーションをつけながら、それをどのように演出して見せるか仮想カメラのモーション(カメラワーク)を設定できるということである。よって、従来のようにモーションデザイナーが製作した躯体のモーションに別工程でそれを撮影する仮想カメラのモーションを別のスタッフが設定する場合に比べて、モーションデザイナーが意図する演出をより高い品質で簡単に実現できることになる。
【0076】
また、ゲーム実行中の処理負荷の軽減効果も得られる。すなわち、本実施形態のように画面を2分割して2プレーヤが一度にプレイするビデオゲームを実行する場合であれば、一方の主観のゲーム画面に他方のプレーヤキャラクタを客観視する事が起こりえる。この場合、従来の処理では、合計4体のキャラクタモデルをそれぞれ異なるモーションデータで動かす必要があり、高い処理負荷となった。
【0077】
これに対して、本実施形態では、1プレーヤキャラクタと2プレーヤキャラクタの2体をそれぞれのモーションデータで動かし、それぞれの主観カメラの画像をそれぞれの分割画面に表示させれば良いことになる。したがって、モデルの製作工数及びモーションの設定に係る工数を半分に削減できるし、ゲーム実行中の処理負荷も大幅に改善できることになる。仮に、主観カメラのモーション設定だけでは画面の見易さを確保できないケースがあったとしても、躯体のモーションとカメラ部分のモーションとを同時に設定することになるので、モーションデザイナーがその場で躯体のモーションを一部変更して演出目的と画面の見易さのバランス取りができるので、作業の手間を削減することができる。
【0078】
[機能ブロックの説明]
次に、上述のようなビデオゲームを実現するための機能構成について説明する。
図12は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部100と、処理部200と、放音部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0079】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。図1では、ゲームコントローラ1230が操作入力部100に該当する。
【0080】
処理部200は、例えばマイクロプロセッサやASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含むゲーム装置1200の各機能部との間でデータの入出力を行うとともに、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
そして本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0081】
ゲーム演算部210は具体的には、モデル配置制御部212と、モーションデータ選択部214と、モーション補間部216と、モデル動作制御部218と、仮想カメラ選択部222とを備え、ゲームの進行に係る種々の処理を実行する。
【0082】
モデル配置制御部212は、モデルの配置と移動に係る処理を実行する。例えば、本実施形態では障害物オブジェクト4などをゲーム空間である仮想3次元空間中に形成する処理や、ゲームコントローラ1230からの操作入力に応じてプレーヤキャラクタをゲーム空間中で移動させる処理、所定の思考ルーチンにしたがって敵キャラクタをゲーム空間中で移動させる処理を実行する。
【0083】
モーション選択部214は、各キャラクタに適用されるモーションの種類を選択する。モーションの選択方法は、公知の一人称視点を用いたビデオゲームと同様にして実現することができる。
【0084】
モーション補間部216は、キャラクタに適用中のモーションの途中から異なる他のモーションへ滑らかに動作を繋いで移行させるために、切換前後の異なるモーションデータから補間モーションのモーションデータを作成する。本実施形態では、キャラクタモデルに仮想カメラを含んでいるので、仮想カメラのモーションも躯体部分と同様にモーション補間の対象となる。尚、モーション補間の方法や補間モーションの形式は公知技術を適宜利用可能である。
【0085】
モデル動作制御部218は、選択されたモーションのモーションデータや補間モーションに基づいてキャラクタの躯体及び仮想カメラの動作を制御する。本実施形態では更に、仮想カメラが他のオブジェクトと干渉する場合に、その位置を補正するカメラ位置補正部220を備える。
【0086】
仮想カメラ選択部222は、モーションデータ選択部214で選択されたモーションデータ532の使用カメラ設定532gを参照して、当該モーションデータに基づくモーションが発動している間、ゲーム空間画像を生成するための視点として使用する仮想カメラを選択する。またその際、前述の歩行モーションややられモーションのように、使用カメラ設定532gに複数の設定が含まれている場合には、操作入力部100からの操作入力の状態や、キャラクタの置かれている状況を含むゲーム進行状況が各設定それぞれの選択条件に該当するか否かで複数の設定のうち何れかを選択し、選択した設定で現在実行中のフレームに定義されている仮想カメラを選択する。
【0087】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)などのプロセッサやその制御プログラムによって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、放音部350に出力する。
【0088】
放音部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではビデオモニタ1220のスピーカ1224がこれに該当する。
【0089】
画像生成部260は、例えば、デジタルシグナルプロセッサ(DSP)などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレームレート(例えば30fps)で、仮想カメラ選択部262で選択された仮想カメラで撮影したゲーム空間を元にゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部360に出力して画像表示させる。
【0090】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネル画像表示装置、ブラウン管(CRT)、プロジェクター、ヘッドマウント画像表示装置といった画像表示装置によって実現できる。図1ではビデオモニタ1220の画像表示装置1222が該当する。
【0091】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0092】
通信部370は、通信回線2と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1では通信装置1212がこれに該当する。
【0093】
記憶部500は、処理部200にゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラム501や、ゲームを実行させるために必要なゲームプログラム502、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
【0094】
記憶部500には、予め用意されるデータとしてゲーム空間設定データ510と、キャラクタ初期設定データ512と、モーションデータライブラリ522とが記憶されている。モーション選択部214が、モーション選択に予め選択条件とモーション種類とを対応づけたテーブルデータを参照する形式の場合には、適宜モーション選択条件TBL(テーブル)524を予め用意・記憶する構成としても良い。更にゲームの進行に伴って随時書き換えられるデータとして、キャラクタステータスデータ526と、モーション管理データ528とを記憶する。また、ゲームの進行に係る処理を実行するにあたり必要となるタイマー値やゲーム結果の算出に必要となる各種パラメータ値なども記憶される。
【0095】
ゲーム空間設定データ510には、仮想空間にゲーム空間を形成するための各種データが格納されている。例えば、プレーヤキャラクタPCが移動する地表や建物、障害物を含む配置物に関するモデルデータやテクスチャデータ及びモーションデータが含まれる。
キャラクタ初期設定データ512は、プレーヤキャラクタ及び敵キャラクタそれぞれに係る各種初期パラメータ値及びキャラクタモデルデータ514を格納する。
モーションデータライブラリ522は、モーションデータ532をキャラクタの種類及びモーション種類で検索・読み出し自在に格納する。
【0096】
キャラクタステータスデータ526は、各キャラクタの現在の位置や運動状態、能力値の現在のパラメータ値を格納する。例えば図13に示すように、キャラクタ識別情報526aに対応させて、各キャラクタのルート座標526b、ルートの現在の移動速度であるルート速度526c、現在のヒットポイント526d、残弾数526eなどを格納する。その他、各キャラクタの躯体を構成するパーツオブジェクト及び仮想カメラの位置及び姿勢といった情報を含むモデル管理情報526fを適宜格納する。
【0097】
モーション管理データ528は、各キャラクタに適用中のモーションを管理するための情報を格納する。例えば、図14に示すようにキャラクタ識別情報528aに対応させて、各キャラクタに適用されているモーション種類528bや実行フレーム番号528cといった情報を格納する。その他、モーションの適用途中で他のモーションに切り換えられる場合には、次に適用するモーション種類を格納するなど、モーション管理に必要な情報は適宜格納されるものとする。
【0098】
[動作の説明]
次に、本発明の動作について説明する。
図15は、本実施形態における処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部200がシステムプログラム501、ゲームプログラム502を読み出して実行することによって実現される。
【0099】
同図に示すように、処理部200は先ずゲーム空間設定データ510、キャラクタ初期設定データ512を参照して、仮想3次元空間中に障害物オブジェクト4等を配置してゲーム空間を形成し(ステップS2)、形成したゲーム空間に1プレーヤキャラクタPC1と、2プレーヤキャラクタPC2及び敵キャラクタECを配置する(ステップS4)。このとき、1プレーヤキャラクタPC1及び2プレーヤキャラクタPC2については、それぞれ、一のルート22を基準に躯体20と主観カメラCM0と客観カメラCM1とが配置される。ただし、仮想カメラは表示対象外なので、主観カメラCM0と客観カメラCM1の具体的な表示物としてのオブジェクトは配置されないのは勿論である。
【0100】
次に、ゲームが開始されたならば(ステップS6のYES)、処理部200は各キャラクタについてループAの処理を実行する(ステップS8〜ステップS18)。
ループAの処理では、先ず、対象キャラクタについて、移動や回転、ジャンプ、攻撃、防御、被弾などの各種モーションのうち、いずれのモーションを各キャラクタに適用するかを選択するモーション選択処理を行う(ステップS10)。
具体的には、例えば、1プレーヤキャラクタPC1及び2プレーヤキャラクタPC2については、それぞれの対応するゲームコントローラ1230からの操作入力に基づいてモーションが選択される。敵キャラクタについては、公知のノンプレーヤキャラクタの制御と同様にして所定の行動ルーチンにしたがって移動・索敵し、プレーヤキャラクタを攻撃するように動作が決定され、対応するモーションが選択されることになる。
【0101】
次に、処理部200は、対象キャラクタのモーション管理データ528を参照して、現在適用中のモーションの有無を判定する。そして、適用中のモーションが有って、且つ、その種類が先のステップS10で選択されたモーションの種類と異なる場合に(ステップS12のYES)、モーション補間処理を実行する(ステップS14)。
モーション補間処理は、適用中のモーションの途中の動作から次に適用されるモーションへ所定フレームで滑らかに動作を繋ぐために補間モーションのモーションデータを作成する処理であり、公知のモーション補間の処理を適用することができる。本実施形態では、キャラクタの躯体を構成するパーツオブジェクトと同様にキャラクモデルに一緒に構造化されている仮想カメラについても補間モーションのモーションデータを作成する。補間に当たっては補間する前後のモデルの関節構造が同一であればよい。換言すれば、仮想カメラをも関節構造として含むため、補間処理によって仮想カメラのモーション(カメラワーク)についても補間モーションが生成されるのである。生成された補間モーションのモーションデータは適宜記憶部500に格納される。
一方、適用中のモーションが無い場合、及び適用中のモーションが有っても先のステップで選択されたモーションと同種類であれば(ステップS14のNO)、モーション補間処理は行わない。すなわち、先に選択したモーションをそのまま始めから適用する、或いは現在適用中のモーションを継続して適用することになる。
【0102】
各キャラクタに適用されるモーションが決定されたならば、処理部200はキャラクタ毎に適用されるモーションにしたがってそれぞれのモデルを動作制御するモデル動作制御処理を行う(ステップS16)。
【0103】
図16は、本実施形態におけるモデル動作制御処理の流れを説明するためのフローチャートである。同図に示すように、モデル動作制御処理において、処理部200は、先ずゲームコントローラ1230からの操作入力や所定思考ルーチンに応じて処理対象キャラクタのゲーム空間内におけるルート位置を変更して、ゲーム空間内を移動させる(ステップS40)。次いで、ステップS10で選択されたモーションのモーションデータ532又はステップS14で生成された補間モーションのモーションデータを参照して、処理対象キャラクタのスケルトンモデルMSの各部位の位置を変更することで、躯体20、主観カメラCM0、客観カメラCM1の位置及び姿勢を変更する(ステップS42)。
【0104】
次に、全ての仮想カメラについてそれぞれループBの処理を実行する(ステップS44〜S58)。ループBの処理では、変更後の位置において処理対象仮想カメラが他オブジェクトと接触或いは当該他オブジェクトに埋没するといった、他オブジェクトと干渉するか否かを判定する(ステップS46)。
干渉すると判定した場合(ステップS46のYES)、処理対象仮想カメラの位置を補正して再変更する(ステップS48)。具体的には、例えば図17に示すように、当該仮想カメラCMをゲーム空間画像生成の視点としたときに他オブジェクト30のポリゴン等が画面に写り込む可能性があるので、ステップS42で求めた変更後の位置を処理対象仮想カメラCMと干渉(当接)する他オブジェクト30のポリゴンを抽出し、抽出したポリゴンの法線方向へ所定距離Dだけ移動させて補正する。
【0105】
次に処理部200は、再変更後の位置においても他オブジェクトと仮想カメラとが干渉するか否かを判定する(ステップS50)。そして、再変更後の位置においても再び干渉すると判断した場合(ステップS50のYES)、及び再変更後の位置では処理対象仮想カメラがルート22を同じくするキャラクタの躯体20に基準値を超えて接近し、正しく撮影が出来ないと判断される場合には(ステップS52のYES)、処理部200は処理対象キャラクタの周囲に予め定められた空き空間条件を満たす空き空間を探索する(ステップS54)。
【0106】
具体的には、例えば図18に示すように、処理対象仮想カメラCMとルート22を同じくするキャラクタの躯体20の中心位置から全方位に亘って所定角度毎で外向きの所定サイズのベクトル32を設定し、このベクトル32が他オブジェクト30と衝突するか否かを判定する処理を繰り返して全方位における空き空間のマップを求める。そして、空き空間のマップに基づき、処理対象仮想カメラCMの撮影画角分の連続空き空間34を、再変更後の仮想カメラCMの位置を中心として螺旋状に探索する。もちろん、空間探索の方向は、螺旋状に限らず上方向やランダムな方向とするなど適宜設定可能である。また、連続空き空間34の大きさは、同図のような錘状としても良いし、処理対象仮想カメラCMと躯体中心までの距離を奥行き長さとし、処理対処仮想カメラCMの撮影画角相当の形状の角錐とするなど適宜設定することができる。
【0107】
そして、探索した連続空き空間34の中に処理対象仮想カメラCMの位置を再々変更するとともに、その撮影方向を躯体20に向けるように変更して(ステップS56)、ループBを終了する(ステップS58)。全ての仮想カメラについてループBの処理を実行したならばモデル動作制御処理を終了して、図15のフローに戻る。
【0108】
全てのキャラクタについてループAの処理を実行したならば、処理部200の仮想カメラ選択部222が、各プレーヤキャラクタについて現在実行中のモーションデータ532の使用カメラ設定532gを参照して、仮想カメラをそれぞれ選択する(ステップS20)。
【0109】
具体的には、本実施形態の歩行モーションや、やられモーションのように、使用カメラ設定532gに複数の設定が成されている場合には、各設定に対応づけられたカメラモーションの選択条件に現在のキャラクタの状況を含むゲームの現在の進行状況が合致する方の設定を参照して仮想カメラを選択する。例えば、やられモーションでは、SP攻撃を被るといったキャラクタのより不利な状況条件に合致する場合、被SP攻撃状態に適用される使用カメラ設定(図10の被SP攻撃532j)において現在実行中のフレームに設定されている仮想カメラを選択する。
【0110】
そして、選択した仮想カメラを視点としてゲーム空間画像を生成し、生成したゲーム空間画像にダメージ数や残段数、レーダ画像などの各種情報表示を合成してゲーム画面を生成して画像を表示させる(ステップS22、図2参照)。
【0111】
次に、処理部200はゲーム結果の判定処理を実行する。具体的には、各キャラクタのダメージ数の算出とヒットポイントの減算処理、残段数の算出処理などを実行する。そして、判定したゲーム結果がゲーム終了条件を満たしていなければ(ステップS24のNO)、ステップS8に移行する。一方、判定したゲーム結果が所定のゲーム終了条件を満たしていれば(ステップS24のYES)、ゲーム終了処理を実行して一連の処理を終了する。例えば、本実施形態では全ての敵キャラクタのヒットポイントが「0」の場合には、ゲームクリアと判定してゲームクリア用のエンディングを表示するなどしてゲームを終了する。反対に1プレーヤキャラクタPC1と2プレーヤキャラクタPC2の両方のヒットポイントが「0」になった場合にはゲームオーバーと判定してゲームオーバー用のエンディングを表示するなどしてゲームを終了する。
【0112】
〔変形例〕
以上、本発明の実施形態について説明したが、本発明の適用形態がこれに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜変更を加えることができる。
【0113】
例えば、家庭用ゲーム装置でビデオゲームを実行する構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などでゲームを実行することもできるのは勿論である。
【0114】
また、上記実施形態ではキャラクタのモデルを関節構造のあるものとしたが、関節構造の無いモデルとしても良く、更には仮想カメラをルートの次の階層に構造化する構成としたが、キャラクタの躯体の一部(例えば、腰部)から枝分かれして階層構造を成すとしても良い。階層構造に含める仮想カメラの台数も適宜設定可能であるし、全てのキャラクタモデルにおいて異なる数の仮想カメラを設定することもできる。
【0115】
また、ゲームのプレイ形態は対戦プレイに限らず、プレーヤが一人でゲームを楽しむ1人プレイ、ネットワークを介した複数プレーヤによる協力プレイであっても良い。
【0116】
また、使用カメラ設定532gに複数の異なる設定を用意し、カメラモーションの選択条件に応じて選択可能な構成としているが選択条件の内容は適宜設定可能である。
例えば図19に示すように、SP攻撃モーションにおける使用カメラ設定532gを、プレイ形態を条件に一人プレイ532kと対戦プレイ532mとに条件分けすることもできる。この例では、対戦プレイ532mに適用される使用カメラの設定は、89フレームまでは攻撃をする側の主観カメラを視点とし、90フレーム以降を攻撃先のキャラクタ(=被攻撃側のキャラクタ)のプレーヤキャラクタの客観カメラを視点に設定している。したがって、対戦プレイ時にSP攻撃を発動させた側のプレーヤのゲーム画面には、モーション開始直後は相手を見据える主観映像が映され、次いでカメラが切り換わって攻撃先(攻撃を受ける側)の客観カメラで攻撃を受けたキャラクタが切りつけられ、斬られて崩れ落ちる様が映し出されるため、攻撃を行った側に対して、優越感を感じさせるカメラワークを実現できる。反対に、上記実施形態で説明したやられモーションを適用することで、被攻撃側のプレーヤのゲーム画面には、モーション開始直後は派手なアクションで襲いくる攻撃側キャラクタの様子を映し、次いでカメラが切り換わって攻撃側のキャラクタを客観視する格好よい映像を攻撃を受ける側のプレーヤに見せつけ、屈辱感を感じさせるカメラワークを実現できる。
また、使用カメラ設定532gの条件分けと、攻撃側キャラクタ/被攻撃側キャラクタとの双方で設定されている仮想カメラを上手く利用することで、少ないキャラクタモデルとモーションデータで、より複雑で自由度の高い演出を実現する事が可能になる。
【0117】
同様に、本発明をサッカーゲームに適用する場合、キャラクタがボールをキープしている状況(ドリブルしたりリフティングでボールをコントロールできる状態の意。)と言ったようにゲームの現在の進行状況を選択条件とすることができる。そして、使用カメラ設定532gに、ボールをキープしていない場合に選択されて主観カメラを選択する第1の設定と、ボールをキープしている場合に選択されて客観カメラを選択する第2の設定とを用意する。そうすると、キャラクタがボールをキープすると、自動的にゲーム画面が主観視映像から客観視映像に切り換わるといった映像演出を簡単に実現できる。
本発明をRPG(ロールプレイングゲーム)に適用する場合であれば、キャラクタと攻撃目標との相対距離や伸長(体長)比などをカメラモーション選択条件とし、大きな攻撃目標に基準値以上接近した場合に自動的に主観カメラから客観カメラに切り換えられるように使用カメラ設定532gを条件分けして設定すると好適である。
【0118】
更には、使用カメラ設定の選択条件はゲームの進行状況を条件とするに限らず、ゲームモード(例えば、1人プレイ、2人プレイ、オンライン対戦など)やゲームのレベル(例えば、EASY,HARDなど)を条件とすることもできる。
【図面の簡単な説明】
【0119】
【図1】家庭用ゲーム装置の構成例を示すシステム構成図。
【図2】ゲーム画面例を示す図。
【図3】プレーヤキャラクタの階層構造化について説明する概念図。
【図4】プレーヤキャラクタの階層構造化について説明する概念図。
【図5】歩行モーションの設定例を説明するための概念図。
【図6】歩行モーションのモーションデータの例を示すデータ構成図。
【図7】スペシャル攻撃(SP攻撃)モーションの設定例を説明するための概念図。
【図8】スペシャル攻撃モーションのモーションデータの例を示すデータ構成図。
【図9】やられモーションの設定例を説明するための概念図。
【図10】やられモーションのモーションデータの例を示すデータ構成図。
【図11】SP攻撃を受けた場合のやられモーションにおける使用カメラ設定の例を説明するための概念図。
【図12】機能ブロック図。
【図13】キャラクタステータスデータの例を示すデータ構成図。
【図14】モーション管理データの例を示すデータ構成図。
【図15】主たる処理の流れを説明するためのフローチャート。
【図16】モデル動作制御処理の流れを説明するためのフローチャート。
【図17】仮想カメラの位置補正の原理を説明するための概念図。
【図18】仮想カメラの位置補正の原理を説明するための概念図。
【図19】対戦プレイに適用できるSP攻撃モーションのモーションデータの例を示すデータ構成図。
【符号の説明】
【0120】
20 躯体
22 ルート
200 処理部
210 ゲーム演算部
214 モーション選択部
216 モーション補間部
218 モデル動作制御部
220 カメラ位置補正部
PC1 1プレーヤキャラクタ
PC2 2プレーヤキャラクタ
EC 敵キャラクタ
CM0 主観カメラ
CM1 客観カメラ

【特許請求の範囲】
【請求項1】
コンピュータに、仮想3次元空間の画像を生成させて所定のゲームを実行させるためのプログラムであって、
関節構造を有するモデルに仮想カメラを骨格の一部として組み込み、当該仮想カメラに対応する関節構造を有するモデルとして形成するモデル形成手段、
前記モデル形成手段により形成されたモデルを前記仮想3次元空間に配置するモデル配置手段、
前記モデル配置手段により配置されたモデルを前記複数の仮想カメラと一体に動作制御するモデル動作制御手段、
前記仮想カメラから見た前記仮想3次元空間の画像を生成する画像生成手段、
としてコンピュータを機能させるためのプログラム。
【請求項2】
前記モデル形成手段が、複数の仮想カメラを前記モデルの骨格の一部として組み込み、各仮想カメラそれぞれに対応する関節構造を有するモデルとして形成するように前記コンピュータを機能させ、
前記仮想3次元空間を撮影する仮想カメラを、前記配置されたモデルの骨格の一部として成る複数の仮想カメラの中から選択する仮想カメラ選択手段として前記コンピュータを機能させ、
前記画像生成手段が、前記選択された仮想カメラから見た前記仮想3次元空間の画像を生成するように前記コンピュータを機能させる、
ための請求項1に記載のプログラム。
【請求項3】
前記ゲームの現在の進行状況が、特定の仮想カメラに切り換える状況にあることを検出するためのカメラ切換状況条件を満足したことを検出する切換状況検出手段として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記切換状況検出手段の検出に応じて前記特定の仮想カメラを選択するように前記コンピュータを機能させる、
ための請求項2に記載のプログラム。
【請求項4】
前記複数の仮想カメラそれぞれに対応する関節構造を含む前記モデルの各関節構造の動きが規定されたモーションデータが予め複数種類用意されており、
前記モデル動作制御手段が、所定のコントローラに入力されたプレーヤによる前記モデルの動作指示入力に従って前記モデルに適用するモーションデータを前記複数種類のモーションデータの中から選択するモーションデータ選択手段を有し、前記選択されたモーションデータに従って前記モデルの動作を制御するように前記コンピュータを機能させるための請求項2又は3に記載のプログラム。
【請求項5】
前記モデル動作制御手段が、
前記コントローラに前記モデルの動作指示入力が為された際に、前記モデルに適用中のモーションデータが有るか否かを判定する適用中モーション有無判定手段と、
前記適用中モーション有無判定手段により有りと判定された場合に、当該適用中のモーションデータと、前記モーションデータ選択手段により適用しようとするモーションデータとして選択されたモーションデータとから、両者のモーションデータによる前記複数の仮想カメラそれぞれを含む前記モデルの動きを補間して前記モデルの動作を制御するモーション補間制御手段と、
を有するように前記コンピュータを機能させるための請求項4に記載のプログラム。
【請求項6】
前記選択されたモーションデータに従って前記モデル動作制御手段により前記モデルの一部として動作制御される前記仮想カメラと、前記仮想3次元空間に配置された他のオブジェクトとの干渉を判定する干渉判定手段、
前記干渉判定手段により干渉すると判定された場合に、干渉を回避する当該仮想カメラの位置を探索演算する非干渉位置探索演算手段、
前記干渉判定手段により干渉すると判定された場合に、当該仮想カメラの前記モーションデータに基づく位置を、前記非干渉位置探索演算手段により探索された位置に補正するカメラ位置補正手段、
として前記コンピュータを機能させるための請求項4又は5に記載のプログラム。
【請求項7】
前記非干渉位置探索演算手段が、前記仮想カメラの周囲所定範囲から、空き空間の条件として予め定められた空き空間条件を満たす位置を探索演算するように前記コンピュータを機能させるための請求項6に記載のプログラム。
【請求項8】
前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラと、前記モデルを三人称視点で撮影する客観カメラとの少なくとも2台が含まれており、
前記モデル動作制御手段が、前記モデルを構成する部位のうち、前記モデルの一人称視点用の部位として予め定められた一人称視点用部位の内部又は近傍位置に前記主観カメラの位置を設定して、前記モデルを動作制御し、
前記画像生成手段が、前記仮想カメラ選択手段により前記主観カメラが選択されている場合に、前記一人称視点用部位を非表示として前記主観カメラから見た前記仮想3次元空間の画像を生成する、
ように前記コンピュータを機能させるための請求項2〜7の何れか一項に記載のプログラム。
【請求項9】
前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラと、前記モデルを三人称視点で撮影する客観カメラとの少なくとも2台が含まれており、
ゲーム進行状況が、前記モデルに有利又は不利な状況の条件として予め定められた状況条件に合致したことを検出する状況条件合致検出手段として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記状況条件合致検出手段の検出に応じて、前記客観カメラを選択する状況条件合致時カメラ選択手段を有するように前記コンピュータを機能させるための請求項2〜8の何れか一項に記載のプログラム。
【請求項10】
前記ゲームは前記モデルが攻撃をする又は攻撃を受けることによって進行が制御されるゲームであり、
前記複数の仮想カメラには、少なくとも前記モデルの一人称視点に相当する主観カメラと、前記モデルの攻撃時に前記モデルを三人称視点で撮影する攻撃時客観カメラと、前記モデルが攻撃を受けた際に前記モデルを三人称視点で撮影する被攻撃時客観カメラとの少なくとも3台が含まれており、
前記モデルが攻撃をすることを検出する攻撃検出手段、
前記モデルが攻撃を受けることを検出する被攻撃検出手段、
前記仮想カメラ選択手段が、前記攻撃検出手段の検出に応じて前記攻撃時客観カメラを選択し、前記被攻撃検出手段の検出に応じて前記被攻撃時客観カメラを選択するように前記コンピュータを機能させるための請求項2〜8の何れか一項に記載のプログラム。
【請求項11】
前記ゲームは第1プレーヤの操作入力に従って制御される第1モデルと、第2プレーヤの操作入力に従った制御又はコンピュータ制御される第2モデルとが互いに攻撃して対戦するゲームであり、
前記モデル形成手段が、前記第1モデル及び前記第2モデルそれぞれについて、当該モデルの一人称視点に相当する主観カメラと、当該モデルが攻撃を受けた際に当該モデルを三人称視点で撮影する被攻撃時客観カメラとの少なくとも2台を骨格の一部として組み込んでモデルを形成するように前記コンピュータを機能させ、
前記第1モデルによる前記第2モデルへの攻撃を検出する第1モデル攻撃検出手段として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記第1モデル攻撃検出手段による検出に応じて前記第2モデルの被攻撃時客観カメラを選択するように前記コンピュータを機能させる、
ための請求項2〜10の何れか一項に記載のプログラム。
【請求項12】
前記ゲームは第1プレーヤの操作入力に従って制御される第1モデルと、第2プレーヤの操作入力に従った制御又はコンピュータ制御される第2モデルとが互いに攻撃して対戦するゲームであり、
前記モデル形成手段が、前記第1モデル及び前記第2モデルそれぞれについて、当該モデルの一人称視点に相当する主観カメラと、当該モデルの攻撃時に当該モデルを三人称視点で撮影する攻撃時客観カメラとの少なくとも2台を骨格の一部として組み込んでモデルを形成するように前記コンピュータを機能させ、
前記第2モデルによる前記第1モデルへの攻撃を検出する第2モデル攻撃検出手段として前記コンピュータを機能させ、
前記仮想カメラ選択手段が、前記第2モデル攻撃検出手段による検出に応じて前記第2モデルの攻撃時客観カメラを選択するように前記コンピュータを機能させる、
ための請求項2〜11の何れか一項に記載のプログラム。
【請求項13】
請求項1〜12の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項14】
仮想3次元空間の画像を生成して所定のゲームを実行するゲーム装置であって、
関節構造を有するモデルに仮想カメラを骨格の一部として組み込み、当該仮想カメラに対応する関節構造を有するモデルとして形成するモデル形成手段と、
前記モデル形成手段により形成されたモデルを前記仮想3次元空間に配置するモデル配置手段と、
前記モデル配置手段により配置されたモデルを前記複数の仮想カメラと一体に動作制御するモデル動作制御手段と、
前記仮想カメラから見た前記仮想3次元空間の画像を生成する画像生成手段と、
を備えたゲーム装置。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図2】
image rotate

【図11】
image rotate