JP2012215934A - プログラム、情報記憶媒体、端末、及びサーバ - Google Patents

プログラム、情報記憶媒体、端末、及びサーバ Download PDF

Info

Publication number
JP2012215934A
JP2012215934A JP2011078942A JP2011078942A JP2012215934A JP 2012215934 A JP2012215934 A JP 2012215934A JP 2011078942 A JP2011078942 A JP 2011078942A JP 2011078942 A JP2011078942 A JP 2011078942A JP 2012215934 A JP2012215934 A JP 2012215934A
Authority
JP
Japan
Prior art keywords
virtual camera
satisfied
behavior
restriction condition
control unit
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.)
Withdrawn
Application number
JP2011078942A
Other languages
English (en)
Inventor
Manabu Shimomoto
学 下元
Masato Aikawa
将人 相川
Kenji Otomo
健司 大友
Ko Tada
航 多田
Koki Nishida
幸樹 西田
Naoki Kawada
直希 河田
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2011078942A priority Critical patent/JP2012215934A/ja
Publication of JP2012215934A publication Critical patent/JP2012215934A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】特定の状況においても、視認が容易であり酔いを防止するための画像を生成することが可能なプログラム、情報記憶媒体、端末、及びサーバを提供すること。
【解決手段】制限条件を満たす場合には、仮想カメラの挙動を制限する。
【選択図】図20

Description

本発明は、プログラム、情報記憶媒体、端末、及びサーバに関する。
従来から、オブジェクト空間(仮想的3次元空間)内において仮想カメラ(所与の視点)から見える画像を生成する端末が知られており、いわゆる仮想現実を体験できるものとして人気が高い。例えば、ミサイル、機関砲などをターゲットオブジェクトにヒットさせて攻撃を行うシューティングゲームのための端末が存在する(特許文献1)。
特開2005−319108号公報
このような従来技術では、移動体の挙動に追従する仮想カメラから見える画像を生成し、移動体の挙動をリアルに表現することが多い。しかし、フライトシューティングゲームを例に挙げると、通常戦闘時では、移動体の挙動に仮想カメラを追従させることに問題は生じないとしても、例えば、仮想カメラが、機関砲やミサイル近辺に位置している場合や、機体が地上近くを移動している場合等の特殊な状況下では、移動体の挙動に仮想カメラが追従することにより、ターゲットオブジェクトを狙うことが非常に困難となってしまうことがあった。また、このような特殊な状況下では、移動体の挙動に仮想カメラが追従すると、画像の変化が激しくなり、プレーヤが乗り物酔いのように酔ってしまう症状(3D酔い)が発生するおそれもあった。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、特定の状況においても、視認が容易であり酔いを防止するための画像を生成することが可能なプログラム、情報記憶媒体、端末、及びサーバを提供することにある。
(1)本発明は、画像生成処理を行うプログラムであって、オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する移動体制御部と、前記移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間における前記仮想カメラから見える画像を生成する描画部と、仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する判定部として、コンピュータを機能させ、前記移動体制御部が、前記制限条件を満たす場合に、移動体の挙動を制限し、前記仮想カメラ制御部が、前記制限条件を満たす場合に、前記移動体の挙動の制限に応じて、前記仮想カメラの挙動を制限するプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
ここで、仮想カメラの挙動とは、仮想カメラの回転、仮想カメラの移動方向、仮想カメラの画角の変更の少なくとも1つを含む。なお、仮想カメラの挙動は、仮想カメラが回転しながら移動方向を変化させる旋回も含む。また、移動体の挙動とは、移動体の回転、移動体の移動方向のうち少なくとも1つを含む。なお、移動体の挙動は、移動体が回転しながら移動方向を変化させる旋回も含む。
本発明によれば、制限条件を満たす場合に仮想カメラの挙動を制限するので、視認容易な画像を生成することができる。また、本発明によれば、仮想カメラの挙動が制限されることによって画像の変化も制限され、酔いを防止可能な画像を生成することができる。また、本発明によれば、移動体の挙動の制限に応じて、仮想カメラの挙動を制限するので、移動体の挙動を体感できるような、リアルで自然な画像を生成することができる。
(2)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記仮想カメラの回転量を減少させるようにしてもよい。
ここで、仮想カメラの回転とは、仮想カメラ座標系における所定軸(例えば、視線方向軸)周りの回転のことをいう。本発明によれば、制限条件を満たす場合に単位時間当たりの仮想カメラの回転が緩やかになる。したがって、画像を視認することが容易となり、酔いを防止可能な画像を生成することができる。
(3)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記仮想カメラの移動方向を緩やかに変化させるようにしてもよい。本発明によれば、制限条件を満たす場合に、単位時間当たりの仮想カメラの移動方向が緩やかに変化されるので、画像を視認することが容易となり、酔いを防止可能な画像を生成することができる。
(4)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たす場合には、制限値域内で前記仮想カメラを回転させるようにしてもよい。本発明によれば、制限条件を満たす場合に、制限値域内で仮想カメラを回転させるので、極端な仮想カメラの回転を防止できる。ゆえに、本発明は、更に画像を視認することが容易となり、酔いを防止可能な画像を生成することができる。
(5)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも前記仮想カメラの画角を狭めるようにしてもよい。本発明によれば、ズームインが可能となるので、制限条件下では、例えばターゲットなどの表示物をより視認し易くすることができる。
(6)また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記移動体の回転量を減少させ、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記移動体の回転量を減少に応じて、前記仮想カメラの回転量を減少させるようにしてもよい。
移動体の回転とは、移動体のモデル座標系における所定軸周りの回転のことをいう。本発明によれば、制限条件を満たす場合に単位時間当たりの移動体の回転が緩やかになり、結果的に仮想カメラの回転も緩やかになる。したがって、移動体の回転の応じたリアルで自然な画像を生成することができると共に、画像を視認することが容易となり、酔いを防止可能な画像を生成することができる。
(7)また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記移動体の移動方向を緩やかに変化させ、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記移動体の移動方向の変化に応じて、前記仮想カメラの移動方向を変化させるようにしてもよい。
本発明によれば、制限条件を満たす場合に、単位時間当たりの移動体の移動方向が緩やかに変化され、この移動体の移動方向の変化に応じて、仮想カメラの移動方向を変化させる。したがって、移動体の移動方向に応じたリアルで自然な画像を生成でき、更に、画像を視認することが容易となり、酔いを防止可能な画像を生成することができる。
(8)また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、前記制限条件を満たす場合には、制限値域内で前記移動体を回転させ、前記仮想カメラ制御部が、前記制限条件を満たす場合には、前記移動体の回転に応じて、前記仮想カメラを前記制限値域内で回転させるようにしてもよい。
本発明によれば、制限条件を満たす場合に、制限値域内で移動体を回転させる。そして、移動体の回転に応じて、制限値域内で仮想カメラを回転させるので、極端な仮想カメラの回転を防止できる。ゆえに、本発明は、更に画像を視認することが容易となり、酔いを防止できる画像を生成することができる。
(9)また、本発明のプログラム、情報記憶媒体及び端末は、アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、前記仮想カメラ制御部が、前記制限条件を満たす場合に、アイテムに基づき前記仮想カメラの挙動を制限するようにしてもよい。本発明によれば、アイテムに応じて、仮想カメラの挙動を制限することができる。
(10)また、本発明のプログラム、情報記憶媒体及び端末は、前記アイテムは、複数のカテゴリのいずれかのカテゴリに分類されており、前記移動体制御部が、選択されたアイテムのカテゴリに応じて、前記仮想カメラの挙動を制限するようにしてもよい。本発明によれば、アイテムにカテゴリに応じて、仮想カメラの挙動を制限することができる。
(11)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たす場合に、視点位置に基づき前記仮想カメラの挙動を制限するようにしてもよい。本発明によれば、視点位置に応じて、仮想カメラの挙動を制限することができる。
(12)また、本発明のプログラム、情報記憶媒体及び端末は、アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、前記視点位置は、選択されたアイテムに基づき決定される位置であってもよい。
(13)また、本発明のプログラム、情報記憶媒体及び端末は、アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、前記判定部が、アイテムの選択を受け付けてから当該選択が解除されるまで、前記制限条件を満たすと判定するようにしてもよい。
本発明によれば、アイテムの選択を受け付けてから選択が解除されるまで、仮想カメラの挙動を制限することができる。例えば、シューティングゲームに関する画像を生成する場合には、武器などが選択されると、ターゲットを狙う必要性が高まる。このようにターゲットを狙うという状況下で、適切に仮想カメラの挙動を制限することができる。
(14)また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体に対する相対的な仮想カメラの位置を特定の位置に変更するための視点位置変更入力情報を受け付ける受け付け部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、前記視点位置変更入力情報を受け付けた場合に、仮想カメラの位置を前記特定の位置に変更する処理を行い、前記判定部が、前記視点位置変更入力情報を受け付けてから前記特定の位置での視点変更が解除されるまで、前記制限条件を満たすと判定するようにしてもよい。
本発明によれば、視点位置変更入力情報を受け付けてから特定の位置での視点変更が解除されるまで、仮想カメラの挙動を制限することができる。つまり、特定の位置に仮想カメラが位置する状況下において、適切に仮想カメラの挙動を制限することができる。
(15)また、本発明のプログラム、情報記憶媒体及び端末は、前記オブジェクト空間において、所定範囲を設定するオブジェクト空間設定部として、コンピュータを更に機能させ、前記判定部が、前記移動体が前記所定範囲内に属する場合に、制限条件を満たすと判定するようにしてもよい。本発明によれば、移動体が所定範囲内に属する場合に、仮想カメラの挙動を制限することができる。
(16)また、本発明のプログラム、情報記憶媒体及び端末は、前記仮想カメラ制御部が、前記制限条件を満たさない場合には、第1の所定値以上の入力値に基づいて、前記仮想カメラの挙動を制御し、前記制限条件を満たす場合には、前記第1の所定値よりも大きい第2の所定値以上の入力値に基づいて、前記仮想カメラの挙動を制御するようにしてもよい。
入力値とは、例えば、アナログレバーの中立状態(ニュートラルポジション)からの傾斜角度値、加速度値とすることができる。また、例えば、第1、第2の所定値は、遊び確保のための値である。本発明によれば、制限条件を満たす場合には、第1の所定値よりも大きい第2の所定値以上の入力値に基づいて、前記仮想カメラの挙動を制御する。したがって、制限条件を満たす場合には、遊びを大きく設けることができ、結果的に仮想カメラの挙動を制限することができる。
(17)また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、移動体の挙動の進行速度を減速するようにしてもよい。本発明によれば、制限条件を満たす場合に、移動体の挙動がスローになるので、時間的な余裕が生まれプレーヤにとって視認し易く、酔いの生じない画像を提供することができる。
(18)また、本発明は、画像生成処理を行うサーバであって、ネットワークを介して端末から、移動体制御用の入力情報を受信する通信制御部と、オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する移動体制御部と、前記移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間における前記仮想カメラから見える画像を生成する描画部と、仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する判定部と、を含み、前記移動体制御部が、前記制限条件を満たす場合に、移動体の挙動を制限し、前記仮想カメラ制御部が、前記制限条件を満たす場合に、前記移動体の挙動の制限に応じて、前記仮想カメラの挙動を制限するサーバに関する。
本発明によれば、制限条件を満たす場合に仮想カメラの挙動を制限するので、視認用意な画像を生成することができる。また、本発明によれば、仮想カメラの挙動が制限されることによって画像の変化も制限され、酔いを防止可能な画像を生成することができる。
図1は、本実施形態の端末の構成の一例である。 図2(A)〜(C)は、通常戦闘時の仮想カメラ制御の説明図。 図3(A)〜(C)は、移動体の回転を説明するための図。 図4(A)〜(C)は、移動体(仮想カメラ)回転時の画像の一例。 図5(A)〜(C)は、移動体の回転の制限を説明するための図。 図6(A)〜(C)は、移動体、仮想カメラの回転の制限を説明するための図。 図7(A)〜(C)は、移動体(仮想カメラ)回転制限時の画像の一例。 図8(A)〜(C)は、移動体、仮想カメラの回転の制限を説明するための図。 図9(A)(B)は、移動体(仮想カメラ)移動方向の変化の制限を説明するための図。 図10(A)(B)は、移動体(仮想カメラ)移動方向の変化の制限を説明するための図。 図11(A)は、アイテムと挙動変化率との対応表。図11(B)は、アイテムと制限値域との対応表。 図12(A)は、仮想カメラの位置と挙動変化率との対応表。図12(B)は、仮想カメラの位置と制限値域との対応表。 図13は、アイテムカメラ制御の説明図。 図14は、アイテムカメラ制御の説明図。 図15(A)〜(C)は、アイテムカメラ制御時の画像の一例。 図16は、通常戦闘時カメラ制御と、アイテムカメラ制御と関係を示すタイミングチャート。 図17は、所定範囲の説明図。 図18は、所定範囲に関する画像の一例。 図19は、所定範囲に関する画像の一例。 図20は、フローチャート。 図21は、入力部の一例。 図22(A)(B)は、入力値の説明図。 図23(A)〜(C)は、入力部及び入力値の説明図。 図24は、ゲーム進行速度の説明図。 図25は、ネットワークシステムの説明図。 図26は、ネットワークシステムの説明図。 図27は、ネットワークシステムの説明図。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の端末(画像生成装置、ゲーム装置、携帯電話、携帯端末、携帯型ゲーム装置)の機能ブロック図の例を示す。なお本実施形態の端末は図1の構成要素(各部)の一部を省略した構成としてもよい。
入力部160は、プレーヤ(操作者)からの入力情報を入力するための入力機器(コントローラ)であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部160は、プレーヤの入力情報(入力信号)を検出する検出部162を備える。入力部160は、例えば、アナログレバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。また、入力部160は、振動信号に基づいて振動させる処理を行う振動部を備えていてもよい。
また、入力部160は、3軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力部160は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力部160は、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られた入力機器でもよい。また入力部160は、入力機器と一体化されている端末(携帯電話、携帯端末、携帯型ゲーム装置)なども含まれる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部196は外部(例えば他の端末、サーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
処理部100(プロセッサ)は、入力部160からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
この処理部100は記憶部170内の主記憶部171をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、受け付け部110、オブジェクト空間設定部111、移動・動作処理部112、判定部113、ヒット判定部114、ゲーム演算部115、表示制御部116、仮想カメラ制御部117、通信制御部118、描画部120、音処理部130を含む。なお、これらの一部を省略する構成としてもよい。
受け付け部110は、プレーヤの入力情報を受け付ける処理を行う。例えば、自機(第1のオブジェクト、プレーヤの操作対象のオブジェクト)の挙動を制御するための移動体制御用の入力情報を受け付ける処理や、自機から弾(ミサイル、機銃)を発射させる射撃用入力情報を受け付ける。特に、本実施形態の受け付け部110は、アイテム(例えば、武器)の選択を受け付ける処理を行うようにしてもよい。
また、例えば、受け付け部110は、移動体に対する相対的な仮想カメラの位置を特定の位置に変更するための視点位置変更入力情報を受け付けるようにしてもよい。なお、アイテムの選択の情報は、視点位置変更入力情報と同じであってもよい。つまり、アイテムの選択の情報を受け付けると、同時に視点位置をアイテムに応じた視点位置に変更(通常戦闘時カメラ制御からアイテムカメラ制御に変更)してもよい。
オブジェクト空間設定部111は、オブジェクトをオブジェクト空間(仮想的3次元空間)に配置する処理を行う。例えば、オブジェクト空間設定部111は、自機、敵機(第2のオブジェクト、コンピュータプログラムに基づいて移動・動作、攻撃を行う移動体、ノンプレーヤキャラクターNPC、他のプレーヤの操作対象のオブジェクト)の他に、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を、オブジェクト空間に配置する処理を行う。ここでオブジェクト空間とは、仮想的なゲーム空間であり、例えば、ワールド座標系、仮想カメラ座標系のように、3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
例えば、オブジェクト空間設定部111は、ワールド座標系にオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
オブジェクト空間設定部111は、スクリーン(2次元画像、画面、スクリーン座標系)上に、特殊コマンドの入力指示オブジェクト、マーカーなどの指示オブジェクトを配置する処理を行うようにしてもよい。また、オブジェクト空間設定部は、オブジェクト空間(3次元空間、ワールド座標系、仮想カメラ座標系、モデル座標系)に、指示オブジェクトを配置するようにしてもよい。
特に、オブジェクト空間設定部111は、オブジェクト空間において、所定範囲を設定する。この所定範囲は、オブジェクト空間に配置された複数の敵オブジェクト(敵地上物)を含む3次元のボリュームとすることができる。
移動・動作処理部112は、オブジェクト空間にあるオブジェクトの移動・動作演算を行う。すなわち入力部160から受け付けた入力情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。
移動体制御部112aは、オブジェクト空間において、移動体の挙動を制御する。移動体の挙動とは、移動体の移動・動作情報であり、移動体の回転(向きの変更)及び移動方向の変更の少なくとも一方を含む。なお、移動体の挙動は、移動体の速度、加速度を含んでいてもよい。例えば、移動体制御部112aは、1フレーム(例えば、1/60秒)毎に移動体のモデル座標系のX軸、Y軸、Z軸回りの回転角度(向き)を求める。また、移動体制御部112aは、1フレーム毎に、移動体の移動方向を求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
例えば、移動体制御部112aは、入力部160からの移動体制御用の入力情報に基づき、第1の移動体(例えば、自機)の挙動を制御し、移動体制御プログラムに基づいて、第2の移動体(例えば、敵機NPC)の挙動を制御する処理を行うようにしてもよい。
また、移動体制御部112aは、移動体から発射された弾(例えば、ミサイル、機関砲)がターゲットオブジェクトに追尾するように、弾の移動処理を行うようにしてもよい。
なお、移動・動作処理部112は、他の端末とネットワークを介してデータを送受信している場合には、他の端末から受信した入力情報や他の機体の移動情報等のデータに基づいて、本端末10Aのオブジェクト空間に配置される他の移動体(他の端末を操作するプレーヤの操作対象の移動体)の挙動(移動・動作)を制御するようにしてもよい。
特に、本実施形態の移動体制御部112aは、オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する。
また、移動体制御部112aは、制限条件を満たす場合には、移動体の挙動を制限する。例えば、移動体制御部112aは、制限条件を満たす場合には、制限条件を満たさない場合よりも、単位時間当たりの移動体の回転量を減少させる(移動体の回転を緩やかにさせる)。また、移動体制御部112aは、制限条件を満たす場合には、制限条件を満たさない場合よりも、単位時間当たりの移動体の移動方向を緩やかに変化させる。また、移動体制御部112aは、制限条件を満たす場合には、制限値域内で移動体を回転させるようにしてもよい。
移動体制御部112aは、アイテムが複数のカテゴリのいずれかのカテゴリに分類されている場合に、選択されたアイテムのカテゴリに応じて、仮想カメラの挙動を制限するようにしてもよい。
また、移動体制御部112aは、制限条件を満たす場合には、制限条件を満たさない場合よりも、移動体の挙動の進行速度を減速するようにしてもよい。
また、判定部113は、仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する。例えば、判定部113が、アイテムの選択を受け付けた場合に、当該アイテムの選択を受け付けてから当該選択が解除されるまで制限条件を満たすと判定するようにしてもよい。例えば、機銃攻撃の入力情報を受け付けた場合(機銃攻撃が選択されている場合)には、当該機銃攻撃の入力情報を受け付けなくなるまで、制限条件を満たすと判定してもよい。また、特殊兵装、ミサイルの選択を受け付けた場合には、当該選択が解除される入力情報を検出するまで制限条件を満たすと判定してもよい。
また、判定部113は、視点位置変更入力情報を受け付けた場合に、視点変更入力情報を受け付けてから特定の位置での視点変更が解除されるまで、制限条件を満たすと判定してもよい。例えば、判定部113は、視点位置が特定の位置にある場合は、制限条件を満たすと判定する。なお、判定部113は、通常戦闘時の視点位置から特定の位置(アイテムカメラ制御時の視点位置)に変更するまでの間、そして、特定の位置(アイテムカメラ制御時の視点位置)から通常戦闘時の視点位置(元の視点位置)に戻るまでの間は、制限条件を満たすと判定してもよいし、制限条件を満たさないと判定してもよい)。
また、判定部113が、移動体が所定範囲内に属する場合に、制限条件を満たすと判定してもよい。
ヒット判定部114は、第2のオブジェクト(例えば、敵機)から発射された弾(例えば、ミサイル)が第1のオブジェクト(例えば、自機)にヒットしたか否かを判定する。また、ヒット判定部114は、第1のオブジェクトから発射された弾が第2のオブジェクトにヒットしたか否かを判定する。
ゲーム演算部115は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
本実施形態のゲーム演算部115は、各オブジェクト(自機、敵機を含む)のパラメータを更新する処理を行う。本実施形態のゲーム演算部115では、弾が自機にヒットする度に、ダメージを蓄積したダメージ蓄積値Iを更新している。例えば、自機のダメージ蓄積値Iが最大値(I=100)になると、自機が撃墜したものとみなされ、ゲームを終了する処理を行う。一方、ゲーム中の全ての敵機のダメージ蓄積値Iが最大値になると、ゲームクリアと判定する処理を行う。
また、ゲーム演算部115は、ゲーム進行速度に基づいて、ゲームを進行させる。例えば、ゲーム演算部115は、制限条件を満たす場合には、ゲーム進行速度を減速するようにしてもよい(スローモーションにするようにしてもよい)。
表示制御部116は、描画部120において生成された画像を表示部190に表示させる処理を行う。
仮想カメラ制御部117は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、3次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置(X、Y、Z)、回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、仮想カメラ制御部117は、仮想カメラの視点位置、視線方向、画角、移動方向、移動速度の少なくとも1つを制御する処理を行う。
特に、本実施形態の仮想カメラ制御部117は、移動体の挙動に追従する仮想カメラを制御する。例えば、図2(A)(B)に示す一人称視点、図2(C)に示す三人称視点(後方視点)によって、仮想カメラを制御する。
例えば、仮想カメラ制御部117は、移動・動作処理部112で得られたオブジェクトの位置、向き又は速度などの移動体の挙動(挙動情報)に基づいて、仮想カメラを制御する。つまり、本実施形態の仮想カメラ制御部117は、移動体の挙動に追従する仮想カメラを制御する。例えば、仮想カメラ制御部117は、ワールド座標において、移動体制御部112aで処理される移動体の挙動と仮想カメラの挙動とが所定の関係を保つように制御する。
より具体的には、ワールド座標において、移動体制御部112aで処理される移動体の位置(移動体の中心点P)と仮想カメラの位置(CP)とが所定の位置関係を保つように制御する。例えば、移動体の位置(移動体の中心点P)と仮想カメラの位置(CP)とが、所定の距離を保つように制御する。また、移動体の移動方向及び移動速度と、仮想カメラの移動方向及び移動速度とが所定の関係を保つように制御する。例えば、移動体の移動方向と仮想カメラの移動方向が同一の方向になるように制御し、移動体の移動速度と仮想カメラの移動速度とが同一の速度になるように制御する。また、仮想カメラ制御部117は、移動体の向き(回転)と、仮想カメラの向き(回転)とが所定の関係を保つように仮想カメラの向き(視線方向)を制御する。例えば、移動体の向きと仮想カメラの向きとが同一の方向を向くように制御する。また、仮想カメラ制御部117は、移動体の回転方向、回転速度が所定の関係を保つように仮想カメラの回転方向、回転速度を制御する。例えば、移動体の回転方向、回転速度と仮想カメラの回転方向、回転速度とが同一になるように制御する。
また、仮想カメラ制御部117は、制限条件を満たす場合(制限条件を満たす期間)には、仮想カメラの挙動を制限する。例えば、仮想カメラ制御部117は、制限条件を満たす場合には、移動体の挙動の制限に応じて、仮想カメラの挙動を制限してもよいし、移動体の挙動に関係なく、仮想カメラの挙動を制限してもよい。
また、仮想カメラ制御部117が、制限条件を満たす場合(制限条件を満たす期間)には、制限条件を満たさない場合(制限条件を満たさない期間)よりも、単位時間当たりの仮想カメラの回転量を減少させるようにしてもよい。つまり、仮想カメラの回転速度(例えば、仮想カメラ視線方向回り(カメラ座標系z軸回り)の回転速度)を減速させてもよい。例えば、仮想カメラ制御部117は、挙動制限された移動体の回転量を減少(回転速度の減速)に応じて、仮想カメラの回転量を減少させる(回転速度を減速させる)ようにしてもよい。
また、仮想カメラ制御部117が、制限条件を満たす場合には、制限条件を満たさない場合よりも、単位時間当たりの仮想カメラの移動方向を緩やかに変化させてもよい。例えば、仮想カメラ制御部117は、制限条件を満たす場合には、挙動制限された移動体の移動方向の変化に応じて、仮想カメラの移動方向を変化させるようにしてもよい。
また、仮想カメラ制御部117が、制限条件を満たす場合には、制限値域内で仮想カメラを回転させてもよい。例えば、仮想カメラ制御部117が、ワールド座標系に水平に保たれている場合を基準に、視線方向左回りに45度、視線方向右回りに45度の範囲で回転させるようにしてもよい。なお、仮想カメラの回転の制限値域は、移動体の回転の制限値域と同じにしてもよいし、異ならせてもよい。また、移動体の回転を無制限にし、仮想カメラの回転のみ制限値域で制限するようにしてもよい。
また、仮想カメラ制御部117が、制限条件を満たす場合には、制限条件を満たさない場合よりも仮想カメラの画角を狭める(画角を小さくする)ようにしてもよい。
また、仮想カメラ制御部117は、視点位置変更入力情報を受け付けた場合に、通常戦闘時の仮想カメラの位置から、特定の位置に、視点変更を行うようにしてもよい。
また、仮想カメラ制御部117は、制限条件を満たす場合に、アイテムに基づき仮想カメラの挙動を制限するようにしてもよい。
また、仮想カメラ制御部117は、制限条件を満たす場合に、視点位置に基づき仮想カメラの挙動を制限するようにしてもよい。なお、この視点位置は、選択されたアイテムに基づき決定される位置(特定の位置の一例)としてもよい。
また、仮想カメラ制御部117は、制限条件を満たさない場合は、第1の所定値以上の入力部160において検出された入力値に基づいて、仮想カメラの挙動を制御し、制限条件を満たす場合には、第1の所定値よりも大きい第2の所定値以上の入力部160において検出された入力値に基づいて、仮想カメラの挙動を制御するようにしてもよい。
なお、仮想カメラ制御部117は、仮想カメラを予め決められた向きに設定し、予め決められた移動ルートで移動させる制御を行うようにしてもよい。かかる場合には、仮想カメラの位置(移動経路)又は向きを制御するための仮想カメラデータ(記憶部170、情報記憶媒体180等に記憶されている仮想カメラデータ)に基づいて、仮想カメラを制御する。
また、仮想カメラ制御部117は、オブジェクト空間において所与の位置から見下ろすような俯瞰用仮想カメラを配置させて当該俯瞰用仮想カメラを制御するようにしてもよい。
また、仮想カメラ制御部117は、リプレイ用で画像を生成するためのリプレイ用仮想カメラをオブジェクト空間に配置させて、当該リプレイ用仮想カメラを制御するように使用してもよい。リプレイ用仮想カメラは、移動体の移動に必ずしも追従させる必要はないが、移動体の移動情報に応じて、リプレイ用仮想カメラを制御するようにしてもよい。
通信制御部118は、端末(例えば第1の端末)が他の端末(例えば第2の端末)又はサーバ20とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
なお、本実施形態の端末では、通信制御で必要となるネットワーク情報をサーバから取得し、管理する処理等を行うようにしてもよい。例えば、端末は、各端末に個別に付与される端末の識別情報(オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ID)と、端末の識別情報に対応付けられたパケットの送信先を指定する宛先情報(IPアドレスなど)とを取得し、管理する処理を行うようにしてもよい。
通信制御部118は、他の端末(第2の端末)又はサーバ20に送信するパケットを生成する処理、パケット送信先の端末のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
また本実施形態の通信制御部118は、複数の端末間、又はサーバ20においての接続(第1の端末と第2の端末との接続)が確立されてから接続が切断されるまで、データを所定周期(例えば、1秒周期で)互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト(機体、移動体)の位置情報、移動情報としてもよい。
また、本実施形態の通信制御部118は、他の端末(第2の端末)又はサーバ20から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア(いわゆるP2P)方式としてもよいし、サーバ20を介して各端末がデータ(情報)の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
描画部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。言い換えると、描画部120は、オブジェクト空間において、仮想カメラから見える画像を生成する。
例えば、描画部120は、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ172(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット、フレームバッファ)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
例えば、αブレンディングでは、これから画像バッファ172に描画する描画色(上書きする色)C1と、既に画像バッファ172(レンダリングターゲット)に描画されている描画色(下地の色)C2とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をCとすると、C=C1*α+C2*(1−α)によって求めることができる。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
なお、描画部120は、他の端末(第2の端末)とネットワークを介してデータを送受信するマルチプレーヤオンラインゲームを行う場合は、端末(第1の端末)の操作対象のオブジェクトの移動に追従する仮想カメラ(端末(第1の端末)で制御される仮想カメラ)から見える画像を生成する処理を行う。つまり、各端末が独立した描画処理を行う。
音処理部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の端末は、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよいし、1つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
2.概要
本実施形態では、シューティングゲームのための画像生成処理に関するものである。例えば、本実施形態では、プレーヤの操作対象の自機OB1と、コンピュータオブジェクト或いは他のプレーヤのオブジェクトである敵機OB2と、互いにミサイルや機関砲などで攻撃し合うフライトシューティングゲームに関するものである。
本実施形態では、自機と敵機が互いに相手をターゲットオブジェクト(標的)とし、互いにミサイルや機関砲を発射してターゲットオブジェクトを撃墜させるゲーム処理を行う。したがって、自機を操作するプレーヤは、自機から発射されるミサイルや機関砲を敵機にヒットさせるように攻撃操作を行い、敵機から発射されるミサイル等の攻撃から回避するように自機を移動させる操作を行う。
ところで、本実施形態では、図2(A)(B)(C)に示すように、移動体の挙動に仮想カメラを追従させるように制御しているが、プレーヤの操作入力に基づき、機銃、ミサイル、特殊兵装などのアイテムの選択を受け付けると、仮想カメラの視点位置を、機銃、ミサイル、特殊兵装などのアイテム用に視点制御(アイテムカメラ制御)を行う。例えば、アイテムの視点位置に仮想カメラを移動させて、機銃の攻撃やミサイル攻撃を迫力ある画像となるようにしている。
しかし、このように、アイテム用の視点制御を行う場合には、移動体OB1の挙動の変化が、仮想カメラの挙動に影響を与え、その結果、ターゲットオブジェクトを狙うことが非常に困難となってしまうことがある。
例えば、図3(A)に示すように、移動体OB1が水平に配置されている場合に、仮想カメラも水平に配置され、例えば、図4(A)に示すように、ターゲットTGT1、TGT2を含む仮想カメラから見える画像を生成する。
そして、図3(B)(C)に示すように、ロールと呼ばれる移動体OB1を左右に傾ける挙動を行う場合(移動体OB1のモデル座標系z軸回りに回転する場合)、仮想カメラも視線方向軸回りに回転する。したがって、生成される画像では図4(B)(C)に示すようにターゲットオブジェクトTGT1、TGT2が大きく変化するように見えることが多い。つまり、図4(B)(C)に示すように、アイテム用の視点制御の場合、ターゲットオブジェクトを狙うことが非常に困難となってしまいやすい。また、アイテム用の視点制御を行う場合、移動体の挙動に仮想カメラが追従すると、画像の変化が激しくなり、プレーヤが乗り物酔いのように酔ってしまう症状(3D酔い)が発生するおそれもある。
そこで、本実施形態では、アイテム用の視点制御を行う場合は、仮想カメラの挙動を制限する条件を満たすと判定し、制限条件を満たす期間中は、移動体の挙動、仮想カメラの挙動を制限するようにしている。このようにすれば、移動体の挙動に追従する仮想カメラの挙動も制限されることになり、ターゲットオブジェクトを狙い易くし、酔いを防止するための画像を生成することができる。
3.挙動制限の説明
本実施形態では、例えば、アイテムカメラ制御を行う場合に制限条件を満たすと判定し、移動体(自機)OB1、仮想カメラの挙動を制限する処理を行う。
例えば、本実施形態では、通常の視点制御(アイテム非選択時の視点制御期間)とは異なる、アイテムカメラ制御を行う期間(アイテム選択時の視点制御期間)において、移動体OB1、仮想カメラCの挙動を制限する処理を行う。
3.1 挙動変化率に基づく挙動制限
本実施形態の端末10は、制限条件を満たした場合(制限条件を満たす期間中)に、単位時間当たりの、移動体OB1の向き、移動方向の少なくとも一方の変化が緩やかになるように、移動体OB1の挙動制限を行う。
3.1.1 ロール
まず、制限条件を満たした場合に、ロール(移動体OB1のモデル座標系z軸回りに回転させる処理)の挙動を制限する処理について説明する。例えば、移動体OB1が水平状態にある場合に、図3(B)に示すように、制限条件を満たさない場合では、z軸回りに単位時間当たり(例えば、1秒当たり)右にθ1の角度で(例えば、θ1=90度)回転する。一方、制限条件を満たした場合には、図5(B)に示すように単位時間当たりz軸回りに右にθ2(θ2<θ1、例えば、θ2=45度)の角度で回転する制御を行っている。また、同様に、図3(C)に示すように、制限条件を満たさない場合では、単位時間当たり左にθ1回転する。一方、制限条件を満たす場合は、図5(B)に示すように、単位時間当たり右にθ2回転する制御を行う。このように、制限条件を満たす期間においては、制限条件を満たさない期間よりも、単位時間当たりの移動体OB1の回転量を減少させる(回転速度を減速させる)ように移動体を制御する。
つまり、本実施形態では、移動体OB1の回転挙動を制限するので、結果的に、移動体OB1の挙動に追従する仮想カメラCの回転挙動も制限することができる。例えば、図6(A)に示すように、移動体OB1が水平状態にある場合に、仮想カメラCも水平状態にあるとする。すると、制限条件を満たさない場合では、仮想カメラCをz軸回りに単位時間当たり右にθ1回転する。一方、図6(B)に示すように、制限条件を満たす場合では、仮想カメラCを単位時間当たりz軸回りに右にθ2回転する制御を行う。また、同様に、制限条件を満たさない場合では、仮想カメラCを単位時間当たり左にθ1回転する。一方、制限条件を満たす場合では、図6(C)に示すように、仮想カメラCを単位時間当たり左にθ2回転する制御を行う。このように、制限条件を満たす期間においては、制限条件を満たさない期間よりも、単位時間当たりの仮想カメラCの回転量を減少させる(回転速度を減速させる)ように仮想カメラを制御する。
例えば、本実施形態の制限条件を満たす場合におけるロール時の単位時間当たりに回転する角度θ2は、制限条件を満たさない場合におけるロール時の単位時間当たりの回転角度θ1に挙動変化率(例えば、0.5)を乗算した値とすればよい。言い換えると、制限条件を満たす場合の移動体OB1の回転速度は、第1の移動体OB1の回転速度に挙動変化率を乗算した値とすればよい。
このようにすれば、制限条件を満たす場合では、図7(A)(B)(C)に示すように、画像の変化が緩やかになり、ターゲットオブジェクトを狙い易い画像を生成でき、また、酔いを防止するための画像を生成することができる。
なお、本実施形態の端末10は、制限条件を満たす場合は、移動体の挙動制限を行わずに、仮想カメラCのみ挙動制限を行うようにしてもよい。例えば、制限条件を満たす場合は、図8(A)移動体OB1が水平状態にある場合に、仮想カメラCも水平状態にあるとする。すると、図8(B)に示すように、制限条件を満たす場合において、移動体OB1を、単位時間当たりθ1(例えば、90度)の角度で右回転させる場合において、仮想カメラCを単位時間当たりθ2(例えば、45度)の角度で右回転させるように制限してもよい。また、同様に、図8(C)に示すように、制限条件を満たす場合において、移動体OB1を単位時間当たり左にθ1の角度で回転させる場合に、仮想カメラCを単位時間当たり左にθ2の角度で回転させるようにしてもよい。
3.1.2 ピッチ
また、本実施形態では、制限条件を満たす場合において、ピッチアップ、ピッチダウンと呼ばれる移動体の挙動、仮想カメラの挙動を制限するようにしてもよい。
ここで、ピッチアップ(上昇)とは、移動体OB1の進行方向(機首)を上に回転させる挙動のことをいう。つまり、移動体OB1の進行方向(機首)を上に回転させると、次のフレームで、移動体OB1は上方向に移動することになる。また、ピッチダウン(下降)とは、移動体OB1の進行方向(機首)を下に回転させる挙動のことをいう。つまり、移動体OB1の進行方向(機首)を下に回転させると、次のフレームで、移動体OB1は下方向に移動することになる。
本実施形態では、移動体OB1の進行方向(機首)を上又は下に回転させる単位時間あたりの回転量を減少させる処理(回転速度を減速させる処理)を行う。つまり、本実施形態では、移動体OB1の進行方向(機首)を上又は下に回転させる単位時間あたりの回転量を減少させる処理を行うことによって、単位時間当たりの移動体OB1の上下の移動方向を緩やかに変化させる処理を行う。
例えば、図9(A)に示すように、移動体OB1の機首(ピッチ)を上げて移動体OB1を上昇(ピッチアップ)させる制御を行う場合において説明すると、制限条件を満たさない場合では、単位時間(例えば、1秒)当たり基準軸(1フレーム前の進行方向ベクトルV1−1)を基準に移動体OB1をθ3(例えば、θ3=45度)で上昇(回転)させる。一方、制限条件を満たす場合では単位時間当たり基準軸V1−1を基準にθ4(θ4<θ3、例えば、θ4=22.5度)で移動体OB1を上昇(回転)させる。
また、図9(B)に示すように、移動体OB1の機首(ピッチ)を下げて移動体OB1を下降(ピッチダウン)させる制御を行う場合に、制限条件を満たさない場合では、単位時間当たり基準軸V1−1を基準に、移動体OB1をθ3で下降(回転)させるところ、制限条件を満たす場合では単位時間当たり基準軸V1−1を基準に、移動体OB1をθ4で下降(回転)するように制御する。
つまり、本実施形態では、移動体OB1の移動方向を制限するので、結果的に、移動体OB1の移動方向に追従する仮想カメラCの移動方向も制限することができる。
例えば、図9(A)に示すように、ピッチアップの場合、制限条件を満たさない場合では、単位時間あたり基準軸V1−1を基準に、θ3で仮想カメラCを上昇(回転)させるところ、制限条件を満たす場合では単位時間当たり基準軸V1−1を基準に、θ4で仮想カメラCを上昇(回転)するように制御する。
また、図9(B)に示すように、ピッチダウンの場合、制限条件を満たさない場合では、単位時間基準軸V1−1を基準に、仮想カメラCをθ3で下降(回転)するところ、制限条件を満たす場合では単位時間当たり基準軸V1−1を基準に、仮想カメラCをθ4で下降(回転)するように制御する。
例えば、本実施形態の制限条件を満たす場合におけるピッチアップ(又はピッチダウン)の、単位時間あたりの回転角度θ4は、例えば、制限条件を満たさない場合におけるピッチアップ(又はピッチダウン)の単位時間あたりの回転角度θ3に挙動変化率(例えば、0.5)を乗算した値とすればよい。
なお、本実施形態では、ロールとピッチを同時に行う場合(旋回を行う場合)に、ロールの挙動制限、ピッチの挙動制限を同時に行うようにしてもよい。
3.1.3 ヨー
また、本実施形態では、制限条件を満たす場合において、ヨーと呼ばれる移動体OB1を水平に保ったまま移動体OB1の進行方向(機首)を回転させる挙動を制限するようにしてもよい。
ここで、ヨーとは、移動体OB1の進行方向(機首)を右又は左に回転させる挙動のことをいう。つまり、移動体OB1の進行方向を右に回転させると、次のフレームで、移動体OB1は右方向に移動することになる。また、移動体OB1の進行方向を左に回転させると、次のフレームで、移動体OB1は左方向に移動することになる。
本実施形態では、移動体OB1の進行方向(機首)を右又は左に回転させる単位時間あたりの回転量を減少させる処理(回転速度を減速させる処理)を行う。つまり、本実施形態では、移動体OB1の進行方向(機首)を左又は右に回転させる単位時間あたりの回転量を減少させる処理を行うことによって、単位時間当たりの移動体OB1の左右の移動方向を緩やかに変化させる処理を行う。
例えば、図10(A)に示すように、移動体OB1の進行方向を右方向に回転させる場合には、制限条件を満たさない場合では、単位時間当たり(例えば、1秒当たり)、基準軸(1フレーム前の進行方向ベクトルV1−5)を基準にθ5(例えば、θ5=45度)の角度で移動体OB1の進行方向を右方向に回転させる。一方、制限条件を満たす場合では単位時間当たり基準軸V1−5を基準に、θ6(例えば、θ6=22.5度、θ6<θ5)の角度で右方向に移動体OB1の進行方向を回転させるように制御する。
また、同様に、図10(B)に示すように、移動体OB1の進行方向を左方向に回転させる場合には、制限条件を満たさない場合では、単位時間当たり基準軸V1−5を基準に、θ5の角度で左方向に移動体OB1の進行方向を回転させる。一方、制限条件を満たす場合では単位時間当たり基準軸V1−5を基準に、θ6の角度で左方向に移動体OB1の進行方向(機首)を回転させるように制御する。
つまり、本実施形態では、移動体OB1のヨーの回転の挙動を制限するので、結果的に、移動体OB1の回転に追従する仮想カメラCの回転の挙動も制限することができる。
例えば、図10(A)に示すように、移動体OB1の進行方向を右方向に回転させる場合には、制限条件を満たさない場合では、単位時間当たり基準軸V1−5を基準にθ5の角度で仮想カメラCを右方向に回転させる。一方、制限条件を満たす場合では単位時間当たり基準軸V1−5を基準にθ6の角度で右方向に仮想カメラCを回転させるように制御する。
また、同様に、図10(B)に示すように、移動体OB1の進行方向を左方向に回転させる場合には、制限条件を満たさない場合では、単位時間当たり基準軸V1−5を基準に、θ5の角度で左方向に仮想カメラCを回転させる。一方、制限条件を満たす場合では単位時間当たり基準軸V1−5を基準に、θ6の角度で左方向に仮想カメラCを回転させるように制御する。
なお、本実施形態の単位時間あたりの進行方向を変化させる回転角度θ6は、例えば、制限条件を満たさない場合における単位時間あたりの進行方向を変化させる回転角度θ5に挙動変化率(例えば、0.5)を乗算した値とすればよい。
3.1.4 挙動変化率
本実施形態では、アイテムカメラ制御になると制限条件を満たすと判定する。また、挙動変化率をKとすると、0<K<1に決定する。例えば、図11(A)に示すように、「機銃」の場合は、挙動変化率を「0.5」、アイテムが「ミサイル」の場合は、挙動変化率を「0.3」のように、アイテムに基づいて変化挙動率を決定する。
例えば、機銃の種類が複数あり、ミサイルの種類が複数あり、特殊兵装の種類が複数存在する場合がある。かかる場合には、機銃のカテゴリ、ミサイルのカテゴリ、特殊兵装のカテゴリに分類し、選択されたアイテムのカテゴリに応じて、挙動変化率を決定してもよい。例えば、機銃は「0.5」、ミサイルは「0.3」、特殊兵装は「0.2」のように、挙動変化率を定め、カテゴリに応じて、移動体、仮想カメラの挙動を制限するようにしてもよい。
また、本実施形態では、仮想カメラの位置に基づいて、挙動変化率を決めるようにしてもよい。例えば、図12(A)に示すように、仮想カメラの位置が「CP1」の場合は、挙動変化率を「0.5」、仮想カメラの位置が「CP3」の場合は、挙動変化率を「0.4」等のように、仮想カメラの位置(視点)に基づいて挙動変化率を決定するようにしてもよい。
3.1.5 その他
なお、本実施形態では、制限条件を満たす場合には、制限条件を満たさない場合よりも仮想カメラの画角を狭めるようにしてもよい。つまり、制限条件を満たす場合には仮想カメラの画角を狭めることによって、例えばターゲットをズームインさせるようにしてもよい。このようにすれば、よりターゲットを視認し易くし、狙いやすい画像を生成することができる。
3.2 制限値域に基づく挙動制限
また、本実施形態では、制限条件を満たす場合において、移動体OB1を移動させる値を、制限値域内(所定値域内)に制限するようにしてもよい。
例えば、制限条件を満たす場合において、ロールの回転角度の制限値域を設定する点について説明する。例えば、図3(B)に示すように、制限条件を満たさない場合では、z軸回りに無制限に左右に回転できていたところを、制限条件を満たす場合では、図5(A)(B)に示すように、z軸回りに水平基準に左右45度まで回転させる。つまり、移動体OB1の制限値域は、左右45度までにし、左右45度を超えて回転できないように制御する。
このようにすれば、制限条件を満たす場合では、図6(A)(B)に示すように、機体の傾きが、制限値域(z軸回りに左右45度以内)に制限されるので地上と空とが逆転するような画像を見ることのない画像を提供できる。その結果、ターゲットオブジェクトを狙い易い画像を生成でき、また、酔いを防止するための画像を生成することができる。
なお、本実施形態の端末10は、制限条件を満たす場合においては、移動体の値域制限を行わずに、仮想カメラCのみ値域制限を行うようにしてもよい。例えば、制限条件を満たす場合では、図8(A)移動体OB1が水平状態にある場合に、仮想カメラCも水平状態にあるとする。すると、図8(B)に示すように、制限条件を満たす場合において、移動体OB1は無制限に回転させ、仮想カメラCは、z軸回りに水平基準に最大左右45度まで回転させるように制限してもよい。つまり、仮想カメラCの回転する制限値域は、左右45度までにし、左右45度を超えて回転できないように制御する。
また、本実施形態では、図11(B)に示すように、アイテム毎に、ロールの制限値域(水平基準の左回転の回転上限値、水平基準の右回転の回転上限値)を決定してもよい。例えば、アイテムが「機銃」の場合は、制限値域をz軸回りに左右45度に決定してもよい。また、図12(B)に示すように、仮想カメラの位置毎に、ロールの制限値域を決定してもよい。例えば、仮想カメラの位置が「CP2」の場合は、制限値域をz軸回りに左右30度に決定してもよい。
3.3 その他
本実施形態では、移動体OB1を右に傾けて旋回するような、ロールとピッチとを同時に行う場合にも、上述したようにロールの制限値域を設けて挙動制限を行うようにしてもよい。
つまり、本実施形態では、単位時間当たりの移動体OB1の向き及び移動方向の制限を同時に行うようにしてもよい。また、同様に、単位時間当たりの仮想カメラCの向き及び移動方向の制限を同時に行うようにしてもよい。
4.制限条件
本実施形態では、制限条件を満たすか否かを判定し、制限条件を満たす場合に移動体、仮想カメラの挙動制限を行う。例えば、制限フラグを用いて制御するようにしてもよい。例えば、制限条件を満たす場合は、制限フラグを1に設定し、制限条件を満たさない場合は、制限フラグを0に設定する。
4.1 アイテムカメラ制御に基づく挙動制限
本実施形態では、アイテム用の視点制御に切り替わる場合に、挙動制限を行うための制限条件を満たすと判定する。
例えば、移動体OB1が備える機銃(アイテムの一例)の操作入力が行われた場合に、アイテムカメラ制御が行われる。なおアイテムの操作入力が行われたことに加え、所定のゲームパラメータ(例えば、ターゲットなる敵機の体力パラメータ等)が所定の条件を満たしたことなどの他の条件を満たした場合にアイテムカメラ制御を行うようにしてもよい。
アイテムカメラ制御は、仮想カメラの移動ルート(移動軌跡)が、移動体OB1に対する仮想カメラの相対的な配置の遷移として定義されたカメラ制御データ及び仮想3次元空間における移動体OB1の配置(位置及び向きの少なくとも一方)に基づき行われる。
例えば、通常戦闘時の視点制御では、例えば、図13に示すように、仮想カメラCを移動体OB1の後ろの位置340−0に配置し、移動体OB1に追従して移動させる。したがって、通常戦闘時では、移動体OB1を後ろから見た画像が表示される。ところが通常戦闘時に、機銃選択の操作入力を受け付けると、仮想カメラCを機銃312の近くの位置340−2まで移動させ、機銃312から砲弾が発射されている様子を大写しにし、迫力のあるカメラ演出を行っている。
4.1.1 アイテムカメラ制御の詳細な説明
次にアイテムカメラ制御に使用されるカメラ制御データを例にとり、カメラ制御データについて説明する。
図14は、アイテムカメラ制御のカメラ制御データの一例を示す図である。
カメラ制御データは、所定期間(t0〜tn)分の仮想カメラの挙動を示すデータであり、所定期間分(t0〜tn)の仮想カメラの位置、向き、画角のなくとも1つの遷移を示すデータを含む。なおこれらすべての遷移を示すデータを含んでもよい。またその他、例えば仮想カメラの被写界深度等のパラメータを含んでもよい。仮想カメラの位置、向きは、図14に示すように移動体OB1の代表点を原点とし、移動体OB1を所定の軸方向(ここではz軸方向)とするローカル座標系300における位置(ローカル座標系における位置座標)、向きで与えられる。
図14の移動ルート320は、ローカル座標系300における仮想カメラの移動ルートを示している。位置330は、移動体OB1の機銃(移動体OB1に付随したアイテム)の位置である。移動ルート320の始点322は所与の基準位置とし、移動ルート320の終点324は、機銃の位置330に対応して設定された目標位置(機銃から所定方向に所定距離だけ離れた位置)としてもよい。ここで移動ルート320の始点322となる所与の基準位置は、アイテムカメラ制御が行われる前に行われていた通常戦闘時カメラ制御(例えば通常の3人称視点モードにおける仮想カメラの制御)におけるローカル位置でもよい。この様にすると開始時のカメラ位置が、開始前に行われていた通常戦闘時カメラ制御のカメラ位置と同じになるので、スムーズな視点切り替えを行うことができる。
また移動ルート320は、移動体OB1のモデルの形状に応じて設定する。すなわちローカル座標系の原点に移動体OB1を配置した状態で、移動ルート320が移動体OB1と交差しないように設定する。このようにすると仮想カメラの移動ルートと移動体OB1の交差判定等の複雑な制御を行うことなしに、効果的なカメラ制御を行うことができる。
つまり、本実施形態のアイテムカメラ制御では、アイテムカメラ制御データに基づき、仮想カメラを、時刻t0の位置VK−t0を始点とし、時刻tnの位置を終点VK−tnとして、所定期間(t0〜tn)かけて移動ルート320にしたがって移動させる。アイテムカメラ制御データは、移動ルート320を時間の関数で表したものでもよいし、時刻t0、t1、・・に対応する位置の座標値を離散的に定義したものでもよい。向き(回転)を示す制御データは、向き(回転)値を時間の関数で表したものでもよいし、時刻t0、t1、・・における向き(回転)を離散的に定義したものでもよい。画角を示す制御データは、画角値を時間の関数で表したものでもよいし、時刻t0、t1、・・における画角を離散的に定義したものでもよい。なお位置や向きや画角が所定期間(t0〜tn)の間変化しない場合には、その期間について1つの不変値のみ定義しておいてもよい。
言い換えると、アイテムカメラ制御は、仮想カメラの移動ルート320を示す所定時間分のデータ(位置、向き、画角等のデータ)が時系列に定義されたアイテムカメラ制御データに基づき、始点から終点までのアイテムカメラ制御データを時系列に再生することにより、定義されている仮想カメラの移動を再現する。
なお、アイテムカメラ制御が終了すると、仮想カメラCを移動ルートに沿って、終点から始点に逆戻りさせてもよい。逆戻りしている最中の仮想カメラの向き(回転)は各地点において定義されている値をそのまま用いてもよい。この様にすると、仮想カメラの向きが変わらずに、位置だけ逆戻りするので、アイテムに近づいてきた時と同じ視線方向でアイテムから遠ざかっていくカメラ演出を行うことができる。また所与の操作入力が行われている期間中のみ、アイテムカメラ制御を行い、所与の操作入力が終了したら、アイテムカメラ制御を中断するようにしてもよい。
次にアイテムカメラ制御の場合を例にとり、アイテムカメラ制御処理のカメラ演出の具体例について説明する。
図15(A)〜(C)は、アイテムカメラ制御によって生成される画像例を説明するための図である。アイテムカメラ制御では、仮想カメラCを図13に示す移動体OB1のローカル座標系300における移動ルート320に従って移動させる。図13の340−0、340−1、340−2の各位置に仮想カメラCが配置された場合に生成される視点画像が図15(A)、図15(B)、図15(C)である。この様にアイテムカメラ制御では仮想カメラCが、図13に示すように、位置340−0から移動体OB1の機銃312近くの位置340−2に近づいていく。最終的に仮想カメラCが位置340−2に配置されると、図15(C)に示すように、機銃312がアップで表示されるカメラ演出が行われる。
なお、本実施形態では、複数の移動ルートを設定し、1の移動ルートに基づき、仮想カメラを移動させるようにしてもよい。また、移動体OB1に複数のアイテム(例えば、機銃、ミサイル)が付属している場合には、各アイテムに対応した移動ルートを設定し、選択されたアイテムの移動ルートに基づき、仮想カメラを移動させるようにしてもよい。また、アイテムカメラ制御の始点、終点は、可変に設定してもよい。
なお、本実施形態では、通常戦闘時のカメラ制御から、アイテムカメラ制御をブレンドして、連続的な仮想カメラの動きを行うようにしている。
例えば、図16は、本実施の形態で行われているカメラ制御を時間軸tに従って示すタイムチャートである。本実施の形態では複数のカメラ制御が平行して行われ、各カメラ制御処理によって得られた設定値をブレンドして求めた設定値で、仮想カメラの制御が行われる。452は通常戦闘時のカメラ制御450が行われている期間を示し、462はアイテムカメラ制御460が行われている期間を示している。
時刻f0から通常戦闘時のカメラ制御450が行われており、時刻fnまでは、他のカメラ制御が平行して行われていないので、仮想カメラには、通常戦闘時のカメラ制御によって得られた第2の設定値(位置、向き、画角等)が設定される。
ここで、時刻fnでアイテムに対する所与の操作入力が行われると、アイテムカメラ制御が始まる。アイテムカメラ制御がm秒間行われた後、時刻fn+mにアイテムカメラ制御が終了する。
時刻fnから時刻fn+mの間は、アイテムカメラ制御460と通常戦闘時のカメラ制御450が平行して行われ、アイテムカメラによって得られた第1の設定値と通常戦闘時のカメラ制御によって得られた第2の設定値が得られるので、これらを合成して時刻fnから時刻fn+mの間の仮想カメラの設定値を求めてもよい。
なお、アイテムカメラ制御の設定値と通常戦闘時のカメラ制御の設定値の合成比率は、時間の経過につれてアイテムカメラ制御の設定値の割合が0パーセントから100パーセントまで線形関数(所与の関数)にしたがって増加するようにしてもよい。
つまり、アイテムカメラ制御が開始されてからm秒後にアイテムカメラ制御の設定値の割合が最大となっている。この様にすると、時刻fnから時刻fn+mの期間において、時間の経過につれてアイテムカメラ制御の影響が大きくなるカメラ制御を行うことができる。
4.1.2 アイテムカメラ制御時の挙動制限
本実施形態では、図16に示すように、アイテムカメラ制御460が行われている期間462は、制限条件を満たす期間となる。
つまり、時刻fnでアイテム(例えば、機銃)を選択する入力情報(アイテムの攻撃入力情報)を受け付けたとする。すると、この機銃攻撃が終了するまで制限条件を満たすと判定する。例えば、時刻fnから時刻fn+mの間、制限条件を満たすと判定される。
なお、例えば、アイテムカメラ制御の終了時点は、選択されたアイテムの攻撃終了時、攻撃の入力情報を検知しなくなった時点、攻撃終了の入力情報を検知した時点の少なくとも1つである。
また、本実施形態では、仮想カメラCを移動ルート320の始点322から終点324に移動させる時間経過に応じて、挙動制限率を1から設定された値(例えば、0.5)に変化させるようにしてもよい。
なお、機銃からミサイルなど他のアイテムへの選択する入力情報を受け付けた場合(他のアイテムの攻撃入力情報)を受け付けた場合には、ミサイルのアイテムカメラ制御データが開始されるので、続けて制限条件を満たすと判定する。そして、ミサイル攻撃が終了するまで制限条件を満たすと判定する。
このように、本実施形態では、アイテムカメラ制御によって、迫力のある画像を生成しつつ、制限条件を満たすと自機の挙動(カメラの挙動)が制限されるので、敵機を狙いやすくすることができる。
4.2 所定範囲に基づく挙動制御
4.2.1 所定範囲の説明
また、本実施形態では、図17に示すように、オブジェクト空間に設定された3次元の所定範囲Rに移動体(自機)OB1が位置する場合に、移動体OB1の挙動を制限するようにしてもよい。ここで、所定範囲Rは、複数の敵地上物E(地上に位置する戦車、地上施設、兵器など)が配置されている範囲を含む3次元のボリュームであり、オブジェクト空間の地上に配置される。本実施形態では、プレーヤに敵地上物を間近に接近して破壊する迫力を味わわせるようにするため、また、地表に激突する危険なく地上のターゲットである敵地上物に接近できるように所定範囲Rを設け、所定範囲Rに属する移動体OB1に挙動制限等、特別な処理を行っている。
例えば、ワールド座標系の移動体OB1の位置座標(X,Y,Z)が、XYZで指定される所定範囲内に位置しているか否かを判定し、移動体OB1の位置座標が、所定範囲内に位置している場合に、制限条件を満たすと判定し、所定範囲内に位置していない場合に、制限条件を満たさないと判定する。
なお、本実施形態では、所定範囲Rを、予め決められた場所に配置された複数の敵地上物の位置EP1〜EP5を含むように、予め定義してもよい。また、自機OB1の位置に基づいて、敵地上物を含む範囲を設定し、当該範囲を所定範囲Rとしてリアルタイムに設定してもよい。なお、本実施形態では、主に敵地上物を含むように所定範囲Rを設定しているが、敵の機体(戦闘機)を含むように所定範囲Rを設定してもよい。
4.2.2 挙動制限
本実施形態では、移動体OB1が所定範囲Rに属した場合には、移動体OB1の挙動を制限する処理を行う。例えば、所定範囲Rでは、所定範囲用の挙動変化率として、挙動変化率を「0.8」に設定するようにし、例えば、予め決められた移動体の向きの値(例えば、ロールの回転速度)に挙動変化率「0.8」を乗算する。また、移動体OB1の移動方向の方向角度値に挙動変化率「0.8」を乗算する処理を行うようにしてもよい。
また、移動体OB1が所定範囲内に位置している場合の挙動制限の内容(挙動変化率、制限値域)、移動体OB1のアイテムカメラ制御時の挙動制限の内容(挙動変化率、制限値域)を異ならせるようにしてもよい。
なお、移動体OB1が所定範囲内に位置し、更に、機銃などが選択されアイテムカメラ制御された場合には、アイテムに応じた挙動変化率に基づいて、挙動制限を行うようにしてもよい。
また、移動体OB1が所定範囲内に位置し、更に、機銃などが選択されアイテムカメラ制御された場合には、所定範囲用の挙動変化率と、アイテムカメラ制御のアイテムに応じた挙動変化率とに基づいて、(例えば、所定範囲用の挙動変化率と、アイテムカメラ制御のアイテムに応じた挙動変化率との平均値)に基づいて、挙動制限を行うようにしてもよい。
また、移動体OB1が所定範囲内に位置し、更に、機銃などが選択されアイテムカメラ制御された場合には、仮想カメラの位置に応じた挙動変化率に基づいて、挙動制限を行うようにしてもよい。また、所定範囲用の挙動変化率と、仮想カメラの位置に応じた挙動変化率とに基づいて、(例えば、所定範囲用の挙動変化率と、仮想カメラの位置に応じた挙動変化率との平均値)に基づいて、挙動制限を行うようにしてもよい。
4.2.3 画像についての説明
本実施形態では、移動体OB1が所定範囲内に位置している場合は制限条件を満たすと判定し、移動体OB1の挙動(ロール、ピッチ、ヨー)を制限する。なお、移動体OB1が所定範囲外に出ると、挙動制限を解除し通常飛行に戻る。
図18は、所定範囲Rに移動体OB1が属した際の画像の一例を示す。例えば、移動体(自機)OB1が所定範囲に属していることを示す指示表示物MK、所定範囲Rに存在する敵地上物の位置を示すターゲット表示物TGTを示す。なお、図18に示すように、複数のターゲット表示物TGTを連続して攻撃できるように、複数のターゲット表示物TGTに沿ってパス400を示している。このようにすれば、プレーヤは、移動体OB1をパス400に沿って移動させるように操作すればよいので、プレーヤが操作し易い画像を生成することができる。
図19は、移動体(自機)OB1が、地上に接近して、敵地上物E1、E2を攻撃する様子を示す画像を示す。例えば、移動体OB1は、機体の回転が制限され、また、移動方向の大きな変化が制限されるので、表示される画像が揺れることがない。そのため、地上に接近して敵地上物E1、E2を攻撃する場合でも、容易に敵地上物E1、E2をターゲットとして狙うことができる。また、敵地上物E1、E2を攻撃する際に迫力のある画像を提供することができる。
なお、本実施形態では、所定範囲は画像上表示しないように制御している。そのため、本実施形態では、指示表示物MKを表示することによって、移動体(自機)が所定範囲に属しているか否かを示している。例えば、移動体OB1が所定範囲から外れそうになると、指示表示物MKを点滅して表示させるようにしてもよい。なお、移動体OB1が所定範囲が外れると指示表示物MKを非表示にする。
5.処理の流れ
図20を用いて、本実施形態の挙動制限の処理の流れについて説明する。まず、挙動変化率K=1に設定する(ステップS1)。そして、制限条件を満たすか否かを判断する(ステップS2)。制限条件を満たす場合(ステップS2のY)には、挙動制限率Kを、1よりも小さな値(0<K<1)に変更する(ステップS3)。そして、挙動変化率Kに基づいて移動体の向き及び移動方向の少なくとも一方を演算する(ステップS4)。そして、移動体の挙動に基づいて、仮想カメラの挙動を演算する(ステップS5)。以上で処理が終了する。
6.挙動制限についての他の例
次に、本実施形態において、移動体の挙動を制限する他の例について説明する。
6.1 入力情報の制限
本実施形態では、制限条件を満たす場合に、入力情報である入力値を制限するようにしてもよい。
6.1.1 アナログレバー
図21は、本実施形態の入力部160の一例である入力装置11を示す。例えば、入力装置11は、操作ボタンB1〜B4、LT、RT、LB、RB、上下左右の方向を示すボタンVP、アナログレバー(アナログスティック)LS、RSを含む。
例えば、図22(A)に示すように、本実施形態の端末10は、アナログレバーLSの倒し方向TDと、傾斜角度値βとを検出している。そして、端末10は、倒し方向TDが右(x軸プラス)の傾斜角度値を検出した場合は、移動体を右回転のロールの挙動を行わせる。また、倒し方向TDが左(x軸マイナス)の傾斜角度値を検出した場合は、左回転のロールの挙動を行わせ、倒し方向TDが上(z軸プラス)の傾斜角度値を検出した場合はピッチアップ、倒し方向TDが下(z軸マイナス)の傾斜角度値を検出した場合はピッチダウンを行わせる。
本実施形態では、アナログレバーLSの遊び角度を設けている。例えば、図22(A)に示すように、ニュートラルポジション(基準軸N)から遊び角度βより小さい角度で傾斜されている場合には、入力値(傾斜角度、傾斜方向)を無視している。つまり、遊び角度β以上で傾斜された入力値に基づいて、移動体OB1の挙動制御、仮想カメラの挙動制御を行う。
そして、本実施形態では、制限条件を満たす場合には、例えば、図22(A)アナログレバーLSの倒し方向TDの遊び角度βを大きくするように制御してもよい。
例えば、図22(B)に示すように、制限条件を満たしていない場合には、遊び角度をβ1(第1の所定値の一例)にし、制限条件を満たす場合には遊び角度をβ2(第2の所定値の一例)にするように制御する。このようにすれば、制限条件を満たす状況下では、β2より小さい角度で傾斜されている場合にはその入力値は無視され、β2以上で傾斜された入力値に基づき移動体OB1、仮想カメラの挙動を制御するので、移動体の無駄な挙動が抑えられ、その結果、画像の不要な揺れを防止することができる。
また、本実施形態では、制限条件を満たす場合には、入力値そのものを制限してもよい。例えば、傾斜角度値に挙動変化率を乗算するようにしてもよい。
6.1.2 加速度値の制限
図23(A)〜(C)は、本実施形態の入力部160の他の例である入力装置12、13を示す。入力装置12、13は、加速度センサを備え、加速度値を検出することができる。
本実施形態では、入力装置12、13それぞれに設定されている加速度センサによって、3軸の加速度を検出する。現実世界では、常に重力加速度が働いているので、重力加速度に基づいて、入力装置12、13自体が3軸のいずれの方向に傾いているかを算出することができる。本実施形態では、これらの加速度センサから検出された加速度を、移動用の入力情報としている。
例えば、図23(A)(B)に示すように、入力装置12に設定された加速度センサから検出された加速度に基づいて、自機の移動方向(旋回する方向)を決定し、入力装置13に設定された加速度センサから検出された加速度に基づいて、自機の移動速度を制御している。
例えば、図23(A)に示すように、入力装置12自体を右方向に傾けると、オブジェクト空間において自機を右方向にロール或いは右旋回させ、入力装置12自体を左に傾けると、オブジェクト空間において自機を左方向にロール或いは左旋回させるように制御する。
また図23(B)に示すように、入力装置12自体を上方向に傾けると、オブジェクト空間において自機を上昇(ピッチアップ)させ、入力装置12自体を下方向に傾けると、オブジェクト空間において自機を下降(ピッチダウン)させるように制御する。
また、図23(C)に示すように、入力装置13自体を、水平に保つ状態から上方向に傾けると、オブジェクト空間における自機を加速させる処理を行い、入力装置13を水平にすると自機を所定速度(時速300km)までに減速させ、所定速度を維持するように、自機の移動速度を制御する。
本実施形態では、このように加速度値に基づいて、移動体の向き及び移動方向の少なくとも一方を制御する場合において、遊び範囲を設けるようにし、制限条件を満たすか否かによって遊び範囲を異ならせるようにしてもよい。例えば、検出された加速度値(入力値)が、所定加速度値(所定値の一例)を設定し、所定加速度値以上の場合に、当該加速度値に基づいて移動体の挙動を制御する。一方、検出された加速度値(入力値)が、所定加速度値未満である場合には、当該加速度値を無視するようにする。
そして、例えば、制限条件を満たしていない場合には、所定加速度値をG1(第1の所定値の一例)に設定し、制限条件を満たす場合には所定加速度値をG2(G1<G2、G2は第2の所定値の一例)に設定する。このようにすれば、制限条件を満たす状況下では、所定加速度値G2よりも小さい加速度値は無視され、所定加速度値G2以上の加速度値に基づき移動体OB1、仮想カメラの挙動を制御するので、移動体の無駄な挙動が抑えられ、その結果、画像の不要な揺れを防止することができる。
また、本実施形態では、制限条件を満たす場合には、入力値そのものを制限してもよい。例えば、加速度値に挙動変化率を乗算するようにしてもよい。
なお、端末10に加速度センサを備える携帯端末(スマートフォン、携帯ゲーム装置、携帯電話、タッチパネル式携帯端末)も同様に、加速度値を制限する処理を行うようにしてもよい。
6.2 挙動演算
本実施形態では、制限条件を満たす場合に、移動体の挙動の進行速度を減速する処理(移動体の挙動をスローモーションにする処理)を行うようにしてもよい。
6.2.1 処理例1
例えば、移動体の挙動の進行速度を減速する処理として、移動体の挙動演算(移動演算)の間隔を長くする処理を行うようにしてもよい。例えば、制限条件を満たさない場合には、F秒(例えば、1/60秒)の間隔で挙動演算を行い、制限条件を満たす場合には、2F秒(例えば、1/30秒)の間隔で挙動演算を行うようにしてもよい。
同様に、本実施形態では、制限条件を満たす場合には、制限条件を満たさない場合よりも、仮想カメラの演算の間隔を長くするようにしてもよい。例えば、制限条件を満たさない場合には、F秒の間隔で仮想カメラの演算を行い、制限条件を満たす場合には、2F秒の間隔で仮想カメラの演算を行うようにしてもよい。
例えば、図24に示すように、制限条件を満たす場合の期間600では、制限条件を満たさない場合の期間500よりも、移動体の挙動演算、仮想カメラの演算の間隔を長くするようにしてもよい。
つまり、期間500において時刻T1に生じる事象(例えば、自機の位置P1からP2への移動)が、期間600においてT1の時刻よりも遅い時刻T2で生じるように制御する。このようにすれば、時間的な余裕が生じるのでプレーヤは余裕をもって操作入力を行うことができ、ターゲットを狙いやすくすることができる。また、ロールやピッチ、ヨーによって生じる揺れが緩やかになる。したがって、酔いなどの症状を防止できる。
なお、制限条件を満たす場合の期間600では、制限条件を満たさない場合の期間500よりも、挙動演算の間隔に合わせて、入力の受け付け処理の間隔、ゲーム演算の間隔、描画更新の間隔を長くするようにしてもよいし、期間500と期間600とにおいて同じ周期(例えば、F秒の周期)にしてもよい。
6.2.2 処理例2
また、本実施形態では、移動体の挙動の進行速度を減速する処理(スローモーション処理)について他の手法を採用してもよい。例えば、制限条件を満たすか否かにかかわらず、F秒(例えば、1/60秒)の間隔で挙動演算処理を実行し、制限条件を満たす場合には、「0.5F秒経ったときの演算結果」をリクエストするようにして演算処理を行うようにしてもよい。つまり、制限条件を満たす場合には、F秒毎に、実際のF秒(例えば、1/60秒)の半分に当たる0.5F秒(例えば、1/120)後における移動体の挙動演算を行う。その結果、制限条件を満たす期間において、移動体の挙動の進行速度をスローにすることができる。
本実施形態では、仮想カメラの演算処理も移動体の挙動演算と同様に行ってもよい。例えば、制限条件を満たすか否かにかかわらず、F秒(例えば、1/60秒)の間隔で仮想カメラの演算処理を実行する。そして、制限条件を満たす場合には、「0.5F秒経ったときの仮想カメラの演算結果」をリクエストするようにして演算処理を行うようにしてもよい。
6.2.3 処理例3
また、本実施形態では、制限条件を満たす場合に、ゲーム進行速度を減速させるようにすることによって、移動体、仮想カメラの挙動の進行速度を減速する処理(スローモーション処理)を行うようにしてもよい。例えば、図24に示すように、制限条件を満たす場合の期間600では、制限条件を満たさない場合の期間500よりも、ゲーム進行速度を減速(スローモーション)する。
なお、入力の受付処理、移動体の挙動演算周期、画像生成処理周期は、ゲーム進行速度に応じて変化させてもよい。入力の受付処理、移動体の挙動演算周期、画像生成処理周期は、期間500と期間600とにおいて同じ周期(例えば、1/60秒周期)にしてもよい。
7.通信制御の説明
7.1 オンラインゲームの処理例1
本実施形態では、複数の端末とネットワークを介して相互にデータの送受信を行い、オンラインフライトシューティングゲームを実現可能としてもよい。つまり、本実施形態では、ピア・ツー・ピア方式のオンラインゲームに適用してもよい。
図25及び図26は、本実施形態のネットワークシステムの構成を示す図である。例えば、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で無線通信を行って、各端末10A〜10Cの所有者が対戦プレイや協力プレイを行うことができる。なお、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で有線通信を行ってもよい。
無線通信の態様としては、図25に示すように、各端末10A〜10Cが自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図26に示すように、端末10AがアクセスポイントACSP1を介し、端末10B、10CがアクセスポイントACSP2を介して、間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントACSP1又はASCP2を介してインターネットInet(公衆通信網)にアクセスすることができる。そして、各端末10A〜10Cは、インターネットInetに接続されたサーバ20との間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットを、アクセスポイントACSP1又はACSP2を介して送受信することができる。
本実施形態のネットワークシステムは、端末10Aの移動体OB1が、他の端末10Bの移動体OB2を攻撃するゲーム演算を行うようにしてもよい。また、本実施形態のネットワークシステムは、複数の端末10A、10Bそれぞれの操作対象の移動体OB1、OB2によって構成される第1のグループと、複数の端末10C、10Dそれぞれの操作対象の移動体OB3、OB4によって構成される第2のグループとが対戦を行うゲーム演算を行うようにしてもよい。
また、本実施形態では、各端末が相互にネットワークを介して移動情報等のデータに基づいて、端末のオブジェクト空間に配置される他の機体(他の端末を操作するプレーヤの操作対象の移動体)を移動・動作させる。つまり、各端末10は、ネットワークを介して、移動体の挙動(向き、移動方向、位置、移動速度)などを含むデータ、アナログレバー、ボタンの入力情報、加速度値などのデータを送受信する。
例えば、描画のフレームレートで(例えば、1/60秒毎)、端末10Aが、端末10Aの操作対象の機体OB1の位置Pを端末10Bに送信する。一方、端末10Bにおいても、端末10Aと同じように、描画のフレームレートで端末10Bの操作対象の機体OB2の位置Qを端末10Aに送信する。
また、各端末は、各端末のオブジェクト空間における仮想カメラから見える画像を、ゲーム画像として生成する処理を行う。従って、端末毎に、その端末が操作する移動体の挙動に応じた画像が生成される。
7.2 オンラインゲームの処理例2
また、本実施形態では、クライアント・サーバ方式のオンラインゲームに適用してもよい。つまり、サーバ20が、端末10で行う一部の処理(例えば、処理部100の少なくとも1つの処理)を行うようにしてもよい。図27に示すように、サーバ20が、ネットワーク(例えば、インターネット)を介して複数の端末10A〜10Cと接続され、サーバ20が、端末10から入力情報を受信する。そして、サーバ20が、受信した入力情報に基づいて画像を生成し、生成した画像を端末10に送信してもよい。
つまり、サーバ20は、ネットワークを介して端末から、移動体制御用の入力情報を受信し、オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御し、移動体の挙動に追従する仮想カメラを制御し、オブジェクト空間における仮想カメラから見える画像を生成するようにしてもよい。そして、サーバ20は、仮想カメラの挙動を制限するための制限条件を満たすか否かを判定し、制限条件を満たす場合には、仮想カメラの挙動を制限するようにしてもよい。
8.立体視画像
また、本実施形態では、立体視画像に応用してもよい。すなわち、本実施形態の描画部120が、立体視のための左目用仮想カメラから見える左目用画像と、立体視のための右目用仮想カメラから見える右目用画像とを生成し、当該左目用画像と当該右目用画像とを合成して立体視用画像を生成する処理を行うようにしてもよい。
ここで、立体視画像とは、人間の左右の眼の視線角度のずれ、輻輳、焦点距離(ピント調整)の生理的機能を利用して、立体物があるかのように感じることができる画像のことである。立体視画像では、酔いの症状が出やすい傾向にあるので、特に、本実施形態の挙動制限を行うことが効果的である。
9.応用例
9.1 角加速度
本実施形態では、制限条件を満たした場合に、角加速度(角速度の単位時間当たりの変化)を減少させるようにしてもよい。
例えば、移動体OB1にロール、ピッチ、ヨーの少なくとも1つの挙動を行わせる場合において、制限条件を満たす場合(制限条件を満たす期間)は、制限条件を満たさない場合(制限条件を満たさない期間)よりも、移動体OB1の角加速度(回転の加速度)を減少させるように、移動体を制御するようにしてもよい。
また、本実施形態では、移動体OB1にロール、ピッチ、ヨーの少なくとも1つの角加速度の挙動制限に応じて、移動体OB1の挙動に追従する仮想カメラCの角加速度の挙動も制限してもよい。例えば、制限条件を満たす場合は、制限条件を満たさない場合よりも、仮想カメラCの角加速度(回転の加速度)を減少させるように、仮想カメラCを制御するようにしてもよい。
9.2 仮想カメラの追従の例外処理
本実施形態では、制限条件を満たすか否かにかかわらず、例外的に、仮想カメラCが移動体OB1の一部の挙動に追従しないように制御してもよい。例えば、図2(C)に示す3人称視点の場合は、制限条件を満たすか否かにかかわらず、仮想カメラCを移動体OB1のロールの挙動に追従しないように制御してもよい。
10.その他
また本発明は、業務用ゲームシステム等の種々のゲームシステムに適用できる。また、本実施形態では、フライトシューティンゲームに限らず、プレーヤの操作対象のプレーヤキャラクタが武器(拳銃)などを用いて、敵を攻撃するシューティングゲームに応用してもよい。
また、本実施形態で行う移動体、仮想カメラの挙動制限処理は、シューティングゲームの他、アクションゲーム、ロールプレイングゲーム、対戦ゲーム、レースゲーム、音楽ゲーム、格闘ゲームなど種々のゲーム装置、ゲームを提供するサーバで行うようにしてもよい。
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。なお、本実施形態で説明した実施例は、自由に組み合わせることができる。
100 処理部、110 受け付け部、111 オブジェクト空間設定部、
112 移動・動作処理部、112a 移動体制御部、
113 判定部、114 ヒット判定部、115 ゲーム演算部、
116 表示制御部、117 仮想カメラ制御部、118 通信制御部
120 描画部、130 音処理部、160 入力部、162 検出部、
170 記憶部、171 主記憶部、172 画像バッファ、
173 オブジェクトデータ記憶部、180 情報記憶媒体、190 表示部、
192 音出力部、196 通信部、
OB 移動体、C 仮想カメラ

Claims (20)

  1. 画像生成処理を行うプログラムであって、
    オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する移動体制御部と、
    前記移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
    オブジェクト空間における前記仮想カメラから見える画像を生成する描画部と、
    仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する判定部として、コンピュータを機能させ、
    前記移動体制御部が、
    前記制限条件を満たす場合に、移動体の挙動を制限し、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合に、前記移動体の挙動の制限に応じて、前記仮想カメラの挙動を制限することを特徴とするプログラム。
  2. 請求項1において、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記仮想カメラの回転量を減少させることを特徴とするプログラム。
  3. 請求項1又は2において、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記仮想カメラの移動方向を緩やかに変化させることを特徴とするプログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、制限値域内で前記仮想カメラを回転させることを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも前記仮想カメラの画角を狭めることを特徴とするプログラム。
  6. 請求項1〜5のいずれかにおいて、
    前記移動体制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記移動体の回転量を減少させ、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記移動体の回転量の減少に応じて、前記仮想カメラの回転量を減少させることを特徴とするプログラム。
  7. 請求項1〜6のいずれかにおいて、
    前記移動体制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、単位時間当たりの前記移動体の移動方向を緩やかに変化させ、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記移動体の移動方向の変化に応じて、前記仮想カメラの移動方向を変化させることを特徴とするプログラム。
  8. 請求項1〜7のいずれかにおいて、
    前記移動体制御部が、
    前記制限条件を満たす場合には、制限値域内で前記移動体を回転させ、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合には、前記移動体の回転に応じて、前記仮想カメラを前記制限値域内で回転させることを特徴とするプログラム。
  9. 請求項1〜8のいずれかにおいて、
    アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合に、アイテムに基づき前記仮想カメラの挙動を制限することを特徴とするプログラム。
  10. 請求項9において、
    前記アイテムは、複数のカテゴリのいずれかのカテゴリに分類されており、
    前記移動体制御部が、
    選択されたアイテムのカテゴリに応じて、前記仮想カメラの挙動を制限することを特徴とするプログラム。
  11. 請求項1〜10のいずれかにおいて、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合に、視点位置に基づき前記仮想カメラの挙動を制限することを特徴とするプログラム。
  12. 請求項11において、
    アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、
    前記視点位置は、選択されたアイテムに基づき決定される位置であることを特徴とするプログラム。
  13. 請求項1〜12のいずれかにおいて、
    アイテムの選択を受け付ける受け付け部として、コンピュータを機能させ、
    前記判定部が、
    アイテムの選択を受け付けてから当該選択が解除されるまで、前記制限条件を満たすと判定することを特徴とするプログラム。
  14. 請求項1〜13のいずれかにおいて、
    前記移動体に対する相対的な仮想カメラの位置を特定の位置に変更するための視点位置変更入力情報を受け付ける受け付け部として、コンピュータを更に機能させ、
    前記仮想カメラ制御部が、
    前記視点位置変更入力情報を受け付けた場合に、仮想カメラの位置を前記特定の位置に変更する処理を行い、
    前記判定部が、
    前記視点位置変更入力情報を受け付けてから前記特定の位置での視点変更が解除されるまで、前記制限条件を満たすと判定することを特徴とするプログラム。
  15. 請求項1〜14のいずれかにおいて、
    前記オブジェクト空間において、所定範囲を設定するオブジェクト空間設定部として、コンピュータを更に機能させ、
    前記判定部が、
    前記移動体が前記所定範囲内に属する場合に、制限条件を満たすと判定することを特徴とするプログラム。
  16. 請求項1〜15のいずれかにおいて、
    前記仮想カメラ制御部が、
    前記制限条件を満たさない場合には、第1の所定値以上の入力値に基づいて、前記仮想カメラの挙動を制御し、
    前記制限条件を満たす場合には、前記第1の所定値よりも大きい第2の所定値以上の入力値に基づいて、前記仮想カメラの挙動を制御することを特徴とするプログラム。
  17. 請求項1〜16のいずれかにおいて、
    前記移動体制御部が、
    前記制限条件を満たす場合には、前記制限条件を満たさない場合よりも、移動体の挙動の進行速度を減速することを特徴とするプログラム。
  18. コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜17のいずれかのプログラムを記憶されたことを特徴とする情報記憶媒体。
  19. 画像生成処理を行う端末であって、
    オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する移動体制御部と、
    前記移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
    オブジェクト空間における前記仮想カメラから見える画像を生成する描画部と、
    仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する判定部と、を含み、
    前記移動体制御部が、
    前記制限条件を満たす場合に、移動体の挙動を制限し、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合に、前記移動体の挙動の制限に応じて、前記仮想カメラの挙動を制限することを特徴とする端末。
  20. 画像生成処理を行うサーバであって、
    ネットワークを介して端末から、移動体制御用の入力情報を受信する通信制御部と、
    オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する移動体制御部と、
    前記移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
    オブジェクト空間における前記仮想カメラから見える画像を生成する描画部と、
    仮想カメラの挙動を制限するための制限条件を満たすか否かを判定する判定部と、を含み、
    前記移動体制御部が、
    前記制限条件を満たす場合に、移動体の挙動を制限し、
    前記仮想カメラ制御部が、
    前記制限条件を満たす場合に、前記移動体の挙動の制限に応じて、前記仮想カメラの挙動を制限することを特徴とするサーバ。
JP2011078942A 2011-03-31 2011-03-31 プログラム、情報記憶媒体、端末、及びサーバ Withdrawn JP2012215934A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011078942A JP2012215934A (ja) 2011-03-31 2011-03-31 プログラム、情報記憶媒体、端末、及びサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011078942A JP2012215934A (ja) 2011-03-31 2011-03-31 プログラム、情報記憶媒体、端末、及びサーバ

Publications (1)

Publication Number Publication Date
JP2012215934A true JP2012215934A (ja) 2012-11-08

Family

ID=47268670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011078942A Withdrawn JP2012215934A (ja) 2011-03-31 2011-03-31 プログラム、情報記憶媒体、端末、及びサーバ

Country Status (1)

Country Link
JP (1) JP2012215934A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5337925B1 (ja) * 2013-06-24 2013-11-06 グリー株式会社 射撃ゲーム用プログラム、ゲームシステム及び射撃ゲーム制御方法
JP5337919B1 (ja) * 2013-02-26 2013-11-06 グリー株式会社 射撃ゲーム用プログラム、ゲームシステム及び射撃ゲーム制御方法
JP2018010486A (ja) * 2016-07-13 2018-01-18 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP2020155980A (ja) * 2019-03-20 2020-09-24 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法
JP2021511585A (ja) * 2018-01-19 2021-05-06 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法と装置、記憶媒体、及び電子機器
JP7480377B2 (ja) 2018-07-20 2024-05-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5337919B1 (ja) * 2013-02-26 2013-11-06 グリー株式会社 射撃ゲーム用プログラム、ゲームシステム及び射撃ゲーム制御方法
JP5337925B1 (ja) * 2013-06-24 2013-11-06 グリー株式会社 射撃ゲーム用プログラム、ゲームシステム及び射撃ゲーム制御方法
JP2018010486A (ja) * 2016-07-13 2018-01-18 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
WO2018012393A1 (ja) * 2016-07-13 2018-01-18 株式会社バンダイナムコエンターテインメント シミュレーションシステム、処理方法及び情報記憶媒体
JP2021511585A (ja) * 2018-01-19 2021-05-06 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法と装置、記憶媒体、及び電子機器
JP7061674B2 (ja) 2018-01-19 2022-04-28 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法と装置、記憶媒体、及び電子機器
JP7480377B2 (ja) 2018-07-20 2024-05-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2020155980A (ja) * 2019-03-20 2020-09-24 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法
JP7349808B2 (ja) 2019-03-20 2023-09-25 任天堂株式会社 画像表示システム、画像表示プログラム、画像表示装置、および画像表示方法
US11835737B2 (en) 2019-03-20 2023-12-05 Nintendo Co., Ltd. Image display system, non-transitory storage medium having stored therein image display program, image display apparatus, and image display method

Similar Documents

Publication Publication Date Title
JP5614956B2 (ja) プログラム、画像生成システム
JP5161256B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5300777B2 (ja) プログラム及び画像生成システム
JP5597837B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP5390115B2 (ja) プログラム、ゲームシステム
US9345972B2 (en) Information storage medium, image generation system, and image generation method
US8514255B2 (en) Information storage medium, image control device, and image control method
JP2012210243A (ja) プログラム、情報記憶媒体、端末、及びサーバ
JP2012212237A (ja) 画像生成システム、サーバシステム、プログラム及び情報記憶媒体
JP2011215886A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP2011053838A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP2012215934A (ja) プログラム、情報記憶媒体、端末、及びサーバ
JP7426462B2 (ja) プログラム、ゲーム装置、サーバ装置及びゲームシステム
JP2017118979A (ja) ゲーム装置及びプログラム
JP2011096018A (ja) プログラム、情報記憶媒体、端末及びネットワークシステム
JP2013013450A (ja) プログラム、情報記憶媒体、端末及びサーバ
JP2020044103A (ja) ゲームシステム及びプログラム
JP2012252659A (ja) プログラム、情報記憶媒体、及びサーバ
JP5597869B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP2008067853A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2011255114A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4420729B2 (ja) プログラム、情報記憶媒体および画像生成システム
JP2009201743A (ja) プログラム、情報記憶媒体、及び、ゲーム機
JP2011258149A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008071049A (ja) プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603