(57)【要約】【課題】移動オブジェクトと、当該移動オブジェクトに関する吹き出しとの相対的な位置関係を維持しつつ、吹き出しを画面内に表示させその情報をユーザに適切に提示させることのできる仮想カメラ制御プログラムを提供すること。【解決手段】仮想カメラ制御プログラムは、仮想空間内を移動する移動オブジェクトに対してユーザによる選択操作を受け付けると、移動オブジェクトに関連付けられた情報を提示するサブオブジェクトを表示し、サブオブジェクトの全ての部分が視界領域内に位置しているか否かを判定する。サブオブジェクトの全ての部分が視界領域内に位置していないと判定された場合に、サブオブジェクトの全ての部分が視界領域内に位置するように、仮想カメラを移動するように、コンピュータを機能させる。【選択図】図４
2016049201.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に設けた仮想カメラの動作をコンピュータに制御させる仮想カメラ制御プログラムで
あって、
前記仮想カメラからの視界領域に基づいて、表示部に表示するためのゲーム画像を生成
する画像生成部、
前記仮想空間内を移動する移動オブジェクトに対してユーザによる選択操作を受け付ける入力部、
前記選択操作に基づいて、前記移動オブジェクトに関連付けられた情報を提示するサブオブジェクトを表示するサブオブジェクト表示部、
前記サブオブジェクトの全ての部分が前記視界領域内に位置しているか否かを判定するサブオブジェクト位置判定部、及び
前記サブオブジェクト位置判定部によって、前記サブオブジェクトの全ての部分が前記視界領域内に位置していないと判定された場合に、前記サブオブジェクトの全ての部分が前記視界領域内に位置するように、前記仮想カメラを移動させるカメラ制御部、としてコンピュータを機能させる、
仮想カメラ制御プログラム。
【請求項２】
請求項１に記載の仮想カメラ制御プログラムであって、
前記カメラ制御部は、前記入力部を介した前記ユーザの移動操作によって前記仮想空間内において前記仮想カメラを自在に移動させ、
前記サブオブジェクト表示部は、前記サブオブジェクトと前記移動オブジェクトとの相対的な位置関係が固定されるようにして前記サブオブジェクトを表示する仮想カメラ制御プログラムにおいて、
前記カメラ制御部は、前記移動オブジェクトの移動に伴って前記サブオブジェクトが移動した場合に、移動した前記サブオブジェクトが前記視界領域内の所定の位置に固定され続けるように前記仮想カメラを追跡させ、且つ、前記仮想カメラを追従させている間は前記移動操作を禁止する、
仮想カメラ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想カメラ制御プログラムに関し、特に、仮想空間内に設けた仮想カメラの動作をコンピュータに制御させる仮想カメラ制御プログラムに関する。
【背景技術】
【０００２】
ゲーム内の仮想空間において、主人公となるキャラクタ（プレイヤ・オブジェクト）の後方に仮想カメラを配置し、キャラクタの仮想空間内の移動に従って当該移動の様子を映し出す技術が知られている。例えば、特許文献１では、対戦型ゲームにおいて、所与の経路上を移動するオブジェクト（以下、「移動オブジェクト」と呼ぶ）の近くに敵オブジェクトが存在するような場合に、移動オブジェクトの経路を自動的に変更して敵オブジェクトに接近させ、これに併せて仮想カメラを追跡させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８１６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、移動オブジェクトを選択した際に当該移動オブジェクトの情報を提示する吹き出しが表示される場合（図１及び図２参照）、移動オブジェクトの位置又は移動オブジェクトの移動に伴って、当該吹き出しが視界領域からはみ出して表示されてしまう場合がある。
【０００５】
この場合、吹き出しが視界領域内に表示されるように当該吹き出しの位置を最適な場所に変更させる処理を行うことが考えられるが、処理の都度吹き出しの形状（図２参照）を変更しなければならず、処理コストがかかる。
【０００６】
そこで、本発明は、移動オブジェクトと、当該移動オブジェクトに関する吹き出しとの相対的な位置関係を維持しつつ、吹き出しを画面内に表示させその情報をユーザに適切に提示させることのできる仮想カメラ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、第１の仮想カメラ制御プログラムとして、
仮想空間内に設けた仮想カメラの動作をコンピュータに制御させる仮想カメラ制御プログラムで
あって、
前記仮想カメラからの視界領域に基づいて、表示部に表示するためのゲーム画像を生成
する画像生成部、
前記仮想空間に配置され当該仮想空間内を移動する移動オブジェクトに対してユーザによる選択操作を受け付ける入力部、
前記選択操作に基づいて、前記移動オブジェクトに関連付けられた情報を提示するサブオブジェクトを表示するサブオブジェクト表示部、
前記サブオブジェクトの全ての部分が前記視界領域内に位置しているか否かを判定するサブオブジェクト位置判定部、及び
前記サブオブジェクト位置判定部によって、前記サブオブジェクトの全ての部分が前記視界領域内に位置していないと判定された場合に、前記サブオブジェクトの全ての部分が前記視界領域内に位置するように、前記仮想カメラを移動させるカメラ制御部、としてコンピュータを機能させる、
仮想カメラ制御プログラムが得られる。
【０００８】
また、本発明によれば、第２の仮想カメラ制御プログラムとして、第１に記載の仮想カメラ制御プログラムであって、
前記カメラ制御部は、前記入力部を介した前記ユーザの移動操作によって前記仮想空間内において前記仮想カメラを自在に移動させ、
前記サブオブジェクト表示部は、前記サブオブジェクトと前記移動オブジェクトとの相対的な位置関係が固定されるようにして前記サブオブジェクトを表示する仮想カメラ制御プログラムにおいて、
前記カメラ制御部は、前記移動オブジェクトの移動に伴って前記サブオブジェクトが移動した場合に、移動した前記サブオブジェクトが前記視界領域内に位置し続けるように前記仮想カメラを追跡させ、且つ、前記仮想カメラを追従させている間は前記移動操作を禁止する、
仮想カメラ制御プログラムが得られる。
【発明の効果】
【０００９】
本発明によれば、吹き出しの形状や位置を変更するのではなく、仮想カメラの位置を制御することにより、吹き出しを画面内に表示させることとした。このため、吹き出しの形状を変更することなく、通常のカメラ移動処理と同等の処理コストで処理を行うことができる。
【００１０】
また、移動オブジェクトの移動に伴って吹き出しが移動した場合、当該吹き出しを追跡するように仮想カメラの移動を制御し、且つ、追跡中は、吹き出しを閉じる操作が行われるまでユーザによる画面の移動操作を禁止することとした。これにより、移動オブジェクトが移動した場合でも、吹き出しに提示された情報をユーザに確実に提示することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態による仮想カメラ制御プログラムにより生成されるゲーム画面例を示す。
【図２】本発明の実施の形態による仮想カメラ制御プログラムにより生成される他のゲーム画面例を示す。
【図３】本発明の実施の形態による仮想カメラ制御プログラムを実行するためのゲームシステムの概略図である。
【図４】本実施の形態による仮想カメラ制御プログラムによる仮想カメラの移動制御を模式的に示した図である。
【図５】仮想カメラの移動制御前のゲーム画面例を示す図である。
【図６】仮想カメラの移動制御後のゲーム画面例を示す図である。
【図７】本発明の実施の形態による仮想カメラ制御プログラムが実行された場合の処理の流れを示すフローである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態によるゲームプログラムについて説明する。図中、同一の構成要素には同一の符号を付している。なお、以下の実施形態ではスマートフォンのような携帯端末を用いてユーザ命令によって操作されるゲームプログラムの例について説明するものの、本発明のゲームプログラムにおいてはこれに限定されず、例えば、タッチスクリーンを有するゲームのブラウザ上で操作するアプリケーション全般に適用可能である。
【００１３】
＜ゲームの概要＞
図１及び図２を参照して、本発明の実施形態によるゲームプログラムにより実装されるゲームの概要を説明する。
【００１４】
本実施の形態によるゲームは、所謂「街作りゲーム」であり、ユーザは、仮想空間内に建物オブジェクトを配置することによって街を反映させていくことによりゲームが進行する。本実施の形態による街には、モブキャラクタ（移動オブジェクト：図１及び図２参照）と呼ばれる街人を模したキャラクタが存在し、街内の道路等をランダムに移動する。モブキャラクタの中には、頭上に吹き出しアイコンが表示されているものがある。当該吹き出しアイコンが出ているモブキャラクタをタップすると吹き出しが表示され（図２参照）、当該モブキャラに関連したメッセージを確認する事が出来る。なお、このメッセージは、ユーザに気付きを与える機能をもっている。即ち、街の発展状況（人口数、電力供給率、水道供給率、ユーザに対する支持率）に応じて。モブキャラクタのコメントの発生及びその容が変化する。また、例えば、ゲーム進行中にランダムで発生するハプニングにユーザが対応したときのみに発生するモブキャラクタも存在する。
【００１５】
＜システムの基本構成＞
次に図３を参照して、本発明の実施形態によるゲームプログラムを実行させるためのシステム（ここでは、ゲームシステム）の基本構成について説明する。図３は、ゲームシステムの主要な構成要素のみを示した概略ブロック図である。
【００１６】
図３に示すように、ゲームシステム１００は、ユーザ端末１０、およびゲームサーバ５０を備え、これら要素間はネットワーク３０を介して通信を行う。ユーザ端末１０は、ゲームサーバ５０で生成されるゲーム画像をブラウザ等のアプリケーションにより表示できる装置であればよく、例えば、スマートフォン、タブレット端末、ゲーム用コンソール、ノートＰＣ等を含むが、これらに限定されない。
【００１７】
＜システムの基本構成  ユーザ端末＞
図示されるように、ユーザ端末１０は、端末表示部１１、端末入力部１２、端末処理部１３、端末通信部１４および端末記憶部１５等を備え、これらはバスを介して電気的に相互に接続される。
【００１８】
端末表示部１１は、ゲームサーバ５０から端末通信部１４で受信したゲーム画像を端末記憶部１５に一時的に格納し、ブラウザ等を通じて表示する。端末表示部１１は、例えば液晶ディスプレイ（ＬＣＤ）等によって実現することができるが、実施形態においては、特にマルチタッチスクリーンとして構成するのがよい。
【００１９】
端末入力部１２は、当該ゲームにおける各種オブジェクト等に対するユーザアクション（移動オブジェクトの「選択」「移動」等）をするための命令を入力する。入力手段としては、キーボードや仮想キーボードによる文字入力、マウスによるオブジェクトのクリック、オブジェクト位置に対応するタッチスクリーン上の位置での指によるタッチ入力やスタイラスによる入力、およびその組み合わせとすることができるが、これらに限定されない。
【００２０】
端末入力部１２で受けた入力命令に基づいて、端末処理部１３がユーザ命令を作成し、端末通信部１４およびネットワーク３０を通じてゲームサーバ５０と通信を行う。そして、ゲームサーバ５０内において関連のゲームプログラムが実行される。端末記憶部１５は、ユーザ端末に関連付けられる各種データ、および画像データの表示に必要なブラウザ等のアプリケーションを格納すると共に、ゲームサーバ５０から受信する画像データ等の各種データも一時的に格納する。端末処理部１３はまた、ゲームサーバ５０からダウンロードにより受信した各種データに基づいて、予め格納されたゲームプログラムを端末側で実行するようにしてもよい。
【００２１】
＜システムの基本構成  ゲームサーバ＞
一方、ゲームサーバ５０は、処理部５１、メインメモリ５２、外部メモリ５３、ユーザインタフェース５４、通信部５５およびディスクドライブ５６等を備え、これらはバスを介して電気的に相互に接続される。処理部５１は、外部メモリ５３に格納されたプログラムモジュール、およびディスクドライブ５６に格納された各種データ等をメインメモリ５２にロードして、順次プログラムを実行することによりゲームの進行を制御する。特に、処理部５１は、ユーザ端末１０での表示用ゲーム画像を生成して、通信部５５を介してユーザ端末１０に戻すように構成される。ユーザインタフェース５４は、ゲームサーバ５０の管理者によってサーバにアクセスされ、各種サーバ機能設定やネットワーク設定を実施する。
【００２２】
なお、上記ゲームサーバ５０に関する情報処理装置としての様々な機能の全部または一部は、ユーザ端末１０が担うように構成してもよい。この場合には、ユーザ端末１０単体で情報処理装置を構成するか、またはユーザ端末１０およびゲームサーバ５０全体で情報処理装置が構成される。
【００２３】
＜具体的な情報処理＞
以下の説明においては、ユーザ端末１０がゲームサーバ５０からゲームプログラムをダウンロードし、ユーザ端末１０上において当該ゲームプログラムが実行されるものとして説明する。
【００２４】
図４乃至図６に示されるように、仮想カメラ２００は、視界領域２０２を有している。仮想カメラ制御プログラムは、当該視界領域２０２に含まれる画像を生成してユーザ端末１０の画面（図示せず）に表示する。図においては、モブキャラクタ３００が表示されている。モブキャラクタはユーザの選択操作（タップ操作等）により、当該モブキャラクタのコメントが記載された吹き出し３０２を表示する。しかし、図における仮想カメラ２００の位置では、吹き出し３０２の全ての部分が視界領域内に位置しておらず、視界領域２０２の外側に位置する視界領域外部分３０４が生じてしまっている。従って、ユーザは、吹き出し３０２内のコメントを適切に読むことができない。
【００２５】
本実施の形態による仮想カメラ制御プログラムは、図４に示されるような視界領域外部分３０４が生じている場合、視界領域外部分３０４が視界領域２０２に位置するように仮想カメラ２００を仮想カメラ２００ａの位置まで図のＰ方向に移動させる制御を行う。これにより、視界領域２０２は視界領域２０２ａへと変化するため、吹き出し３０２の全ての部分を視界領域２０２ａ内に収めることができる（図５及び図６参照）。なお、図におけるＰは、ＸＹ平面に沿った動きであり、Ｚ方向には移動していない吹き出し３０２を視界領域２０２内に収める処理として仮想カメラ２００をモブキャラクタ３００から遠ざけるように（即ち、−Ｚ方向に）移動させることも考えられるが、この場合、吹き出し３０２内のコメントの文字が縮小表示されることによってその内容が読みにくくなってしまう。従って、本実施の形態においては、モブキャラクタの対する仮想カメラ２００の遠近方向の位置は変えずに仮想カメラ２００を制御することとしている。
【００２６】
本実施の形態においては、モブキャラクタ３００と吹き出し３０２との位置関係が固定されている。即ち、モブキャラクタ３００を選択操作した際、吹き出し３０２は常にモブキャラクタ３００の頭上（真上）に表示される。この場合、モブキャラクタ３００の移動に伴って吹き出し３０２も移動することとなり、一旦視界領域２０２ａに収めた吹き出し３０２が再度視界領域の外にはみ出してしまうことがある。そこで、本実施の形態においてはモブキャラクタ３００の移動に伴って吹き出し３０２が移動した場合に、移動した吹き出し３０２が前記視界領域内に位置し続けるように仮想カメラ２００を追跡させる。当該追跡の処理は、ユーザにより吹き出し３０２が閉じられるまで（例えば、吹き出し３０２のクローズボタンが選択されるまで）続けられる。更に、仮想カメラ２００による追跡中は、ユーザによる仮想カメラ２００の移動操作（例えば、画面をスライド操作することにより視界領域を変更させる処理）を禁止する処理を行う。なお、仮想カメラ２００による追跡中は、吹き出し３０２が画面内の所定位置（例えば、画面中央等）に固定されるようにして追跡を行う。これにより、吹き出し３０２に対するユーザの操作（例えば、吹き出し３０２を閉じる操作）を容易にすることができる。
【００２７】
図７を参照して、上述した一連の処理の流れを説明する。ユーザによる移動オブジェクト（モブキャラクタ）のタップが行われると、仮想カメラ制御プログラムは、吹き出しを表示する。ここで、吹き出しのうち視界領域外に位置する部分がるか否かを判定し、視界領域外に位置する部分（視界領域が部分）がある場合には、視界領域外部分がなくなるまで仮想カメラを移動する。一方、視界領域外部分がない場合には、吹き出しの追跡を開始すると共にユーザによる画面の移動操作を無効化する。仮想カメラ制御プログラムは、ユーザによる吹き出しの消去操作がされると、当該吹き出しを非表示とする処理を行い、吹き出し追跡を終了すると共にユーザによる画面の移動操作を有効化する。
【００２８】
以上説明した実施の形態はゲームについてのものであったが、本実施の形態による仮想カメラ制御プログラムは、画面内を移動するオブジェクトが存在し、当該オブジェクトを選択することにより当該オブジェクトに関連した情報が吹き出しのようなオブジェクトによって定時されるアプリケーションソフトウェア（シミュレーションソフトウェア、地図ソフトウェア等）全般に適用することができる。
【００２９】
上述した実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【００３０】
１０        ユーザ端末
１１        端末表示部
１２        端末入力部
１３        端末処理部
１４        端末通信部
１５        端末記憶部
５０        ゲームサーバ
５１        処理部
５２        メインメモリ
５３        外部メモリ
５４        ユーザインタフェース
５５        通信部
５６        ディスクドライブ
１００        ゲームシステム
２００、２００ａ        仮想カメラ
２０２、２０２ａ        視界領域
３００        モブキャラクタ
３０２        吹き出し
３０４        視界領域外部分
【図３】
2016049201.tif 000003
【図４】
2016049201.tif 000004
【図５】
2016049201.tif 000005
【図６】
2016049201.tif 000006
【図７】
2016049201.tif 000007
【図１】
2016049201.tif 000008
【図２】
2016049201.tif 000009