JP6302967B2 - ゲームプログラムおよびゲームシステム - Google Patents

ゲームプログラムおよびゲームシステム Download PDF

Info

Publication number
JP6302967B2
JP6302967B2 JP2016160583A JP2016160583A JP6302967B2 JP 6302967 B2 JP6302967 B2 JP 6302967B2 JP 2016160583 A JP2016160583 A JP 2016160583A JP 2016160583 A JP2016160583 A JP 2016160583A JP 6302967 B2 JP6302967 B2 JP 6302967B2
Authority
JP
Japan
Prior art keywords
character
joint
player character
game
motion
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
JP2016160583A
Other languages
English (en)
Other versions
JP2018028812A (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.)
Capcom Co Ltd
Original Assignee
Capcom 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 Capcom Co Ltd filed Critical Capcom Co Ltd
Priority to JP2016160583A priority Critical patent/JP6302967B2/ja
Publication of JP2018028812A publication Critical patent/JP2018028812A/ja
Application granted granted Critical
Publication of JP6302967B2 publication Critical patent/JP6302967B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ゲームプログラムおよびゲームシステムに関する。
従来、アクションゲームまたはロールプレイングゲーム等、ユーザの操作に応じてプレイヤキャラクタを3次元の仮想空間内で動作させるゲームがある。このようなゲームにおいては、敵キャラクタ等の様々なノンプレイヤキャラクタが登場し、プレイヤキャラクタが敵キャラクタを討伐することにより進行するものがある。プレイヤキャラクタおよびノンプレイヤキャラクタの動作は、複数の関節を有する関節モデルの各関節の位置および姿勢(角度)を定めることにより、実現される(例えば特許文献1等参照)。
特開2014−61420号公報
このような従来のゲームにおいて、キャラクタが斜面を移動する場合、平面を移動する場合とは別に斜面を移動するモーションデータが必要となっていた。このように、斜面移動の際に別のモーションデータを用いる場合、斜面の角度やキャラクタが移動する方向に応じて異なるモーションデータが必要となりデータ量が増大してしまう。一方、一のモーションデータを用いようとしても、単に斜面の角度に合わせてキャラクタを回転させるだけでは斜面から足が浮いたり、足が滑ったりしているような動作となり、自然な移動モーションを実現することはできない。
そこで本発明は、キャラクタが様々な斜面を移動する際の動作をデータ量の増大を抑制しつつ容易に実現することができるゲームプログラムおよびゲームシステムを提供することを目的とする。
本発明の一態様に係るゲームプログラムは、コンピュータを、3次元のキャラクタが動作する3次元の仮想空間を生成する仮想空間生成手段、および前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、前記キャラクタ動作制御手段は、前記キャラクタが基準平面上を移動する基本移動動作を表す基本移動動作データを取得する基本移動動作データ取得手段と、前記キャラクタが移動する移動平面の前記基準平面に対する傾斜角を取得する傾斜角取得手段と、前記キャラクタに対応して前記移動平面上に配置され、前記キャラクタの移動方向を定める基準位置を、前記基準平面における位置から前記傾斜角分回転させることにより、前記キャラクタ全体を前記傾斜角分回転させたときの前記キャラクタの足部の位置を取得する足位置取得手段と、前記取得した前記足部の位置に前記基本移動動作における前記足部を配置し、当該足部の位置を起点にして前記関節モデルの各関節の位置および姿勢を決定することにより、前記基本移動動作を修正する動作修正手段と、を含む。
前記動作修正手段は、前記キャラクタの腰部の位置が前記基準位置の鉛直上方に位置するように前記関節モデルの腰関節の位置および姿勢を決定してもよい。
本発明の他の態様に係るゲームシステムは、上記ゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えている。
本発明によれば、キャラクタが様々な斜面を移動する際の動作をデータ量の増大を抑制しつつ容易に実現することができる。
本実施の形態におけるゲーム装置のハードウェア構成を示すブロック図である。 図1に示すゲーム装置の機能的な構成を示すブロック図である。 本実施の形態における関節モデルを例示するための図である。 本実施の形態におけるプレイヤキャラクタの斜面における移動動作の生成例を示す図である。 本実施の形態におけるプレイヤキャラクタの他の斜面における移動動作の生成例を示す図である。 図4および図5で生成されたプレイヤキャラクタを仮想空間内に配置した例を示す図である。 本実施の形態におけるプレイヤキャラクタの斜面における移動動作の生成例を示す図である。 本実施の形態における電灯オブジェクトの一例を示す図である。 本実施の形態における電灯オブジェクトの他の例を示す図である。
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
[ゲーム概要]
以下の説明では、家庭用ゲーム装置において実行されるアクションゲームを例として説明する。本実施の形態に係るアクションゲームは、3次元の仮想空間が生成され、ユーザが当該仮想空間内で行動するプレイヤキャラクタを操作して、敵キャラクタを全滅させる、またはゲーム空間内の所定の位置に到達する等といった所定の目標を達成するために、敵キャラクタと戦うことにより進行する。
[ハードウェア構成]
上述したゲームを実現するゲーム装置の構成について説明する。本実施の形態におけるゲームシステムは、下記ゲーム装置2と、当該ゲーム装置2に接続されるモニタ(表示部)19、スピーカ22およびコントローラ(操作部)24などの外部装置とで構成され、下記ディスク型記憶媒体30から読み込んだゲームプログラム30aおよびゲームデータ30bに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置2と称する場合がある。
図1は、本実施の形態におけるゲーム装置2のハードウェア構成を示すブロック図である。図1に示すように、ゲーム装置2は、他のゲーム装置2およびサーバ装置3との間で、インターネットまたはLANなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるCPU10を備え、このCPU10にはバス11を介してディスクドライブ12、メモリカードスロット13、プログラム記憶部を成すHDD14、ROM15およびRAM16が接続されている。
また、CPU10には、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23およびネットワークインタフェース25が接続されている。
このうちグラフィック処理部17は、CPU10の指示にしたがってゲーム空間および各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部17にはビデオ変換部18を介して外部のモニタ19が接続されており、グラフィック処理部17にて描画されたゲーム画像はビデオ変換部18において動画形式に変換され、モニタ19にて表示されるようになっている。
オーディオ合成部20は、CPU10の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。したがって、オーディオ合成部20にて再生および合成されたゲーム音声は、オーディオ変換部21にてアナログ形式にデコードされ、さらにスピーカ22から外部へ出力されるようになっている。
さらに、オーディオ合成部20は、ゲーム装置2に接続されるヘッドセットやコントローラ24等に設けられたマイク26から入力されるユーザの音声等がオーディオ変換部21にてデジタル形式にコードされたデータを取得可能である。オーディオ合成部20は、取得したデータをCPU10に入力情報として伝えることができる。
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作子(後述)を操作することにより、ゲーム装置2へ信号を入力することができ、モニタ19に表示されるプレイヤキャラクタの動作を制御可能になっている。また、ネットワークインタフェース25は、インターネットまたはLANなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2またはサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタを表示させることができる。これにより、本ゲームにおいては、複数のユーザに対応する複数のプレイヤキャラクタが協同して敵キャラクタと戦う、または複数のユーザ同士が敵対して対戦する、マルチプレイが可能である。
[ゲーム装置の機能的構成]
図2は、図1に示すゲーム装置2の機能的な構成を示すブロック図である。図1に示すようにゲーム装置2は、CPU10、HDD14、ROM15、RAM16、グラフィック処理部17、ビデオ変換部18、オーディオ合成部20、オーディオ変換部21、ネットワークインタフェース25などを含む制御部4を備えたコンピュータとして動作する。そして、図2に示すように、ゲーム装置2の制御部4は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段41、オブジェクト配置手段42、および、キャラクタ動作制御手段43等の機能を発揮する。キャラクタ動作制御手段43は、基本移動動作データ取得手段44と、傾斜角取得手段45と、足位置取得手段46と、動作修正手段47と、を含む。
このうち、仮想空間生成手段41は、3次元の仮想空間を生成する。当該仮想空間が、ユーザが操作するプレイヤキャラクタが行動するゲーム空間となる。また、オブジェクト配置手段42は、仮想空間に種々のオブジェクトを配置する。例えば、オブジェクト配置手段42は、プレイヤキャラクタの移動に伴って、ゲームデータ30bに含まれるオブジェクト等のデータを読み出し、仮想空間に配置する。オブジェクト配置手段42は、プレイヤキャラクタおよび敵キャラクタ等のノンプレイヤキャラクタも仮想空間に配置する。
キャラクタ動作制御手段43は、キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、キャラクタの動作を制御する。キャラクタ動作制御手段43は、例えば、ユーザによるコントローラ24の操作に応じて、プレイヤキャラクタの各種動作を制御する。さらに、キャラクタ動作制御手段43は、例えば、敵キャラクタおよび敵キャラクタでないノンプレイヤキャラクタ(味方となって一緒に敵キャラクタを攻撃するキャラクタや味方でも敵でもない村人などのキャラクタ等)の動作も制御する。
図3は、本実施の形態における関節モデルを例示するための図である。図3には、プレイヤキャラクタPが例示されている。図3に示されるプレイヤキャラクタPは人間を模したキャラクタとして構成されている。すなわち、プレイヤキャラクタPは、頭部100、首部101、胸部102、腰部103、腕部104、脚部105等を有する複数の部位で構成される。関節モデルMは、これらの部位のそれぞれに対応付けられた複数の関節J(J0,J1〜J3を含む)と、所定の2つの関節J−J間を接続する骨Bとを有している。プレイヤキャラクタPの各部位の体表面は多数のポリゴンの組み合わせで構成されており、各ポリゴンの頂点は1または複数の関節Jに関連付けられている。プレイヤキャラクタPの動作は、関節Jを移動させる(位置を変える)および/または所定角度回転させる(姿勢を変える)ことで行われる。関節Jの位置または姿勢の変化に応じて、その関節Jに関連付けられているポリゴンが連動して変形し、プレイヤキャラクタPの様々な動作が実現される。
通常、キャラクタ動作制御手段43は、所定のモーションデータに基づいて身体の中心部に位置する関節(図3の例では腰関節J0)を起点にして動作を生成する。後述する第1動作は、腰関節J0を起点にして生成される。具体的には、キャラクタ動作制御手段43は、所定の部位を移動させる動作(例えば所定の移動平面上を移動する動作)を行う際、まず、腰関節J0の位置および姿勢を決定し、次に当該関節J0に骨Bを介して接続されている関節、すなわち、胸部102の関節および脚部105の関節J3,J2,J1の位置および姿勢を決定する。その後、胸部102の関節Jに骨Bを介して接続されている腕部104の関節の位置および姿勢を決定する。
すなわち、キャラクタ動作制御手段43は、プレイヤキャラクタPの中央部の部位(基端側部位)の関節(親関節)から順に先端側部位の関節(子関節)の位置および姿勢を決定することによって、プレイヤキャラクタPの全身の動きを決定する。例えば、キャラクタ動作制御手段43は、フォワードキネマティクス(FK)に基づいて各関節Jの位置および姿勢を決定する。
なお、本実施の形態および特許請求の範囲において、「関節の位置および姿勢を決定する」とは、関節の座標と関節の所定位置からの角度とを変更可能なパラメータとして有するという意味であり、動作の前後において、関節の位置および姿勢のうちの何れかが変化しない状態も含まれ得る。
さらに、キャラクタ動作制御手段43は、プレイヤキャラクタPの先端側部位(例えば手、足等)の関節から順に中央部の部位の関節の位置および姿勢を決定することによって、プレイヤキャラクタPの全身の動きを決定することもできる。例えば、キャラクタ動作制御手段43は、インバースキネマティクス(IK)に基づいて各関節Jの位置および姿勢が決定され得る。すなわち、IKの場合、親関節と子関節との関係がFKと逆になる。
さらに、関節モデルMは、プレイヤキャラクタPを移動制御するための基準位置JNを含んでいる。基準位置JNは、プレイヤキャラクタPの移動方向を定めるように構成されている。例えば、基準位置JNにおいて、移動平面の法線に垂直な方向(移動平面に沿った方向)にプレイヤキャラクタPの移動方向が設定されている。基準位置JNは、その位置が関節モデルMの各関節Jと対応付けられている。一般的に、基準位置JNは、NULLパーツ等と呼称される。本実施の形態において、基準位置JNは、プレイヤキャラクタPが水平面上において立ち姿勢または移動姿勢にあるときに腰関節J0の直下かつ移動平面に接する位置に設定されている。基準位置JNは、プレイヤキャラクタPの位置座標の基準となる。例えば、プレイヤキャラクタPの位置座標は、基準位置JNに一致する。なお、基準位置JNは、ゲーム画面上には表示されない。
[キャラクタ動作制御の具体例]
図4は、本実施の形態におけるプレイヤキャラクタの斜面における移動動作の生成例を示す図である。図4においては、プレイヤキャラクタが水平面Q1を歩行する移動動作(このときのプレイヤキャラクタをPaで示す)からプレイヤキャラクタが傾斜角θ2の斜面Q2を歩行により下りて行く移動動作(このときのプレイヤキャラクタをPbで示す)を生成する態様が例示されている。
本実施の形態において、ゲームデータ30bには、基準平面として水平面Q1上を移動するプレイヤキャラクタPaのモーションデータ(基本移動動作データ)が記憶されている。当該平面移動のモーションデータは、関節モデルMを構成する複数の関節Jのうちの中央部に位置する所定の関節(本例においては腰関節J0)を起点にして生成される。例えば、水平面Q1上の移動動作のためのモーションデータは、FKに基づいて動作するデータとして構成される。すなわち、キャラクタ動作制御手段43は、プレイヤキャラクタPaに水平面Q1上を移動させる場合、腰関節J0を起点にして、前側の脚部105Fの股関節J3F、膝関節J2Fおよび足首関節J1Fの位置および姿勢を順次決定するとともに、腰関節J0を起点にして、後側の脚部105Bの股関節J3B、膝関節J2Bおよび足首関節J1Bの位置および姿勢を順次決定する。なお、歩行時のモーションデータは、プレイヤキャラクタPaの両足(足部FF,FB)が両方とも水平面Q1から浮いた状態とならないように作成されている。図4の水平面Q1上のプレイヤキャラクタPaにおいては、足部FF,FBが接地した状態を表している。
平面移動時において、キャラクタ動作制御手段43は、ユーザのコントローラ24への操作に応じた方向へ基準位置JNを水平面Q1上で移動させながら、上記モーションデータを再生する。本実施の形態において、移動修正手段47は、このような水平面Q1上を移動する際のモーションデータを加工することにより、基準平面である水平面Q1に対して所定の傾斜角を有する斜面Q2上の移動に適用する。
このために、傾斜角取得手段45は、プレイヤキャラクタPが移動する移動平面である斜面Q2の基準平面(水平面Q1)に対する傾斜角θ2を取得する。斜面Q2の傾斜角θ2は、ゲームデータ30bから取得される。そして、足位置取得手段46は、斜面Q2上に配置されるプレイヤキャラクタPの基準位置JNを水平面Q1における位置から傾斜角θ2分回転させることにより、プレイヤキャラクタP全体を傾斜角θ2分回転させたときのプレイヤキャラクタPの足部FF,FBの位置(後述する起点位置となる)を取得する。
本例において、足位置取得手段46は、加工後のモーションデータにおけるプレイヤキャラクタPbにおいて、より高い位置に位置する足部(本例では後側の足部FB)の斜面Q2との接地点HBを基準として基準位置JNを水平面Q1上を移動するプレイヤキャラクタPaにおける基準位置JNの位置から下方に傾斜角θ2分回転させる。これにより、回転後の基準位置JN’は、斜面Q2上に位置することになる。足位置取得手段46は、このような回転に伴ってプレイヤキャラクタPa全体を回転させたときの両足の位置を取得する。図4の中段の図においては、プレイヤキャラクタPa全体を回転させた場合の下半身(腰関節J0以下の部位)がPa’として破線で示されている。足位置取得手段46は、この破線で示されるプレイヤキャラクタPaの足部FF’,FB’の位置HF,HBを取得する。
動作修正手段47は、取得した足部FF,FBの起点位置HF,HBに基本移動動作における足部FF,FBを配置し、当該起点位置HF,HBを起点にして関節モデルMの各関節Jの位置および姿勢を決定することにより、基本移動動作を修正する。より具体的には、動作修正手段47は、ゲームデータ30bとして記憶されている基本移動動作のモーションデータ(FKに基づくモーションデータ)を、プレイヤキャラクタPの足部FF,FBの起点位置HF,HBを制約条件(当該位置を固定)として、各関節Jの動きを補間する。例えば、動作修正手段47は、前側の足部FFの起点位置HFを起点にして、前側の脚部105Fの足首関節J1F、膝関節J2Fおよび股関節J3Fの位置および姿勢を順次決定するとともに、後側の足部FBの起点位置HBを起点にして、後側の脚部105Bの足首関節J1B、膝関節J2Bおよび股関節J3Bの位置および姿勢を順次決定する。
この際、水平面Q1上を移動する(動作修正前の)プレイヤキャラクタPaの前側の足部FFが対応する起点位置HFから離れているため、前側の足部FFを起点位置HFに配置することにより、前側の脚部105Fは、下方に引っ張られる。このため、腰部103は、前側の脚部105Fの移動に伴って腰部103の前側が下がるように腰関節J0回りに回転する。このとき、動作修正手段47は、プレイヤキャラクタPbの腰部103の位置が基準位置JNの鉛直上方に位置するように関節モデルMの腰関節J0の位置および姿勢を決定する。これにより、重心位置がプレイヤキャラクタPaをそのまま傾斜角θ2分回転させた場合(Pa’)に比べてプレイヤキャラクタPbの後方に位置するため、プレイヤキャラクタPbが斜面Q2を下りて行く移動動作に、より現実感を与えることができる。
このように生成される移動動作は、傾斜角θ2が変化しても当該傾斜角θ2に応じて同様に生成される。すなわち、上記態様によれば、プレイヤキャラクタPが斜面Q2を下りて行く移動動作を、水平面Q1の移動動作として記憶されている1つのモーションデータから様々な傾斜角θ2に応じて複数生成することができる。
図5は、本実施の形態におけるプレイヤキャラクタの他の斜面における移動動作の生成例を示す図である。図5においては、プレイヤキャラクタが水平面Q1を歩行する移動動作(このときのプレイヤキャラクタをPaで示す)からプレイヤキャラクタが傾斜角θ3の斜面Q3を歩行により上って行く移動動作(このときのプレイヤキャラクタをPbで示す)を生成する態様が例示されている。
本例においても、図4の例と同じ水平面Q1上を移動するプレイヤキャラクタPaのモーションデータに基づいてプレイヤキャラクタが傾斜角θ3の斜面Q3上を歩行により上って行く移動動作が生成される。本例においても、図4の例と同じ態様で斜面Q3上を歩行により上って行く移動動作が生成される。言い換えると、本例においても、キャラクタ動作制御手段43は、図4の例において実行する基本移動動作データ取得手段44、傾斜角取得手段45、足位置取得手段46および動作修正手段47と同様の機能を実行するに過ぎず、これらと異なる機能は実行しない。
本例における加工後のプレイヤキャラクタPbが図4の例と異なる点は、斜面Q3の傾斜角θ3、および、プレイヤキャラクタPbの斜面Q3に対する向きのみである。プレイヤキャラクタPbの斜面Q3に対する向きが異なることにより、加工後のモーションデータにおけるプレイヤキャラクタPbにおいて、より高い位置に位置する足部が前側の足部FFになる。すなわち、足位置取得手段46がプレイヤキャラクタPの足部FF,FBの位置を取得する際の傾斜角θ3分の回転の中心位置が前側の足部FFとなる。
この結果、水平面Q1上を移動する(動作修正前の)プレイヤキャラクタPaの後側の足部FBが対応する起点位置HBから離れているため、後側の足部FBを起点位置HBに配置することにより、後側の脚部105Bは、下方に引っ張られる。このため、腰部103は、後側の脚部105Bの移動に伴って腰部103の後側が下がるように腰関節J0回りに回転する。このときも、動作修正手段47は、プレイヤキャラクタPbの腰部103の位置が基準位置JNの上方(鉛直方向)に位置するように関節モデルMの腰関節J0の位置および姿勢を決定する。これにより、重心位置がプレイヤキャラクタPaをそのまま傾斜角θ3分回転させた場合(Pa’)に比べてプレイヤキャラクタPbの前方に位置するため、プレイヤキャラクタPbが斜面Q3を上って行く移動動作に、より現実感を与えることができる。
このように生成される移動動作は、傾斜角θ3が変化しても当該傾斜角θ3に応じて同様に生成される。すなわち、上記態様によれば、プレイヤキャラクタPが斜面Q3を上って行く移動動作を、水平面Q1の移動動作として記憶されている1つのモーションデータから様々な傾斜角θ3に応じて複数生成することができる。
以上のような態様によれば、プレイヤキャラクタPが所定の傾斜角(θ=0°)を有する移動平面上を移動する移動動作について予めFKに基づいて定められた1つのモーションデータを用い、当該モーションデータを傾斜角の変化に応じて加工することにより、変化後の傾斜角を有する斜面上の移動動作が生成される。この際、移動平面の角度(傾斜角θ2,θ3)に応じて基準位置JNを回転させたときの元のモーションデータにおける足部HF,HBの位置(起点位置HF,HB)を起点にして脚部105等の各関節Jの位置および姿勢が決定される。これにより、傾斜角が異なる複数の移動平面に対する移動動作を1つのモーションデータから生成することができる。したがって、キャラクタが様々な斜面を移動する際の動作をデータ量の増大を抑制しつつ容易に実現することができる。
図6は、図4および図5で生成されたプレイヤキャラクタを仮想空間内に配置した例を示す図である。図6において、プレイヤキャラクタPaは、図4および図5における水平面Q1上を移動するプレイヤキャラクタ(加工前のモーションデータをそのまま再生した場合のプレイヤキャラクタ)の移動動作を示し、プレイヤキャラクタPIVは、図4における斜面Q2上を歩行により下りて行くプレイヤキャラクタの移動動作を示し、プレイヤキャラクタPは、図5における斜面Q3上を歩行により上って行くプレイヤキャラクタの移動動作を示している。本実施の形態によれば、これら3種のプレイヤキャラクタの移動動作を傾斜角によらず1つのモーションデータから実現することができる。
また、移動動作を生成する際、様々な傾斜角における移動動作において、元のモーションデータを、IKに基づいて補間することにより、様々な傾斜角を有する移動平面上の移動動作においてもキャラクタの動きが不自然になるのを防止することができる。
ここで、上記図4および図5の例においては、プレイヤキャラクタPaを傾斜角θ2回転させた足部FF’,FB’の位置を起点位置HF,HBとして設定している。すなわち、モーションデータの加工の前後で基準位置JNと前側の足部HFとの間の距離および基準位置JNと後側の足部HBとの間の距離は、それぞれ等しい。しかし、これに代えて、動作修正手段47は、斜面Q2,Q3の傾斜角または移動方向(上りまたは下り)に応じてこれらの距離、すなわち、プレイヤキャラクタPの歩幅を変更してもよい。例えば、水平面Q1におけるプレイヤキャラクタPの歩幅を基準として、斜面Q2を下りて行く移動動作においては歩幅が小さくなるようにし、斜面Q3を上って行く移動動作においては歩幅が大きくなるようにしてもよい。また、例えば、傾斜角が大きくなるほど下りの移動動作においては歩幅が小さくなり、上りの移動動作においては歩幅が大きくなるようにしてもよい。
また、上記に加えてまたはこれに代えて、動作修正手段47は、斜面Q2,Q3の傾斜角および/または移動方向に応じて元のモーションデータに対して所定の加工を加えてもよい。例えば、動作修正手段47は、図4および図5に示すように、斜面Q2,Q3上の移動方向に応じて首関節J4の姿勢(顔の向き)を変化してもよい。例えば、斜面Q2を下りて行く移動動作においてはプレイヤキャラクタPbの顔が下方を向くようにし、斜面Q3を上って行く移動動作においてはプレイヤキャラクタPbの顔が上方を向くようにする。また、動作修正手段47は、斜面Q3の傾斜角θ3に応じて足部FF,FBの向きを変更してもよい。傾斜角θ3が大きい場合、足部FF,FBを斜面Q3に沿わせるようにすると、足の甲部が脛部に近付きすぎてしまい、不自然に見える場合がある。このような場合には、足部FF,FBの踵を斜面Q3から浮かせるようにすることにより、より自然な表現とすることができる。
図7は、本実施の形態におけるプレイヤキャラクタの斜面における移動動作の生成例を示す図である。上記図4から図6の例では、プレイヤキャラクタPが歩行により移動する動作について説明した。この場合、プレイヤキャラクタPの両方の足部FF,FBが斜面Q2,Q3に同時に接している状態が存在する。これに対して、図7の例では、プレイヤキャラクタPが走っている場合の表現において、両方の足部FF,FBの何れもが斜面Q2,Q3から離れている状態が存在する。このような移動動作においても本実施の形態は適用可能である。
図7には、プレイヤキャラクタが水平面Q1を走る移動動作(このときのプレイヤキャラクタをPaで示す)からプレイヤキャラクタが傾斜角θ2の斜面Q2を駆け下りる移動動作(このときのプレイヤキャラクタをPbで示す)を生成する態様が例示されている。
図7の例において、ゲームデータ30bとして記憶されている基本移動動作のモーションデータは、基準平面である水平面Q1上を移動する基準位置JNより高い位置に足部FF,FBが同時に位置する(両方の足部が水平面Q1から離れている)瞬間が存在する。動作修正手段47がこのようなモーションデータを斜面Q2に適用するために加工する際、加工の前後で、基準位置JNと前側の足部FFとの間の距離RFおよび基準位置JNと前側の足部FFとを結ぶ線分の水平面Q1に対する角度αと、基準位置JNと後側の足部FBとの間の距離RBおよび基準位置JNと後側の足部FFとを結ぶ線分の水平面Q1に対する角度αとが維持される。
このため、本例における起点位置HF,HBは、斜面Q2に対して距離RFsinα,RBsinαだけ離れた位置に設定される。これ以外は、図4の例と同様の処理が行われることにより、プレイヤキャラクタPbが斜面Q2を駆け下りる移動動作が水平面Q1を走るモーションデータから生成される。図示は省略するが、プレイヤキャラクタPbが斜面Q3を駆け上る移動動作も同様に水平面Q1を走るモーションデータから生成され得る。
このように、本実施の形態におけるモーションデータの加工態様は、移動平面に足部FF,FBが接地している場合だけでなく、移動平面から離れた状態においても適用可能である。また、本実施の形態におけるモーションデータの加工態様を、階段移動に適用することも可能である。
[背景オブジェクトの簡易表現]
ここで、図6において背景として用いられている電灯オブジェクトの表現について説明する。図8は、本実施の形態における電灯オブジェクトの一例を示す図である。図8(a)は側面図を示し、図8(b)は上面図(図8(a)におけるVIIIBから見た図)を示している。図8には、電灯オブジェクトとして天井Uから1本の紐部52で吊り下げられた裸電球50Aが示されている。なお、図8においては、裸電球50Aの揺れ幅βを実際より誇張して表示している。
この裸電球50Aは、本体部51と、本体部51を吊り下げるための所定の長さLを有する紐部52と、を備えている。紐部52は、一端部が本体部51に取り付けられ、他端部が所定の基準点53に取り付けられる。
オブジェクト配置手段42は、このような裸電球50Aの本体部51を所定の揺れ方向Aに周期2π(L/g)1/2の単振り子運動を行うように制御する。ここで、gは重力加速度である。裸電球50Aの単振り子運動に用いられるパラメータは、揺れ方向Aを定める回動軸54の座標、揺れ幅(回動角)β、および紐部52の長さLである。
従来は、裸電球50A等を揺らす表現を行う場合には、紐部52の長さLや揺れ幅βが異なるごとにモーションデータを作成しており、データ量が増大する問題があった。また、これら複数のモーションデータを同時に再生すると処理負荷が大きく、表示速度が遅くなったり、ちらつきが発生したりする場合があった。
これに対して、本実施の形態においては、微小振動の単振り子運動を模して裸電球を動作させることにより、1つのモーションデータで複数の紐部52の長さLを有する裸電球50A等の表現を実現することができる。したがって、より自然な揺れ表現を行うためのデータ量を抑制し、処理負荷を小さくすることができる。
さらに、オブジェクト配置手段42は、回転軸54の位置(基準点53の位置)または姿勢(水平面に対する角度γ)を時間経過に従って変化させてもよい。特に、回動軸54の水平面に対する角度γを変化させることにより、揺れ方向AがA’に変化し、3次元的な揺れを表現することができる。このように、回転軸54の位置または姿勢を変化させることにより、不規則な揺れを表現することができ、より自然な表現を実現することができる。
図9は、本実施の形態における電灯オブジェクトの他の例を示す図である。図9の例において、図8と同様の構成については同じ符号を付し、説明を省略する。図9には、電灯オブジェクトとして天井から2本の紐部52a,52bにより本体部51が吊り下げられた蛍光灯50Bが示されている。図9(a)は側面図を示し、図9(b)は正面図(図9(a)におけるIXBから見た図)を示し、図9(c)は上面図(図9(a)におけるIXCから見た図)を示し、図9(d)は図9(c)にねじり方向の揺動を加えた場合を示している。なお、図9においては、蛍光灯50Bの揺れ幅βを実際より誇張して表示している。この蛍光灯50Bは、本体部51と、本体部51を吊り下げるための所定の長さLを有する2本の紐部52a,52bと、を備えている。
オブジェクト配置手段42は、このような蛍光灯50Bの本体部51についても所定の揺れ方向Aに周期2π(L/g)1/2の単振り子運動を行うように制御する。より具体的には、オブジェクト波位置手段42は、2本の紐部52a,52bの中間に位置する仮想紐部52cの上端部53cを回動軸54とする単振り子運動として制御する。これにより、2つの紐部52a,52bにより吊り下げられた電灯オブジェクトに対しても単振り子運動として処理することにより、データ量を抑制し、処理負荷を小さくしつつ自然な表現とすることができる。
さらに、オブジェクト配置手段42は、図5(d)に示すように、仮想紐部52cをねじり方向(長手方向に沿った軸回り)Zに揺動させてもよい。蛍光灯50Bの揺れ表現として単振り子運動に加えてねじり動作を行うことにより、1本の仮想紐部52cに基づく揺れ表現であっても、あたかも2本の紐部52a,52bに基づいて本体部51が揺れているように見せることができる。
以上で説明したような揺れ表現は、上記裸電球50Aおよび蛍光灯50Bのような電灯オブジェクトだけでなく、振り子運動が適用可能な種々のオブジェクト(例えば、振り子時計の振り子、ブランコ、風に揺れる暖簾等)に適用可能である。ただし、これらのオブジェクトのうち、天井に設置されている等、プレイヤキャラクタPが接触不可能なオブジェクトに上記表現態様を適用することが好ましい。上記表現態様では、プレイヤキャラクタPが当該オブジェクトに接触した場合のオブジェクトの揺れの変化に対応した表現を行うことが難しいためである。
次に、図6において背景として用いられている換気扇オブジェクトの表現について説明する。オブジェクト配置手段42は、図6に示すような換気扇60の回転軸61の位置と、回転軸61回りの換気扇60の回転速度とをパラメータとして当該換気扇60を等速回転させる制御を行う。
これによれば、回転速度のパラメータの値を変更することにより、様々な回転速度の換気扇60を表現することができる。このような表現は、換気扇60に限られず、扇風機、観覧車、時計の秒針等、等速で回転するオブジェクトに適用可能である。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上記実施の形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、上記実施の形態においては、プレイヤキャラクタPにおける移動動作について説明したが、敵キャラクタ等のノンプレイヤキャラクタにおける移動動作に適用することも可能である。
また、上記実施の形態においては、水平面Q1上を移動するプレイヤキャラクタPのモーションデータを加工する例について説明したが、元のモーションデータは所定の傾斜角θ(0°ではない)を有する斜面上のキャラクタの移動動作のためのデータであってもよい。
また、キャラクタの足がキャラクタの装備品(例えば竹馬、歩行ロボット)等を介して間接的に移動平面上を移動する場合にも適用可能である。
また、上記実施の形態においては、斜面Q2,Q3の方向に移動する(上るまたは下る)移動動作について説明したが、斜面Q2,Q3に直交する方向に移動する(斜面を横切る)移動動作についても、上記モーションデータの加工態様を適用可能である。
上記実施の形態において、関節モデルMに含まれる複数の関節Jは人間の関節を模したものでもよいし、モンスター等、より多い関節またはより少ない関節を有していてもよい。すなわち、上記動作が適用できるキャラクタは、人間のキャラクタだけでなく、様々なモンスター等も含まれる。
また、キャラクタ動作制御手段43は、移動平面の傾斜角が所定の角度未満であれば上記実施の形態のような動作修正処理を行うが、所定の傾斜角以上になった場合(急斜面の場合)、キャラクタの移動動作について基準平面上を移動するモーションデータとは別のモーションデータを用いて(急斜面移動専用のモーションデータに変更して)キャラクタの移動動作を制御してもよい。
また、上記実施の形態においては、アクションゲームを例示したが、3次元のキャラクタについての上記動作態様は、ロールプレイングゲーム、シミュレーションゲームまたはシューティングゲーム等、3次元の仮想空間を用いる種々のゲームに適用可能である。
また、上記実施の形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。
本発明は、キャラクタが様々な斜面を移動する際の動作をデータ量の増大を抑制しつつ容易に実現するために有用である。
2 ゲーム装置
30a ゲームプログラム
30b ゲームデータ
41 仮想空間生成手段
43 キャラクタ動作制御手段
44 基本移動動作データ取得手段
45 傾斜角取得手段
46 足位置取得手段
47 動作修正手段
FF,FB 足部
J 関節
J0 腰関節
J1,J1F,J1R 足首関節
J2,J2F,J2R 膝関節
J3,J3F,J3R 股関節
JN 基準位置
M 関節モデル
P,Pa,Pb プレイヤキャラクタ
Q1 水平面(移動平面)
Q2,Q3 斜面(移動平面)

Claims (3)

  1. コンピュータを、
    3次元のキャラクタが動作する3次元の仮想空間を生成する仮想空間生成手段、および
    前記キャラクタに対応して設定される複数の関節を有する関節モデルの各関節の位置および姿勢を決定することにより、前記キャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、
    前記キャラクタ動作制御手段は、
    前記キャラクタが基準平面上を移動する基本移動動作を表す基本移動動作データを取得する基本移動動作データ取得手段と、
    前記キャラクタが移動する移動平面の前記基準平面に対する傾斜角を取得する傾斜角取得手段と、
    前記キャラクタに対応して配置され、前記キャラクタの移動方向を定める基準位置を、前記基準平面における位置から前記傾斜角分回転させることにより、前記キャラクタ全体を前記傾斜角分回転させたときの前記キャラクタの足部の位置を取得する足位置取得手段と、
    前記取得した前記足部の位置に前記基本移動動作における前記足部を配置し、当該足部の位置を起点にして前記関節モデルの各関節の位置および姿勢を決定することにより、前記基本移動動作を修正する動作修正手段と、を含み、
    前記基準位置は、前記キャラクタの中心部に基づいて設定されている、ゲームプログラム。
  2. 前記動作修正手段は、前記キャラクタの腰部の位置が前記基準位置の鉛直上方に位置するように前記関節モデルの腰関節の位置および姿勢を決定する、請求項1に記載のゲームプログラム。
  3. 請求項1または2に記載のゲームプログラムを記憶したプログラム記憶部と、
    前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
JP2016160583A 2016-08-18 2016-08-18 ゲームプログラムおよびゲームシステム Active JP6302967B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016160583A JP6302967B2 (ja) 2016-08-18 2016-08-18 ゲームプログラムおよびゲームシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160583A JP6302967B2 (ja) 2016-08-18 2016-08-18 ゲームプログラムおよびゲームシステム

Publications (2)

Publication Number Publication Date
JP2018028812A JP2018028812A (ja) 2018-02-22
JP6302967B2 true JP6302967B2 (ja) 2018-03-28

Family

ID=61249108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160583A Active JP6302967B2 (ja) 2016-08-18 2016-08-18 ゲームプログラムおよびゲームシステム

Country Status (1)

Country Link
JP (1) JP6302967B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7312737B2 (ja) * 2020-11-19 2023-07-21 株式会社コーエーテクモゲームス プログラム、情報処理方法及び情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175706A (ja) * 1997-12-05 1999-07-02 Namco Ltd 画像生成装置及び情報記憶媒体
JP3361088B2 (ja) * 2000-09-13 2003-01-07 コナミ株式会社 コンピュータを利用したキャラクタの表現方法及びそれを実現するための記憶媒体
JP4704622B2 (ja) * 2001-07-30 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
JP2018028812A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
US20100022305A1 (en) Program, information storage medium, image generation system, and image/sound control method
JP2003044878A (ja) 画像生成システム、プログラム及び情報記憶媒体
US11816772B2 (en) System for customizing in-game character animations by players
JP5775323B2 (ja) プログラム、および、当該プログラムを実行するコンピュータを備えた画像処理装置
JP5785414B2 (ja) プログラム、および、当該プログラムを記録したプログラム記録部を備えている画像処理装置
JP6910809B2 (ja) シミュレーションシステム、プログラム及びコントローラ
JP5767682B2 (ja) ゲームプログラムおよびゲームシステム
JP6302967B2 (ja) ゲームプログラムおよびゲームシステム
JP5491971B2 (ja) プログラム、当該プログラムを記録した記録媒体、および、当該プログラムを実行するコンピュータ
JP2002140730A (ja) 動画像生成方法、装置、動画像生成プログラムを記録した可読記録媒体及びビデオゲーム装置
JP6310517B2 (ja) ゲームプログラムおよびゲームシステム
JP6042495B2 (ja) プログラム、および、当該プログラムを実行するコンピュータを備えた画像処理装置
JP6318202B2 (ja) ゲームプログラムおよびゲームシステム
JP6310516B2 (ja) ゲームプログラム及びゲームシステム
JP6267295B1 (ja) ゲームプログラムおよびゲームシステム
JP5734361B2 (ja) オブジェクト表示装置
JP5676030B2 (ja) プログラム、および、当該プログラムを実行するゲーム装置
JP5575553B2 (ja) プログラム、当該プログラムを記録した記録媒体、および、当該プログラムを記憶したプログラム記憶手段を備えた画像処理装置
JP6441844B2 (ja) ゲームプログラムおよびゲームシステム
JP6302966B2 (ja) ゲームプログラムおよびゲームシステム
JP6437969B2 (ja) ゲームプログラムおよびゲームシステム
US20240161371A1 (en) Asystem for customizing in-game character animations by players
JP5775467B2 (ja) ゲームプログラムおよびゲーム装置
JP2020195672A (ja) ゲームプログラムならびにゲームシステム
JP2016182310A (ja) コンピュータプログラム及びコンピュータシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6302967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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