(57)【要約】【課題】ゲームにおけるイベント再生時のキャラクタの適切なモーションを提供する。【解決手段】ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する特定部と、前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出する検出部と、重なりを検出した前記キャラクタのエリアを再配置する配置部と、を有する、情報処理装置が提供される。【選択図】図８
2020018791.tif 000002
【特許請求の範囲】
【請求項１】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する特定部と、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出する検出部と、
重なりを検出した前記キャラクタのエリアを再配置する配置部と、
を有する、情報処理装置。
【請求項２】
前記配置部は、重なりを検出した前記オブジェクトのエリアから前記キャラクタのエリアを水平方向に押し出して再配置したときの押出距離を算出し、
前記押出距離が第１閾値よりも大きい場合、所定回数を限度に前記キャラクタのエリアを前記押出距離に応じて水平方向に再配置することを繰り返す、
請求項１に記載の情報処理装置。
【請求項３】
前記配置部は、前記押出距離に応じて前記キャラクタのエリアを水平方向に再配置する処理を繰り返しの条件を満たす間実行した後、前記オブジェクトのエリアと前記キャラクタのエリアとの水平方向の重なりが第２閾値以下の場合、前記キャラクタのエリアの再配置を終了する、
請求項２に記載の情報処理装置。
【請求項４】
前記配置部は、前記オブジェクトのエリアと前記キャラクタのエリアとの水平方向の重なりが前記第２閾値よりも大きい場合、重なりを検出した前記キャラクタのエリアを垂直方向に再配置する、
請求項３に記載の情報処理装置。
【請求項５】
前記キャラクタのエリアの再配置の終了後に前記イベントを再生する再生部を有する、
請求項３又は４に記載の情報処理装置。
【請求項６】
前記特定部及び前記配置部は、発生する複数の前記イベントのそれぞれについて並行して前記キャラクタの特定と、特定した前記キャラクタのエリアの再配置の動作を実行した結果、複数の前記イベントのうちの一のイベントが再生されると、前記再生された一のイベントを除く他のイベントについての前記再配置の動作の実行を終了する、
請求項５に記載の情報処理装置。
【請求項７】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定し、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出し、
重なりを検出した前記キャラクタのエリアを再配置する、
処理をコンピュータが実行する配置方法。
【請求項８】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定し、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出し、
重なりを検出した前記キャラクタのエリアを再配置する、
処理をコンピュータに実行させる配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、配置方法及び配置プログラムに関する。
【背景技術】
【０００２】
ゲーム中にアニメーションを描画する等のイベント再生を行うことが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−６７７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、ゲーム中に任意のカットシーンのイベントを再生する際、キャラクタのモーションが、壁や建物等にめり込むなどの不自然な動きを回避し、没入感のあるイベント再生を行いたい。また、ゲーム中に行うイベントのリアルタイムな再生により、再生するイベントのマンネリ化を避け、プレイヤの高揚感を高めたい。
【０００５】
本開示は、ゲームにおけるイベント再生時のキャラクタの適切なモーションを提供する技術を提供する。
【課題を解決するための手段】
【０００６】
本開示の一の態様によれば、ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する特定部と、前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出する検出部と、重なりを検出した前記キャラクタのエリアを再配置する配置部と、を有する、情報処理装置が提供される。
【発明の効果】
【０００７】
一の側面によれば、ゲームにおけるイベント再生時のキャラクタの適切なモーションを提供できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理装置の機能構成一例を示す図。
【図２】一実施形態に係るイベントテーブルの一例を示す図。
【図３】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【図４】一実施形態に係る配置処理の一例を示すフローチャート。
【図５】一実施形態に係る配置処理を説明するための図。
【図６】一実施形態に係る配置処理を説明するための図。
【図７】一実施形態に係る配置処理を説明するための図。
【図８】一実施形態に係る配置処理を説明するための図。
【図９】一実施形態に係る配置処理を説明するための図。
【図１０】一実施形態に係る配置処理を説明するための図。
【図１１】一実施形態に係る複数イベントの配置処理を説明するための図。
【図１２】一実施形態に係るイベントの再生の一例の画面を示す図
【発明を実施するための形態】
【０００９】
以下、本開示を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１０】
［情報処理装置の機能構成］
まず、一実施形態に係る情報処理装置１０の機能構成の一例について、図１を参照しながら説明する。図１は、一実施形態に係る情報処理装置１０の機能構成の一例を示す図である。一実施形態に係る情報処理装置１０は、記憶部１１、ゲーム実行部１２、イベント発生部１３、特定部１４、検出部１５、配置部１６、再生部１７、グラフィック処理部１８、サウンド処理部１９、表示部７、音出力部８及び通信部９を有する。
【００１１】
記憶部１１は、イベントテーブル１１１、第１閾値１１２、第２閾値１１３、配置プログラム１１４を記憶する。イベントテーブル１１１は、ゲーム実行中、ゲーム開始前後又はゲーム終了前後に実行されるイベント毎に登場するキャラクタ、画面に描画する建物等のオブジェクトが特定されたテーブルである。
【００１２】
図２は、一実施形態に係るイベントテーブル１１１の一例を示す図である。図２では、例えば、イベント毎に画面に描画されるキャラクタ、キャラクタエリア、オブジェクト、オブジェクトエリアが特定され、記憶される。
【００１３】
イベントテーブル１１１では、イベント「Ａ」に登場するキャラクタＢａ及びＢｂが特定される。キャラクタエリアは、各キャラクタがイベント中に動く範囲であり、仮想空間上の座標で示される。また、イベント「Ａ」では、オブジェクトＣａ及びＣｂが画面に配置される。オブジェクトＣａ、Ｃｂは、キャラクタが動作するときに障害になる仮想空間上の物であって、壁や建物や樹木等、描画されるオブジェクトの他、画面には描画されない仮想カメラの動作範囲等も含み得る。オブジェクトエリアは、オブジェクトが静的な物であればオブジェクトの配置範囲であり、オブジェクトが動的な物であればオブジェクトの動作範囲であり、座標で示される。
【００１４】
なお、図２の例では、キャラクタ毎にキャラクタエリアが定められているが、これに限られず、２以上のキャラクタに対して１つのキャラクタエリアを定めてもよいし、一つのキャラクタに対して２以上のキャラクタエリアを定めてもよい。
【００１５】
同様に、図２の例では、オブジェクト毎にオブジェクトエリアが定められているが、これに限らず、２以上のオブジェクトに対して１つのオブジェクトエリアを定めてもよいし、一つのオブジェクトに対して２以上のオブジェクトエリアを定めてもよい。
【００１６】
図１に戻り、記憶部１１には、その他、第１閾値１１２、第２閾値１１３、配置プログラム１１４が記憶される。第１閾値１１２、第２閾値１１３、配置プログラム１１４については後述する。
【００１７】
ゲーム実行部１２は、ゲームをプレイするプレイヤの操作に応じて、記憶部１１に記憶されたゲームプログラムを実行し、ゲームを進行する。ゲーム実行部１２は、プレイヤが行うコントローラの操作を受け付けると、これに応じてゲームを進行させる。プレイヤが行う操作には、プレイヤキャラクタを移動させたり、プレイヤキャラクタに攻撃等の所定の行動を起こさせたりする操作が挙げられる。
【００１８】
イベント発生部１３は、ゲーム実行中やゲーム開始又は終了前後に実行するイベントを決定し、該イベントを発生する。特定部１４は、イベントテーブル１１１を参照して、ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する。イベント発生部１３が発生させるイベント数は、１つに限られず、複数であってもよい。
【００１９】
検出部１５は、オブジェクトエリアとキャラクタエリアとの重なりを検出する。配置部１６は、オブジェクトエリアとキャラクタエリアとの重なりの状態に応じて、キャラクタエリアを再配置する。再生部１７は、再配置の終了後にキャラクタエリアがオブジェクトエリアと重ならないか、重なりが許容範囲のとき前記イベントを再生する。
【００２０】
グラフィック処理部１８は、ゲーム実行部１２から描画命令が出力されると、表示部７にビデオ信号を出力する。これにより、表示部７は、ゲームの進行に応じたゲームの画像を表示する。また、表示部７には、ゲーム実行部１２から描画命令が出力されると、その指示に応じて特定のイベントのカットシーン等のアニメーションを描画する。
【００２１】
サウンド処理部１９は、ゲーム実行部１２からサウンド出力の指示命令が出力されると、音出力部８にサウンド信号を出力する。これにより、音出力部８は、ゲームの進行に応じたキャラクタの音声やその他のサウンドを出力する。通信部９は、他の機器と通信を行う。
【００２２】
なお、図１に示す情報処理装置１０は、例えばパーソナルコンピュータ、タブレット端末、家庭用ゲーム端末、業務用ゲーム端末、スマートフォンなどの携帯電話機、携帯ゲーム機等であってもよい。情報処理装置１０は、ＨＭＤ（Head Mount Display）、ＦＭＤ（Face Mount Display）、腕時計型等のウェアラブルデバイスであってもよい。
【００２３】
［情報処理装置のハードウェア構成］
次に、一実施形態に係る情報処理装置１０のハードウェア構成の一例について、図３を参照しながら説明する。図３は、一実施形態に係る情報処理装置１０のハードウェア構成の一例を示す図である。
【００２４】
一実施形態に係る情報処理装置１０は、ＣＰＵ（Central Processing Unit）２１、ＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３及びＨＤＤ（Hard Disk Drive）２４を有する。また、情報処理装置１０は、グラフィックカード２５、外部Ｉ／Ｆ２６、通信Ｉ／Ｆ２７、入力Ｉ／Ｆ２８、ディスプレイ２９、スピーカ３０及びタッチパネル３１を有する。各部はバスで相互に接続されている。
【００２５】
ＲＯＭ２２は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ＲＡＭ２３は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ２２及びＲＡＭ２３には、プログラム及びデータが格納されている。
【００２６】
ＨＤＤ２４は、プログラムやデータを格納している不揮発性の記憶装置である。ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４には、情報処理装置１０の全体を制御する基本ソフトウェアのプログラム、ゲームプログラム及び配置プログラム１１４が格納されてもよい。
【００２７】
ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ２４から各種プログラム及び各種データをＲＡＭ２３上に読み出し、各種の処理を実行することで、情報処理装置１０の全体の制御や情報処理装置１０に搭載された機能を実現する。
【００２８】
外部Ｉ／Ｆ２６は、情報処理装置１０を外部装置に接続するインターフェースである。外部装置には、記憶媒体２６ａなどがある。これにより、情報処理装置１０は、外部Ｉ／Ｆ２６を介して記憶媒体２６ａの読み取り及び書き込みを行うことができる。記憶媒体２６ａの一例としては、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）又はＵＳＢメモリ（Universal Serial Bus memory）等が挙げられる。
【００２９】
例えば、情報処理装置１０には、ゲームプログラムや配置プログラム１１４が格納された記憶媒体２６ａを装着することが可能である。ゲームプログラムや配置プログラム１１４は、外部Ｉ／Ｆ２６により読み出されて、ＲＡＭ２３に読み込まれる。
【００３０】
ＣＰＵ２１は、ＲＡＭ２３に読み込まれたゲームプログラム及び配置プログラム１１４を処理し、グラフィックカード２５にゲームの進行に応じた画像及びイベントの画像の出力を指示する。グラフィックカード２５は、指示に従い画面に表示するゲームの画像処理及びイベントの画像処理を行い、ゲーム及びイベントの画像をディスプレイ２９に描画させる。グラフィックカード２５から出力される画像の一フレーム時間は、例えば１／３０〜１／６０秒である。グラフィックカード２５は、フレーム単位で１枚の画像の描画を実行する。すなわち、一秒間に３０回〜６０回のフレームの画像が描画される。
【００３１】
また、ＣＰＵ２１は、ＲＡＭ２３に読み込まれた配置プログラム１１４の処理を実行し、ゲームにおいてイベントを発生させ、イベントの描画を行う。イベントの描画には、ゲームに登場するキャラクタのアニメーションが含まれてもよい。イベント中、イベントの進行に応じてスピーカ３０から所定の音を出力させる。通信Ｉ／Ｆ２７は、情報処理装置１０をネットワークに接続するインターフェースである。通信Ｉ／Ｆ２７は、アンテナを有する通信ユニットを介して他の機器と通信を行う。
【００３２】
入力Ｉ／Ｆ２８は、コントローラ１等の入力機器に接続するインターフェースである。コントローラ１は、操作ボタン２及び方向キー３を有する。プレイヤは、コントローラ１を用いてゲームの操作を行う。例えば、プレイヤは、操作ボタン２及び方向キー３の操作の組み合わせで、プレイヤキャラクタに攻撃や防御等の所定の動作や、画面の開始等の所定の処理を行わせてもよい。コントローラ１は、情報処理装置１０の本体と一体になっていてもよいし、別体になっていてもよい。また、コントローラ１は、情報処理装置１０の本体から着脱可能であってもよい。また、コントローラ１は、１つまたは複数設けられてもよい。
【００３３】
入力Ｉ／Ｆ２８は、プレイヤがコントローラ１を用いて行った入力操作に基づく入力情報をＲＡＭ２３に格納させる。また、プレイヤが、コントローラ１を操作してゲームの開始を指示したとき、入力Ｉ／Ｆ２８が、その指示情報を入力することによりゲーム処理が実行される。
【００３４】
タッチパネル３１は、ディスプレイ２９の画面上に設けられ、プレイヤによってタッチされた情報処理装置１０の画面上の位置を検出する。タッチパネル３１としては、例えば、静電容量方式、抵抗膜方式等、任意のものが用いられる。なお、タッチパネル３１は情報処理装置１０に搭載されていなくてもよい。また、タッチパネル３１を搭載した情報処理装置１０の場合、コントローラ１は有していなくてもよい。
【００３５】
かかる構成の情報処理装置１０において、ＣＰＵ２１は、ゲームプログラムの手順に従い、ゲームに関する各種の処理を実行する。入力Ｉ／Ｆ２８はＣＰＵ２１からの指示に従いＲＡＭ２３に記憶されているゲームのデータをメモリカード２８ａに保存させる。また、入力Ｉ／Ｆ２８は、メモリカード２８ａに保存されている中断時のゲームのデータを読み出してＲＡＭ２３に転送する処理を行う。また、所定のタイミングにＣＰＵ２１は、配置プログラム１１４の手順に従い、イベント毎に決められたキャラクタのモーションを再生する処理を実行する。
【００３６】
なお、図１は機能に着目したブロック図を描いており、これらの機能ブロックで示した各部は、図３に一例を示すハードウェアによって実現可能である。例えば、図１の記憶部１１の機能は、例えばＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４又はネットワークを介して情報処理装置１０に接続されるクラウド上の記憶装置等により実現可能である。
【００３７】
プレイヤによるコントローラ１やタッチパネル３１を用いたゲーム操作の受け付けの機能は、例えば入力Ｉ／Ｆ２８により実現可能である。ゲーム実行部１２、イベント発生部１３、特定部１４、検出部１５、配置部１６、再生部１７及びサウンド処理部１９の各機能は、例えば、ゲームプログラム又は配置プログラム１１４がＣＰＵ２１に実行させる処理により実現可能である。
【００３８】
グラフィック処理部１８の機能は、例えばグラフィックカード２５により実現可能である。表示部７の機能は、例えばディスプレイ２９により実現可能である。音出力部８の機能は、例えばスピーカ３０により実現可能である。
【００３９】
通信部９の機能は、例えば通信Ｉ／Ｆ２７により実現可能である。例えば記憶部１１に記憶されたイベントテーブル１１１が情報処理装置１０とは異なるクラウド上の記憶装置に記憶されている場合、通信部９は、クラウド上の記憶装置から必要な情報を受信する。
【００４０】
［イベント発生時の配置処理］
ゲームにおいてイベントを発生させ、キャラクタのアクションをリアルタイムに再生し、プレイヤの高揚感を高めることが行われる。このとき、キャラクタが壁や建物等に埋まったりしないように、キャラクタの動作範囲を確保する必要がある。
【００４１】
そこで、ゲームにおけるイベント発生時に実行される、一実施形態に係る配置処理の一例について、図４を参照して説明する。図４は、一実施形態に係るキャラクタエリアの配置処理の一例を示すフローチャートである。
【００４２】
本処理が開始されると、イベント発生部１３は、ゲームの進行に応じてイベントが発生するか否かを判定する（Ｓ１０）。イベントが発生すると判定されると、特定部１４は、イベントテーブル１１１を参照し、発生するイベントに応じたキャラクタ及びオブジェクトの特定と、特定したキャラクタのエリアとオブジェクトのエリアの特定を行う（Ｓ１２）。
【００４３】
図５は、イベントテーブル１１１から特定したキャラクタＢａ、Ｂｂのエリアの一例を示す。図５（ａ）はキャラクタＢａ、Ｂｂ及びキャラクタＢａ、Ｂｂのそれぞれに応じたキャラクタエリア１−１、１−２を横方向から見た図であり、図５（ｂ）はキャラクタＢａ、Ｂｂ及びキャラクタエリア１−１、１−２を上方向から見た図である。以下では、水平方向の平面をｘ軸及びｚ軸で示し、垂直方向の平面をｘ軸及びｙ軸で示す。
【００４４】
図６（ａ）及び（ｂ）は、図５（ａ）及び（ｂ）のキャラクタエリアに、イベントテーブル１１１から特定したオブジェクトＣａ、Ｃｂのそれぞれに応じたオブジェクトエリアを加えた図である。図６（ａ）は、キャラクタＢａ、Ｂｂ、キャラクタエリア１−１、１−２及びオブジェクトエリア２−１、２−２を横方向から見た図であり、図６（ｂ）は上方向から見た図である。
【００４５】
図４に戻り、次に、検出部１５は、オブジェクトエリアとキャラクタエリアの重なりを検出する（Ｓ１４）。次に、配置部１６は、オブジェクトエリアからキャラクタエリアを水平方向に押し出す押出力を算出する（Ｓ１６）。たとえば、図７（ａ）の上方向から見た図では、オブジェクトエリア２−１からキャラクタエリア１−１を押し出す押出力Ｆ１及びオブジェクトエリア２−２からキャラクタエリア１−２を押し出す押出力Ｆ２が、一例として図示されている。押出力Ｆ１、Ｆ２は、キャラクタエリア１−１、１−２のそれぞれをオブジェクトエリア２−１、２−２のそれぞれから押し出すための最も大きな力を持つ。
【００４６】
押出力Ｆ１、Ｆ２は、キャラクタエリア１−１、１−２がオブジェクトエリア２−１、２−２に重なっている部分と反対側に加える力である。押出力Ｆ１、Ｆ２によってオブジェクトエリアからキャラクタエリアを押し出すことで、キャラクタエリアとオブジェクトエリアとの重なりを少なくする。
【００４７】
図４に戻り、次に、配置部１６は、水平方向に算出した押出力でキャラクタエリアを押し出し、キャラクタエリアを再配置する（Ｓ１８）。たとえば、図７（ｂ）の上方向から見た図では、キャラクタエリア１−１及びキャラクタエリア１−２が押し出された結果の一例が示されている。
【００４８】
図４に戻り、次に、配置部１６は、Ｓ１８において今回キャラクタエリアを押し出した距離（押出距離）を算出する（Ｓ２０）。次に、配置部１６は、算出した押出距離が第１閾値よりも大きいかを判定する（Ｓ２２）。第１閾値は、記憶部１１に記憶され、予め設定された値であって、キャラクタエリアを水平方向に押し出す処理を終了するか否かを判定するための指標である。図７の例では、図７（ａ）の押出力Ｆ１、Ｆ２によってキャラクタエリア１−１、１−２を押し出したときの押出距離が、図７（ｂ）の押出距離Ｄ１、Ｄ２として算出され、押出距離Ｄ１、Ｄ２の長い方が第１閾値を上回るかを判定する。ただし、押出距離Ｄ１、Ｄ２の平均値が第１閾値を上回るかを判定してもよいし、押出距離Ｄ１、Ｄ２の短い方が第１閾値を上回るかを判定してもよい。
【００４９】
配置部１６は、キャラクタエリアの押出距離が第１閾値を上回ると判定すると、Ｓ１４〜Ｓ２２の処理を所定回数以上繰り返したかを判定し（Ｓ２４）、所定回数以上繰り返していないと判定すると、Ｓ１４に戻り、Ｓ１４〜Ｓ２２の処理を繰り返す。
【００５０】
このようにして、Ｓ１４〜Ｓ２２の処理を繰り返す間、押出力に応じてキャラクタエリアを水平方向（ｘ、ｚ方向）へ移動させる動作が繰り返され、垂直方向（ｙ方向）への移動は行われない。これにより、キャラクタエリアを所定回数繰り返し水平方向に移動させてもキャラクタエリアとオブジェクトエリアの重なりが許容できない範囲で存在する場合のみ、キャラクタエリアを垂直方向に移動させる。
【００５１】
一方、配置部１６は、今回のキャラクタエリアの押出距離が第１閾値以下であると判定した場合（Ｓ２２）又は所定回数以上繰り返したと判定した場合（Ｓ２４）、オブジェクトエリアとキャラクタエリアの重なりが第２閾値よりも大きいかを判定する（Ｓ２６）。第２閾値は、記憶部１１に記憶され、予め設定された値であって、キャラクタエリアを垂直方向（ｙ方向）に押し出すか否かを判定するための指標である。
【００５２】
配置部１６は、オブジェクトエリアとキャラクタエリアの重なりが第２閾値よりも大きいと判定すると、垂直（高さ）方向に移動させてキャラクタエリアを再配置し、Ｓ２６に戻る。配置部１６は、オブジェクトエリアとキャラクタエリアの重なりが第２閾値以下であると判定すると、再生部１７は、イベントを再生し（Ｓ２９）、本処理を終了する。本処理を終了後にゲームが再開される。なお、Ｓ１４においてオブジェクトエリアとキャラクタエリアの重なりがないことが検出されると、直ちにＳ２９にてイベントの再生処理が実行され、本処理を終了する。
【００５３】
図８の例では、図４のＳ１４〜Ｓ２２の処理を所定回数を上回らない回数繰り返したときのキャラクタエリアの再配置の一例を示す。図８（ａ）の押出力Ｆ３、Ｆ４に基づく押出距離、図８（ｂ）の押出力Ｆ５、Ｆ６に基づく押出距離、図８（ｃ）の押出力Ｆ７、Ｆ８に基づく押出距離、図８（ｄ）の押出力Ｆ９、Ｆ１０に基づく押出距離はいずれも第１閾値より大きい。一方、図８（ｅ）の押出力Ｆ１１に基づく押出距離は第１閾値以下であるとする。この場合、Ｓ１４〜Ｓ２２のキャラクタエリアの再配置処理を繰り返すことで、図８（ｅ）の時点でキャラクタエリアとオブジェクトエリアの重なりが許容できる範囲になる。この結果、図８（ｆ）のキャラクタエリアの配置では、イベント再生時、キャラクタがオブジェクトに衝突することなく、より自然なキャラクタの行動シーンを描画できる。
【００５４】
また、図９の例では、オブジェクト２−１〜２−４に囲まれたキャラクタエリア１−１、１−２についてのＳ１４〜Ｓ２２の再配置処理を、所定回数を上回らない回数繰り返しても、押出距離が第１閾値以下にならない場合を示す。
【００５５】
この場合、Ｓ２６においてキャラクタエリアとオブジェクトエリアとの重なりが第２閾値を上回るかを判定し、上回ると判定されると、垂直方向にキャラクタエリアを再配置する。これにより、図１０に一例を示すように、キャラクタエリア１−１、１−２を垂直方向に再配置することで、キャラクタエリアとオブジェクトエリアとの重なりを許容できる範囲に制御できる。これにより、イベント再生時にキャラクタの動作がオブジェクトに衝突することなく、ゲームのイベントに登場するキャラクタの適切なモーションを提供することができる。
【００５６】
なお、キャラクタエリアを再配置する際、キャラクタエリアに存在するキャラクタは、キャラクタエリアの移動方向に追従して動かしてもよいし、キャラクタエリア内で特定の行動を行いながら移動させてもよいし、キャラクタを非表示にしてもよい。
【００５７】
［変形例］
以上に説明した図４の配置処理では、Ｓ１０において一つのイベントが発生することを想定して説明を行った。ただし、Ｓ１０において複数のイベントが発生してもよい。この場合、複数のイベントに対して図４の配置処理が並行して行われる。このときの処理について、図１１を参照しながら説明する。
【００５８】
図１１の処理は、図４のＳ１０においてイベントが複数発生した場合に開始され、再生部１７は、図４の配置処理を監視する。再生部１７は、発生した複数のイベントのうちのいずれかについてのＳ２９の再生処理が実行されたかを判定する（Ｓ３０）。
【００５９】
再生部１７は、発生した複数のイベントのうちのいずれかが再生されたと判定すると、再生されたイベントを除く、並行して実行されている他のイベントの配置処理（図４）を強制終了させ（Ｓ３２）、本処理を終了する。
【００６０】
これにより、複数のイベントのキャラクタエリアの再配置を並行して実行させ、最も早く再生したイベント以外のイベントは配置処理を強制終了させて、最も早く再生したイベントのみを再生させる。この結果、イベントをより早く再生してプレイヤの興味を惹きつけつつ、キャンセルされたイベントを再生しないことで、できる限り垂直方向に再配置したイベントの再生を行わないようにすることができる。
【００６１】
つまり、キャラクタエリアを垂直方向に再配置するイベントは、図４のＳ２６及びＳ２８の処理を一回以上繰り返す。一方、キャラクタエリアを水平方向に再配置し、垂直方向に再配置しないイベントは、Ｓ２６及びＳ２８のループ処理を実行しない。これにより、キャラクタエリアを水平方向に再配置し、垂直方向に再配置しないイベントは、垂直方向に再配置したイベントよりも先にＳ２９のイベントの再生を実行する可能性が高い。これにより、極力垂直方向に再配置したイベントを再生しないようにすることができる。ただし、複数のイベントが発生した場合、随時、発生した複数のイベントを再生してもよいし、複数のイベントのうち、水平方向に再配置した１又は２以上のイベントのみを再生してもよい。
【００６２】
なお、複数のイベントを発生させる一例としては、キャラクタＢａの手を損傷させるイベント、足首を損傷させるイベント、うなじを損傷させるイベント等が挙げられる。各イベントについて、図４の配置処理を並列して実行した結果、キャラクタＢａの手を損傷させるイベントが再生されたことに応じて、図１１において足首を損傷させるイベント、うなじを損傷させるイベントの配置処理は強制的に終了する。これにより、図１２に示すように、キャラクタＢａの手を損傷させるイベントが再生され、キャラクタＢｂの回転動作とキャラクタＢａの手が損傷する動作が再生される。これにより、キャラクタの動作がオブジェクトに衝突することなく、ゲームのイベントに登場するキャラクタのより適切なモーションを提供することができる。
【００６３】
今回開示された一実施形態に係る情報処理装置、配置方法及び配置プログラムは、すべての点において例示であって制限的なものではないと考えられるべきである。上記の実施形態は、添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。上記複数の実施形態に記載された事項は、矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【００６４】
１０    情報処理装置
１１    記憶部
１２    ゲーム実行部
１３    イベント発生部
１４    特定部
１５    検出部
１６    配置部
１７    再生部
１８    グラフィック処理部
１９    サウンド処理部
１１１  イベントテーブル
１１４  配置プログラム
【図１】
2020018791.tif 000003
【図２】
2020018791.tif 000004
【図３】
2020018791.tif 000005
【図４】
2020018791.tif 000006
【図５】
2020018791.tif 000007
【図６】
2020018791.tif 000008
【図７】
2020018791.tif 000009
【図８】
2020018791.tif 000010
【図９】
2020018791.tif 000011
【図１０】
2020018791.tif 000012
【図１１】
2020018791.tif 000013
【図１２】
2020018791.tif 000014
【手続補正書】
【提出日】令和1年10月16日(2019.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する特定部と、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出する検出部と、
重なりを検出した前記キャラクタのエリアを再配置する配置部と、
を有し、
前記配置部は、重なりを検出した前記オブジェクトのエリアから前記キャラクタのエリアを水平方向に押し出して再配置したときの押出距離を算出し、
前記押出距離が第１閾値よりも大きい場合、所定回数を限度に前記キャラクタのエリアを前記押出距離に応じて水平方向に再配置することを繰り返す、情報処理装置。
【請求項２】
前記配置部は、前記押出距離に応じて前記キャラクタのエリアを水平方向に再配置する処理を繰り返しの条件を満たす間実行した後、前記オブジェクトのエリアと前記キャラクタのエリアとの水平方向の重なりが第２閾値以下の場合、前記キャラクタのエリアの再配置を終了する、
請求項１に記載の情報処理装置。
【請求項３】
前記配置部は、前記オブジェクトのエリアと前記キャラクタのエリアとの水平方向の重なりが前記第２閾値よりも大きい場合、重なりを検出した前記キャラクタのエリアを垂直方向に再配置する、
請求項２に記載の情報処理装置。
【請求項４】
前記キャラクタのエリアの再配置の終了後に前記イベントを再生する再生部を有する、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記特定部及び前記配置部は、発生する複数の前記イベントのそれぞれについて並行して前記キャラクタの特定と、特定した前記キャラクタのエリアの再配置の動作を実行した結果、複数の前記イベントのうちの一のイベントが再生されると、前記再生された一のイベントを除く他のイベントについての前記再配置の動作の実行を終了する、
請求項４に記載の情報処理装置。
【請求項６】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定し、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出し、
重なりを検出した前記キャラクタのエリアを再配置し、
重なりを検出した前記オブジェクトのエリアから前記キャラクタのエリアを水平方向に押し出して再配置したときの押出距離を算出し、
前記押出距離が第１閾値よりも大きい場合、所定回数を限度に前記キャラクタのエリアを前記押出距離に応じて水平方向に再配置することを繰り返す、
処理をコンピュータが実行する配置方法。
【請求項７】
ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定し、
前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出し、
重なりを検出した前記キャラクタのエリアを再配置し、
重なりを検出した前記オブジェクトのエリアから前記キャラクタのエリアを水平方向に押し出して再配置したときの押出距離を算出し、
前記押出距離が第１閾値よりも大きい場合、所定回数を限度に前記キャラクタのエリアを前記押出距離に応じて水平方向に再配置することを繰り返す、
処理をコンピュータに実行させる配置プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本開示の一の態様によれば、ゲームにおけるイベント毎にキャラクタとオブジェクトとが仮想空間上に配置されるエリアを特定する特定部と、前記オブジェクトのエリアと前記キャラクタのエリアとの重なりを検出する検出部と、重なりを検出した前記キャラクタのエリアを再配置する配置部と、を有し、前記配置部は、重なりを検出した前記オブジェクトのエリアから前記キャラクタのエリアを水平方向に押し出して再配置したときの押出距離を算出し、前記押出距離が第１閾値よりも大きい場合、所定回数を限度に前記キャラクタのエリアを前記押出距離に応じて水平方向に再配置することを繰り返す、情報処理装置が提供される。