(57)【要約】【課題】仮想カメラの撮影領域に応じた仮想障壁を生成する。【解決手段】仮想カメラによる仮想空間上の撮影範囲を示す視錐台を特定する特定部と、特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、仮想空間の前記交線に応じた位置に配置する仮想障壁生成部と、を有する情報処理装置が提供される。【選択図】図４
2019087075.tif 000002
【特許請求の範囲】
【請求項１】
仮想カメラによる仮想空間上の撮影範囲を示す視錐台を特定する特定部と、
特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、仮想空間の前記交線に応じた位置に配置する仮想障壁生成部と、
を有する情報処理装置。
【請求項２】
前記特定部は、
前記仮想カメラの移動又は角度の変更に応じて再度前記視錐台を特定し、
前記仮想障壁生成部は、
再度特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、前記交線に応じた位置に配置する、
請求項１に記載の情報処理装置。
【請求項３】
前記仮想障壁生成部は、
特定した前記視錐台の左面及び右面が地面に対して垂直である場合、前記左面及び右面のそれぞれと地面との交線上に前記仮想障壁を配置する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記仮想障壁生成部は、
特定した前記視錐台の左面及び右面が地面に対して垂直でない場合、前記左面及び右面のそれぞれの地面に対する傾きに応じた位置に前記仮想障壁を配置する、
請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記仮想カメラにより撮影される、特定のオブジェクトの所定パーツの位置を算出する算出部を有し、
前記仮想障壁生成部は、
特定した前記視錐台の下面と地面との交線上に配置される前記特定のオブジェクトの、算出した前記所定パーツの位置に応じた前記下面の位置に前記仮想障壁を配置する、
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記仮想障壁生成部は、
前記特定のオブジェクトが複数である場合、該複数のオブジェクトから選択されたオブジェクトの所定パーツの位置を通る線上に所定幅の前記仮想障壁を生成し、配置する、
請求項５に記載の情報処理装置。
【請求項７】
前記仮想障壁生成部は、
前記特定のオブジェクトは、プレイヤキャラクタである、
請求項５又は６に記載の情報処理装置。
【請求項８】
前記仮想カメラは、プレイヤキャラクタに追従せず、ステージ又はフィールドを映す仮想カメラである、
請求項１〜７のいずれか一項に記載の情報処理装置。
【請求項９】
仮想カメラによる仮想空間上の撮影範囲を示す視錐台を特定し、
特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、仮想空間の前記交線に応じた位置に配置する、
処理をコンピュータに実行させる生成プログラム。
【請求項１０】
仮想カメラによる仮想空間上の撮影範囲を示す視錐台を特定し、
特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、仮想空間の前記交線に応じた位置に配置する、
ステップをコンピュータが実行する生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、生成プログラム及び生成方法に関する。
【背景技術】
【０００２】
仮想カメラを使用して仮想空間におけるキャラクタ等のオブジェクトを撮影し、進行するゲームやアニメのキャラクタ等のオブジェクトを画面上に描画することが知られている（例えば、特許文献１を参照）。
【０００３】
仮想カメラが固定されている状況において、キャラクタが仮想空間を移動し、仮想カメラによる撮影が可能な領域外に移動すると、仮想カメラに映っていたキャラクタは画面から外れ、映らない状態となる。ゲームにおいて操作対象となるキャラクタ等のオブジェクトは、画面内に表示しておく必要がある。
【０００４】
そこで、ゲーム開発時に仮想空間に設計されるステージに仮想カメラを固定し、仮想カメラによる撮影が可能な領域と撮影が不可能な領域との境界に仮想の障壁を配置し、その仮想障壁によってプレイヤキャラクタが仮想カメラによる撮影が不可能な領域に行かないようにしている。
ところが、仮想カメラの配置はステージ毎に異なる。よって、デザイナーは、開発時にステージ毎に仮想カメラを固定した後、仮想カメラの位置に応じた仮想障壁の配置情報を作成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−８４０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、仮想カメラをステージ毎に固定せずに動かしたい場合がある。例えば、ステージを映す仮想カメラを前後に緩やかに移動させたり、緩やかに角度を変えてステージの撮影可能な領域を増やし、ステージを最大限活用したい場合等である。このような場合に、仮想カメラの位置を変える度にデザイナーがステージの設計を変更することは煩雑であり、現実的でない。また、デザイナーによるステージ毎の設計が完了した後に、仮想カメラの固定位置を異なる位置に変更したい場合がある。
【０００７】
上記課題に対して、一側面では、本発明は、仮想カメラの撮影領域に応じた仮想障壁を生成することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、一の態様によれば、仮想カメラによる仮想空間上の撮影範囲を示す視錐台を特定する特定部と、特定した前記視錐台の下面、左面及び右面のそれぞれと地面との交線に基づき、所定幅の仮想障壁を生成し、仮想空間の前記交線に応じた位置に配置する仮想障壁生成部と、を有する情報処理装置が提供される。
【発明の効果】
【０００９】
一の側面によれば、仮想カメラの撮影領域に応じた仮想障壁を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る仮想カメラの視錐台と画面の一例を示す図。
【図２】一実施形態に係る情報処理装置の機能構成の一例を示す図。
【図３】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図。
【図４】一実施形態に係る障壁生成処理（メイン処理）の一例を示すフローチャート。
【図５】一実施形態に係る下面の障壁生成処理の一例を示すフローチャート。
【図６】一実施形態に係る下面の仮想障壁の一例を示す図。
【図７】一実施形態に係る左面及び右面の障壁生成処理の一例を示すフローチャート。
【図８】一実施形態に係る左面及び右面の仮想障壁の一例を示す図。
【図９】一実施形態に係る仮想カメラの角度が変化した場合の仮想障壁の一例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１２】
［情報処理装置］
本発明の一実施形態に係る情報処理装置１０は、仮想カメラにより撮影されるキャラクタを用いたゲームを実行する機能を有する。本実施形態に係る情報処理装置１０は、タブレット型端末、パーソナルコンピューター、スマートフォン、携帯電話、ＰＤＡ（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）等が挙げられる。
【００２９】
例えば、情報処理装置１０には、仮想障壁生成プログラム１３１及びゲーム処理プログラム１３２等のゲームプログラムが格納された記憶媒体２６ａを装着することが可能である。これらのプログラムは、外部Ｉ／Ｆ２６により読み出されて、ＲＡＭ２３に読み込まれる。
【００３０】
ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、グラフィックカード２５にゲームの進行状況に対応する画像の出力を指示する。グラフィックカード２５は、指示に従い画面に表示するフィールド上のキャラクタ等の画像処理を行い、キャラクタ等の画像をディスプレイ２９に描画させる。グラフィックカード２５から出力される画像の一フレーム時間は、例えば１／３０〜１／６０秒である。グラフィックカード２５は、フレーム単位で１枚の画像の描画を実行する。すなわち、一秒間に３０回〜６０回のフレームの画像が描画される。画像処理部１６の機能は、例えばグラフィックカード２５により実現され得る。表示部１８の機能は、例えばディスプレイ２９により実現され得る。
【００３１】
また、ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記の各種プログラムを処理し、ゲームの進行に応じてスピーカ３０から所定の音を出力させる。サウンド処理部１７の機能は、例えばＣＰＵ２１がＲＡＭ２３に読み込まれた上記の各種プログラムを実行することで実現され得る。音出力部１９の機能は、例えばスピーカ３０により実現され得る。
【００３２】
通信Ｉ／Ｆ２７は、情報処理装置１０をネットワークに接続するインターフェースである。また、通信Ｉ／Ｆ２７は、アンテナを有する通信ユニットを介して、他のゲーム機器と通信を行う機能を有してもよい。通信部２０の機能は、例えば通信Ｉ／Ｆ２７により実現され得る。
【００３３】
入力Ｉ／Ｆ２８は、コントローラ１に接続するインターフェースである。コントローラ１は、操作ボタン２及び方向キー３を有する。プレイヤは、操作ボタン２及び方向キー３を操作することでプレイヤキャラクタを所定の方向に移動させて、攻撃等の所定の動作を行わせることができる。入力Ｉ／Ｆ２８は、プレイヤがコントローラ１を用いて行った入力操作に基づく入力情報をＲＡＭ２３に格納させる。ＣＰＵ２１は、ＲＡＭ２３に格納された入力情報に基づきプレイヤキャラクタの動作に関する各種の演算処理を実行する。受付部７の機能は、例えば入力Ｉ／Ｆ２８により実現され得る。
【００３４】
ディスプレイ２９はタッチパネル３１を搭載していてもよい。これにより、コントローラ１を用いずに入力操作を行うことができる。この場合、タッチパネル３１により検出されたタッチ位置の入力情報は、ＲＡＭ２３に格納され、ＣＰＵ２１はＲＡＭ２３に格納された入力情報に基づき各種の演算処理を実行してもよい。
【００３５】
［障壁生成処理］
次に、一実施形態に係る障壁生成処理の一例について、図４を参照しながら説明する。図４は、一実施形態に係る障壁生成処理（メイン処理）の一例を示すフローチャートである。
【００３６】
なお、本処理が開始される前に、判定部１５によって、ステージを映す仮想カメラＶＣと、プレイヤキャラクタＰＣに追従して動く仮想カメラとのいずれが使用されているかが判定される。ステージを映す仮想カメラＶＣが使用されている場合、本処理が開始される。
【００３７】
本処理が開始されると、まず、受付部７が、ゲーム開始の操作を受け付けたかを判定する（ステップＳ１０）。受付部７がゲーム開始の操作を受け付けると、ゲーム実行部８は、ゲームを開始し、特定部１１は、仮想カメラＶＣの視錐台を特定する（ステップＳ１２）。次に、仮想障壁生成部１４は、視錐台の下面ＤＳの仮想障壁を生成する処理を実行する（ステップＳ１４）。
【００３８】
（下面ＤＳの仮想障壁生成処理）
視錐台の下面ＤＳの仮想障壁を生成する処理について、図５及び図６を参照しながら説明する。図５は、一実施形態に係る下面ＤＳの障壁生成処理の一例を示すフローチャートである。図６は、一実施形態に係る下面ＤＳの仮想障壁の一例を示す図である。
【００３９】
図５は、図４のＳ１４の処理において呼び出される。図５において、算出部１２は、特定した視錐台の下面ＤＳと地面との交線を算出する。仮想障壁生成部１４は、交線に応じた所定幅及び所定高さの仮想障壁を生成し、算出した交線に平行で、プレイヤキャラクタＰＣの腰を通る位置に仮想障壁を配置し（ステップＳ２６）、本処理を終了する。
【００４０】
これによれば、図６に示すように、ディスプレイ２９の交線上に位置するプレイヤキャラクタＰＣの腰の位置ＳＰが算出される。図６の例では、特定した視錐台を、上面ＵＳ、下面ＤＳ、右面ＲＳ、左面ＬＳの斜視図で示している。例えば、仮想カメラＶＣが地面に平行に配置されている場合、地面と平行なライン０に対して、焦点Ｆから上方に３０°の角度で上面ＵＳが配置され、焦点Ｆから下方に３０°の角度で下面ＤＳが配置される。
【００４１】
図５に示す処理により、視錐台の下面ＤＳと地面との交線ＧＭに平行で、プレイヤキャラクタＰＣの腰を通る所定幅及び所定高さの仮想障壁Ｃｄが生成され、配置される。ただし、仮想障壁Ｃｄは、ゲームのプレイヤには見えない。仮想障壁Ｃｄは、プレイヤキャラクタＰＣが、仮想障壁Ｃｄよりも下側に位置しないように、プレイヤキャラクタＰＣの動作範囲を抑制するための仮想的な障壁である。これにより、プレイヤキャラクタＰＣが、仮想空間から下側にフレームアウトして画面からいなくなることを回避できる。
【００４２】
図４に戻り、続いて、仮想障壁生成部１４は、視錐台の右面ＲＳ及び左面ＬＳの仮想障壁を生成する処理を実行する（ステップＳ１６）。
【００４３】
（右面ＲＳ及び左面ＬＳの仮想障壁生成処理）
視錐台の右面ＲＳ及び左面ＬＳの仮想障壁を生成する処理について、図７及び図８を参照しながら説明する。図７は、一実施形態に係る左面ＬＳ及び右面ＲＳの障壁生成処理の一例を示すフローチャートである。図８は、一実施形態に係る左面ＬＳ及び右面ＲＳの仮想障壁の一例を示す図である。
【００４４】
図７は、図４のＳ１６の処理において呼び出される。図７において、判定部１５は、視錐台の右面ＲＳに傾きがあるかを判定する（ステップＳ３０）。なお、視錐台の右面ＲＳの傾き」とは、カメラのロール（ｒｏｌｌ）をいう。
【００４５】
判定部１５が、視錐台の右面ＲＳが地面に垂直であり、傾きがないと判定した場合、算出部１２は、ステップＳ３４に進み、視錐台の右面ＲＳを含む平面と地面との交線を算出する。
【００４６】
ステップＳ３０において、判定部１５が、右面ＲＳが地面に垂直でなく、傾きがあると判定した場合、算出部１２は、視錐台の右面ＲＳを、傾きのない状態の、地面に垂直な右面ＲＳに置換する（ステップＳ３２）。次に、算出部１２は、ステップＳ３４に進み、置換した視錐台の右面ＲＳを含む平面と地面との交線を算出する。
【００４７】
次に、仮想障壁生成部１４は、算出した交線上に、視錐台の右面ＲＳの面法線と同一の法線を持つ所定幅及び所定高さの仮想障壁を生成し、配置する（ステップＳ３６）。
【００４８】
なお、「視錐台の右面ＲＳの面法線と同一の法線」とは、右面ＲＳに垂直であって地面に向かう面法線と同一の法線をいう。
【００４９】
この結果、図８に一例を示すように、右面ＲＳと地面の交線ＬＲ上に所定幅及び所定高さの仮想障壁Ｃｒが生成され、配置される。ただし、仮想障壁Ｃｒは、ゲームのプレイヤには見えない。仮想障壁Ｃｒは、プレイヤキャラクタＰＣが、仮想障壁Ｃｒよりも右側に位置しないように、プレイヤキャラクタＰＣの動作範囲を抑制するための仮想的な障壁である。これにより、プレイヤキャラクタＰＣが、仮想空間から右側にフレームアウトして画面からいなくなることを回避できる。
【００５０】
図７に戻り、次に、算出部１２は、視錐台の左面ＬＳを含む平面と地面との交線を算出する（ステップＳ３８）。次に、仮想障壁生成部１４は、算出した交線上に、視錐台の左面ＬＳの面法線と同一の法線を持つ所定幅及び所定高さの仮想障壁を生成し、配置する（ステップＳ４０）。これにより、本処理を終了する。
【００５１】
なお、「視錐台の左面ＬＳの面法線と同一の法線」とは、左面ＬＳに垂直であって地面に向かう面法線と同一の法線をいう。
【００５２】
この結果、図８に一例を示すように、特定した視錐台の左面ＬＳと地面との交線ＬＰ上に所定幅及び所定高さの仮想障壁Ｃｌが生成され、配置される。ただし、仮想障壁Ｃｌは、ゲームのプレイヤには見えない。仮想障壁Ｃｌは、プレイヤキャラクタＰＣが、仮想障壁Ｃｌよりも左側に位置しないように、プレイヤキャラクタＰＣの動作を抑制する仮想的な障壁である。これにより、プレイヤキャラクタＰＣが、仮想空間から左側にフレームアウトして画面からいなくなることを回避できる。
【００５３】
図４に戻り、次に、撮影部９は、仮想カメラＶＣを用いて仮想空間を撮影する（ステップＳ１８）。このとき、仮想カメラＶＣの視錐台の下面ＤＳに対応する仮想障壁Ｃｄと、右面ＲＳに対応する仮想障壁Ｃｒと、左面ＬＳに対応する仮想障壁Ｃｌとから、プレイヤキャラクタＰＣは、仮想カメラＶＣの外側にフレームアウトして見えなくなることはない。これにより、プレイヤキャラクタＰＣは、常にディスプレイ２９に表示される。
【００５４】
次に、判定部１５は、ゲームを終了したかを判定する（ステップＳ２０）。判定部１５がゲームを終了したと判定すると、本処理を終了する。判定部１５がゲームを終了していないと判定すると、判定部１５は、仮想カメラＶＣが移動又は角度を変更したかを判定する（ステップＳ２２）。判定部１５は、仮想カメラＶＣが移動しておらず、かつ角度を変更していないと判定した場合、ステップＳ１８に戻り、仮想カメラＶＣによる撮影を続け、ゲームを進行させる。
【００５５】
一方、ステップＳ２２において、判定部１５が、仮想カメラＶＣが移動した又は角度を変更したと判定した場合、特定部１１は、移動後又は角度変更後の仮想カメラＶＣの視錐台を特定する（ステップＳ２４）。次に、仮想障壁生成部１４は、視錐台の下面ＤＳの仮想障壁を生成する処理を実行する（ステップＳ２６）。視錐台の下面ＤＳの仮想障壁を生成する処理は、ステップＳ１４にて説明したため、ここでは説明を省略する。
【００５６】
次に、仮想障壁生成部１４は、視錐台の右面ＲＳ及び左面ＬＳの仮想障壁を生成する処理を実行する（ステップＳ２８）。視錐台の右面ＲＳ及び左面ＬＳの仮想障壁を生成する処理は、ステップＳ１６にて説明したため、ここでは説明を省略する。
【００５７】
例えば、図９に示すように、仮想カメラＶＣを回転させ、仮想カメラＶＣの角度が変更された場合、ステップＳ２４〜Ｓ２８の処理が実行されることで、仮想障壁が再生成される。そして、再生成された仮想障壁は、仮想カメラＶＣが回転する前の点線の仮想障壁Ｃｄ、Ｃｒ，Ｃｌの位置から回転後の実線の仮想障壁Ｃｄ、Ｃｒ，Ｃｌの位置へ再配置される。
【００５８】
例えば、概ね仮想カメラＶＣは固定され、あるステージを撮影しているが、プレイヤキャラクタＰＣがステージの左端から入り、右端から出る場面において、仮想カメラＶＣをズームアウトしてもステージの左端と右端との両方を映すことができない場合がある。この場合、カメラの角度を緩やかに変化させることがある。このような場合にも、本実施形態によれば、仮想カメラＶＣの緩やかな角度の変更又は緩やかな移動によって、ステージ全体を撮影でき、かつ、仮想カメラＶＣの移動に応じて仮想障壁Ｃｄ，Ｃｒ，Ｃｌを再生成及び再配置することで、プレイヤキャラクタＰＣが画面から消えることを回避できる。
【００５９】
次に、ステップＳ１８に戻り、仮想カメラＶＣにより撮影を続け、ゲームを進行させ、ステップＳ２０においてゲームが終了するまでステップＳ１８〜Ｓ２８の処理が繰り返される。なお、仮想障壁Ｃｄ、Ｃｒ、Ｃｌは、直方体の形状であってもよいし、板状であってもよいし、その他の形状であってもよい。
【００６０】
従来、開発時にステージを設計するデザイナーが、ステージを映す仮想カメラの視錐台に応じて仮想障壁を設計していた。このとき、ステージの設計が完了した後において、開発者は、ステージを映す仮想カメラＶＣの位置を変えたい場合、設計済みの仮想障壁に関する情報を利用できず、変更した仮想カメラＶＣの位置に応じてデザイナーが再度、仮想障壁を設計する場合があった。
【００６１】
これに対して、本実施形態によれば、仮想カメラＶＣの配置又は再配置に応じた仮想障壁が生成される。これにより、仮想カメラＶＣを配置又は再配置しても、プレイヤキャラクタＰＣが画面からいなくなることを回避できる。また、仮想カメラＶＣを移動又は角度変更させた場合において、移動後又は角度変更後の仮想カメラＶＣの位置に応じた仮想障壁が再生成される。これにより、仮想カメラＶＣを動かしても、プレイヤキャラクタＰＣが画面からいなくなることを回避できる。
【００６２】
これにより、デザイナーが仮想障壁の位置の設計を行う手間が省け、開発の効率化と開発時間の短縮を図ることができる。また、本実施形態によれば、ステージにて仮想カメラＶＣの移動や角度の変更を自由に行える。これにより、仮想カメラＶＣの固定や仮想カメラＶＣを緩やかに動かしたときに、プレイヤキャラクタＰＣがいなくならないことを保証しつつ、ゲームの設計の自由度が増え、ゲームの開発が容易になる。
【００６３】
本実施形態では、仮想カメラＶＣの視錐台の上面ＵＳに仮想障壁を配置しない。その理由は、上面ＵＳは地面と交わらないため、無限まで撮像が可能であり、仮想障壁を配置するシーンがほとんどないためである。つまり、上面ＵＳの奥行側には、プレイヤキャラクタＰＣをどこまでも描画でき、上面ＵＳの手前側からプレイヤキャラクタＰＣが消えることは想定し難い。このように、上面ＵＳに仮想障壁を配置しなくても、プレイヤキャラクタＰＣを映し続けることができることに加えて、画面の奥行側には、予め大きな壁が配置されている場面が多く、その壁によりプレイヤキャラクタＰＣの動作は制限される。以上から、上面ＵＳに仮想障壁を配置しないことで、仮想障壁生成処理の負荷を軽減できる。ただし、上面ＵＳに仮想障壁を配置してもよい。
【００６４】
本実施形態では、プレイヤキャラクタＰＣの腰の位置ＳＰを基準にして視錐台の下面ＤＳの仮想障壁が生成される。プレイヤキャラクタＰＣの腰の位置を基準にするのは、プレイヤキャラクタＰＣが画面の最も手前に来たときに、プレイヤキャラクタＰＣの腰よりも上の映像が表示されることを保証するためのものであり、プレイヤキャラクタＰＣの自然な状態を描画できるためである。ただし、特定のオブジェクトの所定のパーツの位置は、キャラクタの腰の位置に限らず、足の位置、ヒップの位置、膝の位置、肩の位置等、いずれのパーツであってもよい。特定のオブジェクトがキャラクタでない場合においても、特定のオブジェクトの所定のパーツの位置を基準として視錐台の下面ＤＳの仮想障壁を生成することができる。
【００６５】
上記では、プレイヤキャラクタＰＣを、特定のオブジェクトの一例として挙げて説明を行った。その理由は、プレイヤキャラクタＰＣを画面上に映し続けることを保証するためである。ただし、特定のオブジェクトは、これに限らない。例えば、ディスプレイ２９に表示されているキャラクタの前にバルーン等の浮遊物のオブジェクトがあって、その浮遊物のオブジェクトを仮想カメラＶＣからフレームアウトさせたくない場合には、その浮遊物のオブジェクトの位置を基準として、仮想障壁を生成してもよい。この場合の仮想障壁は、リング状又はボール状であってもよい。
【００６６】
特定のオブジェクトは、複数のキャラクタであってもよく、複数のオブジェクトであってもよい。例えば、特定のオブジェクトが複数のキャラクタである場合、プレイヤが選択又は自動選択したいずれか一つのキャラクタの所定パーツの位置を通る線上に所定幅及び所定高さの仮想障壁を生成し、配置するようにしてもよい。
【００６７】
以上、情報処理装置及び制御プログラムを上記実施形態により説明したが、本発明にかかる情報処理装置及び制御プログラムは上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【００６８】
７    受付部
８    ゲーム実行部
９    撮影部
１０  情報処理装置
１１  特定部
１２  算出部
１３  記憶部
１４  仮想障壁生成部
１５  判定部
１６  画像処理部
１７  サウンド処理部
１８  表示部
１９  音出力部
２０  通信部
１３１  仮想障壁生成プログラム
１３２  ゲーム処理プログラム
ＶＣ    仮想カメラ
【図１】
2019087075.tif 000003
【図２】
2019087075.tif 000004
【図３】
2019087075.tif 000005
【図４】
2019087075.tif 000006
【図５】
2019087075.tif 000007
【図６】
2019087075.tif 000008
【図７】
2019087075.tif 000009
【図８】
2019087075.tif 000010
【図９】
2019087075.tif 000011