(57)【特許請求の範囲】
【請求項１】
仮想空間に表示される制御対象の第１のオブジェクトと、仮想空間に表示される他のオブジェクトとの接触又は近接の有無を所定の時間間隔で繰り返し判定する検知部と、
前記判定した結果に基づき、前記第１のオブジェクトを折り曲げるか否かを判定する判定部と、
前記第１のオブジェクトを折り曲げると判定した場合、前記第１のオブジェクトが折り曲げられた位置を示す位置情報と該第１のオブジェクトが折り曲げられた角度を示す角度情報とを含む履歴情報を記憶する記憶部と、
を有する情報処理装置。
【請求項２】
前記判定した結果に基づき、前記他のオブジェクトと接触又は近接する位置に応じた位置にて、前記第１のオブジェクトの動作に応じた方向に前記第１のオブジェクトを折り曲げて表示させる表示制御部を有する、
請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、
前記第１のオブジェクトに追従するルートを辿って動作する第２のオブジェクトが、前記ルートとは逆の向きに動作するか否かを判定し、
前記第２のオブジェクトが前記ルートとは逆の向きに動作すると判定された場合、前記記憶部に記憶した履歴情報に基づき、前記第２のオブジェクトが前記ルートを逆に動作するように表示させる表示制御部を有する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１のオブジェクトは、前記第２のオブジェクトに連結された紐状又はワイヤー状のオブジェクトである、
請求項３に記載の情報処理装置。
【請求項５】
前記検知部は、
前記第１のオブジェクトの始点と終点との間に所定方向からレイキャストを行い、前記第１のオブジェクトと前記他のオブジェクトとの接触又は近接の有無を所定の時間間隔で繰り返し判定する、
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
仮想空間に表示される制御対象の第１のオブジェクトと、仮想空間に表示される他のオブジェクトとの接触又は近接の有無を所定の時間間隔で繰り返し判定し、
前記判定した結果に基づき、前記第１のオブジェクトを折り曲げるか否かを判定し、
前記第１のオブジェクトを折り曲げると判定した場合、前記第１のオブジェクトが折り曲げられた位置を示す位置情報と該第１のオブジェクトが折り曲げられた角度を示す角度情報とを含む履歴情報を記憶部に記憶する、
処理をコンピュータに実行させる表示制御プログラム。
【請求項７】
仮想空間に表示される制御対象の第１のオブジェクトと、仮想空間に表示される他のオブジェクトとの接触又は近接の有無を所定の時間間隔で繰り返し判定し、
前記判定した結果に基づき、前記第１のオブジェクトを折り曲げるか否かを判定し、
前記第１のオブジェクトを折り曲げると判定した場合、前記第１のオブジェクトが折り曲げられた位置を示す位置情報と該第１のオブジェクトが折り曲げられた角度を示す角度情報とを含む履歴情報を記憶部に記憶する、
ステップをコンピュータが実行する表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示制御プログラム及び表示制御方法に関する。
【背景技術】
【０００２】
物理エンジンを使用して仮想空間における紐又はワイヤー等のオブジェクトの動きを表現するときに、紐又はワイヤー等のオブジェクトの周囲に仮想障壁（コリジョン）を設けることが知られている（例えば、特許文献１を参照）。これによれば、仮想障壁と仮想空間に表示されている他のオブジェクトとの接触を検知することで、仮想障壁を付したオブジェクトと他のオブジェクトとの衝突を予測することができる。これにより、仮想障壁を付けたオブジェクトの自然な動作を、検出した他のオブジェクトの存在を考慮して画面に表示することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４６９５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記手法では、仮想障壁を設定し、その仮想障壁の動きを演算し、他のオブジェクトとの接触を解析するため、処理の負荷が高くなる。また、設定する仮想障壁の個数が多くなると、処理の負荷は更に高くなる。一方、ゲーム性やストーリ性から、画面に表示されるオブジェクトの動作が自然であれば、現実空間における動作と同じ正確な動作を描画しなくてもよい場合がある。
【０００５】
上記課題に対して、一側面では、本発明は、オブジェクトを自然に動作させながら、処理の負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、一の態様によれば、仮想空間に表示される制御対象の第１のオブジェクトと、仮想空間に表示される他のオブジェクトとの接触又は近接の有無を所定の時間間隔で繰り返し判定する検知部と、前記判定した結果に基づき、前記第１のオブジェクトを折り曲げるか否かを判定する判定部と、前記第１のオブジェクトを折り曲げると判定した場合、前記第１のオブジェクトが折り曲げられた位置を示す位置情報と該第１のオブジェクトが折り曲げられた角度を示す角度情報とを含む履歴情報を記憶する記憶部と、を有する情報処理装置が提供される。
【発明の効果】
【０００７】
一の側面によれば、オブジェクトを自然に動作させながら、処理の負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る情報処理装置の機能構成の一例を示す図。
【図２】一実施形態に係る履歴情報テーブルの一例を示す図。
【図３】一実施形態に係る配置情報テーブルの一例を示す図。
【図４】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【図５】一実施形態に係る表示制御処理の一例を示すフローチャート。
【図６】一実施形態に係るキャラクタの表示制御を説明するための図。
【図７】一実施形態に係るキャラクタの表示制御を説明するための図。
【図８】一実施形態に係るキャラクタの表示制御を説明するための図。
【図９】一実施形態に係る表示制御処理（戻り）の一例を示すフローチャート。
【図１０】一実施形態に係るキャラクタの表示制御を説明するための図。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１０】
［情報処理装置］
本発明の一実施形態に係る情報処理装置１０では、ゲームやアニメ等に登場する仮想空間上のキャラクタであって、紐又はワイヤー等のオブジェクトを持つキャラクタ等のオブジェクトを自然に動作させながら、処理の負荷を軽減する機能を有する。本実施形態に係る情報処理装置１０は、タブレット型端末、パーソナルコンピューター、スマートフォン、携帯電話、ＰＤＡ（Personal Digital Assistants）、ゲーム機器、ゲーム携帯機器等のあらゆる電子機器にて実現され得る。情報処理装置１０は、ＨＭＤ（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）等が挙げられる。
【００３１】
例えば、情報処理装置１０には、表示制御プログラム１３２及びゲーム処理プログラム１３３等のゲームプログラムが格納された記憶媒体２６ａを装着することが可能である。これらのプログラムは、外部Ｉ／Ｆ２６により読み出されて、ＲＡＭ２３に読み込まれる。
【００３２】
ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、グラフィックカード２５にゲームの進行状況に対応する画像の出力を指示する。グラフィックカード２５は、指示に従い画面に表示するステージやフィールド上のキャラクタ等のオブジェクトの画像処理を行い、キャラクタ等のオブジェクトの画像をディスプレイ２９に描画させる。グラフィックカード２５から出力される画像の一フレーム時間は、例えば１／３０〜１／６０秒である。グラフィックカード２５は、フレーム単位で１枚の画像の描画を実行する。すなわち、一秒間に３０回〜６０回のフレームの画像が描画される。画像処理部１６の機能は、例えばグラフィックカード２５により実現され得る。
【００３３】
また、ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、ゲームの進行に応じてスピーカ３０から所定の音を出力させる。サウンド処理部１７の機能は、例えばＣＰＵ２１がＲＡＭ２３に読み込まれた音を処理するためのプログラムを実行することで実現され得る。音出力部１９の機能は、例えばスピーカ３０により実現され得る。
【００３４】
ディスプレイ２９はタッチパネル３１を搭載していてもよい。この場合、コントローラ１を用いずに入力操作を行うことができ、タッチパネル３１により検出されたタッチ位置の入力情報に基づき、各種の演算処理が実行される。表示部１８の機能は、例えばディスプレイ２９により実現され得る。
【００３５】
通信Ｉ／Ｆ２７は、情報処理装置１０をネットワークに接続するインターフェースである。通信Ｉ／Ｆ２７は、アンテナを有する通信ユニットを介して、他のゲーム機器と通信を行う機能を有してもよい。通信部２０の機能は、例えば通信Ｉ／Ｆ２７により実現され得る。
【００３６】
入力Ｉ／Ｆ２８は、コントローラ１に接続するインターフェースである。コントローラ１は、操作ボタン２及び方向キー３を有してもよい。プレイヤは、操作ボタン２及び方向キー３を操作することでプレイヤキャラクタを所定の方向に移動させて、攻撃等の所定の動作を行わせることができる。入力Ｉ／Ｆ２８は、プレイヤがコントローラ１を用いて行った入力操作に基づく入力情報をＲＡＭ２３に格納させる。ＣＰＵ２１は、ＲＡＭ２３に格納された入力情報に基づきプレイヤキャラクタの動作に関する各種の演算処理を実行する。受付部９の機能は、例えば入力Ｉ／Ｆ２８により実現され得る。
【００３７】
［表示制御］
次に、かかる機能構成及びハードウェア構成を有する情報処理装置１０にて実行されるワイヤーの表示制御処理の一例について、図５を参照して説明する。図５は、本実施形態に係る表示制御処理の一例を示すフローチャートである。本実施形態に係る表示制御処理は、ゲーム実行中にワイヤーの動作を制御する際に実行される。なお、プレイヤキャラクタＰＣは、第２のオブジェクトの一例であり、第１のオブジェクトの一例であるワイヤーＷの挙動から、ワイヤーＷに追従して動作する。
【００３８】
図５の処理が開始されると、検知部１２は、ディスプレイ２９に表示されているワイヤーの始点から終点までのレイキャストを行う（ステップＳ１０）。例えば、図６に一例を示すように、プレイヤキャラクタＰＣが、目標位置に向かってワイヤーＷを射出すると、ワイヤーＷは所定位置で固定され、プレイヤキャラクタＰＣはワイヤーＷの挙動に応じて移動する。
【００３９】
図６には、プレイヤキャラクタＰＣが、時刻ｔ０に位置Ａ１からワイヤーＷを射出した例が示されている。このとき、検知部１２は、ワイヤーＷの始点Ｓ１から終点Ｅ１までの間を所定の角度からレイキャストする（１回目のレイキャスト）。レイキャストとは、ある地点から透明な線（Ｒａｙ）を特定の方向に引いて、そのＲａｙ上のどこかに配置された仮想空間に表示される他のオブジェクト（本実施形態では棒オブジェクト）があるかを検知するものである。その結果、棒オブジェクトＭ１が検出される。
【００４０】
図６の例では、検知部１２は、ワイヤーＷの始点Ｓ１から終点Ｅ１までの幅で、Ｒａｙ上のどこかに棒オブジェクトがあるかを検知する。しかしながら、レイキャストの方法はこれに限らず、例えば、左右方向にＲａｙを引いてもよいし、上下方向及び左右方向にＲａｙを引いてもよいし、所定の斜め方向にＲａｙを引いてもよい。なお、Ｔ時間後のワイヤーＷの始点及び終点は、前回のワイヤーＷの始点及び終点の位置及びワイヤーＷの移動方向から算出可能である。
【００４１】
また、レイキャストをブロックするオブジェクトの属性及びマスクを設定することができる。これによれば、レイキャストをスルーする、つまり、レイキャストにより検知されないオブジェクトやオブジェクトの属性を設定することができる。この場合、検知部１２は、設定条件に合致するオブジェクトを除く他のオブジェクトの始点と終点との間に所定方向からレイキャストを行い、ワイヤーと他のオブジェクトとの接触又は近接の有無を所定の時間間隔が経過する度に検知する。
【００４２】
なお、図６〜図８、図１０の例では、ワイヤーＷの先端は、ワイヤーＷが射出された後に仮想空間を移動し、何れかの位置で固定される。プレイヤキャラクタＰＣは、ワイヤーＷに引っ張られて仮想空間を飛びながら、移動することができる。
【００４３】
図５に戻り、検知部１２が、レイキャストにより他のオブジェクト（棒オブジェクト）を検知した場合、判定部１４は、検知した棒オブジェクトにワイヤーＷが接触又は近接するかを判定する（ステップＳ１２）。
【００４４】
図６の例では、時刻ｔ０に位置Ａ１から射出されたワイヤーＷの始点Ｓ１から終点Ｅ１までの位置情報と配置情報テーブル１３１に記憶された棒オブジェクトの位置情報とに基づき、棒オブジェクトにワイヤーＷが接触又は近接するか否かが判定される。時刻ｔ０の時点においてワイヤーＷは、検知した棒オブジェクトＭ１に接触せず、近接もしていない。よって、判定部１４は、ステップＳ１２において「Ｎｏ」と判定し、ステップＳ１８に進んでＴ時間が経過したかを判定する（ステップＳ１８）。Ｔ時間は、予め定められた所定の時間の一例であり、例えば、１秒等の時間に予め設定されている。Ｔ時間は、カウンタをステップＳ１０の処理前にリセットし、レイキャスト開始時からカウントアップした時間である。
【００４５】
判定部１４は、ステップＳ１８においてＴ時間が経過したと判定した場合、ステップＳ１０に戻る。次に、ステップＳ１０以降の処理が再度実行される。
【００４６】
図６には、プレイヤキャラクタＰＣが、時刻ｔ０からＴ時間経過後の時刻ｔ０＋Ｔに、位置Ａ２に移動した例が示されている。このとき、検知部１２は、ステップＳ１０において、ワイヤーＷの始点Ｓ２から終点Ｅ２までの間をレイキャストする（２回目のレイキャスト）。
【００４７】
判定部１４は、時刻ｔ０＋ＴにおけるワイヤーＷの始点Ｓ２から終点Ｅ２までの位置情報と、配置情報テーブル１３１に記憶された棒オブジェクトの位置情報とに基づき、検知した棒オブジェクトにワイヤーＷが接触又は近接するか否かを判定する。図６の例では、時刻ｔ０＋Ｔの時点においてワイヤーＷは、検知した棒オブジェクトＭ１に接触する。よって、判定部１４は、ステップＳ１２において「Ｙｅｓ」と判定し、ステップＳ１４に進む。
【００４８】
ステップＳ１４において、表示制御部１５は、ワイヤーＷが接触した位置又はワイヤーＷの接触予測位置にて、ワイヤーＷの射出方向に応じた方向にワイヤーＷを折り曲げる表示を制御する。次に、表示制御部１５は、ワイヤーＷの折り曲げられた位置情報と角度情報を、記憶部１３の履歴情報テーブル１３０の履歴情報Ｎｏ．ｎ（変数ｎの初期値は１）に保存し、変数ｎに１を加算する（ステップＳ１６）。例えば、ワイヤーＷのワイヤーＮｏ．がＷ１の場合、この時点では、履歴情報テーブル１３０の履歴情報Ｎｏ．１のワイヤーＮｏ．Ｗ１に紐付けて、図６の接触位置を示す座標（ｘ１、ｙ１、ｚ１）が位置情報１に記憶され、図６の折り曲げられたワイヤーＷの角度θ１が角度情報１に記憶される。
【００４９】
以上に説明した図５のステップＳ１０〜Ｓ１８の処理は、時刻ｔ０、時刻ｔ０＋Ｔ、時刻ｔ０＋２Ｔ、時刻ｔ０＋３Ｔ、・・・というように所定の時間間隔Ｔで繰り返し実行される。つまり、今回の検出タイミングは、前回の検出からＴ時間経過後であり、不連続に画像の生成及び表示が行われる。
【００５０】
図７には、プレイヤキャラクタＰＣが、前回の時刻ｔ０＋ＴからＴ時間経過後の時刻ｔ０＋２Ｔに、ワイヤーＷに引っ張られて位置Ａ２から位置Ａ３に移動した例が示されている。このとき、図５のステップＳ１２において、検知部１２は、レイキャストを行い（３回目のレイキャスト）、棒オブジェクトＭ１に加えて棒オブジェクトＭ２を検出する。
【００５１】
次に、判定部１４は、時刻ｔ０＋２ＴにおけるワイヤーＷの始点Ｓ３から終点Ｅ３までの位置情報と、配置情報テーブル１３１に記憶された棒オブジェクトの位置情報とに基づき、検知した棒オブジェクトにワイヤーＷが接触又は近接するか否かを判定する（ステップＳ１２）。図７の例では、時刻ｔ０＋２Ｔの時点においてワイヤーＷは、検知した棒オブジェクトＭ２に接触する。よって、判定部１４は、ステップＳ１２において「Ｙｅｓ」と判定し、ステップＳ１４において、表示制御部１５は、ワイヤーＷの移動する方向に応じた方向にワイヤーＷを折り曲げる。なお、検知した棒オブジェクトにワイヤーＷが近接していることが検知された場合には、表示制御部１５は、検出した近接する位置に応じて棒オブジェクトとの接触予測位置を算出し、接触予測位置にてワイヤーＷの動作に応じた方向にワイヤーＷを折り曲げて表示させる。
【００５２】
次に、表示制御部１５は、ワイヤーＷの折り曲げられた位置情報と角度情報を、記憶部１３の履歴情報テーブル１３０の履歴情報Ｎｏ．ｎに保存し、変数ｎに１を加算する（ステップＳ１６）。この時点では、履歴情報テーブル１３０の履歴情報Ｎｏ．２のワイヤーＮｏ．Ｗ１に紐付けて、図７の接触した位置を示す座標（ｘ２、ｙ２、ｚ２）が位置情報２に記憶され、図７の折り曲げられたワイヤーＷの角度θ２が角度情報２に記憶される。
【００５３】
以上の処理を繰り返すことにより、図８に一例を示すように、ワイヤーＷ１が特定のワイヤーＷ１であるときに、ワイヤーＷ１が、棒オブジェクトＭ１，Ｍ２，Ｍ３と座標（ｘ１、ｙ１、ｚ１）、座標（ｘ２、ｙ２、ｚ２）、座標（ｘ３、ｙ３、ｚ３）の位置でそれぞれ接触したとする。そして、その結果、ワイヤーＷの挙動から、ワイヤーＷを持つプレイヤキャラクタＰＣが、点線で示すａ１→ａ２→ａ３→ａ４のルートを辿り、位置Ａ５まで移動したとする。
【００５４】
位置Ａ５には、例えば図示しない敵キャラクタ又は建物等のオブジェクトが存在し、プレイヤキャラクタＰＣが敵キャラクタを倒した後又は建物等のオブジェクトで方向転換をした後、例えば、元のルートを逆に辿る表示制御方法について、図９を参照しながら説明する。ただし、図９における元のルートを逆に辿る表示制御方法では、最初の位置まで戻ることもできるし、途中まで戻ることも可能である。
【００５５】
［表示制御（逆向きの動作）］
図９の処理が開始されると、判定部１４は、ワイヤーＷを持つプレイヤキャラクタＰＣが、前回移動した方向と概ね逆向きに動作したか否かを判定する（ステップＳ２０）。判定部１４は、プレイヤキャラクタＰＣが逆向きに動作していないと判定した場合、本処理を終了する。
【００５６】
一方、判定部１４が、プレイヤキャラクタＰＣが逆向きに動作していると判定した場合、表示制御部１５は、履歴情報テーブル１３０の履歴情報のうちプレイヤキャラクタＰＣが持つワイヤーＷ（例えば、ワイヤーＷ１）の、最も新しく記憶された位置情報ｎ及び角度情報ｎを読み出す（ステップＳ２２）。
【００５７】
次に、表示制御部１５は、プレイヤキャラクタＰＣが持つワイヤーＷの、位置情報ｎが示す位置における角度情報ｎが示す角度の折れ曲げをなくして、プレイヤキャラクタＰＣとともに表示する（ステップＳ２４）。これにより、例えば、図１０に一例を示すように、ワイヤーＷ１の座標（ｘ３、ｙ３，ｚ３）における折れ曲がりがなくなり、プレイヤキャラクタＰＣがルートｂ１を通って位置Ａ６まで戻ったときの状態が表示される。
【００５８】
次に、表示制御部１５は、変数ｎから１を減算する（ステップＳ２６）。次に、判定部１４は、変数ｎが１よりも小さいか否かを判定する（ステップＳ２８）。判定部１４は、変数ｎが１よりも小さいと判定した場合、本処理を終了する。
【００５９】
判定部１４は、変数ｎが１以上であると判定した場合、ステップＳ２２に戻り、表示制御部１５は、履歴情報テーブル１３０の履歴情報のうち、最も新しく記憶された位置情報から一つ前の位置情報ｎ及び一つ前の角度情報ｎを読み出す（ステップＳ２２）。
【００６０】
次に、表示制御部１５は、プレイヤキャラクタＰＣが持つワイヤーＷの、位置情報ｎが示す位置における角度情報ｎが示す角度の折れ曲げをなくして、プレイヤキャラクタＰＣとともに表示する（ステップＳ２４）。これにより、例えば、図１０に一例を示すように、ワイヤーＷ１の座標（ｘ２、ｙ２，ｚ２）における折れ曲がりがなくなり、プレイヤキャラクタＰＣがルートｂ２を通って位置Ａ７まで戻ったときの状態が表示される。
【００６１】
以上の説明に従い、ステップＳ２８において変数ｎが１よりも小さくなるまで、ステップＳ２０〜Ｓ２８の処理が繰り返されると、図１０に示すように、プレイヤキャラクタＰＣが、ｂ１→ｂ２→ｂ３・・・のルートを巡る。これにより、プレイヤキャラクタＰＣは、履歴情報テーブル１３０に保存された最新の位置情報及び角度情報から順に一つずつ古い位置情報及び角度情報を用いても元の位置まで戻ることができる。
【００６２】
以上、本実施形態に係る表示制御処理について説明した。本実施形態に係る表示制御方法によれば、ゲーム実行中、時間間隔Ｔ毎にワイヤーＷと棒オブジェクトとの接触又は近接を判定する。これにより、実際には不連続な画像を連続的に見えるように時間間隔Ｔを設定する。また、本実施形態では、時間Ｔの間隔で、オブジェクトの表示制御の演算処理を行い、その間はオブジェクトの表示制御の演算処理を行わない。このとき、時間Ｔには、例えば、オブジェクトの動作から１秒等の適正な時間が設定される。これにより、オブジェクトを自然に動作させながら、処理の負荷を軽減することができる。
【００６３】
特に、ゲームの内容から重要でない場面や、画面内のキャラクタ等のスピードによっては、時間間隔Ｔ毎に画像を生成し、時間間隔Ｔで不連続に該画像を表示しても、さほどゲームに影響を及ぼさない場合がある。よって、本実施形態に係る表示制御方法によれば、オブジェクトを自然に動作させることでプレイヤのゲームへの没入感を阻害せずに、ゲームにおける処理の負荷を軽減することができる。
【００６４】
なお、上記実施形態では、ゲーム実行中、時間間隔Ｔ毎にワイヤーＷと棒オブジェクトとの接触又は近接を判定し、その判定結果に基づきワイヤーＷを棒オブジェクトとの接触又は近接位置にて折り曲げるように描画した。しかしながら、ワイヤーＷは折り曲げる描画に限られず、前記判定結果に基づきワイヤーＷを棒オブジェクトとの接触又は近接位置に対応してカーブ（円弧）を描くような歪曲形状に画像処理し、画面に描画してもよい。
【００６５】
以上、情報処理装置、表示制御プログラム及び表示制御方法を上記実施形態により説明したが、本発明にかかる情報処理装置、表示制御プログラム及び表示制御方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。
【００６６】
例えば、上記実施形態では、ゲームの画像を表示する場面を例に挙げてオブジェクトの表示制御方法（処理）について説明した。しかしながら、本発明に係る表示制御方法（処理）は、ゲームに限らず、アニメ映像を表示する場面やその他のアニメーションを表示する場合に適用可能である。
【符号の説明】
【００６７】
９    受付部
１０  情報処理装置
１１  ゲーム実行部
１２  検知部
１３  記憶部
１４  判定部
１５  表示制御部
１６  画像処理部
１７  サウンド処理部
１８  表示部
１９  音出力部
２０  通信部
１３０  履歴情報テーブル
１３１  配置情報テーブル
１３２  表示制御プログラム
１３３  ゲーム処理プログラム
【図１】
0006987634.tif 000002
【図２】
0006987634.tif 000003
【図３】
0006987634.tif 000004
【図４】
0006987634.tif 000005
【図５】
0006987634.tif 000006
【図６】
0006987634.tif 000007
【図７】
0006987634.tif 000008
【図８】
0006987634.tif 000009
【図９】
0006987634.tif 000010
【図１０】
0006987634.tif 000011