Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7844064B2 - 情報処理装置、情報処理方法、情報処理プログラム - Google Patents
[go: Go Back, main page]

JP7844064B2 - 情報処理装置、情報処理方法、情報処理プログラム - Google Patents

情報処理装置、情報処理方法、情報処理プログラム

Info

Publication number
JP7844064B2
JP7844064B2 JP2025066644A JP2025066644A JP7844064B2 JP 7844064 B2 JP7844064 B2 JP 7844064B2 JP 2025066644 A JP2025066644 A JP 2025066644A JP 2025066644 A JP2025066644 A JP 2025066644A JP 7844064 B2 JP7844064 B2 JP 7844064B2
Authority
JP
Japan
Prior art keywords
field
value
virtual camera
parameter
deformation
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.)
Active
Application number
JP2025066644A
Other languages
English (en)
Other versions
JP2025108585A (ja
Inventor
綾佑 西田
Original Assignee
グリーホールディングス株式会社
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 グリーホールディングス株式会社 filed Critical グリーホールディングス株式会社
Priority to JP2025066644A priority Critical patent/JP7844064B2/ja
Publication of JP2025108585A publication Critical patent/JP2025108585A/ja
Application granted granted Critical
Publication of JP7844064B2 publication Critical patent/JP7844064B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

本開示は、情報処理装置、情報処理方法、情報処理プログラムに関する。
3次元の仮想空間に配置されるオブジェクトを、仮想空間に配置された仮想カメラから
視た表現で描画するための情報処理装置が知られている。
特開2013-208269号公報
上記のような従来技術では、仮想カメラと特定オブジェクトとの関係(例えば位置関係
)に応じた多様な表現を生成することが難しい。
そこで、1つの側面では、本発明は、仮想カメラと特定オブジェクトとの関係に応じた
多様な表現を生成することを目的とする。
1つの側面では、互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想
空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で
描画するための情報処理装置であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けら
れるフィールドオブジェクトと、前記フィールドオブジェクトに配置される特定オブジェ
クトとを含み、
前記フィールドオブジェクトにおける前記仮想カメラの画角内に収まる領域を変化させ
る変化処理部と、
前記フィールドオブジェクトを変形させる変形処理部とを含み、
前記変形処理部は、前記領域内における前記特定オブジェクトの横方向の位置に基づい
て、前記フィールドオブジェクトの変形態様を異ならせる、情報処理装置が提供される。
1つの側面では、本発明によれば、仮想カメラと特定オブジェクトとの関係に応じた多
様な表現を生成することが可能となる。
本実施形態に係るゲームシステムのブロック図である。 フィールド画像の一例を示す図である。 フィールドオブジェクトを形成するフィールド面と背景オブジェクトを形成する背景面の全体を示す平面図である。 フィールド面と背景面の一部を示す斜視図である。 各種の位置関係を示す説明図である。 仮想カメラから視た表現で描画して得られたフィールド画像の一例を示す概略図である。 フィールド面の曲げ変形を実現するための変形パラメータの一例の説明図である。 関数に基づくフィールド面の曲げ変形の説明図である。 フィールド面の曲げ変形の適用場面の説明図である。 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その1)である。 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その2)である。 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その3)である。 仮想カメラの位置の変化の自由度の説明図である。 仮想カメラの視線方向の回転の説明図である。 カメラパラメータの説明図である。 特定オブジェクト領域等の説明図である。 各種のオブジェクト領域の説明図である。 サーバ装置の描画機能に関する機能ブロック図の一例である。 変形パラメータデータの説明図である。 距離パラメータデータの説明図である。 向きパラメータデータの説明図である。 サーバ制御部により実現される処理の流れを示す概略フローチャートである。 第1距離パラメータ算出処理(ステップS1608)の一例を示す概略フローチャートである。 補間処理範囲の説明図である。 向きパラメータ算出処理(ステップS1610)の一例を示す概略フローチャートである。 迎角パラメータ算出処理(ステップS1612)の一例を示す概略フローチャートである。 所定オブジェクトの移動に伴う変形処理(ステップS1615)の一例を示す概略フローチャートである。 曲げ変形処理の説明図である。 第1変形パラメータ算出部による第1変形パラメータ算出処理(ステップS2102)を示す概略フローチャートである。 第2変形パラメータ算出部による第2変形パラメータ算出処理(ステップS2104)を示す概略フローチャートである。 変形パラメータ調整部による変形パラメータ調整処理(ステップS2106)を示す概略フローチャートである。 原点設定処理部による原点設定処理(ステップS2108)の一例を示す概略フローチャートである。 内分点Piの説明図である。 第2距離パラメータ算出処理(ステップS1623)の一例を示す概略フローチャートである。 フィールドオブジェクトの平面図である。 位置E1に係るフィールド画像の一例を示す図である。 位置E2に係るフィールド画像の一例を示す図である。 位置E3に係るフィールド画像の一例を示す図である。 他の動作例に係る位置E3に係るフィールド画像の一例を示す図である。 更なる他の動作例に係る位置E3に係るフィールド画像の一例を示す図である。 変形例によるサーバ装置の描画機能に関する機能ブロック図の一例である。 補間処理範囲の設定方法の説明図(その1)である。 補間処理範囲の設定方法の説明図(その2)である。
以下、添付図面を参照しながら各実施例について詳細に説明する。
(ゲームシステムの概要)
図1を参照して、本発明の一実施形態に係るゲームシステム1の概要について説明する
。図1は、本実施形態に係るゲームシステム1のブロック図である。図2は、フィールド
画像の一例を示す図である。ゲームシステム1は、サーバ装置10と、1つ以上の端末装
置20と、を備える。図1では簡便のため、3つの端末装置20を図示しているが、端末
装置20の数は2つ以上であればよい。
サーバ装置10は、例えばゲーム運営者が管理するサーバ等の情報処理装置である。端
末装置20は、例えば携帯電話、スマートフォン、タブレット端末、PC(Person
al Computer)、又はゲーム装置等の、ユーザによって使用される情報処理装
置である。端末装置20は、本実施形態に係るゲームのアプリケーションを実行可能であ
る。ゲームのアプリケーションは、ネットワーク30を介してサーバ装置10や所定のア
プリケーション配信サーバから端末装置20に受信されてもよく、あるいは端末装置20
に備えられた記憶装置又は端末装置20が読取可能なメモリカード等の記憶媒体に予め記
憶されていてもよい。サーバ装置10及び端末装置20は、ネットワーク30を介して通
信可能に接続される。例えば、サーバ装置10及び端末装置20が協動して、ゲームに関
する多様な処理を実行する。
なお、ネットワーク30は、無線通信網や、インターネット、VPN(Virtual
Private Network)、WAN(Wide Area Network)
、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでよい。
ここで、本実施形態に係るゲームの概要について説明する。本実施形態に係るゲームは
、例えばロールプレイングゲーム又はシミュレーションゲーム等であって、ゲームの実行
に伴い、ゲーム媒体が用いられる。例えば、本実施形態に係るゲームは、3次元の仮想空
間内のフィールド上でゲーム媒体を移動させるゲームである。
ゲーム媒体は、ゲームに使用される電子データであり、例えば、カード、アイテム、ポ
イント、サービス内通貨(又はゲーム内通貨)、チケット、キャラクタ、アバタ、パラメ
ータ等、任意の媒体を含む。また、ゲーム媒体は、レベル情報、ステータス情報、ゲーム
パラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョ
ブ等)のような、ゲーム関連情報であってもよい。また、ゲーム媒体は、ユーザによって
ゲーム内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得
る電子データであるが、ゲーム媒体の利用態様は本明細書で明示されるものに限られない
以下、特に明示した場合を除き、「ユーザが所有するゲーム媒体」とは、ユーザのユー
ザIDに対応付けられたゲーム媒体を示す。また、「ゲーム媒体をユーザに付与する」と
は、ゲーム媒体をユーザIDに対応付けることを示す。また、「ユーザが所有するゲーム
媒体を破棄する」とは、ユーザIDとゲーム媒体との対応付けを解消することを示す。ま
た、「ユーザが所有するゲーム媒体を消費する」とは、ユーザIDとゲーム媒体との対応
付けの解消に応じて、何らかの効果又は影響をゲーム内で発生させ得ることを示す。また
、「ユーザが所有するゲーム媒体を売却する」とは、ユーザIDと当該ゲーム媒体との対
応付けを解消し、且つ、ユーザIDに他のゲーム媒体(例えば、仮想通貨又はアイテム等
)を対応付けることを示す。また、「あるユーザが所有するゲーム媒体を他のユーザに譲
渡する」とは、あるユーザのユーザIDとゲーム媒体との対応付けを解消し、且つ、他の
ユーザのユーザIDに当該ゲーム媒体を対応付けることを示す。
本実施形態に係るゲームは、概略として、第1ゲームパートと、第2ゲームパートと、
第3ゲームパートと、を含む。
第1ゲームパートにおいて、ユーザは、ユーザキャラクタを操作して、仮想空間内のフ
ィールドを探索しながら、ゲームを進行させる。具体的には、ユーザ操作に応じてユーザ
キャラクタがフィールド上を移動する。フィールドには、例えば町及びダンジョン等の多
様なエリアが設けられており、例えば町の住人キャラクタとの会話、及びダンジョン内で
遭遇する敵キャラクタとの対戦等、エリアに応じた多様なイベントが発生する。イベント
が実行されることによって、ゲームのメインストーリーが進行する。また第1ゲームパー
トにおいて、例えば敵キャラクタとの対戦に勝利すると、例えばアイテム、仮想通貨、又
はキャラクタ等のゲーム媒体がユーザに付与され得る。付与されたゲーム媒体は、例えば
後述する第3ゲームパートにおいて使用可能である。
第2ゲームパートにおいて、ユーザは、ゲーム媒体の保有状況を変更する。ユーザは、
例えばアイテム、仮想通貨、及びキャラクタ等の多様なゲーム媒体を収集する。具体的に
は、フィールド上に設けられた採掘場及び釣り堀等の特定のエリアにユーザキャラクタを
移動させ、又は特定のキャラクタ等のゲーム媒体を選択(例えば、画面に対するタッチ操
作)すると、ゲーム媒体が取得可能なサブイベントが発生する。サブイベントは、例えば
サブストーリーの進行、及びミニゲームの実行等を含むが、サブイベントの内容はこれら
に限られない。サブイベントの実行結果に応じて、多様なゲーム媒体がユーザに付与され
得る。付与されたゲーム媒体は、例えば後述する第3ゲームパートにおいて使用可能であ
る。
第3ゲームパートにおいて、ユーザは、ゲーム媒体に関するパラメータを変更する。ユ
ーザは、例えばユーザキャラクタの強化を行う。具体的には、上述したように第1ゲーム
パート及び第2ゲームパートにおいてユーザに付与されたゲーム媒体が消費されることに
よって、ユーザキャラクタの多様なゲームパラメータが変化する。ゲームパラメータは、
例えばユーザキャラクタのレベル、HP、攻撃力、防御力、属性、及びスキル等を含むが
、これらに限られない。ユーザキャラクタのゲームパラメータの変化に応じて、ユーザキ
ャラクタが強化される。ユーザキャラクタの強化によって、第1ゲームパートにおける敵
キャラクタとの対戦でユーザキャラクタが勝利できる蓋然性が高まる。
このように、本実施形態に係るゲームにおいて、ユーザは第1ゲームパート、第2ゲー
ムパート、及び第3ゲームパートを繰り返し行う。
(サーバ装置の構成)
サーバ装置10の構成について具体的に説明する。サーバ装置10は、サーバコンピュ
ータにより構成される。サーバ装置10は、複数台のサーバコンピュータにより協動して
実現されてもよい。
サーバ装置10は、サーバ通信部11と、サーバ記憶部12と、サーバ制御部13と、
を備える。
サーバ通信部11は、外部装置と無線又は有線によって通信し、情報の送受信を行うイ
ンタフェースを含む。サーバ通信部11は、例えば無線LAN(Local Area
Network)通信モジュール又は有線LAN通信モジュール等を含んでもよい。サー
バ通信部11は、ネットワーク30を介して、端末装置20との間で情報を送受信可能で
ある。
サーバ記憶部12は、例えば記憶装置であって、ゲームの処理に必要な種々の情報及び
プログラムを記憶する。例えばサーバ記憶部12は、ゲームのアプリケーションを記憶す
る。
また、サーバ記憶部12は、3次元の仮想空間内に配置された種々のオブジェクトに投
影(テクスチャマッピング)するための種々の画像(テクスチャ画像)を記憶する。
例えば、サーバ記憶部12は、ユーザキャラクタの画像を記憶する。以下、ユーザキャ
ラクタを第1ゲーム媒体と称し、第1ゲーム媒体の画像に基づきフィールドオブジェクト
(後述)上に描画(配置)されるオブジェクトを第1オブジェクトとも称する。なお、本
実施形態では、仮想空間内では、第1オブジェクトは1つだけ表現されるが、2つ以上の
第1オブジェクトが表現されてもよい。なお、第1オブジェクトは、複数の第1ゲーム媒
体のグループであってもよい。また、仮想空間内で利用される第1ゲーム媒体(及びそれ
に基づく第1オブジェクト)は、ユーザにより適宜交換可能とされてもよい。
また、サーバ記憶部12は、例えば建物、壁、樹木、又はNPC(Non Playe
r Character)等のような、ゲーム媒体に係る画像を記憶する。以下、第1ゲ
ーム媒体とは異なる任意のゲーム媒体(例えば建物、壁、樹木、又はNPC等)であって
、後述するフィールドオブジェクトに配置されうるゲーム媒体を第2ゲーム媒体と称し、
第2ゲーム媒体が投影されたオブジェクトを第2オブジェクトとも称する。なお、本実施
形態では、第2オブジェクトは、後述するフィールドオブジェクトに対して固定されたオ
ブジェクトや、後述するフィールドオブジェクトに対して移動可能なオブジェクト等を含
んでもよい。また、第2オブジェクトは、後述するフィールドオブジェクトに常に配置さ
れるオブジェクトや、所定の条件が満たされた場合にだけ配置されるオブジェクト等を含
んでもよい。
また、サーバ記憶部12は、例えば空又は遠景等の背景の画像(背景画像)を記憶する
。以下、背景画像が投影されたオブジェクトを背景オブジェクトともいう。なお、背景画
像は複数種類用意され、使い分けられてもよい。
また、サーバ記憶部12は、フィールド(例えば、地面)の画像(フィールド画像)を
記憶する。フィールド画像は、後述するフィールド面に投影される。以下、フィールド画
像がフィールド面に投影されたオブジェクトを、フィールドオブジェクトとも称する。な
お、フィールドオブジェクトは、仮想空間内における仮想のフィールド(地面)として用
いられる。
ここで、フィールド画像には、例えば図2に示すように、互いに直交するu軸及びv軸
を有するテクスチャ座標系が設定されている。本実施形態において、フィールド画像には
、横通路14と、縦通路15と、カーブ路17とが定められている。横通路14、縦通路
15、及びカーブ路17は、フィールドオブジェクトにおける第1オブジェクト等が移動
可能な通路を形成する。なお、図2では、特定の通路構成が示されるが、通路構成は任意
である。また、図2では、フィールド画像は、矩形であるが、他の形態であってもよい。
また、フィールド画像は複数種類用意され、使い分けられてもよい。
また、サーバ記憶部12は、第2オブジェクトと、フィールド画像のテクスチャ座標と
、を対応付けた対応情報を記憶する。対応情報は、第2オブジェクトをフィールドオブジ
ェクト上に配置する処理を実行するサーバ制御部13によって用いられる。
サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むこと
により特定の機能を実現するCPUである。例えばサーバ制御部13は、表示部23に対
するユーザ操作に応じてゲームのアプリケーションを実行する。また、サーバ制御部13
は、ゲームに関する多様な処理を実行する。
例えば、サーバ制御部13は、フィールドオブジェクト及び第1オブジェクト等が表示
されるフィールド画像を表示部23に表示させる。また、サーバ制御部13は、所定のユ
ーザ操作に応じて、仮想空間内において第1オブジェクトを、フィールドオブジェクトに
対して相対的に、フィールドオブジェクト上で移動させる。サーバ制御部13の具体的な
処理の詳細は後述する。
(端末装置の構成)
端末装置20の構成について具体的に説明する。図1に示すように、端末装置20は、
端末通信部21と、端末記憶部22と、表示部23と、入力部24と、端末制御部25と
を備える。
端末通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うイン
タフェースを含む。端末通信部21は、例えばLTE(Long Term Evolu
tion)(登録商標)等のモバイル通信規格に対応する無線通信モジュール、無線LA
N通信モジュール、又は有線LAN通信モジュール等を含んでもよい。端末通信部21は
、ネットワーク30を介して、サーバ装置10との間で情報を送受信可能である。
端末記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば端末記憶部2
2は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。端末記憶部22は、
サーバ装置10から受信する、ゲームの処理に用いられる種々の情報及びプログラムを記
憶する。ゲームの処理に用いられる情報及びプログラムは、端末通信部21を介して外部
装置から取得されてもよい。例えば、ゲームのアプリケーションプログラムが、所定のア
プリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを
、単にアプリケーションともいう。また例えば、上述したユーザに関する情報及び対戦相
手であるゲーム媒体に関する情報等の一部又は全部が、サーバ装置10から取得されても
よい。
表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Lumine
scence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示
可能である。表示部23は、例えばタッチパネルで構成され、多様なユーザ操作を検出す
るインタフェースとして機能する。
入力部24は、例えば表示部23と一体的に設けられたタッチパネルを含む入力インタ
フェースを含む。入力部24は、端末装置20に対するユーザ入力を受付可能である。ま
た、入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイ
スをはじめとする任意の入力インタフェースを更に含んでもよい。
端末制御部25は、1つ以上のプロセッサを含む。端末制御部25は、端末装置20全
体の動作を制御する。
端末制御部25は、端末通信部21を介して情報の送受信を行う。例えば、端末制御部
25は、ゲームの処理に用いられる種々の情報及びプログラムを、サーバ装置10及び他
の外部サーバの少なくとも一方から受信する。端末制御部25は、受信された情報及びプ
ログラムを、端末記憶部22に記憶する。
端末制御部25は、ユーザの操作に応じてゲームのアプリケーションを起動する。端末
制御部25は、サーバ装置10と協動して、ゲームを実行する。例えば、端末制御部25
は、ゲームに用いられる種々の画像(例えば後述する各種のフィールド画像)を表示部2
3に表示させる。画面上には、例えばユーザ操作を検出するGUI(Graphic U
ser Interface)が表示されてもよい。端末制御部25は、入力部24を介
して、画面に対するユーザ操作を検出可能である。例えば端末制御部25は、ユーザのタ
ップ操作、ロングタップ操作、フリック操作、及びスワイプ操作等を検出可能である。タ
ップ操作は、ユーザが指で表示部23に触れ、その後に指を離す操作である。端末制御部
25は、操作情報をサーバ装置10に送信する。
(ゲームにおける描画機能)
サーバ制御部13は、端末装置20と協動して、表示部23上にフィールド画像を表示
し、ゲームの進行に応じてフィールド画像を更新していく。本実施形態では、サーバ制御
部13は、端末装置20と協動して、3次元の仮想空間に配置されるオブジェクトを、仮
想空間に配置された仮想カメラから視た表現で描画する。
なお、以下で説明する描画処理は、サーバ制御部13により実現されるが、他の実施形
態では、以下で説明する描画処理の一部又は全部がサーバ制御部13により実現されても
よい。例えば、以下の説明において、端末装置20に表示されるフィールド画像の少なく
とも一部を、サーバ装置10が生成したデータに基づいて端末装置20に表示させるウェ
ブ表示とし、画面の少なくとも一部を、端末装置20にインストールされているネイティ
ブアプリケーションによって表示させるネイティブ表示としてもよい。
図3及び図4は、フィールドオブジェクトと背景オブジェクトの一例の説明図である。
図3は、フィールドオブジェクトを形成するフィールド面70と背景オブジェクトを形成
する背景面72の全体を示す平面図であり、図4は、図3の矢印R0の方向成分を含む斜
め方向に視たときの、フィールド面70と背景面72の一部を示す斜視図である。図4に
は、仮想カメラ60についても模式的に図示されている。また、図4では、背景面72は
雲や太陽の絵を含む背景画像が投影された背景オブジェクトの形態で示されている。
以下の説明において、各種オブジェクトの移動とは、仮想空間内の移動を表す。また、
各種オブジェクトの可視範囲とは、仮想カメラ60から視て可視の範囲(すなわち仮想カ
メラ60の画角62内の範囲)を表す。
図3には、仮想空間の空間座標系としてのx、y、z座標系(以下、「グローバル座標
系」とも称する)が示される。なお、グローバル座標系の原点は、任意の位置に固定され
てよい。以下では、z方向の正側を仮想空間の上側とし、負側を仮想空間の下側とする。
なお、本実施形態では、x軸は、第1軸の一例であり、y軸は、第2軸の一例であり、z
軸は、第3軸の一例である。以下で、x方向、y方向、及びz方向の各用語は、x軸に平
行な方向、y軸に平行な方向、及びz軸に平行な方向をそれぞれ意味する。例えば、z方
向は、特に言及しない限り、xy平面内の任意の点を通るz軸に平行な方向を表す。
フィールド面70は、仮想空間のxy平面に対応付けて配置される。本実施形態では、
一例として、フィールド面70は、投影されたフィールド画像のテクスチャ座標系のu軸
、v軸及び原点が、グローバル座標系のx軸、y軸及び原点と一致するように、xy平面
に対応付けて配置される。なお、図3では、対応付けられる前の状態として、テクスチャ
座標系のu軸、v軸及び原点は、グローバル座標系のx軸、y軸及び原点から離れて示さ
れている。フィールド面70は、x方向、y方向、及びz方向の各方向で、並進移動(直
線状に移動)が不能とされる。ただし、他の実施形態では、フィールド面70は、グロー
バル座標系で並進移動が可能とされてもよい。
フィールド面70は、xy平面に平行な平面を正規の状態としたとき、正規の状態から
変形可能である。このように、本実施形態では、フィールドオブジェクトは、変形可能な
フィールド面70に基づいて形状付けられる。すなわち、フィールドオブジェクトは、正
規の状態から変形したフィールド面70に基づいて形状付けられることで、xy平面に平
行な平面に対して変形する。以下、フィールド面70及びフィールドオブジェクトに関す
る変形とは、特に言及しない限り、xy平面に平行な平面を正規の形状(状態)とした場
合の変形を意味する。なお、変形状態のフィールドオブジェクトは、変形状態のフィール
ド面70にフィールド画像を投影することで実現されてもよいし、正規の状態のフィール
ド面70にフィールド画像を投影させてからフィールド面70を変形させることで実現さ
れてもよい。
なお、フィールド面70は、フィールド画像が投影されると、正規の状態では、投影さ
れたフィールド画像のテクスチャ座標を引き継ぐことができる。すなわち、フィールド画
像が投影されたフィールド面70上の各位置は、実質的に、フィールド画像のテクスチャ
座標系(図2参照)で特定できる。以下では、フィールド面70上の各位置を特定するた
めの座標系は、当該フィールド面70に投影されたフィールド画像のテクスチャ座標系と
一致し、「フィールド座標系」とも称する。
背景面72は、背景オブジェクトのz方向に延在する。ただし、他の実施形態では、背
景面72は、z方向に対して傾斜して配置されてもよい。図3では、背景面72は、フィ
ールド面70を取り囲むように配置される。この場合、背景面72は、グローバル座標系
に対して固定であってもよいし、後述するようにz方向にだけ移動可能であってもよい。
ただし、他の実施形態では、背景面72は、フィールド面70の一部だけを取り囲むよう
に配置されてもよい。この場合、背景面72は、後述する仮想カメラ60の回転に応じて
回転移動されてもよい。また、更なる他の実施形態では、背景面72は、フィールド面7
0と同様、変形可能とされてもよい。
図5は、図4に示した仮想カメラ60の視線方向Vとz方向とを含む平面(以下、「V
z平面」とも称する)を垂直に視たときの、各種の位置関係を示す説明図である。図5に
は、仮想カメラ60の画角内のフィールドオブジェクトの領域に位置する第1オブジェク
ト3が模式的に示されている。図6は、仮想カメラ60から視た表現で描画して得られた
フィールド画像の一例を示す概略図である。
図5には、仮想カメラ60の画角62(z方向に垂直な方向に視た際の画角)が境界線
6211、6212の間に模式的に示される。なお、本実施形態では、仮想カメラ60の
画角は一定であるが、他の実施形態では、仮想カメラ60の画角が可変とされてもよい。
図5に示す例では、画角62は、上側の境界線6211が背景面72と交わり(点P2
参照)、下側の境界線6212がフィールド面70と交わる(点P1参照)。この場合、
図6に示すように、フィールド画像G60は、背景面72(及びそれに伴い背景オブジェ
クト)と、フィールド面70(及びそれに伴いフィールドオブジェクト)とを含む。なお
、図5では、仮想カメラ60の画角内のフィールドオブジェクトの領域に第1オブジェク
ト3が位置するので、フィールド画像G60は、第1オブジェクト3の表現を含む。
ここで、本実施形態では、フィールド面70(及びそれに伴いフィールドオブジェクト
)により仮想的な地平線HL(図6)が表現されるように、図5に示すように、フィール
ド面70が曲げ変形される。具体的には、フィールド面70は、視線方向Vで遠方に向か
うほど(すなわち背景面72に向かうにつれて)下側に向かう方向で変形する。なお、こ
のような変形は、仮想カメラ60の画角内の範囲内だけで実現されてもよいし、フィール
ド面70の全体で実現されてもよい。
フィールド面70の全体が変形される場合は、Vz平面で切断した際のフィールド面7
0の形状(図5のような線で表現される形状)がどの断面位置でも略同じであってよい(
すなわち略等断面であってよい)。なお、略同じとは、10%以内の誤差を許容する概念
である。なお、フィールドオブジェクトは、上述したように、フィールド面70に基づい
て形状付けられるので、Vz平面で切断した際のフィールドオブジェクトの形状は、Vz
平面で切断した際のフィールド面70の形状と同じであるが、フィールド面70の形状に
対してわずかに異なる形状(例えば微細な凹凸等)を有してもよい。
このような表現の地平線HLは、図5に示すように、フィールド面70に対する仮想カ
メラ60からの接線6213(画角62内の接線)の交点P3により形成される。なお、
図6では、地平線HLよりも手前に第1オブジェクト3が位置するので、地平線HLの表
現の一部が第1オブジェクト3により隠れることになる。逆に、第1オブジェクト3が地
平線HLよりも奥側(背景面72に近い側)に位置する場合は、第1オブジェクト3の一
部又は全部がフィールドオブジェクトにより隠れることになる。
ここで、地平線HLの高さH1(図6参照)は、境界線6212に対する接線6213
のなす角度αに依存する。角度αは、フィールド面70の曲げ態様に応じて変化しうる。
例えば、図5に一点鎖線で示すフィールド面70’の場合、境界線6212に対する接線
6213’のなす角度α’が角度αよりも小さくなり、それ故に、地平線HLの高さH1
は小さくなる(図示せず)。このようにしてフィールド面70の曲げ態様を変化させるこ
とで、地平線HLの高さを変化させることができることがわかる。なお、地平線HLの高
さが変化すると、仮想カメラ60の画角内に収まる背景面72の範囲もそれに伴い変化す
る。
このようにして本実施形態では、視線方向Vに視てフィールド面70が背景面72に近
づくにつれて下方に向かう向きで曲げ変形されることで、地平線HLを適切に表現できる
。また、曲げ変形の変形態様(変形度合い等)を変化させることで、地平線HLの高さH
1(及びそれに伴いフィールドオブジェクトや背景オブジェクト等の可視範囲)を自由に
変化させることができる。以下では、視線方向Vに視てフィールド面70が背景面72に
近づくにつれて下方に向かう向きで変形される態様の曲げ変形を、単に「フィールド面7
0の曲げ変形」とも称する。
図7は、フィールド面70の曲げ変形を実現するための変形パラメータの一例の説明図
である。
図7には、Vz平面内の2次元座標系Xc、Yc(以下、「ローカル座標系」とも称す
る)が定義されている。XcYc平面は、Vz平面に平行な平面であり、Yc軸は、z軸
に平行な軸であり、Yc軸の正側は、仮想空間の上側に対応する。図7では、フィールド
面70の変形態様を決める関数F1が示される。
関数F1は、Xc座標の値の絶対値が大きくなるほどYc座標の値が非線形に単調減少
する関数である。また、関数F1は、Yc軸に関して対称である。ただし、他の実施形態
では、関数F1は、Xc座標の値の絶対値が大きくなるほどYc座標の値が線形に単調減
少してもよいし、及び/又は、Yc軸に関して非対称であってもよい。本実施形態では、
一例として、関数F1は、2次関数であり、以下で表される。
yc=-A1×(xc)
ここで、xcは、Xc座標の値であり、ycはYc座標の値であり、A1は、変形度合い
を決める係数(以下、「変形パラメータA1」と称する)である。
なお、上記の関数F1はあくまで一例であり、例えば以下のような異なる関数が利用さ
れてもよい。
xc>aのとき、yc=-A1×(xc-a)
xc≦-aのとき、yc=-A1×(xc+a)
-a≦xc≦aのとき、yc=0
この場合、aは正の定数であり、-a≦xc≦aの範囲では平らな平面が実現される。
あるいは、xc>-a1のとき、yc=-A1×(xc)
xc≦-a1のとき、yc=0
この場合、a1は、正の固定値であってもよく、xc=-a1の位置が、画角62の下側
の境界線6212とフィールド面70の交点(図5の点P1)と一致するように設定され
てよい。
また、他の実施形態では、複数種類の関数が用意され、各種条件に応じて異なる関数が
選択されてもよい。
図7Aは、関数F1に基づくフィールド面70の曲げ変形の説明図である。
フィールド面70は、関数F1にしたがって変形される。従って、変形パラメータA1
の値が大きいほどフィールド面70の変形度合いが大きくなる。図7Aでは、フィールド
面70は、上述したように、略等断面で曲げ変形される。
ここで、図8から図8Cを参照して、フィールド面70の曲げ変形の適用場面の一例を
説明する。
図8は、フィールドオブジェクト77の平面図であり、図8Aは、位置M1に係るフィ
ールド面の曲げ変形の状態の説明図であり、図8Bは、位置M2に係るフィールド面の曲
げ変形の状態の説明図であり、図8Cは、位置M3に係るフィールド面の曲げ変形の状態
の説明図である。図8では、フィールドオブジェクト77は、フィールド画像が正規状態
のフィールド面70に投影された表現で示されている。図8では、位置M1から位置M3
が例示されており、位置M2及び位置M3は、カーブ路17の開始位置付近と終了位置付
近である。なお、図8Aから図8Cでは、作図の都合上、カーブ路17等がフィールド面
70から離れた部分(仮想カメラ60の画角62の外側の部分)を有するが、全体がフィ
ールド面70上に投影されてもよい。
ここでは、位置M1及び位置M3は、それぞれ、仮想カメラ60の視線方向Vとxy平
面(又は変形前のフィールド面70)との間の交点位置に対応する。図8には、位置M2
であるときの、仮想カメラ60の投影ベクトルV’(視線方向Vのxy平面上の投影ベク
トルV’)が示される。また、位置M1及び位置M3は、第1オブジェクト3の位置に対
応するものとする。すなわち、第1オブジェクト3が位置M1から位置M3までカーブ路
17に沿って移動したときの仮想カメラ60の動きに伴うフィールド面70の曲げ変形を
説明する。
仮想カメラ60の視線方向Vとフィールド面70との間の交点位置が位置M1に位置す
るとき、図8Aに示すようなフィールド面70の曲げ変形が実現される。仮想カメラ60
の視線方向Vとフィールド面70との間の交点位置が位置M2に位置するとき、図8Bに
示すようなフィールド面70の曲げ変形が実現される。仮想カメラ60の視線方向Vとフ
ィールド面70との間の交点位置が位置M3に位置するとき、図8Cに示すようなフィー
ルド面70の曲げ変形が実現される。
このようにして、第1オブジェクト3が位置M1から位置M3に移動するのに伴い仮想
カメラ60の視線方向Vが変化した場合に、変化した視線方向Vに応じたフィールドオブ
ジェクト77の曲げ変形(仮想カメラ60の視線方向Vに視て同じ変形態様の曲げ変形)
が実現される。
ところで、仮想空間における仮想カメラ60の位置(フィールドオブジェクトに対する
位置)が変化すると、仮想空間における仮想カメラ60の画角内の領域(例えばフィール
ドオブジェクトの領域)が変化するので、フィールド画像の多様化を図ることができる。
ただし、この場合でも、仮想カメラ60の位置(フィールドオブジェクトに対する位置)
が変化しても、仮想カメラ60の画角内の領域の状態が単調であると、フィールド画像の
多様化を図ることができない。従って、仮想空間における仮想カメラ60の位置(フィー
ルドオブジェクトに対する位置)を変化可能としつつ、フィールドオブジェクト上に配置
される第2オブジェクトの数や種類等を増やすことで、フィールド画像の多様化を効果的
に図ることができる。以下、仮想カメラ60の位置とは、特に言及しない限り、フィール
ドオブジェクトに対する位置(相対的な位置)を意味する。
しかしながら、本実施形態では、上述したように、フィールド面70(及びそれに伴い
フィールドオブジェクト)は曲げ変形されるが、曲げ変形の際の変形度合いが常に一定で
あると仮想カメラ60から視た表現で描画して得られるフィールド画像が単調化しやすい
なお、仮想カメラ60の位置が変化可能とされると、仮想カメラ60の位置の変化に伴
い、フィールドオブジェクトにおける仮想カメラ60の画角内の領域が変化するので、フ
ィールドオブジェクト上に多様な第2オブジェクトを多様な態様で配置すれば、ユーザの
操作対象の第1オブジェクトの写り方や複数の第2オブジェクトの重なり具合が変化する
ので、仮想カメラ60から視た表現で描画して得られるフィールド画像を多様化できる。
ここで、ゲームフィールドを多様化させるメリットとして、ゲームフィールドの一部を
際立たせることが可能になり、ユーザのオブジェクトに対する視認性の向上し、更に、操
作対象となるオブジェクトや、操作箇所が明確になることにより操作性が向上します。ま
た、限られた画面内で、複数のオブジェクトが存在したとしても視認性を損なうことなく
(情報量を制限することなく)、仮想空間内の状況を表現することができる。このような
効果は特にスマートフォンのような狭い画面において顕著である。
また、地平線の表現等は、フィールドオブジェクトの曲げ変形という単純な処理で実現
することができるため、処理負荷も抑えることができる。また、フィールドオブジェクト
における仮想カメラ60の画角外の(隠れた)オブジェクトを描画しなくてもよいので、
その点でも処理負荷を抑えることができる。
この点、本実施形態では、仮想カメラ60の位置が変化可能とされるだけなく、フィー
ルド面70(及びそれに伴いフィールドオブジェクト)の曲げ変形に係る変形度合いも変
化可能とされる。フィールド面70(及びそれに伴いフィールドオブジェクト)の曲げ変
形に係る変形度合いが変化すると、同じフィールドオブジェクトの領域であっても仮想カ
メラ60から視たときの見え方が異なるので、仮想カメラ60から視た表現で描画して得
られるフィールド画像の更なる多様化を図ることができる。
また、本実施形態では、フィールドオブジェクト用の一の素材(フィールド画像及びフ
ィールド面70)を用いて、フィールド面70の曲げ変形に係る変形度合いを変化させる
ことで、多様な形態のフィールドオブジェクトを実現する。これにより、多様なフィール
ドオブジェクト(変形不能な固定の形態のフィールドオブジェクト)を事前に用意してお
く場合に比べて、フィールドオブジェクト用の記憶領域の効率化を図ることができる。す
なわち、記憶領域を効率的に利用して多様な形態のフィールドオブジェクトを実現できる
なお、上述のように、フィールド面70の変形度合いが変化されると、地平線HLの高
さH1が変化することに起因して、ユーザに違和感を与えるおそれがある。例えば、仮想
カメラ60の位置が固定されたまま、フィールド面70の変形度合いが変化されると、違
和感を与えやすい。
そこで、本実施形態では、フィールドオブジェクトのうちの、仮想カメラ60の画角内
に収まる領域が変化する場合に、当該変化に合わせて、フィールド面70の変形度合いが
変化される。例えば、仮想カメラ60の位置が変化する場合に、当該変化に合わせて、フ
ィールド面70の変形度合いが変化される。これにより、フィールド面70の変形度合い
が変化されることで生じうる不都合(すなわちユーザに与えうる違和感)を低減できる。
例えば、仮想カメラ60の位置が1つ以上の特定位置又は特定範囲内にある場合に、そ
うでない場合よりもフィールド面70の変形度合いが大きくなるようにしてもよい。これ
により、仮想カメラ60の位置が特定位置又は特定範囲内にあるときのフィールド画像(
すなわち仮想カメラ60の画角内の各種オブジェクトの表現)を、他の位置にあるときの
フィールド画像とは異なる態様で表現できる。例えば、特定位置に係るフィールド画像を
他の位置に係るフィールド画像よりも目立たせたり、特定位置に係るフィールド画像に特
定の意味を持たせたりするといった効果を与えることができる。なお、特定位置又は特定
範囲は、例えば第1オブジェクトが移動しながら曲がる位置等(例えば図2に示す横通路
14と縦通路15との交差位置)に対応して設定されてもよいし、強調したいオブジェク
ト(例えば出現確率が低いゲーム媒体に係るオブジェクト)が配置される位置に対応して
設定されてもよい。この場合、例えば、特定位置は、当該オブジェクトの位置に対して所
定関係を有する位置であってよい。また、特定位置は、動的に変化されてもよい。例えば
、1つ以上の特定位置は、出現確率が低いゲーム媒体に係るオブジェクトが配置される場
合だけ、当該オブジェクトが配置される位置に対応して設定される特定位置を含んでもよ
い。
ここで、仮想カメラ60の位置が変化可能とされると、仮想カメラ60の位置の変化に
伴い、フィールドオブジェクトにおける仮想カメラ60の画角内の領域が変化する。この
場合、フィールドオブジェクト上に多様な第2オブジェクトを多様な態様で配置すれば、
ユーザの操作対象の第1オブジェクトの写り方や複数の第2オブジェクトの重なり具合が
変化するので、仮想カメラ60から視た表現で描画して得られるフィールド画像を多様化
できる。また、第2オブジェクト及び/又は第1オブジェクトの間で重複(重なり)が生
じた場合でも、上述したように、フィールド面70の変形度合いを調整することで、重複
するオブジェクトは、上下に互いにずれた位置に配置される。したがって、重複するオブ
ジェクトのうちの、個々のオブジェクト又は着目させた1つ以上のオブジェクトの視認性
を高めることができる。
また、仮想カメラ60から視た表現で描画して得られるフィールド画像を多様化させる
ことで、かかるフィールド画像の一部を際立たせることが可能になり、ユーザのオブジェ
クトに対する視認性が向上する。更に、操作対象となるオブジェクトや、操作箇所が明確
になることにより操作性が向上する。また、限られた画面内で、複数のオブジェクトが存
在したとしても視認性を損なうことなく(情報量を制限することなく)、仮想空間内の状
況を表現することができる。このような効果は特にスマートフォンのような狭い画面にお
いて顕著である。
また、地平線の表現等は、フィールドオブジェクトの曲げ変形という単純な処理で実現
することができるため、処理負荷も抑えることができる。また、フィールドオブジェクト
における仮想カメラ60の画角外の(隠れた)オブジェクトを描画しなくてもよいので、
その点でも処理負荷を抑えることができる。
図9は、仮想カメラ60の位置の変化の自由度の説明図である。仮想カメラ60の位置
の変化は、図9に示すように、視線方向Vに沿った変化V1と、視線方向Vに交差する方
向の変化V2、V3と、これらの組み合わせとを含む。変化V2は、Vz平面内の変化で
あり、V3は、Vz平面に対して垂直な方向の変化である。なお、仮想カメラ60の位置
の変化は、グローバル座標系での仮想カメラ60の変位(移動)により実現されてもよい
し、グローバル座標系でのフィールドオブジェクトの変位(移動)により実現されてもよ
いし、これらの組み合わせにより実現されてもよい。
このように、本実施形態では、仮想カメラ60の位置(相対的な位置)が変化する態様
は、視線方向Vに交差する方向(V2、V3)でフィールドオブジェクトに対する位置(
相対的な位置)が変化する態様(以下、「第1変化態様」と称する)と、視線方向Vに沿
った方向(V1)でフィールドオブジェクトに対する位置(相対的な位置)が変化する態
様(以下、「第2変化態様」と称する)と、を含む。
この点、フィールド面70の変形度合いの変化は、第1変化態様及び第2変化態様のい
ずれか一方に伴って実現されてもよいし、第1変化態様及び第2変化態様の双方に伴って
実現されてもよい。例えば、仮想カメラ60の位置が、視線方向Vに交差する方向に変化
しつつ、視線方向Vに沿って変化する。
なお、フィールド面70の変形度合いの変化の際に、同時に実現される変化(すなわち
、フィールドオブジェクトのうちの、仮想カメラ60の画角内に収まる領域の変化)は、
フィールドオブジェクトに対する位置(相対的な位置)の変化に限らず、仮想カメラ60
の視線方向Vの回転(図10参照)によっても実現されてもよい。また、仮想カメラ60
の光学パラメータを可変値とし、仮想カメラ60の光学パラメータの値を変化させること
で、フィールドオブジェクトのうちの、仮想カメラ60の画角内に収まる領域を変化させ
ることも可能である。かかる光学パラメータは、例えば、焦点距離や画角等のような、仮
想カメラ60のズーム量に関連する光学パラメータであってよい。
本実施形態では、一例として、仮想カメラ60は、フィールドオブジェクトに対する位
置(相対的な位置)が変化可能とされるだけなく、仮想カメラ60の視線方向Vも変化可
能とされる。具体的には、仮想カメラ60の視線方向Vは、z方向に平行な軸(以下、「
公転軸Pc」と称する)まわりの回転が可能とされる。なお、仮想カメラ60の視線方向
Vは、公転軸Pcまわりの回転のみが可能とされてもよいし、他の軸まわりの回転(後述
する自転)も可能とされてもよい。例えば、仮想カメラ60の視線方向Vは、Vz平面に
垂直な軸まわりの回転が可能とされてもよい。すなわち、仮想カメラ60の迎角(後述す
る迎角パラメータψ)が変化する態様で、仮想カメラ60の視線方向Vが回転されてもよ
い。この場合、回転中心は、仮想カメラ60の位置に対して所定関係となる位置であって
よく、所定関係は、固定であってもよいし、変化されてもよい。
以下、仮想カメラ60の回転とは、特に言及しない限り、視線方向Vが公転軸Pcまわ
りに回転する態様の回転を意味する。仮想カメラ60の向きとは、仮想カメラ60の視線
方向Vの向きを意味する。
図10は、仮想カメラ60の視線方向Vの回転(変化)の説明図であり、z方向に視た
仮想カメラ60及びその画角62を模式的に示す図である。図10には、回転中における
2つの位置で仮想カメラ60が模式的に示されている。
図10では、仮想カメラ60の視線方向Vに係る公転軸Pcは、z方向に視て、仮想カ
メラ60の視線方向Vを通りかつ仮想カメラ60から視線方向V後方側にオフセットされ
ている。この場合、仮想カメラ60が360度回転すると、仮想カメラ60は、z方向に
視て、公転軸Pcまわりの円形の軌跡C70を描く。ただし、公転軸Pcの位置は、任意
であり、仮想カメラ60に対して所定関係となる位置であってよく、所定関係は、固定で
あってもよいし、変化されてもよい。ただし、本明細書では、公転軸Pcは、仮想カメラ
60を通る場合の自転軸とは区別され、従って、自転軸とは異なるように設定される。
なお、図10では、視線方向Vは、z方向に視て、仮想カメラ60の回転中は常に、公
転軸Pcを通りかつ公転軸Pcから離れる向きであるが、これに限られない。例えば、視
線方向Vは、z方向に視て、仮想カメラ60の回転中は常に、公転軸Pcを通りかつ公転
軸Pcに向かう向きであってもよい。すなわち、公転軸Pcは、z方向に視て、仮想カメ
ラ60の視線方向Vを通りかつ仮想カメラ60から視線方向V前方側(遠方側)にオフセ
ットされてもよい。この場合、公転軸Pcは、例えば、全方位からユーザに見せたい所定
のオブジェクト(例えば後述する所定オブジェクト)を通るように設定されてもよい。ま
た、他の実施形態では、視線方向Vは、z方向に視て、仮想カメラ60の回転(公転)中
に、自転してもよい。すなわち、仮想カメラ60は、自転軸61まわりに回転(自転)可
能とされてもよい。あるいは、視線方向Vは、公転とは独立して自転可能とされてもよい
ところで、上述したように、地平線HLは、フィールド面70が曲げ変形されることで
、形成される。したがって、仮想カメラ60の回転に伴い視線方向Vが変化すると、それ
に伴い、フィールド面70の曲げ変形の変形態様が変化される。すなわち、仮想カメラ6
0の回転に伴い視線方向Vが変化すると、それに伴い、変化後の視線方向Vに基づくVz
平面内にローカル座標系のXc軸が位置するようにフィールド面70の曲げ変形の変形態
様が変化される。これにより、仮想カメラ60の回転に伴い視線方向Vが変化しても、違
和感のない態様で仮想空間内の地平線HLを実現できる。
次に、図11以降を参照して、サーバ装置10の描画機能の更なる詳細を説明する。
ここでは、まず、図11を参照して、図12以降の説明で用いるカメラパラメータにつ
いて説明してから、サーバ装置10の詳細を説明する。
図11は、カメラパラメータの説明図である。図11には、グローバル座標系に位置付
けられたフィールド面70(正規の状態)が示されている。なお、フィールド面70は、
上述のように、曲げ変形が可能であるが、グローバル座標系におけるフィールド面70全
体の並進や回転が不能である。従って、フィールド座標系でのフィールド面70の各位置
の座標は、所定の変換式で、グローバル座標系の各座標に変換可能であり、また、逆の変
換も可能である。なお、以下では、説明上、フィールド座標系の原点は、グローバル座標
系の原点と同じであり、フィールド座標系のu軸(=テクスチャ座標系のu軸)は、グロ
ーバル座標系のx軸に一致し、フィールド座標系のv軸(=テクスチャ座標系のv軸)は
、グローバル座標系のy軸に一致するものとする。なお、以下では、フィールド面70と
は、特に言及しない限り、フィールド画像が投影された状態のフィールド面70(フィー
ルドオブジェクトのフィールド面70)を表す。
本実施形態では、カメラパラメータは、2つの位置パラメータ(X、Y)と、距離パラ
メータA2と、向きパラメータθと、迎角パラメータψとを含む。これらのすべてのパラ
メータの値が決まると、グローバル座標系に対して、仮想カメラ60を一意に位置付ける
ことができる。
位置パラメータXは、視線方向Vのxy平面上の交点のx座標であり、位置パラメータ
Yは、視線方向Vのxy平面上の交点のy座標であり、距離パラメータA2は、視線方向
Vのxy平面上の交点から仮想カメラ60までの距離(視線方向Vに沿った距離)である
。向きパラメータθは、視線方向Vのxy平面上の投影ベクトルV’と、x軸とのなす角
度である。迎角パラメータψは、視線方向Vとxy平面とのなす角度である。なお、本実
施形態では、迎角パラメータψが利用されるが、迎角パラメータψは省略されてもよい。
すなわち、迎角パラメータψは、値が一定値(固定値)であってもよい。
なお、このようなカメラパラメータは、以下の説明用であり、実際の処理では、異なる
パラメータが等価的に使用されてもよい。
図12は、サーバ装置10の描画機能に関する機能ブロック図の一例である。図13は
、変形パラメータデータの説明図である。なお、図13において、“-”は任意であるこ
とを表し、“・・・”は同様の繰り返しを表す。図14は、距離パラメータデータの説明
図である。同様に、図14(図15も同様)において、“・・・”は同様の繰り返しを表
す。図15は、向きパラメータデータの説明図である。
サーバ装置10は、描画情報記憶部130と、操作情報取得部132と、描画データ送
信部134と、描画処理部140とを含む。なお、描画情報記憶部130は、図1に示し
たサーバ記憶部12により実現でき、操作情報取得部132及び描画データ送信部134
は、図1に示したサーバ通信部11により実現でき、描画処理部140は、図1に示した
サーバ制御部13により実現できる。以下、各部の処理に関して、“算出”とは、データ
として記憶された算出値や設定値等を読み出すだけの処理を含む概念である。
描画情報記憶部130は、描画処理部140により用いられる各種情報及びデータが記
憶される。
描画情報記憶部130に記憶されるデータは、上述した特定位置に係る変形パラメータ
データ13Aを含む。以下では、特定位置は、後述する所定オブジェクトが位置できる位
置であるとする。すなわち、特定位置は、後述する所定オブジェクトの位置と一致しうる
位置であるとする。
変形パラメータデータ13Aにおいては、上述した特定位置に係る仮想カメラ60の位
置パラメータ(X、Y)の各値に、通常値βとは異なる変形パラメータA1の値が対応
付けられる。なお、変形パラメータA1の通常値βは一定値であるが、フィールド画像
G60が複数種類用意される場合はフィールド画像ごとに異なりうる可変値であってもよ
い。また、特定位置に係る仮想カメラ60の位置パラメータ(X、Y)には、更に、向き
パラメータθの値が対応付けられてもよい。例えば図13に示す例では、特定位置に係る
位置パラメータ(X、Y)の各値(X、Y)、(X、Y)、(X、Y)等に
対して、特定位置ごとに、向きパラメータθの値に応じた変形パラメータA1の値が対応
付けられている。例えば、図13の変形パラメータデータ13Aでは、特定位置A=(X
、Y)には、仮想カメラ60の向きがどのような向きでも、変形パラメータA1の値
βが対応付けられている。他方、特定位置C=(X、Y)には、仮想カメラ60の
向きが向きパラメータθ=θC1のときは変形パラメータA1の値βが対応付けられ、
仮想カメラ60の向きが向きパラメータθ=θC2のときは変形パラメータA1の値β
が対応付けられている。以下では、このように特定位置Cのように、仮想カメラ60の向
きに応じて変形パラメータA1の値が変化する特定位置を、「仮想カメラ60の公転中に
変形度合いが変化する特定位置」とも称し、変形パラメータデータ13A上で値βや値
βのような、通常値βとは異なる値が対応付けられる向き(向きパラメータθ=θ
やθC2となる向き)を「特定向き」と称する。特定向きは固定であるが、変化されて
もよい。なお、他の実施形態では、仮想カメラ60の公転中に変形度合いが変化する特定
位置は、設定されなくてもよい。また、特定位置Cは、特定向きが2つ設定されているが
、1つだけ設定されてもよいし、3つ以上設定されてもよい。
また、描画情報記憶部130に記憶されるデータは、特定オブジェクトに係る変形パラ
メータデータ13Bを含む。変形パラメータデータ13Bにおいては、特定オブジェクト
に、通常値βとは異なる変形パラメータA1の値が対応付けられる。特定オブジェクト
は、後述する所定オブジェクトとは異なる任意のオブジェクトである。例えば、特定オブ
ジェクトは、第2オブジェクトのうちの、ユーザに注視させたいオブジェクトであること
が好適である。例えば、特定オブジェクトは、移動物(例えばキャラクタ)に係るオブジ
ェクトであってもよいし、固定物に係るオブジェクトであってもよい。図13の変形パラ
メータデータ13Bでは、特定オブジェクトG1には、変形パラメータA1の値βG1
対応付けられ、特定オブジェクトG2には、変形パラメータA1の値βG2が対応付けら
れている。他方、特定オブジェクトG3には、仮想カメラ60の向きが向きパラメータθ
=θC3のときは変形パラメータA1の値βG3が対応付けられ、仮想カメラ60の向き
が向きパラメータθ=θC4のときは変形パラメータA1の値βG4が対応付けられてい
る。変形パラメータデータ13Aの場合と同様、以下では、このように特定オブジェクト
G3のように、仮想カメラ60の向きに応じて変形パラメータA1の値が変化する特定オ
ブジェクトを、「仮想カメラ60の公転中に変形度合いが変化する特定オブジェクト」と
も称し、変形パラメータデータ13B上で値βG3や値βG4のような、通常値βとは
異なる値が対応付けられる向き(向きパラメータθ=θC3やθC4となる向き)を「特
定向き」と称する。特定向きは固定であるが、変化されてもよい。例えば、特定オブジェ
クトG3が正面方向を有する場合、特定向きは、特定オブジェクトG3の正面方向の向き
が変化することに応じて変化されてもよい。
また、描画情報記憶部130に記憶されるデータは、上述した特定位置に係る距離パラ
メータデータ14Aを含む。距離パラメータデータ14Aにおいては、特定位置に係る仮
想カメラ60の位置パラメータ(X、Y)の各値に、通常値γとは異なる距離パラメー
タA2の値が対応付けられる。なお、距離パラメータA2の通常値γは一定値であるが
、フィールド画像G60が複数種類用意される場合はフィールド画像ごとに異なりうる可
変値であってもよい。ある一の仮想カメラ60の特定位置に係る距離パラメータA2の値
は、当該特定位置に位置付けられた仮想カメラ60により、対応する領域(及び当該領域
内に位置するオブジェクト)が所望の距離感で捕捉されるように決定されてよい。例えば
、特定の第2オブジェクトを近距離でユーザに見せたい場合、当該特定の第2オブジェク
トが仮想カメラ60により近距離で捕捉されるような距離パラメータA2の値が、当該特
定位置に係る位置パラメータ(X、Y)の各値に対応付けられてもよい。例えば、図14
では、特定位置A=(X、Y)には、距離パラメータA2の値γが対応付けられ、
特定位置B=(X、Y)には、距離パラメータA2の値γが対応付けられており、
以下同様である。なお、本実施形態では、一例として、値γや値γのような、距離パ
ラメータデータ14Aで定義される距離パラメータA2の値は、通常値γよりも有意に
小さいものとする。なお、距離パラメータA2の値が小さくなるほど、仮想カメラ60と
フィールドオブジェクトとの間の距離が短くなる。
また、描画情報記憶部130に記憶されるデータは、特定オブジェクトに係る距離パラ
メータデータ14Bを含む。距離パラメータデータ14Bにおいては、各特定オブジェク
トに、通常値γよりも小さい距離パラメータA2の値が対応付けられる。図14の距離
パラメータデータ14Bでは、特定オブジェクトG1には、距離パラメータA2の値γ
が対応付けられ、特定オブジェクトG2には、距離パラメータA2の値γG2が対応付
けられている。
なお、本実施形態では、特定位置に係る距離パラメータデータ14Aにおいては、向き
パラメータθの値に応じて距離パラメータA2の値が変化するような特定位置が定義され
ていないが、上述した変形パラメータデータ13Aのように、向きパラメータθの値に応
じて距離パラメータA2の値が変化するような特定位置が定義されてもよい。すなわち、
仮想カメラ60の公転中に距離パラメータA2の値が変化する特定位置が定義されてもよ
い。この場合、好ましくは、仮想カメラ60の公転中に変形度合いが変化する特定位置に
対して、当該特定位置に係る特定向きに対して距離パラメータA2の値が対応付けられる
。例えば、特定位置C=(X、Y)には、仮想カメラ60の向きが向きパラメータθ
=θC1のときは距離パラメータA2の値γ31が対応付けられ、仮想カメラ60の向き
が向きパラメータθ=θC2のときは距離パラメータA2の値γ32が対応付けられても
よい。これにより、仮想カメラ60の公転中に曲げ変形度合いが変化する際に距離パラメ
ータA2の値を変化させることができる。
また、同様に、本実施形態では、特定オブジェクトに係る距離パラメータデータ14B
においては、向きパラメータθの値に応じて距離パラメータA2の値が変化するような特
定オブジェクトが定義されていないが、上述した変形パラメータデータ13Bのように、
向きパラメータθの値に応じて距離パラメータA2の値が変化するような特定オブジェク
トが定義されてもよい。すなわち、仮想カメラ60の公転中に距離パラメータA2の値が
変化する特定オブジェクトが定義されてもよい。この場合も、好ましくは、仮想カメラ6
0の公転中に変形度合いが変化する特定オブジェクトに対して、当該特定オブジェクトに
係る特定向きに対して距離パラメータA2の値が対応付けられる。例えば、特定オブジェ
クトG3には、仮想カメラ60の向きが向きパラメータθ=θC3のときは距離パラメー
タA2の値γG31が対応付けられ、仮想カメラ60の向きが向きパラメータθ=θC4
のときは距離パラメータA2の値γG32が対応付けられてもよい。これにより、仮想カ
メラ60の公転中に曲げ変形度合いが変化する際に距離パラメータA2の値を変化させる
ことができる。
また、描画情報記憶部130に記憶されるデータは、向きパラメータデータを含む。向
きパラメータデータにおいては、向き変化位置に係る仮想カメラ60の位置パラメータ(
X、Y)の各値に、向きパラメータθの値が対応付けられる。ある一の仮想カメラ60の
位置に係る向きパラメータθの値は、当該位置の仮想カメラ60の画角内に所望の領域が
収まるように決定されてよい。例えば、特定の第2オブジェクトをユーザに見せたい場合
、当該特定の第2オブジェクトが画角内に収まる領域に位置するように向きパラメータθ
の値が、当該位置に係る位置パラメータ(X、Y)の各値に対応付けられてもよい。向き
変化位置は、例えば第1オブジェクトが移動しながら向きを変える位置等(例えば図2に
示すカーブ路17の開始位置及び終了位置や、横通路14と縦通路15との交差位置等)
に対応して設定されてもよい。例えば、図15では、向き変化位置T1(XP1、YP1
)には、向きパラメータθの値θ1が対応付けられ、向き変化位置T2(XP2、YP2
)には、向きパラメータθの値θ2が対応付けられており、以下同様である。向き変化位
置T1、T2は、特定位置A、Bのような、通常値β0とは異なる変形パラメータA1の
値が対応付けられた位置であってもよいし、及び/又は、通常値γ0とは異なる距離パラ
メータA2の値が対応付けられた位置であってもよい。
また、描画情報記憶部130に記憶されるデータは、迎角パラメータデータを含む。迎
角パラメータデータにおいては、図示しないが、向きパラメータデータと同様、迎角変化
位置に係る仮想カメラ60の位置パラメータ(X、Y)の各値に、迎角パラメータψの値
が対応付けられてよい。ある一の仮想カメラ60の位置に係る迎角パラメータψの値は、
当該位置の仮想カメラ60の画角内に所望の領域が収まるように決定されてよい。例えば
、特定の第2オブジェクトをユーザに見せたい場合、当該特定の第2オブジェクトが画角
内に収まる領域に位置するように迎角パラメータψの値が、当該位置に係る位置パラメー
タ(X、Y)の各値に対応付けられてもよい。
なお、描画情報記憶部130に記憶されるデータは、図13、図14及び図15に示す
ような区分けで管理される必要はなく、適宜、統合して管理されてもよい。
操作情報取得部132は、ユーザの操作情報を取得する。なお、ユーザの操作情報は、
端末装置20におけるユーザによる各種操作に応じて生成される。なお、操作情報は、ジ
ェスチャーや音声入力等により生成されてもよい。本実施形態では、操作情報は、所定オ
ブジェクトの移動指示、及び、仮想カメラ60の回転指示を含む。所定オブジェクトの移
動指示は、フィールドオブジェクトに対する所定オブジェクトの位置(以下、単に「所定
オブジェクトの位置」とも称する)を変化させるために指示であり、移動方向や移動量等
の指示を含んでもよい。仮想カメラ60の回転指示は、上述した仮想カメラ60の回転を
実現するための指示であり、回転の種別(公転軸Pcまわりの回転、即ち公転、又は、自
転軸61まわりの回転、すなわち自転、若しくは、迎角パラメータψの値を変化させる回
転)、回転方向等の指示を含んでもよい。所定オブジェクトは、任意であるが、本実施形
態では、好ましくは、第1オブジェクトである。操作情報は、その他、仮想カメラ60の
移動指示等を含んでもよい。
描画データ送信部134は、描画処理部140により生成されるフィールド画像用の描
画データを端末装置20に送信する。なお、上述したように、他の実施形態では、描画処
理部140の描画処理の一部又は全部が端末装置20側で実現されてもよい。例えば、描
画処理部140が端末装置20により実現される場合は、描画データ送信部134は省略
されてよい。
描画処理部140は、描画情報記憶部130内の各種データや端末装置20からの操作
情報等に基づいて、フィールド画像用の描画データを生成する。
描画処理部140は、変化処理部142と、第2移動処理部144と、変形処理部14
5と、投影処理部146と、背景処理部147と、描画データ生成部148とを含む。
変化処理部142は、操作情報等に応じて、フィールドオブジェクトにおける仮想カメ
ラ60の画角内に収まる領域を変化させる。例えば、変化処理部142は、仮想カメラ6
0の位置パラメータ(X、Y)の各値を変化させるとともに、位置パラメータ(X、Y)
の各値を変化させる場合に、当該変化に応じた各種処理を実行する。
本実施形態では、フィールドオブジェクト77には特定オブジェクトが配置されるので
、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域を変化させると
、当該領域内に特定オブジェクトが位置する場合が生じうる。換言すると、フィールドオ
ブジェクトにおける仮想カメラ60の画角62内に収まる領域は、実質的にカメラパラメ
ータの値の取りうる全組み合わせ通りの数があり、その中には、特定オブジェクトが位置
する領域(以下、「特定オブジェクト領域」とも称する)もあれば、当該特定オブジェク
ト領域の周辺の領域(所定オブジェクト領域の一例)等が存在する。また、本実施形態で
は、カメラパラメータの値が比較的に小さい分解能で変化できるため、特定オブジェクト
領域は、特定オブジェクトが中央部に位置する第1オブジェクト領域と、特定オブジェク
トが端部に位置する第2オブジェクト領域とを含む。
ここで、図11Aを参照して、特定オブジェクト等について説明する。図11Aには、
互いに異なる3種類のカメラパラメータ(ここでは、カメラパラメータ1、2、3とする
)のそれぞれであるときの、フィールドオブジェクト77における仮想カメラ60の画角
62内に収まる領域R1、R2、R3が示される。カメラパラメータ1、2、3は、上述
したカメラパラメータの各要素(X、Y、A2、θ、ψ)のうちの、少なくとも1つの値
が異なる。従って、図11Aに示す3つの領域は、それぞれ異なる領域である。そして、
図11Aに示す3つの領域R1、R2、R3のうちの、領域R1、R3には、特定オブジ
ェクトG5、G7が配置されている。従って、この場合、領域R1、R3は、特定オブジ
ェクト領域の一例である。他方、領域R2には、特定オブジェクトが配置されていない。
従って、この場合、領域R2は、特定オブジェクトが位置しない所定オブジェクト領域の
一例である。なお、特定オブジェクトが移動するオブジェクトである場合は、ある時点で
特定オブジェクト領域であった領域が、他の時点では、特定オブジェクト領域ではなくな
る場合もありうる。例えば、領域R2の場合、当該時点では画角62外に位置していた特
定オブジェクトG6が移動して領域R2に位置する状態になると、領域R2は、特定オブ
ジェクト領域となる。
変化処理部142は、第1移動処理部1420と、距離変更部1421と、向き変更部
1422と、迎角変更部1423と、更新反映部1424と、回転処理部1425と、を
含む。
第1移動処理部1420は、所定の第1移動条件が成立すると、仮想カメラ60の位置
パラメータ(X、Y)の各値を更新する。所定の第1移動条件は、任意であるが、例えば
操作情報の所定オブジェクトの移動指示に基づく所定オブジェクトの移動により満たされ
てもよいし、ゲームの進行状況や他の因子に基づいて満たされてもよい。
距離変更部1421は、更新後の位置パラメータ(X、Y)の各値に、距離パラメータ
A2の値を対応付ける。本実施形態では、距離変更部1421は、描画情報記憶部130
内の距離パラメータデータを参照して、更新後の位置パラメータ(X、Y)の各値に対応
付ける距離パラメータA2の値を算出する。この際、距離パラメータデータ14A上で、
更新後の位置パラメータ(X、Y)の各値に対して距離パラメータA2の値が対応付けら
れていない場合は、当該更新後の位置パラメータ(X、Y)の各値には、補間値が対応付
けられてよい。この補間値の算出方法の例については、後述する。なお、他の実施形態で
は、距離パラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して距離
パラメータA2の値が対応付けられていない場合、距離変更部1421は、補間値に代え
て通常値γをそのまま対応付けてもよい。
距離変更部1421は、第1距離変更部14211と、第2距離変更部14212とを
含む。なお、図14に示す例とは異なり特定位置が設定されない他の実施形態では、第1
距離変更部14211は省略されてよい。
第1距離変更部14211は、仮想カメラ60の位置と特定位置との関係に基づいて、
距離パラメータA2の値を算出する(第1距離パラメータ算出処理)。本実施形態では、
第1距離変更部14211は、図14を参照して上述したような特定位置に係る距離パラ
メータデータ14Aを参照して、仮想カメラ60の位置に基づいて、距離パラメータA2
の値を算出する。第1距離変更部14211による第1距離パラメータ算出処理の一例は
、図17を参照して後述する。
第2距離変更部14212は、更新後の位置パラメータ(X、Y)の各値に、当該特定
オブジェクトに対応付けられた距離パラメータA2の値を対応付ける(第2距離パラメー
タ算出処理)。本実施形態では、第2距離変更部14212は、フィールドオブジェクト
における仮想カメラ60の画角62内に収まる領域に特定オブジェクトが位置する場合に
、図14を参照して上述したような特定位置に係る距離パラメータデータ14Bを参照し
て、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に位置する特
定オブジェクトに基づいて、距離パラメータA2の値を算出する。
また、第2距離変更部14212は、フィールドオブジェクトにおける仮想カメラ60
の画角内に収まる領域に特定オブジェクトが位置する場合に、当該領域における特定オブ
ジェクトの位置に応じて、距離パラメータA2の値を算出してもよい。この場合、第2距
離変更部14212は、フィールドオブジェクトにおける仮想カメラ60の画角内に収ま
る領域のうちの、中央部に特定オブジェクトが位置する場合と、その両側の端部に特定オ
ブジェクトが位置する場合とで、距離パラメータA2の値を変化させてもよい。具体的に
は、第2距離変更部14212は、フィールドオブジェクトにおける仮想カメラ60の画
角内に収まる領域のうちの、中央部に特定オブジェクトが位置する場合には、その両側の
端部に特定オブジェクトが位置する場合よりも、距離パラメータA2の値を小さくしてよ
い。これにより、仮想カメラ60の画角内の中心付近に特定オブジェクトが位置する際に
、当該特定オブジェクトを効果的に目立たせることができる。なお、フィールドオブジェ
クトにおける仮想カメラ60の画角内に収まる領域のうちの、中央部とは、例えば図11
Aの上側の特定オブジェクト領域においては、その中心線CTを中心とした距離L0内の
範囲771の部分であってよい。この場合、距離L0は、当該特定オブジェクト領域の全
体の距離L1よりも有意に小さければ任意であり、例えば、L1/2程度であってよい。
この場合、範囲771の両側の範囲772、773に係る部分が、中央部の領域の端部に
対応する。第2距離パラメータ算出処理の一例は、図27を参照して後述する。
向き変更部1422は、更新後の位置パラメータ(X、Y)の各値に、向きパラメータ
θの値を対応付ける。本実施形態では、向き変更部1422は、描画情報記憶部130内
の向きパラメータデータを参照して、位置パラメータ(X、Y)の各値に応じた向きパラ
メータθの値を算出する。この際、向きパラメータデータ上で、更新後の位置パラメータ
(X、Y)の各値に対して向きパラメータθの値が対応付けられていない場合は、向き変
更部1422は、補間値を算出してもよい。この補間値の算出方法の例については、後述
する。そして、向き変更部1422は、算出した向きパラメータθの値を、更新後の位置
パラメータ(X、Y)の各値に対応付ける。なお、他の実施形態では、向きパラメータデ
ータ上で、更新後の位置パラメータ(X、Y)の各値に対して向きパラメータθの値が対
応付けられていない場合は、向き変更部1422は、通常値θ0をそのまま対応付けても
よい。通常値θ0は、視線方向Vが所定オブジェクトの移動方向に対してz方向視で直角
になるように設定されてよい。
迎角変更部1423は、更新後の位置パラメータ(X、Y)の各値に、迎角パラメータ
ψの値を対応付ける。本実施形態では、迎角変更部1423は、描画情報記憶部130内
の迎角パラメータデータを参照して、位置パラメータ(X、Y)の各値に応じた迎角パラ
メータψの値を算出する。この際、迎角パラメータデータ上で、更新後の位置パラメータ
(X、Y)の各値に対して迎角パラメータψの値が対応付けられていない場合は、迎角変
更部1423は、補間値を算出してもよい。この補間値の算出方法の例については、後述
する。そして、迎角変更部1423は、算出した迎角パラメータψの値を、変化後の位置
パラメータ(X、Y)の各値に対応付ける。なお、他の実施形態では、迎角パラメータデ
ータ上で、更新後の位置パラメータ(X、Y)の各値に対して迎角パラメータψの値が対
応付けられていない場合は、迎角変更部1423は、通常値ψ0をそのまま対応付けても
よい。
更新反映部1424は、更新後の位置パラメータ(X、Y)の各値と、当該更新後の位
置パラメータ(X、Y)の各値に対応付けられた各種パラメータ(距離パラメータA2、
向きパラメータθ、及び迎角パラメータψ)の各値に基づいて、仮想カメラ60をグロー
バル座標系に対して位置付ける。これにより、仮想カメラ60が、フィールド面70(及
びそれに伴いフィールドオブジェクト)に対して位置付けられる。
回転処理部1425は、所定の回転条件が成立すると、仮想カメラ60の回転処理を実
行する。所定の回転条件は、例えば操作情報(仮想カメラ60の回転指示)に基づいて判
定されてもよいし、ゲームの進行状況や他の因子に基づいて満たされてもよい。
回転処理部1425は、公転処理部14251と、自転処理部14252と、迎角処理
部14253とを含んでよい。なお、他の実施形態では、公転処理部14251、自転処
理部14252、及び迎角処理部14253の一部や全部が省略されてもよい。
公転処理部14251は、仮想カメラ60から離れた公転軸Pc(図10参照)まわり
の視線方向Vの回転を実現する。なお、公転処理部14251は、仮想カメラ60の位置
や所定オブジェクトの位置等に応じて、公転軸Pcの位置を適宜設定してよい。
自転処理部14252は、仮想カメラ60を通るz方向に平行な軸である自転軸61(
図10参照)まわりの、視線方向Vの回転を実現する。
迎角処理部14253は、仮想カメラ60の視線方向Vの、xy平面とのなす角度であ
る迎角パラメータψ(図5参照)の変化(すなわち仮想カメラ60を通るVz平面に垂直
な軸まわりの回転)を実現する。
なお、一の処理周期で、公転処理部14251、自転処理部14252、及び迎角処理
部14253のうちの2つ以上の処理部が同時に処理を実現してもよい。
第2移動処理部144は、所定の第2移動条件が成立すると、フィールドオブジェクト
に対する所定オブジェクトの位置を更新する。なお、所定オブジェクトは、フィールドオ
ブジェクトに対する位置が変化しうるオブジェクトであれば任意であるが、好ましくは、
上述したように、第1オブジェクトである。所定の第2移動条件は、任意であるが、例え
ば操作情報(所定オブジェクトの移動指示)により満たされてもよいし、ゲームの進行状
況や他の因子に基づいて満たされてもよい。なお、所定オブジェクトの位置は、例えばフ
ィールド画像のテクスチャ座標系で定義されてよい。
変形処理部145は、仮想カメラ60の位置及び向きに基づいて、フィールド面70(
及びそれに伴いフィールドオブジェクト)を曲げ変形する曲げ変形処理を実行する。フィ
ールド面70の曲げ変形は、上述したとおりである。図13に示す変形パラメータデータ
13Aでは、例えば、位置パラメータ(X、Y)の各値が特定位置A(X、Y)に対
応する場合、変形処理部145は、仮想カメラ60の向きがどのような向きでも、変形パ
ラメータA1の値βに基づいて、フィールド面70(及びそれに伴いフィールドオブジ
ェクト)を曲げ変形する。また、位置パラメータ(X、Y)の各値が特定位置C(X
)に対応する場合、変形処理部145は、仮想カメラ60の向きが“θC1”のとき
は変形パラメータA1の値βに基づいて、フィールド面70(及びそれに伴いフィール
ドオブジェクト)を曲げ変形し、また、仮想カメラ60の向きが“θC2”のときは変形
パラメータA1の値βに基づいて、フィールド面70(及びそれに伴いフィールドオブ
ジェクト)を曲げ変形する。
本実施形態では、変形処理部145は、第1変形パラメータ算出部1451と、第2変
形パラメータ算出部1452と、変形パラメータ調整部1453と、原点設定処理部14
54と、変形関数適用部1455と、を含む。なお、図13に示す例とは異なり特定位置
が設定されない他の実施形態では、第1変形パラメータ算出部1451及び変形パラメー
タ調整部1453は省略されてよい。
第1変形パラメータ算出部1451は、図13を参照して上述したような特定位置に係
る変形パラメータデータ13Aを参照して、仮想カメラ60の位置及び向きに基づいて、
変形パラメータA1の値を算出する(第1変形パラメータ算出処理)。第1変形パラメー
タ算出部1451による第1変形パラメータ算出処理の一例は、図23を参照して後述す
る。
第2変形パラメータ算出部1452は、図13を参照して上述したような特定オブジェ
クトに係る変形パラメータデータ13Bを参照して、仮想カメラ60の位置及び向きに基
づいて、変形パラメータA1の値を算出する(第2変形パラメータ算出処理)。第2変形
パラメータ算出部1452による第2変形パラメータ算出処理の一例は、図24を参照し
て後述する。
変形パラメータ調整部1453は、第1変形パラメータ算出部1451により算出され
た変形パラメータA1の値と、第2変形パラメータ算出部1452により算出された変形
パラメータA1の値とが一致しない場合は、補間処理により補間値を算出する。変形パラ
メータに係る補間処理の一例は、後述する。なお、他の実施形態では、変形パラメータ調
整部1453は、第1変形パラメータ算出部1451により算出された変形パラメータA
1の値と、第2変形パラメータ算出部1452により算出された変形パラメータA1の値
とが一致しない場合は、一方(例えば第2変形パラメータ算出部1452により算出され
た変形パラメータA1の値)を優先的に利用してもよい。
原点設定処理部1454は、仮想カメラ60の位置及び向きに基づいて、フィールドオ
ブジェクトにおけるローカル座標系の原点Oが対応付けられる位置(以下、「原点位置」
とも称する)を設定する。原点設定処理部1454は、2種類以上の設定態様で、原点位
置を設定する。本実施形態では、一例として、原点設定処理部1454は、1種類目の設
定態様として、所定オブジェクトの位置に基づいて原点位置を設定し、2種類目の設定態
様として、所定オブジェクトとは異なる特定オブジェクトの位置に基づいて原点位置を設
定する。例えば、原点設定処理部1454は、仮想カメラ60の画角内に収まる領域に特
定オブジェクトが位置するか否かを判定し、仮想カメラ60の画角内に収まる領域に特定
オブジェクトが位置すると判定した場合、当該特定オブジェクトの位置に基づいて原点位
置を設定する。他方、原点設定処理部1454は、仮想カメラ60の画角内に収まる領域
に特定オブジェクトが位置しないと判定した場合、所定オブジェクトの位置に基づいて原
点位置を設定する。なお、他の実施形態では、原点設定処理部1454は、仮想カメラ6
0の画角内に収まる領域に特定オブジェクトが位置するか否かに無関係に、所定オブジェ
クトの位置等に基づいて原点位置を設定してもよいし、他の因子に基づいて原点位置を設
定してもよい。
変形関数適用部1455は、原点設定処理部1454により設定された原点位置と、変
形パラメータ調整部1453により算出(設定)された変形パラメータA1の値と、仮想
カメラ60の向きとに基づいて、図7を参照して上述した関数F1に基づいて、フィール
ド面70を曲げ変形させる。
投影処理部146は、変形処理部145により曲げ変形されたフィールド面70に対し
て、背景オブジェクト以外の各種オブジェクト(第2オブジェクト等)を配置する。各種
オブジェクトの配置は、上述した対応情報に基づいて実現できる。この際、投影処理部1
46は、所定オブジェクトについては、第2移動処理部144により算出された移動後の
位置に所定オブジェクトを配置する。なお、フィールド画像は、上述したように、フィー
ルド面70を曲げ変形させた後に投影されてもよい。
背景処理部147は、変形処理部145により曲げ変形されたフィールド面70に対し
て、背景オブジェクトを配置する。背景処理部147は、フィールド面70の曲げ変形度
合いに基づいて、背景オブジェクトのz方向の位置を決定する。具体的には、背景処理部
147は、フィールドオブジェクトで表現される仮想的な地平線HLの高さH1(図6参
照)に基づいて、フィールドオブジェクトに対する背景オブジェクトの、z方向に沿った
位置を決定する。例えば、背景処理部147は、フィールド面70の曲げ変形度合いの変
化に起因して地平線HLの高さH1が小さくなる場合は、背景オブジェクトのz方向の位
置を下方に移動させる。例えば図5に示す例では、角度αから角度α’に変化する場合、
背景処理部147は、背景オブジェクトのz方向の位置を距離Δ1だけ下方に移動させて
よい。距離Δ1は、図5に示すように、フィールド面70に対する仮想カメラ60からの
接線6213(画角62内の接線)の、背景面72との交点P4と、接線6213’の同
交点P5との間の距離である。この場合、曲げ変形の曲げ変形度合いの変化に起因して地
平線HLの高さH1が変化した場合でも、当該変化に起因した違和感が生じがたい態様で
背景オブジェクトを配置できる。
なお、背景処理部147は、所定の場合に、フィールドオブジェクトに対する背景オブ
ジェクトの、z方向に沿った位置を変化させないこととしてもよい。例えば、変形処理部
145による曲げ変形の曲げ変形度合いの変化量が比較的小さい場合、フィールドオブジ
ェクトに対する背景オブジェクトの、z方向に沿った位置を変化させないこととしてもよ
い。
描画データ生成部148は、仮想カメラ60から視た各種オブジェクトの表現を含むフ
ィールド画像(描画データ)を生成する。
次に、図16以降を参照して、描画機能に係るサーバ制御部13の動作を更に説明する
。以降の処理フロー図(フローチャート)においては、各ステップの入力と出力の関係を
損なわない限り、各ステップの処理順序を入れ替えてもよい。
図16は、サーバ制御部13により実現される処理の流れを示す概略フローチャートで
ある。
図16に示す処理は、所定の処理周期ごとに実行されてよい。所定の処理周期は、フィ
ールド画像のフレーム周期(更新周期)と同じであってよい。なお、以下で、「更新前」
の値とは、ある処理周期(k+1)を基準とした前回値(前回の処理周期(k)で導出し
た値)に対応し、「更新後」の値とは、当該処理周期(k+1)で導出した今回値に対応
する。なお、ここでは、一例として、初回の処理周期では、更新後の所定オブジェクトの
位置(u(0)、v(0))は、所定の初期位置に設定され、仮想カメラ60の更新後の
位置パラメータ(X、Y)の各値(X(0)、Y(0))は、所定オブジェクトの位置(
u(0)、v(0))と同じに設定され、カメラパラメータの各値(X(0)、Y(0)
、γ(0)、θ(0)、ψ(0))は、それぞれの通常値に設定される。
ステップS1600では、操作情報取得部132は、操作情報を取得する。なお、操作
情報は、割り込み処理で端末装置20から受信されて、サーバ記憶部12のうちの所定の
記憶部に記憶されてよい。この場合、操作情報取得部132は、順次、操作情報を所定の
記憶部から読み出す。
ステップS1602では、第2移動処理部144は、ステップS1600で得た操作情
報に所定オブジェクトの移動指示が含まれているか否かを判定する。判定結果が“YES
”の場合、ステップS1604に進み、それ以外の場合は、ステップS1616に進む。
ステップS1604では、第2移動処理部144は、ステップS1600で得た操作情
報の所定オブジェクトの移動指示に基づいて、移動後の所定オブジェクトの位置を算出す
る。ここでは、移動後の所定オブジェクトの位置は、フィールド座標で(u(k+1)、
v(k+1))であるとする。なお、移動前の所定オブジェクトの位置は、フィールド座
標で(u(k)、v(k))であるとする。この場合、フィールド座標系での移動ベクト
ルは、(u(k+1)-u(k)、v(k+1)-v(k))である。なお、所定オブジ
ェクトの移動指示は、このような移動ベクトル(移動方向)を表す指示であってよい。
ステップS1606では、第1移動処理部1420は、ステップS1604で得られた
移動後の所定オブジェクトの位置(u(k+1)、v(k+1))に基づいて、仮想カメ
ラ60の更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))を算
出する。なお、更新前の位置パラメータ(X、Y)の各値は、(X(k)、Y(k))で
あるとする。この場合、位置パラメータ(X、Y)の各値の変化ベクトルは、(X(k+
1)-X(k)、Y(k+1)-Y(k))である。この場合、(X(k+1)、Y(k
+1))は、(X(k+1)-X(k)、Y(k+1)-Y(k))=(u(k+1)-
u(k)、v(k+1)-v(k))となるように算出されてよい。
ステップS1608では、距離変更部1421の第1距離変更部14211は、ステッ
プS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+
1))に基づいて、当該(X(k+1)、Y(k+1))に対応付ける更新後の距離パラ
メータA2の値γ(k+1)を算出する(第1距離パラメータ算出処理)。この第1距離
パラメータ算出処理の具体例は、図17及び図18を参照して後述する。
ステップS1610では、向き変更部1422は、ステップS1606で得た更新後の
位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に基づいて、当該(X
(k+1)、Y(k+1))に対応付ける向きパラメータθの値θ(k+1)を算出する
(向きパラメータ算出処理)。この向きパラメータ算出処理の具体例は、図19を参照し
て後述する。
ステップS1612では、迎角変更部1423は、ステップS1606で得た更新後の
位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に基づいて、当該(X
(k+1)、Y(k+1))に対応付ける迎角パラメータψの値ψ(k+1)を算出する
(迎角パラメータ算出処理)。この迎角パラメータ算出処理の具体例は、図20を参照し
て後で概説する。
ステップS1615では、変形処理部145は、所定オブジェクトの移動に伴う変形処
理を実行する。所定オブジェクトの移動に伴う変形処理の具体例は、図21を参照して後
述する。
ステップS1616では、第2移動処理部144は、更新後の所定オブジェクトの位置
(u(k+1)、v(k+1))を、更新前の所定オブジェクトの位置(u(k)、v(
k))に設定する。すなわち、今回値は前回値と同じにする。
ステップS1617では、回転処理部1425は、ステップS1600で得た操作情報
に仮想カメラ60の回転指示が含まれているか否かを判定する。判定結果が“YES”の
場合、ステップS1618に進み、それ以外の場合は、今回の処理周期はそのまま終了す
る。
ステップS1618では、回転処理部1425は、ステップS1600で得た操作情報
に基づいて、仮想カメラ60の回転処理を実行する。回転処理は、上述したとおりである
ステップS1619では、変形処理部145は、ステップS1618の回転処理後の仮
想カメラ60の視線方向Vに基づいて、図7及び図7A等を参照して上述したフィールド
面70(及びそれに伴いフィールドオブジェクト)の曲げ変形を実行する。
ステップS1620では、背景処理部147は、今回の処理周期で用いられた変形パラ
メータA1の今回値β(k+1)が前回値β(k)に対して変化したか否かを判定する。
判定結果が“YES”の場合、ステップS1622に進み、それ以外の場合は、ステップ
S1623に進む。なお、変形例では、ステップS1620において、背景処理部147
は、今回の処理周期で用いられた変形パラメータA1の今回値β(k+1)の、前回値β
(k)に対する変化量が所定量以上であるか否かを判定してもよい。これにより、変化量
が所定量以下である場合にステップS1622をスキップできるので、背景オブジェクト
のz方向の位置の算出のための処理負荷を低減できる。また、別の変形例では、ステップ
S1620において、変形パラメータA1の今回値β(k+1)と前回値β(k)とを直
接的に比較しない場合があってもよい。例えば、本実施形態とは異なり、上述した特定位
置Cのような、仮想カメラ60の公転中に変形度合いが変化する特定位置が、設定されて
いない別の実施形態において、今回の処理周期のステップS1619までの処理内容が公
転である場合、変形パラメータA1の今回値β(k+1)と前回値β(k)とを直接的に
比較せずに、本ステップS1620の判定結果が“否定判定(NO)”とされてもよい。
ステップS1623では、距離変更部1421の第2距離変更部14212は、第2距
離パラメータ算出処理を実行する。第2距離パラメータ算出処理の具体例は、図27を参
照して後述する。
ステップS1624では、更新反映部1424は、ステップS1606からステップS
1612で得た各種パラメータの更新後の各値(X(k+1)、Y(k+1)、γ(k+
1)、θ(k+1)、ψ(k+1))、又は、ステップS1606、ステップS1610
からステップS1612及びステップS1623で得た各種パラメータの更新後の各値(
X(k+1)、Y(k+1)、γ(k+1)、θ(k+1)、ψ(k+1))、に基づい
て、仮想カメラ60をグローバル座標系に位置付ける。
ステップS1625では、描画データ生成部148は、今回の処理周期での各種更新後
の描画データ(フィールド画像の描画データ)を生成する。
ステップS1626では、描画データ送信部134は、ステップS1625で生成され
た描画データを端末通信部21に送信する。なお、端末通信部21は、描画データを受信
すると、当該描画データに基づいて、表示部23上にフィールド画像の表示を更新する。
このようにして、図16に示す処理によれば、端末装置20から受信される操作情報に
基づいて、当該操作情報を反映した描画データを生成し、生成した描画データを端末装置
20に送信できる。従って、ゲームの進行に伴うフィールド画像の更新をリアルタイムに
実現できる。
図17は、第1距離パラメータ算出処理(ステップS1608)の一例を示す概略フロ
ーチャートである。図18は、補間処理範囲の説明図であり、フィールド面70を示す斜
視図である。
ステップS1700では、第1距離変更部14211は、ステップS1606で得た更
新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、距離パラメ
ータデータ14A(図14参照)に設定された任意の特定位置に対応するか否かを判定す
る。判定結果が“YES”の場合、ステップS1702に進み、それ以外の場合は、ステ
ップS1704に進む。
ステップS1702では、第1距離変更部14211は、更新後の距離パラメータA2
の値γ(k+1)に、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k
+1))に対応する特定位置に対応付けられた距離パラメータA2の値を、対応付ける。
例えば、図14に示す例では、更新後の位置パラメータ(X、Y)の各値(X(k+1)
、Y(k+1))が特定位置A(X、Y)に対応する場合、距離パラメータA2の値
γ(k+1)=γとする。
ステップS1704では、第1距離変更部14211は、ステップS1606で得た更
新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、距離パラメ
ータデータ14A(図14参照)に設定された任意の特定位置に対応付けられた補間処理
範囲内であるか否かを判定する。補間処理範囲は、特定位置ごとに、テクスチャ座標系(
=フィールド座標系)に対応付けて設定されてもよい。本実施形態では、簡易的に、補間
処理範囲は、図18に示すように、特定位置を中心として半径rの円形領域内であるとす
る。この場合、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1)
)が、特定位置を中心として半径rの円形領域内であるか否かが判定されてよい。ただし
、他の実施形態では、補間処理範囲は、他の形態の領域で規定されてもよい。例えば、補
間処理範囲は、当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値
が位置しかつ距離パラメータA2及び迎角パラメータの各値が通常値γ、ψである場
合に、任意の向きパラメータθの値のときにも、仮想カメラ60の画角内に収まる領域に
当該補間処理範囲に係る特定位置が位置するように、設定されてもよい。これは、後述す
る他の補間処理範囲についても同様である。図18には、フィールド面70上に、3つの
特定位置Ps(1)からPs(3)が模式的に示され、それぞれに対応付けられた補間処
理範囲Rs(1)からRs(3)が模式的に示されている。なお、図18では、補間処理
範囲Rs(2)と補間処理範囲Rs(3)とは、互いに重複しており、重複領域Rs’が
ハッチング領域で示されている。なお、各特定位置Ps(1)、Ps(2)、Ps(3)
は、特定位置A、B等のように、距離パラメータデータ14A(図14参照)に設定され
る。なお。補間処理範囲(後述する他のパラメータに係る補間処理範囲も同様)について
も、距離パラメータデータ14A等で予め定義されてよい。
ステップS1706では、第1距離変更部14211は、更新後の位置パラメータ(X
、Y)の各値(X(k+1)、Y(k+1))と、当該各値が属する補間処理範囲Rsに
係る特定位置との間の距離(補間用の距離)を算出する。例えば、図18に示す例におい
て、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が補間処
理範囲Rs(1)内に位置する場合、(X(k+1)、Y(k+1))と、補間処理範囲
Rs(1)に係る特定位置Ps(1)との間の距離d(1)を算出する。他方、図18に
示す例において、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1
))が重複領域Rs’内に位置する場合、(X(k+1)、Y(k+1))と補間処理範
囲Rs(2)に係る特定位置Ps(2)との間の距離d(2)とともに、(X(k+1)
、Y(k+1))と補間処理範囲Rs(3)に係る特定位置Ps(3)との間の距離d(
3)を、算出する。
ステップS1708では、第1距離変更部14211は、ステップS1706で得た距
離に基づいて、距離パラメータA2の補間値を算出する。例えば、上述した距離d(1)
に係る距離パラメータA2の補間値γ(1)は、以下の式で算出されてもよい。
γ(1)=(γ-γ)/r×(r-d(1))+γ
値γは、特定位置Ps(1)に対応付けられた値であり、上述のように通常値γより
小さい。
他方、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が重複
領域Rs’内に位置する場合は、補間値γ(Rs’)は、上述した距離d(2)に係る距
離パラメータA2の補間値γ(2)と、上述した距離d(3)に係る距離パラメータA2
の補間値γ(3)とに基づいて、以下の式で算出されてもよい。
γ(Rs’)=B0×γ(2)+(1-B0)×γ(3)
ここで、γ(2)、γ(3)は、以下のとおりである
γ(2)=(γ-γ)/r×(r-d(2))+γ
γ(3)=(γ-γ)/r×(r-d(3))+γ
値γ2、γは、特定位置Ps(2)、Ps(3)にそれぞれ対応付けられた値であり、
上述のように通常値γより小さい。B0は、0から1の範囲内で変化する係数であり、
更新後の位置パラメータ(X、Y)の各値が特定位置Ps(2)に近づくほど1に近づき
、重複領域Rs’における特定位置Ps(2)側の境界位置で1となる。また、係数B0
は、更新後の位置パラメータ(X、Y)の各値が特定位置Ps(3)に近づくほど0に近
づき、重複領域Rs’における特定位置Ps(3)側の境界位置で0となる。例えば、B
0は、以下の通りであってよい。
B0=(r-d(2))/{(r-d(2))+(r-d(3))}
ステップS1710では、第1距離変更部14211は、更新後の距離パラメータA2
の値γ(k+1)に、ステップS1708で算出した補間値を設定する。
ステップS1712では、第1距離変更部14211は、更新後の距離パラメータA2
の値γ(k+1)に通常値γを設定する。
このようにして、図17に示す処理によれば、位置パラメータ(X、Y)の各値の所定
の処理周期ごとの変化に連動して、距離パラメータA2の値を徐々に変更できるので、例
えば、特定位置に至った処理周期で通常値γから値γ等に急変させる場合に比べて、
穏やかな距離の変化を実現できる。この結果、ユーザに与えうる違和感を低減しつつ、距
離パラメータA2の値を変化させることができる。
図19は、向きパラメータ算出処理(ステップS1610)の一例を示す概略フローチ
ャートである。
ステップS1900では、向き変更部1422は、ステップS1606で得た更新後の
位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、向きパラメータデ
ータ(図15参照)に設定された任意の向き変化位置に対応するか否かを判定する。判定
結果が“YES”の場合、ステップS1902に進み、それ以外の場合は、ステップS1
904に進む。
ステップS1902では、向き変更部1422は、向きパラメータθの値θ(k+1)
に、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に対応す
る向き変化位置に対応付けられた向きパラメータθの値を設定する。例えば、図15に示
す例では、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が
向き変化位置T1(XP1、YP1)に対応する場合、向きパラメータθの値θ(k+1
)=θ1とする。
ステップS1904では、向き変更部1422は、ステップS1606で得た更新後の
位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、向きパラメータデ
ータ(図15参照)に設定された任意の向き変化位置に対応付けられた補間処理範囲内で
あるか否かを判定する。補間処理範囲は、向き変化位置ごとに設定されてもよい。本実施
形態では、補間処理範囲は、距離パラメータA2に係る補間処理範囲と同様、簡易的に、
向き変化位置を中心として半径rの円形領域内(図18参照)であるとする。ただし、他
の実施形態では、補間処理範囲は、他の形態の領域で規定されてもよい。また、他の実施
形態では、向き変化位置の一部又はすべてに対しては、補間処理範囲は設定されなくても
よい。判定結果が“YES”の場合、ステップS1906に進み、それ以外の場合は、ス
テップS1912に進む。
ステップS1906では、向き変更部1422は、更新後の位置パラメータ(X、Y)
の各値(X(k+1)、Y(k+1))と、当該各値が属する補間処理範囲Rsに係る特
定位置との間の距離を算出する。当該距離の算出方法は、上述したステップS1706と
同様であってよい。
ステップS1908では、向き変更部1422は、ステップS1906で得た距離に基
づいて、向きパラメータθの補間値を算出する。補間値の算出方法は、上述したステップ
S1708と同様であってよい。
ステップS1910では、向き変更部1422は、向きパラメータθの値θ(k+1)
に、ステップS1908で算出した補間値を設定する。
ステップS1912では、向き変更部1422は、向きパラメータθの値θ(k+1)
に通常値θ0を設定する。通常値θ0は、所定オブジェクトの移動ベクトル(u(k+1
)-u(k)、v(k+1)-v(k))に投影ベクトルV’が垂直をなすように設定さ
れてよい。
このようにして、図19に示す処理によれば、位置パラメータ(X、Y)の各値の所定
の処理周期ごとの変化に連動して、向きパラメータθの値を徐々に変更できるので、例え
ば、向き変化位置に至った処理周期で通常値θ0から値θ1等に急変させる場合に比べて
、ユーザに与えうる違和感を低減できる穏やかな向きの変化を実現できる。
図20は、迎角パラメータ算出処理(ステップS1612)の一例を示す概略フローチ
ャートである。図20に示す処理は、上述した図19に示す向きパラメータ算出処理とパ
ラメータが異なるだけで実質的に同一であるので、説明は省略する。
図21は、所定オブジェクトの移動に伴う変形処理(ステップS1615)の一例を示
す概略フローチャートである。図22は、曲げ変形処理の説明図であり、図2に示したフ
ィールド画像が投影されたフィールド面70上に、ローカル座標系を対応付けた斜視図で
ある。
ステップS2102では、第1変形パラメータ算出部1451は、特定位置に係る変形
パラメータデータ13A(図13)を参照して、更新後の変形パラメータA1の値β(k
+1)を算出する(第1変形パラメータ算出処理)。以下では、第1変形パラメータ算出
処理で得られる更新後の変形パラメータA1の値β(k+1)を、区別のため、更新後の
変形パラメータA1の第1値β’(k+1)と称する。第1変形パラメータ算出処理の具
体例は、図23を参照して後述する。
ステップS2104では、第2変形パラメータ算出部1452は、特定オブジェクトに
係る変形パラメータデータ13B(図13)を参照して、更新後の変形パラメータA1の
値β(k+1)を算出する(第2変形パラメータ算出処理)。以下では、第2変形パラメ
ータ算出処理で得られる更新後の変形パラメータA1の値β(k+1)を、区別のため、
更新後の変形パラメータA1の第2値β”(k+1)と称する。第2変形パラメータ算出
処理の具体例は、図24を参照して後述する。
ステップS2106では、変形パラメータ調整部1453は、ステップS2102で得
た更新後の変形パラメータA1の第1値β’(k+1)と、ステップS2104で得た更
新後の変形パラメータA1の第2値β”(k+1)とに基づいて、最終的な更新後の変形
パラメータA1の値β(k+1)を設定する(変形パラメータ調整処理)。この変形パラ
メータ調整処理の具体例は、図25を参照して後述する。
ステップS2108では、原点設定処理部1454は、原点位置(フィールドオブジェ
クトにおけるローカル座標系の原点Oが対応付けられる位置)(所定位置の一例)を設定
する原点設定処理を実行する。原点設定処理の具体例は、図26を参照して後で概説する
ステップS2110では、変形関数適用部1455は、ステップS2108で設定した
原点位置に対応付けられる原点Oと、向きパラメータθの値θ(k+1)とに基づいて、
フィールド面70のフィールド座標系(フィールド画像のテクスチャ座標系)にローカル
座標系(図7、図22参照)を対応付ける。具体的には、ステップS2108で設定した
原点を通り、x方向に対して向きパラメータθの値θ(k+1)をなす軸を、Xc軸とす
る。なお、図22に示す例では、フィールド面70上の(u(k+1)、v(k+1))
を原点位置としてローカル座標系が対応付けられている状態が示される。
ステップS2112では、変形関数適用部1455は、ステップS2106で設定した
更新後の変形パラメータA1の値β(k+1)と、ステップS2110でフィールド面7
0のフィールド座標系に対応付けたローカル座標系とに基づいて、フィールド面70を曲
げ変形させる。この場合、例えば、変形関数適用部1455は、図7を参照して上述した
関数F1に基づいて、フィールド面70を曲げ変形させることができる。
図23は、第1変形パラメータ算出部1451による第1変形パラメータ算出処理(ス
テップS2102)を示す概略フローチャートである。
ステップS2300では、第1変形パラメータ算出部1451は、ステップS1606
で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、変
形パラメータデータ13A(図13参照)に設定された任意の特定位置に対応するか否か
を判定する。判定結果が“YES”の場合、ステップS2302に進み、それ以外の場合
は、ステップS2304に進む。
ステップS2302では、第1変形パラメータ算出部1451は、更新後の変形パラメ
ータA1の第1値β’(k+1)に、更新後の位置パラメータ(X、Y)の各値(X(k
+1)、Y(k+1))に対応する特定位置に対応付けられた変形パラメータA1の値を
設定する。例えば、図13に示す変形パラメータデータ13Aでは、更新後の位置パラメ
ータ(X、Y)の各値(X(k+1)、Y(k+1))が特定位置A(X、Y)に対
応する場合、更新後の変形パラメータA1の値β(k+1)=βとする。
ステップS2304では、第1変形パラメータ算出部1451は、ステップS1606
で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、変
形パラメータデータ(図13参照)に設定された任意の特定位置に対応付けられた補間処
理範囲内であるか否かを判定する。補間処理範囲は、特定位置ごとに設定されてもよい。
本実施形態では、補間処理範囲は、距離パラメータA2に係る特定位置に対応付けられた
補間処理範囲と同様、簡易的に、特定位置を中心として半径rの円形領域内(図18参照
)であるとする。ただし、他の実施形態では、補間処理範囲は、上述したように、他の形
態の領域で規定されてもよい。
ステップS2306では、第1変形パラメータ算出部1451は、更新後の位置パラメ
ータ(X、Y)の各値(X(k+1)、Y(k+1))と、当該各値が属する補間処理範
囲に係る特定位置との間の距離d(k+1)を算出する。当該距離の算出方法は、上述し
たステップS1706と同様であってよい。
ステップS2308では、第1変形パラメータ算出部1451は、ステップS2306
で得た距離d(k+1)に基づいて、変形パラメータA1の補間値を算出する。補間値の
算出方法は、上述したステップS1708と同様であってよい。
ただし、図13の変形パラメータデータ13Aの特定位置Cのような、仮想カメラ60
の公転中に変形度合いが変化する特定位置の場合は、向きパラメータθの値θ(k+1)
に基づいて、次のようにして算出されてよい。ここでは、特定位置Cに関して説明する。
まず、特定位置Cに対応付けられる変形パラメータA1の値β(C)は、θC1-Δθ
1≦θ(k+1)≦θC1+Δθ1のときは、以下の式(1)により、θC2-Δθ1≦
θ(k+1)≦θC2+Δθ1のときは、以下の式(2)により、算出されてよく、それ
以外の範囲では、値β(C)=通常値βとされてよい。
β(C)=-(β-β)/Δθ1×|(θ(k+1)-θC1)|+β 式(
1)
β(C)=-(β-β)/Δθ1×|(θ(k+1)-θC2)|+β 式(
2)
例えば、式(1)では、(θ(k+1)-θC1)の絶対値に(β-β)/Δθ1を
乗算した値を、βから引いた値が、β(C)とされる。ここで、Δθ1は、補間角度
範囲を定める値であり、β、βは、特定位置Cの特定向きに対応付けられた変形パラ
メータA1の値であり、上述のように、通常値βよりも大きい。なお、ここで、式(1
)及び式(2)において、同じΔθ1が使用されているが、異なるΔθ1が使用されても
よい。
そして、特定位置Cと(X(k+1)、Y(k+1))との間の距離を距離d(d)と
すると、距離d(d)に係る変形パラメータA1の補間値β(d)は、上述したβ(
)を用いて、以下の式で算出されてもよい。
β(d)=(β(C)-β)/r×(r-d(d))+β
また、例えば特定位置Aと特定位置Bのそれぞれに係る補間処理範囲が重複領域Rs’
を有する場合も、距離パラメータA2の場合と同様である。具体的には、更新後の位置パ
ラメータ(X、Y)の各値(X(k+1)、Y(k+1))が重複領域Rs’内に位置す
る場合は、特定位置Aと(X(k+1)、Y(k+1))との間の距離を距離d(d
とし、特定位置Bと(X(k+1)、Y(k+1))との間の距離を距離d(d)とす
ると、補間値β(Rs’)は、距離d(d)に係る変形パラメータA1の補間値β(d
)と、距離d(d)に係る変形パラメータA1の補間値β(d)とに基づいて、以
下の式で算出されてもよい。
β(Rs’)=B1×β(d)+(1-B1)×β(d
ここで、β(d)、β(d)は、以下のとおりである
β(d)=(β-β)/r×(r-d(d))+β
β(d)=(β-β)/r×(r-d(d))+β
B1は、0から1の範囲内で変化する係数であり、更新後の位置パラメータ(X、Y)の
各値が特定位置Aに近づくほど1に近づき、重複領域Rs’における特定位置A側の境界
位置で1となる。また、係数B1は、更新後の位置パラメータ(X、Y)の各値が特定位
置Bに近づくほど0に近づき、重複領域Rs’における特定位置B側の境界位置で0とな
る。例えば、B1は、以下の通りであってよい。
B1=(r-d(d))/{(r-d(d))+(r-d(d))}
ステップS2310では、第1変形パラメータ算出部1451は、更新後の変形パラメ
ータA1の第1値β’(k+1)に、ステップS2308で算出した補間値を設定する。
ステップS2312では、第1変形パラメータ算出部1451は、更新後の変形パラメ
ータA1の第1値β’(k+1)に通常値βを設定する。
図24は、第2変形パラメータ算出部1452による第2変形パラメータ算出処理(ス
テップS2104)を示す概略フローチャートである。
ステップS2400では、第2変形パラメータ算出部1452は、フィールドオブジェ
クトにおける領域であって、ステップS1608からステップS1612で得たカメラパ
ラメータの更新後の各値(X(k+1)、Y(k+1)、γ(k+1)、θ(k+1)、
ψ(k+1))に基づき絶対座標系に位置付けられた仮想カメラ60の画角内に位置する
領域(以下、単に「フィールドオブジェクトにおける仮想カメラ60の画角内領域」又は
単に「画角内領域」とも称する)に、特定オブジェクトが位置するか否かを判定する。な
お、フィールドオブジェクトにおける仮想カメラ60の画角内領域は、カメラパラメータ
の各値に基づいて、一義的に定まる。
なお、正規状態のフィールドオブジェクトにおける仮想カメラ60の画角内領域の横方
向の距離(例えば、フィールド座標系での距離)は、距離パラメータA2の値に応じて決
まる。従って、例えば、フィールドオブジェクトにおける仮想カメラ60の画角内領域の
横方向の距離をL1とすると、仮想カメラ60の投影ベクトルV’と特定オブジェクトと
の間の、投影ベクトルV’に垂直な方向(以下、単に「横方向」とも称する)の距離d
(k+1)に基づいて、L1/2≦d(k+1)であるか否かを判定してもよい。この
場合、L1/2≦d(k+1)である場合、フィールドオブジェクトにおける仮想カメ
ラ60の画角内領域に特定オブジェクトが位置すると判定してもよい。
本実施形態では、特定オブジェクトに対応付けられた補間処理範囲に、更新後の位置パ
ラメータ(X、Y)の各値(X(k+1)、Y(k+1))が位置する場合に、フィール
ドオブジェクトにおける仮想カメラ60の画角内領域に特定オブジェクトが位置すると判
定する。この場合、一の特定オブジェクトに対応付けられた補間処理範囲は、上述したよ
うに、当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値が位置す
る場合に、仮想カメラ60の画角内に収まる領域に当該一の特定オブジェクトが位置する
ように、設定されてよい。
本ステップS2400において、判定結果が“YES”の場合、ステップS2402に
進み、それ以外の場合は、ステップS2410に進む。
ステップS2402では、第2変形パラメータ算出部1452は、フィールドオブジェ
クトにおける仮想カメラ60の画角内領域のうちの、中央部に特定オブジェクトが位置す
るか否かを判定する。例えば、第2変形パラメータ算出部1452は、仮想カメラ60の
投影ベクトルV’と特定オブジェクトとの間の横方向の距離d(k+1)が0である場
合に、フィールドオブジェクトにおける仮想カメラ60の画角内領域のうちの、中央部に
特定オブジェクトが位置すると判定してもよい。あるいは、第2変形パラメータ算出部1
452は、横方向の距離d(k+1)が所定距離(L1/2よりも有意に小さい距離、
例えばL1/4)以下である場合に、フィールドオブジェクトにおける仮想カメラ60の
画角内領域のうちの、中央部に特定オブジェクトが位置すると判定してもよい。なお、仮
想カメラ60の投影ベクトルV’は、ステップS1608及びステップS1610で得た
位置パラメータ及び向きパラメータの更新後の各値(X(k+1)、Y(k+1)、θ(
k+1))に基づいて導出できる。判定結果が“YES”の場合、ステップS2404に
進み、それ以外の場合は、ステップS2406に進む。
ステップS2404では、第2変形パラメータ算出部1452は、更新後の変形パラメ
ータA1の第2値β”(k+1)に、フィールドオブジェクトにおける仮想カメラ60の
画角内領域の中央部に位置する特定オブジェクトに対応付けられた変形パラメータA1の
値を設定する。例えば、図13に示す変形パラメータデータ13Bの場合、フィールドオ
ブジェクトにおける仮想カメラ60の画角内領域の中央部に特定オブジェクトG1が位置
する場合、更新後の変形パラメータA1の第2値β”(k+1)に、特定オブジェクトG
1に対応付けられた変形パラメータA1の値βG1が対応付けられる。
ステップS2406では、第2変形パラメータ算出部1452は、仮想カメラ60の投
影ベクトルV’と特定オブジェクトとの間の横方向の距離d(k+1)に基づいて、変
形パラメータA1の補間値を算出する。例えば、上述した横方向の距離d(k+1)を
用いて、補間値β(d)は、以下の式で算出されてもよい。
β(d)=(βG*-β)/L1/2×(L1/2-d(d))+β
値βG*は、フィールドオブジェクトにおける仮想カメラ60の画角内領域に位置する特
定オブジェクトに対応付けられた変形パラメータA1の値であり、特定オブジェクトG1
の場合、値βG1である。L1/2は、フィールドオブジェクトにおける仮想カメラ60
の画角内領域の横方向の距離L1の半分である。
ステップS2408では、第2変形パラメータ算出部1452は、更新後の変形パラメ
ータA1の第2値β”(k+1)に、ステップS2406で得た変形パラメータA1の補
間値を設定する。
ステップS2410では、第2変形パラメータ算出部1452は、更新後の変形パラメ
ータA1の第2値β”(k+1)に通常値βを設定する。
図25は、変形パラメータ調整部1453による変形パラメータ調整処理(ステップS
2106)を示す概略フローチャートである。
ステップS2500では、変形パラメータ調整部1453は、ステップS2102で得
た第1値β’(k+1)とステップS2104で得た第2値β”(k+1)とがともに通
常値βであるか否かを判定する。判定結果が“YES”の場合、ステップS2502に
進み、それ以外の場合は、ステップS2506に進む。
ステップS2502では、変形パラメータ調整部1453は、パラメータ状態を「通常
状態」に設定する。通常状態は、変形パラメータA1の値が通常値βである状態に対応
する。
ステップS2504では、変形パラメータ調整部1453は、更新後の変形パラメータ
A1の値β(k+1)に、通常値βを対応付ける。この場合、変形パラメータ調整部1
453による調整は実現されない。
ステップS2506では、変形パラメータ調整部1453は、ステップS2104で得
た第2値β”(k+1)が通常値βであるか否かを判定する。判定結果が“YES”の
場合、ステップS2508に進み、それ以外の場合は、ステップS2512に進む。
ステップS2508では、変形パラメータ調整部1453は、パラメータ状態を「第1
状態」に設定する。第1状態は、変形パラメータA1の値が第1値β’(k+1)である
状態に対応する。
ステップS2510では、変形パラメータ調整部1453は、更新後の変形パラメータ
A1の値β(k+1)に、ステップS2102で得た第1値β’(k+1)を対応付ける
ステップS2512では、変形パラメータ調整部1453は、ステップS2102で得
た第1値β’(k+1)が通常値βであるか否かを判定する。判定結果が“YES”の
場合、ステップS2514に進み、それ以外の場合(すなわち双方ともに通常値でない場
合)は、ステップS2518に進む。
ステップS2514では、変形パラメータ調整部1453は、パラメータ状態を「第2
状態」に設定する。第2状態は、変形パラメータA1の値が第2値β”(k+1)である
状態に対応する。以下、この第2状態において、第2値β”(k+1)に係る特定オブジ
ェクトを、「注視対象の特定オブジェクト」とも称する。
ステップS2516では、変形パラメータ調整部1453は、更新後の変形パラメータ
A1の値β(k+1)に、ステップS2104で得た第2値β”(k+1)を対応付ける
ステップS2518では、変形パラメータ調整部1453は、仮想カメラ60の投影ベ
クトルV’と特定オブジェクトとの間の横方向の距離d(k+1)と、ステップS23
06で得た補間用の距離d(k+1)とに基づいて、d(k+1)>d(k+1)であ
るか否かを判定する。なお、ステップS2102で得た第1値β’(k+1)が特定位置
に対応付けられた変形パラメータA1の値である場合(ステップS2302参照)は、補
間用の距離d(k+1)=0とされる。同様に、ステップS2104で得た第2値β”(
k+1)が特定オブジェクトに対応付けられた変形パラメータA1の値である場合(ステ
ップS2404参照)は、横方向の距離d(k+1)=0とされる。判定結果が“YE
S”の場合、ステップS2508に進み、それ以外の場合は、ステップS2514に進む
このようにして図25に示す処理によれば、ステップS2102で得た第1値β’(k
+1)とステップS2104で得た第2値β”(k+1)とがともに通常値βでない場
合(例えば、画角内領域に特定位置と特定オブジェクトの位置が同時に属する場合)は、
上述した距離d(k+1)と横方向の距離d(k+1)のうちの小さい方が優先される
態様で、第1値β’(k+1)と第2値β”(k+1)のうちの一方が選択される。従っ
て、フィールドオブジェクトにおける仮想カメラ60の画角内領域のうちの、中央部に特
定オブジェクトが位置するときは、当該特定オブジェクトに対応付けられた変形パラメー
タA1の値が優先して利用される。
ただし、変形例では、ステップS2102で得た第1値β’(k+1)とステップS2
104で得た第2値β”(k+1)とがともに通常値βでない場合(例えば、画角内領
域に特定位置と特定オブジェクトの位置が同時に属する場合)は、平均値や、重み付けさ
れた合成値が利用されてもよい。重み付けの場合、例えば、重み付け係数w1、w2を用
いて、更新後の合成値βcom(k+1)は、以下の通り算出されてもよい。
βcom(k+1)={w1×β’(k+1)+w2×β”(k+1)}/(w1+w2

この場合、例えば、重み付け係数w1、w2は、以下の通りであってよい。
w1=1/d(k+1)、ただし、d(k+1)=0のときは、βcom(k+1)=β
’(k+1)
w2=1/d(k+1)、ただし、d(k+1)=0のときは、βcom(k+1)
=β”(k+1)
図26は、原点設定処理部1454による原点設定処理(ステップS2108)の一例
を示す概略フローチャートである。図26Aは、内分点Piの説明図である。

ステップS2600では、原点設定処理部1454は、フィールドオブジェクトにおけ
る仮想カメラ60の画角内領域に、特定オブジェクトが位置するか否かを判定する。なお
、判定方法は、上述した図24のステップS2400と同様であってよい。判定結果が“
YES”の場合、ステップS2602に進み、それ以外の場合は、ステップS2610に
進む。なお、以下では、特定オブジェクトとは、ステップS2600でフィールドオブジ
ェクトにおける仮想カメラ60の画角内領域に位置すると判定された特定オブジェクトを
指す。
ステップS2602では、原点設定処理部1454は、フィールドオブジェクトにおけ
る仮想カメラ60の画角内領域のうちの、中央部に特定オブジェクトが位置するか否かを
判定する。なお、判定方法は、上述した図24のステップS2402と同様であってよい
。判定結果が“YES”の場合、ステップS2604に進み、それ以外の場合は、ステッ
プS2606に進む。
ステップS2604では、原点設定処理部1454は、原点位置に、特定オブジェクト
の位置を設定する。すなわち、原点設定処理部1454は、フィールド面70(フィール
ド画像が投影されたフィールド面70)において、特定オブジェクトの位置に、ローカル
座標系の原点Oを対応付ける。従って、この場合、曲げ変形に用いる関数F1の原点Oは
、特定オブジェクトの位置に対応付けられる。ただし、曲げ変形に用いる関数F1の原点
Oは、特定オブジェクトの位置に厳密に一致する必要はなく、その近傍であってもよい。
ステップS2606では、原点設定処理部1454は、仮想カメラ60の投影ベクトル
V’と特定オブジェクトとの間の横方向の距離d(k+1)に基づいて、更新後の位置
パラメータ(X、Y)の各値(X(k+1)、Y(k+1))と、特定オブジェクトの位
置との間の内分点Piの位置(XPi(k+1)、YPi(k+1))を算出する。内分
点Piは、図26Aに示すように、更新後の位置パラメータ(X、Y)の各値(X(k+
1)、Y(k+1))と、特定オブジェクトの位置との間を、m:(1-m)での内分し
たときの位置である。このとき、mは、横方向の距離d(k+1)が大きいほど0に近
づき、横方向の距離d(k+1)=L1/2のときに、m=0となる。なお、m=0の
とき、内分点Piは、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k
+1))と一致する。L1は上述したとおりであり、フィールドオブジェクトにおける仮
想カメラ60の画角内領域に特定オブジェクトが位置するときに取りうる横方向の距離d
(k+1)の最大値である。また、mは、横方向の距離d(k+1)が小さいほど1
に近づき、横方向の距離d(k+1)=0のときに、m=1となる。なお、m=1のと
き、内分点Piは、特定オブジェクトの位置と一致する。
ステップS2608では、原点設定処理部1454は、原点位置に、ステップS260
6で得た内分点Piの位置を設定する。すなわち、原点設定処理部1454は、フィール
ド面70(フィールド画像が投影されたフィールド面70)において、ステップS260
6で得た内分点Piの位置(XPi(k+1)、YPi(k+1))に、ローカル座標系
の原点Oを対応付ける。従って、この場合、曲げ変形に用いる関数F1の原点Oは、内分
点Piの位置(XPi(k+1)、YPi(k+1))に対応付けられる。ただし、曲げ
変形に用いる関数F1の原点Oは、内分点Piの位置(XPi(k+1)、YPi(k+
1))に厳密に一致する必要はなく、その近傍であってもよい。
ステップS2610では、原点設定処理部1454は、原点位置に、移動後の所定オブ
ジェクトの位置(u(k+1)、v(k+1))を設定する。すなわち、原点設定処理部
1454は、フィールド面70(フィールド画像が投影されたフィールド面70)におい
て、移動後の所定オブジェクトの位置(u(k+1)、v(k+1))に、ローカル座標
系の原点Oを対応付ける。従って、この場合、曲げ変形に用いる関数F1の原点Oは、移
動後の所定オブジェクトの位置(u(k+1)、v(k+1))に対応付けられる。ただ
し、曲げ変形に用いる関数F1の原点Oは、移動後の所定オブジェクトの位置(u(k+
1)、v(k+1))に厳密に一致する必要はなく、その近傍であってもよい。
このように図26に示す処理によれば、フィールドオブジェクトにおける仮想カメラ6
0の画角内領域に特定オブジェクトが位置すると判定された場合には、当該特定オブジェ
クトの位置に基づいて原点位置が設定される。これにより、特定オブジェクト全体が可視
となりやすくなり、特定オブジェクトを効果的に強調できる。このため、特定オブジェク
トは、ユーザに注視させたいオブジェクトであることが好適である。
また、図26に示す処理によれば、フィールドオブジェクトにおける仮想カメラ60の
画角内領域に特定オブジェクトが位置しないと判定された場合には、所定オブジェクトの
位置(u(k+1)、v(k+1))に基づいて原点位置が設定される。これにより、所
定オブジェクト全体が可視となりやすくなり、所定オブジェクトを効果的に強調できる。
また、フィールドオブジェクトにおける仮想カメラ60の画角内領域に特定オブジェクト
が位置しないと判定された状態から、フィールドオブジェクトにおける仮想カメラ60の
画角内領域に特定オブジェクトが位置すると判定された状態へと遷移すると、原点位置が
所定オブジェクトの位置から特定オブジェクトの位置に向かって変化するので、当該変化
に起因したフィールド画像の見た目の変化(効果)を生むことができる。これにより、特
定オブジェクトを効果的に強調できる。
また、図26に示す処理によれば、フィールドオブジェクトにおける仮想カメラ60の
画角内領域に特定オブジェクトが位置しないと判定された状態から、フィールドオブジェ
クトにおける仮想カメラ60の画角内領域に特定オブジェクトが位置すると判定された状
態へと遷移する処理周期で、原点位置が、所定オブジェクトの位置から特定オブジェクト
の位置へと急変されることはない。すなわち、フィールドオブジェクトにおける仮想カメ
ラ60の画角内領域に特定オブジェクトが位置すると判定されると、その後、補間用の距
離d(k+1)が減少するにつれて、原点位置が、所定オブジェクトの位置から特定オブ
ジェクトの位置へと徐々に変化していく(ステップS2608参照)。これにより、上述
したような原点位置の変化が比較的少ない数の処理周期(例えば1処理周期)で実現され
る場合に比べて、当該変化に起因してユーザに与えうる違和感を低減できる。
図27は、第2距離パラメータ算出処理(ステップS1623)の一例を示す概略フロ
ーチャートである。
ステップS2700では、第2距離変更部14212は、パラメータ状態が第2状態で
あるか否かを判定する。上述したように、第2状態は、更新後の変形パラメータA1の値
β(k+1)が第2値β”(k+1)である状態に対応する。判定結果が“YES”の場
合、ステップS2702に進み、それ以外の場合は、そのまま終了する。なお、そのまま
終了する場合は、距離パラメータA2の値は、上述した第1距離変更部14211により
算出された値(ステップS1608)で確定する。
ステップS2702では、第2距離変更部14212は、第2値β”(k+1)が、注
視対象の特定オブジェクトに対応付けられた変形パラメータA1の値を用いて算出された
補間値(ステップS2408で対応付けられた補間値)であるか否かを判定する。判定結
果が“YES”の場合、ステップS2704に進み、それ以外の場合(すなわち、第2値
β”(k+1)が、注視対象の特定オブジェクトに対応付けられた変形パラメータA1の
値である場合)は、ステップS2703に進む。
ステップS2703では、第2距離変更部14212は、更新後の距離パラメータA2
の値γ(k+1)に、注視対象の特定オブジェクトに対応付けられた距離パラメータA2
の値(正規の値)をγG*を対応付ける。この場合、更新後の距離パラメータA2の値γ
(k+1)には、上述した第1距離変更部14211により算出された値(ステップS1
608)に代えて、注視対象の特定オブジェクトに対応付けられた距離パラメータA2の
値(正規の値)γG*が対応付けられることになる。この場合、更新反映部1424は、
ステップS1606、ステップS1610からステップS1612、及びステップS16
23で得た各種パラメータの更新後の各値(X(k+1)、Y(k+1)、γ(k+1)
、θ(k+1)、ψ(k+1))に基づいて、仮想カメラ60をグローバル座標系に位置
付ける(ステップS1624参照)。
ステップS2704では、第2距離変更部14212は、第2値β”(k+1)と、注
視対象の特定オブジェクトに対応付けられた変形パラメータA1の値との比を算出する。
すなわち、注視対象の特定オブジェクトに対応付けられた変形パラメータA1の値をβ
とすると、比=β”(k+1)/βG*を算出する。なお、図13の変形パラメータデ
ータ13Bでは、注視対象の特定オブジェクトが特定オブジェクトG1である場合、比=
β”(k+1)/βG1が算出される。
ここで、比=β”(k+1)/βG*は、注視対象の特定オブジェクトの位置の、画角
内領域の中央部に対する近さを表す。β”(k+1)/βG*=1のときは、注視対象の
特定オブジェクトが画角内領域の中央部に位置する状態に対応し、β”(k+1)/β
が小さくなるにつれて、注視対象の特定オブジェクトが画角内領域の端部(横方向の端
部)に近くなる。
ステップS2706では、第2距離変更部14212は、ステップS2704で得た比
=β”(k+1)/βG*に基づいて、補間値γ’G*を算出する。具体的には、注視対
象の特定オブジェクトに対応付けられた距離パラメータA2の値(正規の値)をγG*
すると、補間値γ’G*は、以下のとおりであってよい。
γ’G*=β”(k+1)/βG*×γG*
この場合、補間値γ’G*は、β”(k+1)/βG*が1に近づくにつれて(すなわち
注視対象の特定オブジェクトが画角内領域の中央部に近づくにつれて)、注視対象の特定
オブジェクトに対応付けられた値γG*に近づく。なお、図14の距離パラメータデータ
14Bでは、注視対象の特定オブジェクトが特定オブジェクトG1である場合、値γG*
=γG1である。
ステップS2708では、第2距離変更部14212は、更新後の距離パラメータA2
の値γ(k+1)に、ステップS2706で得た補間値γ’G*を対応付ける。この場合
、距離パラメータA2の値は、上述した第1距離変更部14211により算出された値(
ステップS1608)に代えて、第2距離変更部14212により算出された値が対応付
けられることになる。この場合、更新反映部1424は、ステップS1606、ステップ
S1610からステップS1612、及びステップS1623で得た各種パラメータの更
新後の各値(X(k+1)、Y(k+1)、γ(k+1)、θ(k+1)、ψ(k+1)
)に基づいて、仮想カメラ60をグローバル座標系に位置付ける(ステップS1624参
照)。
なお、図27に示す処理では、比=β”(k+1)/βG*に応じて正規の値γGr
ら補間値γ’G*を算出しているが、これに限られない。例えば、上述した横方向の距離
(k+1)とL1/2との比に応じて、正規の値γG*から補間値γ’G*を算出し
てもよい。具体的には、以下のとおりである。
γ’G*=d(k+1)/L1/2×γG*
また、図27に示す処理では、ステップS2700でパラメータ状態が第2状態である
と判定された場合に、ステップS2702に進むが、これに限られない。例えば、ステッ
プS2700では、画角内領域に注視対象の特定オブジェクトが位置するか否かが判定さ
れ、画角内領域に注視対象の特定オブジェクトが位置すると判定された場合に、ステップ
S2702に進むこととしてもよい。
また、図27に示す処理では、例えば、画角内領域に特定位置と特定オブジェクトの位
置が同時に属する場合に、パラメータ状態が第1状態から第2状態へと遷移する際に、距
離パラメータA2の値が比較的大きく変化しうる。かかる比較的大きな変化は、適宜、補
正されてもよい(変化が小さくなるように、フィルタリングされてもよい)。これにより
、かかる比較的大きな変化(及びそれに伴うフィールド画像の急激な変化)に起因してユ
ーザに与えうる違和感等を低減できる。例えば、パラメータ状態が第1状態から第2状態
へと遷移する場合は、更新後の距離パラメータA2の値γ(k+1)と、更新前の距離パ
ラメータA2の値γ(k)との間の差分が所定閾値を超える場合は、更新後の距離パラメ
ータA2の値γ(k+1)が、更新前の距離パラメータA2の値γ(k)に近づく方向に
更に補正されてもよい。また、更新後の距離パラメータA2の値γ(k+1)が更新前の
距離パラメータA2の値γ(k)よりも大きくならないように、更新前の距離パラメータ
A2の値γ(k)が更新前の距離パラメータA2の値γ(k)よりも大きい場合は、更新
前の距離パラメータA2の値γ(k)が維持されてもよい。この場合、距離パラメータの
値が小さくなってから大きくなって再び小さくなるような不安定な態様となること(及び
それに伴うフィールド画像の不安定な変化)に起因してユーザに与えうる違和感等を低減
できる。
次に、図28から図29Cを参照して、図16から図27を参照して説明した動作例の
適用場面の一例を説明する。
図28から図29Cは、図16から図28を参照して説明した動作例の適用場面の説明
図であり、図28は、フィールドオブジェクト77の平面図であり、図29Aは、位置E
1に係るフィールド画像G24Aの一例を示し、図29Bは、位置E2に係るフィールド
画像G24Bの一例を示す。図29Cは、位置E3に係るフィールド画像G24Cの一例
を示す。図28では、フィールドオブジェクト77は、フィールド画像が正規状態のフィ
ールド面70に投影された表現で示されている。図28では、位置E1から位置E3が例
示されており、位置E3は、横通路14と縦通路15とが交差する位置に対応し、縦通路
15の両側には、第2オブジェクトである複数の街路樹オブジェクト16が配置される。
複数の街路樹オブジェクト16は、フィールドオブジェクト77に立設され、z方向に延
在する。また、縦通路15には、バルーンのような浮遊物オブジェクト19が配置される
。ここでは、浮遊物オブジェクト19が特定オブジェクトG2であるとする。図28では
、浮遊物オブジェクト19は、v方向で街路樹オブジェクト16よりも位置E3から遠い
側に配置されている。位置E2は、位置E1から位置E3に至る手前位置に対応し、仮想
カメラ60の投影ベクトルV’と特定オブジェクトとの間の横方向の距離dが上述した
L1/2以下であるが0よりも有意に大きい位置である。なお、L1は、上述したように
、フィールドオブジェクト77における仮想カメラ60の画角内領域の横方向の距離であ
る。なお、図28では、一例として、複数の街路樹オブジェクト16は、v方向に沿って
直線状に配置されているが、u方向にわずかにオフセットする態様で千鳥配置されてもよ
いし、縦通路15の片側だけに配置されてもよいし、2列以上で配置されてもよい。
ここでは、第1オブジェクト3がフィールドオブジェクト77上の位置E1から位置E
3へと移動する際の描画機能について説明する。なお、この種の移動は、ユーザによる操
作により実現されてもよいし、デモンストレーション画像の出力として実現されてもよい
。なお、位置E1、E2は、特定位置ではなく、位置E1から位置E3までの間には、特
定位置が存在せず、位置E1、E2は、他の特定位置や特定オブジェクトに係る補間処理
範囲内に位置しないものとする。また、浮遊物オブジェクト19(特定オブジェクトG2
)には、図13及び図14に示すように、変形パラメータA1の値βG2、距離パラメー
タA2の値γG2がそれぞれ対応付けられている。
第1オブジェクト3が位置E1に位置する状態における仮想カメラ60の位置パラメー
タ(X、Y)の各値は、第1オブジェクト3の位置に対応し、仮想カメラ60の向きパラ
メータθの値は、通常値θ、すなわち投影ベクトルV’(図11参照)が第1オブジェ
クト3の移動方向(この場合、u方向)に垂直になるように設定される。このとき、フィ
ールドオブジェクト77における仮想カメラ60の画角内領域には、第1オブジェクト3
が位置し、図29Aに示すフィールド画像G24Aが描画されてよい。なお、この場合、
地平線HLは、変形パラメータA1の通常値βに応じた高さを有し、第1オブジェクト
3等は、距離パラメータA2の通常値βに応じた表示サイズを有する。
第1オブジェクト3が位置E1から位置E3に向かって横通路14(u方向)に沿って
処理周期ごとに移動量Δuだけ移動されると、仮想カメラ60の位置パラメータ(X、Y
)の各値は、u方向に沿って処理周期ごとに移動量Δuだけ移動される。なお、この間、
仮想カメラ60の向きパラメータθの値は固定される。
第1オブジェクト3が位置E2に到達した状態における仮想カメラ60の位置パラメー
タ(X、Y)の各値は、位置E2に到達した第1オブジェクト3の位置に対応し、向きパ
ラメータθの値は、第1オブジェクト3が位置E1に位置する状態と同じである。このと
き、フィールドオブジェクト77における仮想カメラ60の画角内領域の端部(右側端部
)には、浮遊物オブジェクト19が位置し、図29Bに示すフィールド画像G24Bが描
画されてよい。なお、この場合、地平線HLは、変形パラメータA1の第2値β”(第2
変形パラメータ算出処理(ステップS2104)で得られる更新後の変形パラメータA1
の値β)に応じた高さを有し、第1オブジェクト3等は、第2距離変更部14212によ
り算出される距離パラメータA2の値γ’G*(補間値γ’G*)に応じた表示サイズを
有する。なお、補間値γ’G*は、通常値γよりも小さいので、図29Bに示すように
、第1オブジェクト3の表示サイズは、図29Aに示すフィールド画像G24Aよりも大
きい。
第1オブジェクト3が位置E3に到達した状態における仮想カメラ60の位置パラメー
タ(X、Y)の各値は、位置E3に到達した第1オブジェクト3の位置に対応し、向きパ
ラメータθの値は、第1オブジェクト3が位置E1に位置する状態と同じである。このと
き、フィールドオブジェクト77における仮想カメラ60の画角内領域の中央部には、浮
遊物オブジェクト19が位置し、図29Cに示すフィールド画像G24Cが描画されてよ
い。なお、この場合、地平線HLは、変形パラメータA1の値βG2(浮遊物オブジェク
ト19に対応付けられた変形パラメータA1の値)に応じた高さを有し、距離パラメータ
A2の値γG2(浮遊物オブジェクト19に対応付けられた距離パラメータA2の値)応
じた表示サイズを有する。
ここでは、上述したように、変形パラメータA1の値βG2は、通常値βよりも大き
い。従って、フィールド画像G24Cにおいては、フィールド画像G24Aにおいてより
も、フィールドオブジェクト77の曲げ変形の変形度合いが大きくなる。このため、図2
9A及び図29Cに模式的に示すように、地平線HLの画像内の位置が有意に変化する。
また、距離パラメータA2の値γG2は、通常値γよりも大きい。従って、フィールド
画像G24Cにおいては、浮遊物オブジェクト19の表示サイズが大きくなる。
ここで、図29Dは、他の動作例に係る位置E3に係るフィールド画像G24Dの一例
を示す。図29Dに示す他の動作例では、上述した動作例とは異なり、位置E3に対応付
けられた距離パラメータA2の値が位置E1に対応付けられた距離パラメータA2の値と
同じ通常値γである。この場合は、フィールド画像G24Aとフィールド画像G24D
との間で、地平線HLの高さH1が変化するものの、第1オブジェクト3等の表示サイズ
は同じままである。従って、街路樹オブジェクト16よりも奥側に位置する浮遊物オブジ
ェクト19は、表示サイズが比較的小さく、目立ちにくい。
これに対して、図16から図28を参照して説明した動作例によれば、上述したように
、フィールド画像G24Cにおいては、浮遊物オブジェクト19の表示サイズが比較的大
きくなるので、浮遊物オブジェクト19を効果的に目立たせることができる。これにより
、ユーザの浮遊物オブジェクト19への関心を誘引できる。
また、図29Dに示すようなフィールド画像G24Dを描画するような他の動作例は、
変形パラメータA1の値を常に一定とする比較例による動作例(図示せず)に比べると、
仮想カメラ60から視た仮想空間内の多様な表現を実現できるものの、変形度合いの変化
量(地平線HLの高さH1の変化量)が比較的大きくなると、ユーザに違和感を与える可
能性がある。
これに対して、図16から図28を参照して説明した動作例によれば、フィールド画像
G24Aとフィールド画像G24Bとの間では、地平線HLの高さH1が変化しつつ、第
1オブジェクト3等の表示サイズも変化する。これにより、変形度合いの変化(地平線H
Lの高さH1の変化)に起因してユーザに与えうる違和感を低減できる。すなわち、第1
オブジェクト3等の表示サイズの変化がユーザの目を引きやすく印象的となることで、地
平線HLの高さH1の変化に起因して生じうる違和感がかき消される。このようにして、
位置E1と位置E3との間で、対応付ける変形パラメータA1の値を異ならせるとともに
、対応付ける距離パラメータA2の値をも異ならせることで、仮想カメラ60から視た仮
想空間内の多様な表現を実現しつつ、変形度合いの変化(地平線HLの高さH1の変化)
に起因して生じうる違和感を低減できる。このような効果に関連して、距離パラメータA
2の値の変化と、変形パラメータA1の値の変化の間に所定の関係をもたせることで、よ
り違和感をなくすこともできる。例えば、距離パラメータA2の値の変化が急峻であれば
、変形パラメータA1の値の変化が急峻であっても違和感を低減できるといった具合であ
る。
また、位置E1と位置E3との間で、対応付ける変形パラメータA1の値を異ならせる
とともに、対応付ける距離パラメータA2の値をも異ならせることで、フィールド画像の
遷移態様が斬新となり、ゲームの興趣も高めることができる。また、縦通路15の存在を
強調することもでき、特定オブジェクトである浮遊物オブジェクト19とともに、縦通路
15やその周辺に配置される第2オブジェクト(例えば街路樹オブジェクト16)を目立
たせることができる。この効果は、特に、端末装置20が例えばスマートフォンの画面の
ような、比較的小さい画面にフィールド画像が出力される場合に顕著である。また、目立
たせる特定オブジェクトのために他の第2オブジェクトを配置しないなどの制限が緩和さ
れるので、フィールドオブジェクト上における第2オブジェクト配置の自由度が増す。ま
た、同様の理由から、フィールドオブジェクト上の第1オブジェクトの移動可能な領域の
自由度も増しうる。
また、例えば図28に示すように、視線方向Vに沿って重複する街路樹オブジェクト1
6のような第2オブジェクトが配置される場合、フィールドオブジェクト77の曲げ変形
の曲げ度合いを大きくすることで、奥行き感を高め、印象的な表現を実現できる。これに
より、ユーザに、例えば縦通路15に沿って第1オブジェクト3を移動させたくなるよう
な動機付けを与えることも可能となりうる。
ここで、図29Eは、更なる他の動作例に係る位置E3に係るフィールド画像G24E
の一例を示す。更なる他の動作例では、上述した動作例(図16から図28を参照して説
明した動作例)とは異なり、原点位置(フィールドオブジェクト77におけるローカル座
標系の原点Oが対応付けられる位置)が第1オブジェクト3の位置に設定される。この場
合は、第1オブジェクト3は、フィールドオブジェクト77の最も高い位置に位置するこ
とで全体が可視となるのに対して、浮遊物オブジェクト19は、地平線HLよりも奥側に
一部(下部)が隠れてしまう。すなわち、浮遊物オブジェクト19は、全体が可視となら
ずに比較的に目立ちにくい。
これに対して、図16から図28を参照して説明した動作例によれば、原点位置が第1
オブジェクト3の位置に代えて、特定オブジェクである浮遊物オブジェクト19の位置に
設定される。この場合、第1オブジェクト3は、フィールドオブジェクト77の最も高い
位置に位置することで全体が可視となる。これにより、特定オブジェクトである浮遊物オ
ブジェクト19を効果的に目立たせることができるともに、浮遊物オブジェクト19の全
体(例えば浮遊している状態)を可視とすることができる。また、フィールドオブジェク
ト77における仮想カメラ60の画角内領域の中央部の範囲を比較的広くした場合は、原
点位置が浮遊物オブジェクト19の位置に設定される状態が比較的長く継続されやすくな
るので、注目させたい浮遊物オブジェクト19を効果的に目立たせることができる。
また、例えば、画角内領域の中央部に特定オブジェクトが位置するときに仮想カメラ6
0の視線方向Vで特定オブジェクトと第1オブジェクト及び/又は第2オブジェクトの間
で重複(重なり)が生じうる場合でも、上述したように、原点位置が浮遊物オブジェクト
19の位置に設定されるので、重複しうる各オブジェクトは、上下に互いに離間されやす
くなる。すなわち、重複する第1オブジェクト及び/又は第2オブジェクトは、特定オブ
ジェクトに対して相対的に画角内の下方向にスライドするため、特定オブジェクトと重複
するオブジェクトを少なくすることができる。これにより、注目させたい浮遊物オブジェ
クト19を効果的に目立たせることができる。
そして、特定オブジェクトが強調されることにより、特定オブジェクトがユーザの操作
に関連するオブジェクト(例えば移動目標)である場合、特定オブジェクトへの入力が行
いやすくなるため操作性が向上する。また、特定オブジェクトの前後の第2オブジェクト
の存在の影響をある程度、軽減できるので、第2オブジェクトの配置の自由度が増し、多
様なフィールド画像を実現できる。
このようにして図16から図28を参照して説明した動作例によれば、フィールドオブ
ジェクト77における仮想カメラ60の画角内領域に特定オブジェクトが位置しないと判
定された場合と、フィールドオブジェクト77における仮想カメラ60の画角内領域に特
定オブジェクトが位置すると判定された場合とで、変形パラメータA1の値や原点位置の
設定態様を変化させることで、フィールドオブジェクト77の変形態様が異ならせること
ができる。これにより、フィールド画像の多様化を図りつつ、特定オブジェクトを目立た
せる等、特定オブジェクトを効果的に強調できるような表現を実現できる。
また、図16から図28を参照して説明した動作例によれば、フィールドオブジェクト
77における仮想カメラ60の画角内領域の端部(第2範囲の一例)に浮遊物オブジェク
ト19が位置する場合と、フィールドオブジェクト77における仮想カメラ60の画角内
領域の中央部(第1範囲の一例)に浮遊物オブジェクト19が位置する場合とで、変形パ
ラメータA1の値が変化される。これにより、フィールドオブジェクト77における仮想
カメラ60の画角内領域に浮遊物オブジェクト19が位置する間も、フィールドオブジェ
クト77の変形度合いを変化させることで、浮遊物オブジェクト19の見え方を変える等
の表示効果を生むことができる。
また、図16から図28を参照して説明した動作例によれば、フィールドオブジェクト
77における仮想カメラ60の画角内領域の中央部(第1範囲の一例)(中央部について
は、図11Aの範囲771参照)に浮遊物オブジェクト19が位置する場合に、フィール
ドオブジェクト77における仮想カメラ60の画角内領域の端部(第2範囲の一例)(端
部については、図11Aの範囲772、773参照)に浮遊物オブジェクト19が位置す
る場合よりも、変形パラメータA1の値が大きくされる。これにより、浮遊物オブジェク
ト19がフィールド画像上の比較的視認しやすい位置(中央部)に至った際に、フィール
ドオブジェクト77の曲げ変形の度合いを大きくして浮遊物オブジェクト19を更に効果
的に目立たせることができる。
また、図16から図28を参照して説明した動作例によれば、フィールドオブジェクト
77における仮想カメラ60の画角内領域の端部から中央部へと浮遊物オブジェクト19
の位置が変化するにつれて、変形パラメータA1の値は、通常値β(所定設定値の一例
)よりも大きい補間値(第2設定値の一例)から値βG2(第1設定値の一例)へと、1
つ以上の補間値(第2設定値の一例)を介して変化(増加)する。これにより、フィール
ドオブジェクト77における仮想カメラ60の画角内領域の中央部に浮遊物オブジェクト
19が到達した処理周期で、変形パラメータA1の通常値βから値βG2への変化が実
現される場合に比べて、穏やかな変化が実現される。これにより、かかる変形度合いの変
化に起因してユーザに与えうる違和感を効果的に低減できる。これは、距離パラメータA
2の通常値γから値γG2への変化や、原点位置の変化についても同様である。また、
仮に、上記の補間を用いない場合、急激な変化を避けるため特定位置や特定オブジェクト
を近接させないなどの制限が生じやすくなる。この点、上記の補間を用いることで、特定
位置や特定オブジェクトの配置の自由度を高めることができる。この結果、フィールド画
像の更なる多様化を図ることができる。
また、図16から図28を参照して説明した動作例によれば、例えば位置E2と位置E
3との間の各位置に、補間により適切な変形パラメータA1の値を対応付けることができ
るので、当該各位置に変形パラメータデータ上で変形パラメータA1の各値を対応付ける
場合に比べて、変形パラメータデータ用の記憶容量の効率的な利用を図ることができる。
これは、距離パラメータのような他のパラメータについても同様である。
なお、図28では、位置E1から位置E3への第1オブジェクト3の移動について説明
したが、位置E3から位置E1への第1オブジェクト3の移動についてはその逆が実現さ
れてもよい。また、図28では、位置E1から位置E3への第1オブジェクト3の移動に
ついて説明したが、特定位置から位置E3への第1オブジェクト3の移動についても同様
に実現されてもよい。
なお、特定位置と位置E3(フィールドオブジェクト77における仮想カメラ60の画
角内領域の中央部に浮遊物オブジェクト19が位置するときの、仮想カメラ60の位置)
とが比較的近い場合、図16から図28を参照して説明した動作例によれば、上述したよ
うに、当該特定位置に対応付けられた変形パラメータA1の値や距離パラメータA2の値
に基づき算出された同パラメータの補間値と、当該位置E3に係る特定オブジェクトに対
応付けられた変形パラメータA1の値や距離パラメータA2の値に基づき算出された同パ
ラメータの補間値とが、d(k+1)>d(k+1)であるか否かに応じて調整される
ことになる(ステップS2518参照)。
また、本実施形態では、フィールドオブジェクト77における仮想カメラ60の画角内
領域に2つ以上の特定オブジェクトが位置する場合についても、特定位置と特定オブジェ
クトとが比較的近い場合と同様の考え方で処理されてもよい。例えば、ここでは、特定オ
ブジェクトが、第1特定オブジェクトと第2特定オブジェクトとを含み、上述した特定オ
ブジェクト領域が、第1特定オブジェクト及び第2特定オブジェクトの双方が位置するオ
ブジェクト領域を含む場合を想定する。このとき、オブジェクト領域は、第1特定オブジ
ェクトが中央部に位置する第1オブジェクト領域と、第1特定オブジェクト及び第2特定
オブジェクトのいずれもが中央部に位置しない第2オブジェクト領域と、第2特定オブジ
ェクトが中央部に位置する第3オブジェクト領域と、を含むものとする。
ここで、図11Bを参照して、第1から第3特定オブジェクト領域について説明する。
図11Bには、互いに異なる3種類のカメラパラメータ(ここでは、カメラパラメータ4
、5、6とする)のそれぞれであるときの、フィールドオブジェクト77における仮想カ
メラ60の画角62内に収まる領域R4、R5、R6が示される。カメラパラメータ4、
5、6は、上述したカメラパラメータの各要素(X、Y、A2、θ、ψ)のうちの、少な
くとも1つの値が異なる。従って、図11Bに示す3つの領域は、それぞれ異なる領域で
ある。そして、図11Bに示す3つの領域R4、R5、R6のうちの、領域R4には、そ
の中央部(範囲771参照)に第1特定オブジェクトG11が配置されている。従って、
この場合、領域R4は、第1オブジェクト領域の一例である。他方、領域R5には、その
中央部(範囲771参照)には第1特定オブジェクト及び第2オブジェクトのいずれも配
置されていない。すなわち、第1特定オブジェクト及び第2オブジェクトは、それぞれ、
領域R5の中央部の両側の端部(範囲772、773参照)に配置されている。従って、
この場合、領域R5は、第2オブジェクト領域の一例である。領域R6には、その中央部
(範囲771参照)に第2特定オブジェクトG12が配置されている。従って、この場合
、領域R6は、第3オブジェクト領域の一例である。
この場合、第1特定オブジェクト(及びそれに伴い第1オブジェクト領域)に対応付け
られた変形パラメータA1の値(第1設定値の一例)や距離パラメータA2の値に基づき
算出された同パラメータの補間値と、第2特定オブジェクト(及びそれに伴い第3オブジ
ェクト領域)に対応付けられた変形パラメータA1の値(第1設定値の一例)や距離パラ
メータA2の値に基づき算出された同パラメータの補間値とが、dL1(k+1)>d
(k+1)であるか否かに応じて調整されることになる。この場合、dL1(k+1)
は、第1特定オブジェクトに係る横方向の距離であり、dL2(k+1)は、第2特定オ
ブジェクトに係る横方向の距離である。具体的には、dL1(k+1)>dL2(k+1
)である場合、第2特定オブジェクトに対応付けられた変形パラメータA1の値や距離パ
ラメータA2の値に基づき算出された同パラメータの補間値(第2設定値の一例)が採用
され、dL1(k+1)≦dL2(k+1)である場合、第1特定オブジェクトに対応付
けられた変形パラメータA1の値や距離パラメータA2の値に基づき算出された同パラメ
ータの補間値(第2設定値の一例)が採用されてよい。これは、図26に示した原点設定
処理や図27に示した第2距離パラメータ算出処理について同様である。具体的には、d
L1(k+1)>dL2(k+1)である場合、第2特定オブジェクトが、図26及び図
27で説明した“特定オブジェクト”として扱われ、dL1(k+1)≦dL2(k+1
)である場合、第1特定オブジェクトが、図26及び図27で説明した“特定オブジェク
ト”として扱われることで、同様の効果を2つの特定オブジェクト間で調整しながら実現
できる。なお、このような変形例は、特定オブジェクトが移動する場合にも好適である。
例えば、第1特定オブジェクト及び/又は第2特定オブジェクトが移動するオブジェクト
である場合、第1特定オブジェクトと第2特定オブジェクトとの間の距離が変化して、上
述した第2オブジェクト領域が発生する場合があるためである。
また、この場合も、画角内領域に第1特定オブジェクトの位置と第2特定オブジェクト
の位置が同時に属する場合は、平均値や、重み付けされた合成値が利用されてもよい。重
み付けの場合、例えば、重み付け係数w3、w4を用いて、更新後の合成値βcom’(
k+1)は、第1特定オブジェクトに基づき算出された変形パラメータA1の値βをβ
’(k+1)とし、第2特定オブジェクトに基づき算出された変形パラメータA1の値
βをβA2”(k+1)としたとき、以下の通り算出されてもよい。
βcom’(k+1)={w3×βA1’(k+1)+w4×βA2”(k+1)}/(
w3+w4)
この場合、例えば、重み付け係数w3、w4は、以下の通りであってよい。
w3=1/dL1(k+1)、ただし、dL1(k+1)=0のときは、βcom’(k
+1)=βA1’(k+1)
w4=1/dL2(k+1)、ただし、dL2(k+1)=0のときは、βcom’(k
+1)=βA2”(k+1)
また、図16から図28を参照して説明した動作例によれば、フィールドオブジェクト
77における仮想カメラ60の画角内領域に特定オブジェクトが位置しないと判定された
場合でも、特定位置と仮想カメラ60の位置パラメータの各値(X、Y)との関係に基づ
いて、変形パラメータA1の値及び/又は距離パラメータA2の値が変化される。すなわ
ち、位置パラメータの各値(X、Y)が特定位置に対応するような仮想カメラ60の位置
(第1位置の一例)にあると判定した場合(例えば図17のステップS1700の“YE
S”及び/又は図23のステップS2300の“YES”)と、位置パラメータの各値(
X、Y)が特定位置に対応しないような仮想カメラ60の位置(第2位置の一例)にある
と判定した場合(例えば図17のステップS1700の“NO”及び/又は図23のステ
ップS2300の“NO”)とで、変形パラメータA1の値及び/又は距離パラメータA
2の値を異ならせる。これにより、フィールドオブジェクト77における仮想カメラ60
の画角内領域に特定オブジェクトが位置しない場合においても、フィールド画像の更なる
多様化を図ることができる。なお、更新後の位置パラメータ(X、Y)の各値(X(k+
1)、Y(k+1))が特定位置に対応するような仮想カメラ60の位置(第1位置の一
例)にあると判定した場合(例えば図17のステップS1700の“YES”)は、更新
後の距離パラメータA2の値γ(k+1)は、当該特定位置に対応付けられた値とされる
(ステップS1702)のに対して、更新後の位置パラメータ(X、Y)の各値(X(k
+1)、Y(k+1))が特定位置に対応しないような仮想カメラ60の位置(第2位置
の一例)にあると判定した場合(例えば図17のステップS1700の“NO”)は、更
新後の距離パラメータA2の値γ(k+1)は、通常値γ又は補間値とされる(ステッ
プS1712、ステップS1710)。従って、等価的には、図13及び図14に示す特
定位置A、B等のような、変形パラメータA1の値と距離パラメータA2の値の双方が対
応付けられた特定位置の場合、更新後の距離パラメータA2の値γ(k+1)に基づいて
、更新後の変形パラメータA1の値β(k+1)が設定されてもよい。例えば、更新後の
距離パラメータA2の値γ(k+1)が、比較的大きい距離(第1距離の一例)に対応す
る値である場合、比較的小さい距離(第2距離の一例)に対応する値である場合に比べて
変形度合いが小さくなるように、更新後の変形パラメータA1の値β(k+1)が設定さ
れてもよい。また、他の実施形態として、距離パラメータA2の値に応じて変形パラメー
タA1の値を連動させてもよい。例えば、更新後の変形パラメータA1の値β(k+1)
=通常値β×通常値γ/更新後の距離パラメータA2の値γ(k+1)、の関係で更
新後の距離パラメータA2の値γ(k+1)に応じた更新後の変形パラメータA1の値β
(k+1)が算出されてもよい。この場合、更新後の距離パラメータA2の値γ(k+1
)が、比較的大きい距離(第1距離の一例)に対応する値である場合、比較的小さい距離
(第2距離の一例)に対応する値である場合に比べて変形度合いが小さくなるように、更
新後の変形パラメータA1の値β(k+1)が連動する。これにより、変形パラメータA
1の各値と距離パラメータA2の各値とを個別に記憶しておく場合に比べて、記憶領域の
節約を図ることができる。また、距離パラメータA2の値を、通常値γと、距離パラメ
ータデータ14Aで定義される距離パラメータA2の値(例えば値γ等)との間で、上
述したように補間値を介して変化させることで、変形パラメータA1の値についても同様
に変化できるので、これらの双方のパラメータの値の急激な変化による違和感の低減を同
時に図ることができる。
次に、図30を参照して、上述した実施形態に対する変形例について説明する。
図30は、変形例によるサーバ装置10Aの描画機能に関する機能ブロック図の一例で
ある。変形例によるサーバ装置10Aは、上述した実施形態によるサーバ装置10に対し
て、描画処理部140が描画処理部140Aで置換された点が異なる。
本変形例による描画処理部140Aは、上述した実施形態による描画処理部140に対
して、距離変更部1421がズーム量変更部1421A(パラメータ値変化部の一例)で
置換された点が異なる。
ズーム量変更部1421Aは、焦点距離や画角等のような、仮想カメラ60のズーム量
に関連する光学パラメータの値を変更する。ズーム量変更部1421Aは、距離変更部1
421と同様の効果が実現されるように、光学パラメータの値を変更してよい。例えば、
距離変更部1421が距離パラメータA2の値を低減させることで得られる効果は、ズー
ム量変更部1421Aが、ズーム量が大きくなるように光学パラメータの値を変化させる
ことで実現されてもよい。同様に、距離変更部1421が距離パラメータA2の値を増加
させることで得られる効果は、ズーム量変更部1421Aが、ズーム量が小さくなるよう
に光学パラメータの値を変化させることで実現されてもよい。このようにして、距離変更
部1421による機能を、ズーム量変更部1421Aにより実現できる。
なお、他の変形例では、距離変更部1421とズーム量変更部1421Aとが同時に機
能してもよい。また、上述した実施形態による距離変更部1421の第1距離変更部14
211及び第2距離変更部14212のうちのいずれか一方だけがズーム量変更部142
1Aにより実現されてもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請
求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述し
た実施例の構成要素を全部又は複数を組み合わせることも可能である。
例えば、上述した実施形態では、フィールドオブジェクトにおける仮想カメラ60の画
角内領域と特定オブジェクトとの位置関係に基づいて、変形パラメータA1の値、距離パ
ラメータA2の値、及び、原点位置を設定する処理は、所定オブジェクトの移動に伴う変
形処理(図16のステップS1615)において実行されるが、これに代えて又は加えて
、回転処理後のフィールドオブジェクトの曲げ変形処理(図16のステップS1619)
において実行されてもよい。この場合、回転処理後のフィールドオブジェクトにおける仮
想カメラ60の画角内領域と特定オブジェクトとの位置関係に基づいて、変形パラメータ
A1の値、距離パラメータA2の値、及び、原点位置が同様に設定されてもよい。
具体的には、例えば公転及び/又は自転に係る回転処理において処理周期ごとに仮想カ
メラ60が所定角度ずつ回転される場合、フィールドオブジェクトにおける仮想カメラ6
0の画角内に収まる領域は、当該所定角度ごとに1周分の数(迎角に係る回転処理の場合
は、その可変範囲の応じた数)があり、以下では、所定領域と称する。1周分の複数の所
定領域の中には、特定オブジェクトが位置する領域(特定オブジェクト領域)(第2の所
定領域の一例)もあれば、特定オブジェクトが位置しない領域(第1の所定領域の一例)
もある。なお、特定オブジェクト領域は、仮想カメラ60の位置によっては存在しない状
況もある。1周分の複数の所定領域の中に特定オブジェクト領域が存在する状況下では、
公転及び/又は自転に係る回転処理に基づいて、フィールドオブジェクトにおける仮想カ
メラ60の画角内に収まる領域が、特定オブジェクトが位置しない領域間で変化する場合
、変形パラメータA1の値が変化されない一方、フィールドオブジェクトにおける仮想カ
メラ60の画角内に収まる領域が、特定オブジェクトが位置しない領域と、特定オブジェ
クト領域との間で遷移する場合、変形パラメータA1の値が変化されてもよい。この場合
、公転及び/又は自転に係る回転処理に基づいて、フィールドオブジェクトにおける仮想
カメラ60の画角内に収まる領域が、特定オブジェクトが位置しない領域間で変化する場
合は、変化した視線方向Vに応じたフィールドオブジェクト77の曲げ変形(仮想カメラ
60の視線方向Vに視て同じ変形態様の曲げ変形)が実現されるので、地平線HLの高さ
H1が変化しない。これにより、第1オブジェクト3の曲線状の動きに対しても仮想カメ
ラ60を追従させつつ、地平線HLの高さH1を一定に保つことができる。ただし、変形
例では、地平線HLの高さH1は、ユーザにとって違和感のないレベル内で変化されても
よい。例えばユーザにとって違和感のないレベルとは、フィールドオブジェクトが有しう
る微細な凹凸等(すなわちフィールド面70の形状に対してわずかに異なる形状)に対応
するレベルであってよい。このようなレベル内の変化であれば、地平線HLの高さH1が
略同じとなる。
他方、変形パラメータA1の値が変化されない一方、フィールドオブジェクトにおける
仮想カメラ60の画角内に収まる領域が、特定オブジェクトが位置しない領域と、特定オ
ブジェクト領域との間で遷移する場合は、変形度合いが大きくされることで、上述したよ
うに特定オブジェクトを効果的に目立たせることができる。この場合も、上述した場合と
同様に、フィールドオブジェクト77における仮想カメラ60の画角内領域の端部(第2
範囲の一例)に特定オブジェクトが位置する場合と、フィールドオブジェクト77におけ
る仮想カメラ60の画角内領域の中央部(第1範囲の一例)に特定オブジェクトが位置す
る場合とで、変形パラメータA1の値が変化されてもよい。また、公転及び/又は自転に
係る回転処理に基づいて、フィールドオブジェクト77における仮想カメラ60の画角内
領域の端部から中央部へと特定オブジェクトの位置が変化するにつれて、変形パラメータ
A1の値は、通常値β(所定設定値の一例)よりも大きい補間値(第2設定値の一例)
から値βG*(第1設定値の一例)へと、1つ以上の補間値(第2設定値の一例)を介し
て変化(増加)されてもよい。
また、上述した実施形態では、フィールドオブジェクトにおける仮想カメラ60の画角
内領域と特定オブジェクトとの位置関係に基づいて、変形パラメータA1の値、距離パラ
メータA2の値、及び、原点位置を設定する処理は、所定オブジェクトの移動に伴う変形
処理(図16のステップS1615)において実行されるが、これに代えて又は加えて、
所定オブジェクトの移動を伴わない距離変更処理(例えばユーザからの操作情報に含まれ
てよい距離変更指示に応じた距離変更処理)(図示せず)において実行されてもよい。こ
れは、仮想カメラ60の位置パラメータの各値(X、Y)が変化しない場合でも、距離パ
ラメータA2の値が変化することで、フィールドオブジェクト77における仮想カメラ6
0の画角内領域に特定オブジェクトが位置する状態と、特定オブジェクトが位置しない状
態との間で遷移する場合があるためである。これは、上述した変形例によるズーム量変更
部1421Aによる処理(仮想カメラ60のズーム量に関連する光学パラメータの値を変
更する処理)の場合も同様である。
具体的には、例えばユーザからの距離変更指示に応じた距離変更処理において処理周期
ごとに仮想カメラ60の距離パラメータA2の値が所定距離ずつ変化する場合、フィール
ドオブジェクトにおける仮想カメラ60の画角内に収まる領域は、当該所定距離ごとに、
距離の可変範囲に応じた数があり、これらの複数の領域の中には、特定オブジェクトが位
置する領域(特定オブジェクト領域)もあれば、特定オブジェクトが位置しない領域もあ
る。なお、特定オブジェクト領域は、仮想カメラ60の位置によっては存在しない状況も
ある。これらの複数の領域の中に特定オブジェクト領域が存在する状況下では、距離変更
指示に応じた距離変更処理に基づいて、フィールドオブジェクトにおける仮想カメラ60
の画角内に収まる領域が、特定オブジェクトが位置しない領域間で変化する場合、変形パ
ラメータA1の値が変化されない一方、フィールドオブジェクトにおける仮想カメラ60
の画角内に収まる領域が、特定オブジェクトが位置しない領域と、特定オブジェクト領域
との間で遷移する場合、変形パラメータA1の値が変化されてもよい。この場合、距離変
更指示に応じた距離変更処理に基づいて、フィールドオブジェクトにおける仮想カメラ6
0の画角内に収まる領域が、特定オブジェクトが位置する領域に変化すると、変形度合い
が大きくされることで、上述したように特定オブジェクトを効果的に目立たせることがで
きる。この場合も、上述した場合と同様に、フィールドオブジェクト77における仮想カ
メラ60の画角内領域の端部(第2範囲の一例)に特定オブジェクトが位置する場合と、
フィールドオブジェクト77における仮想カメラ60の画角内領域の中央部(第1範囲の
一例)に特定オブジェクトが位置する場合とで、変形パラメータA1の値が変化されても
よい。また、距離変更指示に応じた距離変更処理に基づいて、フィールドオブジェクト7
7における仮想カメラ60の画角内領域の端部から中央部へと特定オブジェクトの位置が
変化するにつれて、変形パラメータA1の値は、通常値β(所定設定値の一例)よりも
大きい補間値(第2設定値の一例)から値βG*(第1設定値の一例)へと、1つ以上の
補間値(第2設定値の一例)を介して変化(増加)されてもよい。
また、上述した実施形態では、フィールドオブジェクトの曲げ変形は、フィールドオブ
ジェクトの全体を曲げ変形することで実現されるが、これに限られない。例えば、フィー
ルドオブジェクトの曲げ変形は、フィールドオブジェクトの全体のうちの、仮想カメラ6
0の画角内に収まる領域だけ又は当該領域を包含する一部領域だけに対して実行されても
よい。
また、上述した実施形態では、所定オブジェクトの移動の際に仮想カメラ60の位置パ
ラメータ(X、Y)の各値に対応付けられる各種パラメータ(例えば、距離パラメータA
2、向きパラメータθ、迎角パラメータψ等)の値は、位置パラメータ(X、Y)の各値
が同じであるときは、毎回、同じである。例えば、所定オブジェクトの移動の際に、所定
オブジェクトがある一の位置に位置するとき、当該一の位置に対しては同一の各種パラメ
ータ(例えば、距離パラメータA2、向きパラメータθ、迎角パラメータψ等)の値が実
現される。しかしながら、これに限られない。例えば、所定オブジェクトの移動の際に仮
想カメラ60の位置パラメータ(X、Y)の各値に対応付けられる各種パラメータ(例え
ば、距離パラメータA2、向きパラメータθ、迎角パラメータψ等)の値は、位置パラメ
ータ(X、Y)の各値が同じであるときでも、ゲームの進行状況や他の因子(例えば所定
オブジェクトの移動方向等)に応じて変化されてもよい。例えば、特定位置Aに対応付け
られる変形パラメータA1の値は、ゲームの進行状況や他の因子に基づき所定条件が成立
した場合に値β1に設定され、それ以外の場合は、通常値β0に設定されてもよい。また
、このような変化は、例えば、所定のイベントの発生や、移動する第2オブジェクトが、
フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に入った(画面内
に配置された)場合や、ユーザによる画角変更のための手動操作に応じて実行されてもよ

また、上述した実施形態では、特定位置A、Bのような各特定位置は、フィールドオブ
ジェクト上の固定位置であったが、フィールドオブジェクト上で移動可能な位置であって
よい。例えば、特定位置の一部は、第2オブジェクトのうちの、移動する所定の第2オブ
ジェクトの位置に対応して設定されてもよい。この場合、一の特定位置は、移動する所定
の一の第2オブジェクトの位置に対して所定関係を有する位置であってよい。
また、上述した実施形態において、特定位置に係る補間処理範囲(以下、特定オブジェ
クトに係る補間処理範囲についても同様)が動的に変化されずに固定される場合として、
当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値が位置しかつ距
離パラメータA2及び迎角パラメータψの各値が通常値γ、ψである場合に、任意の
向きパラメータθの値のときにも、フィールドオブジェクトにおける仮想カメラ60の画
角内に収まる領域に当該補間処理範囲に係る特定位置が位置するように、設定されてもよ
い点は、上述した。例えば、図31には、特定位置Aに関する補間処理範囲Rs(A)が
平面視で示され、図32には、図31のラインJ1-J1に沿った断面視とラインJ2-
J2に沿った断面視とが重ねて示されている。この場合、仮想カメラ60の位置パラメー
タ(X、Y)の各値が位置P260に対応し、かつ距離パラメータA2及び迎角パラメー
タψの各値が通常値γ、ψである場合に、図32に示すように、パラメータθの値が
図31に示すようなθ(P260)であるとき、特定位置Aは、フィールドオブジェクト
における仮想カメラ60の画角内に収まる領域に位置する。なお、図32における境界線
6211は、仮想カメラ60の画角62(z方向に垂直な方向に視た際の画角)(図5参
照)の上側の境界線である。従って、この場合、位置P260は、補間処理範囲Rs(A
)内に属する。他方、仮想カメラ60の位置パラメータ(X、Y)の各値が位置P261
に対応し、かつ距離パラメータA2及び迎角パラメータψの各値が通常値γ、ψであ
る場合に、図32に示すように、パラメータθの値が図31に示すようなθ(P261)
であるときでも、特定位置Aは、フィールドオブジェクトにおける仮想カメラ60の画角
内に収まる領域に位置しない。従って、この場合、位置P260は、補間処理範囲Rs(
A)内に属さない。しかしながら、更なる別の設定態様として、補間処理範囲は、そのと
きのカメラパラメータの各値に基づいて、動的に変化するように設定されてもよい。例え
ば、一の特定位置に係る補間処理範囲は、当該補間処理範囲内に仮想カメラ60の位置パ
ラメータ(X、Y)の各値が位置しかつ更新後(又は更新前)の距離パラメータA2及び
迎角パラメータψの各値(通常値γ0、ψ0とは異なる値であるうる)が適用される場合
に、任意の向きパラメータθの値のときにも、仮想カメラ60の画角内に収まる領域に当
該一の特定位置が位置するように、動的に設定されてもよい。これは、仮想カメラ60の
位置パラメータ(X、Y)の各値が、ある一の補間処理範囲外である場合でも、他の一の
補間処理範囲内に位置することにより、距離パラメータA2等の値が通常値でない補間値
である可能性があるためである。なお、ここでは、仮想カメラ60の公転や自転が任意の
位置で可能である仕様を想定しているが、仮想カメラ60の公転や自転が、限定された位
置でのみ可能である仕様や公転や自転自体が不能である仕様では、上述した説明における
“任意の向きパラメータθの値のときにも”は、“その時点の向きパラメータθの値のと
きに”と読み替えて適用されてよい。
また、仮想カメラ60の位置パラメータ(X、Y)の各値の変化速度(時間あたりの変
化量)が大きいほど補間処理範囲が広くなる態様で、当該変化速度に応じて補間処理範囲
の広さが動的に変化されてもよい。あるいは、同様の考え方に基づいて、変化速度とは無
関係に、所定のマージンを補間処理範囲に対して設定してもよい。これにより、例えば、
仮想カメラ60の位置パラメータ(X、Y)の各値の変化速度(時間あたりの変化量)が
大きいまま仮想カメラ60の位置パラメータ(X、Y)の各値が特定位置(又は特定オブ
ジェクト)に対応する各値へと変化する場合に生じうる不都合(フィールド画像の比較的
急激な変化に起因してユーザに与えうる違和感)を低減できる。
また、仮想カメラ60の画角が可変である場合、画角が小さいほど補間処理範囲が広く
なる態様で、仮想カメラ60の画角に応じて補間処理範囲の広さが動的に変化されてもよ
い。これにより、例えば、仮想カメラ60の画角が小さいまま仮想カメラ60の位置パラ
メータ(X、Y)の各値が特定位置(特定オブジェクト)に対応する各値へと変化する場
合に生じうる不都合(フィールド画像の比較的急激な変化に起因してユーザに与えうる違
和感)を低減できる。
また、上述した実施形態では、補間処理範囲に更新後の位置パラメータ(X、Y)の各
値が位置するか否かに基づいて、補間処理を実行するか否かが決定されているが、これに
限られない。例えば、等価的に、更新後の仮想カメラ60の位置パラメータ(X、Y)の
各値が位置しかつ更新後の距離パラメータA2及び迎角パラメータψの各値に基づいて、
フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域(すなわち上述し
た画角内領域)を導出し、当該画角内領域に、特定位置や特定オブジェクトが位置するか
否かが判定されてもよい。この場合、当該画角内領域に、特定位置や特定オブジェクトが
位置するが、更新後の仮想カメラ60の位置パラメータ(X、Y)の各値が特定位置や特
定オブジェクトの位置に対応しない場合に、補間処理が実行されてもよい。
また、上述した各実施形態において、第1移動処理部1420は省略されてもよい。
なお、以上の実施例に関し、さらに以下の付記を開示する。
[付記1]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置される
オブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情
報処理装置であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けら
れるフィールドオブジェクトと、前記フィールドオブジェクトに配置される特定オブジェ
クトとを含み、
前記フィールドオブジェクトにおける前記仮想カメラの画角内に収まる領域を変化させ
る変化処理部と、
前記フィールドオブジェクトを変形させる変形処理部とを含み、
前記変形処理部は、前記変化処理部により前記領域が変化させられる場合に、変化後の
前記領域に前記特定オブジェクトが位置するか否かを判定し、変化後の前記領域に前記特
定オブジェクトが位置すると判定した場合と、変化後の前記領域に前記特定オブジェクト
が位置しないと判定した場合とで、前記フィールドオブジェクトの変形態様を異ならせる
、情報処理装置。
[付記2]
前記変形処理部は、更に、前記変化処理部により前記領域が変化させられる場合に、変
化後の前記領域における第1範囲内に前記特定オブジェクトが位置するか又は前記領域に
おける前記第1範囲に隣接する第2範囲内に前記特定オブジェクトが位置するかを判定し
、前記第1範囲内に前記特定オブジェクトが位置すると判定した場合と、前記第2範囲内
に前記特定オブジェクトが位置すると判定した場合とで、前記フィールドオブジェクトの
変形度合いを異ならせる、付記1に記載の情報処理装置。
[付記3]
前記第2範囲は、前記仮想カメラの画角の横方向で前記第1範囲の両側に位置し、
前記変形処理部は、前記第1範囲内に前記特定オブジェクトが位置すると判定した場合
に、前記第2範囲内に前記特定オブジェクトが位置すると判定した場合に比べて、前記フ
ィールドオブジェクトの変形度合いを大きくする、付記2に記載の情報処理装置。
[付記4]
前記変化処理部により前記領域が変化させられるごとに、変化後の前記領域における前
記特定オブジェクトの位置が、変化後の前記領域における横方向の一端側から中央部に向
けて変化する場合に、前記変形処理部は、前記変化処理部により前記領域が変化させられ
るごとに、前記フィールドオブジェクトの変形度合いを大きくする、付記1に記載の情報
処理装置。
[付記5]
前記フィールドオブジェクトは、変形可能な基本面に基づいて形状付けられ、
前記仮想カメラの視線方向と前記第3軸を含む平面上において、所定位置を原点とし、
前記原点を通り前記第3軸に平行な軸をY軸とし、前記フィールドオブジェクトに対して
上側に向かう向きをY軸の正側とし、かつ、前記原点を通り前記Y軸に垂直な軸をX軸と
した場合に、前記変形処理部は、X座標の値の絶対値が大きくなるほどY座標の値が線形
又は非線形に単調減少する関数にしたがって、前記基本面を変形させる、付記1に記載の
情報処理装置。
[付記6]
前記変形処理部は、前記領域の変化に応じて値が変化しうる変形パラメータであって、
前記フィールドオブジェクトの変形度合いを定める変形パラメータの値に基づいて、前記
基本面を変形させ、
前記変形パラメータは、前記関数において、前記X座標の値に係る項に割り当てられる
係数を含む、付記5に記載の情報処理装置。
[付記7]
前記領域は、前記特定オブジェクトが位置しない所定オブジェクト領域と、前記特定オ
ブジェクトが中央部に位置する第1オブジェクト領域と、前記特定オブジェクトが端部に
位置する第2オブジェクト領域とを含み、
前記変形パラメータの値は、前記所定オブジェクト領域において設定される所定設定値
と、前記第1オブジェクト領域において設定される第1設定値と、前記第2オブジェクト
領域において設定される第2設定値とを含み、
前記第1設定値は、前記第2設定値よりも大きい前記フィールドオブジェクトの変形度
合いを実現し、かつ、前記第2設定値は、前記所定設定値よりも大きい前記フィールドオ
ブジェクトの変形度合いを実現する、付記6に記載の情報処理装置。
[付記8]
前記変形処理部は、前記変化処理部により前記領域が前記所定オブジェクト領域と前記
第1オブジェクト領域との間で前記第2オブジェクト領域を介して変化させられる場合に
、前記変形パラメータの値を、前記第2設定値を介して、前記第1設定値又は前記所定設
定値へと変化させる、付記7に記載の情報処理装置。
[付記9]
前記特定オブジェクトは、第1特定オブジェクトと第2特定オブジェクトとを含み、
前記領域は、前記第1特定オブジェクト及び前記第2特定オブジェクトの双方が位置し
ない所定オブジェクト領域と、前記第1特定オブジェクト及び前記第2特定オブジェクト
の双方が位置するオブジェクト領域とを含み、
前記オブジェクト領域は、前記第1特定オブジェクトが中央部に位置する第1オブジェ
クト領域と、前記第1特定オブジェクト及び前記第2特定オブジェクトのいずれもが中央
部に位置しない第2オブジェクト領域と、前記第2特定オブジェクトが中央部に位置する
第3オブジェクト領域と、を含み、
前記変形パラメータの値は、前記所定オブジェクト領域において設定される所定設定値
と、前記第1オブジェクト領域及び前記第3オブジェクト領域において設定される第1設
定値と、前記第2オブジェクト領域において設定される第2設定値とを含み、
前記第1設定値は、前記第2設定値よりも大きい前記フィールドオブジェクトの変形度
合いを実現し、かつ、前記第2設定値は、前記所定設定値よりも大きい前記フィールドオ
ブジェクトの変形度合いを実現し、
前記変形処理部は、前記変化処理部により前記領域が前記所定オブジェクト領域と前記
第1オブジェクト領域又は前記第3オブジェクト領域との間で前記第2オブジェクト領域
を介して変化させられる場合に、前記変形パラメータの値を、前記第2設定値を介して、
前記第1設定値又は前記所定設定値へと変化させる、付記6に記載の情報処理装置。
[付記10]
前記変形処理部は、変化後の前記領域に前記特定オブジェクトが位置すると判定した場
合に、前記所定位置を前記特定オブジェクトの位置に基づいて決定する、付記5から9の
うちのいずれか1項に記載の情報処理装置。
[付記11]
前記変化処理部は、前記仮想カメラの視線方向に交差する方向で、前記フィールドオブ
ジェクトに対する前記仮想カメラの位置を相対的に変化させる第1移動処理部を含み、
前記領域は、前記第1移動処理部により前記フィールドオブジェクトに対する前記仮想
カメラの位置が変化させられることで変化する、付記1から10のうちのいずれか1項に
記載の情報処理装置。
[付記12]
前記特定オブジェクトは、前記フィールドオブジェクトに対して固定されており、
前記オブジェクトは、前記フィールドオブジェクトに対して配置される所定オブジェク
トを更に含み、
前記第1軸及び前記第2軸で規定される2次元平面内において前記フィールドオブジェ
クトに対する前記所定オブジェクトの位置を相対的に変化させる第2移動処理部を更に含
み、
前記変形処理部は、変化後の前記領域に前記特定オブジェクトが位置しないと判定した
場合に、前記所定位置を前記所定オブジェクトの位置に基づいて決定する、付記5から1
0のうちのいずれか1項に記載の情報処理装置。
[付記13]
前記変形処理部は、更に、変化後の前記領域に前記特定オブジェクトが位置しないと判
定した場合に、前記フィールドオブジェクトに対する前記仮想カメラの位置が第1位置に
あるか、又は、前記仮想カメラの視線方向に交差する方向で前記第1位置とは異なる第2
位置にあるかを判定し、前記フィールドオブジェクトに対する前記仮想カメラの位置が前
記第1位置にあると判定した場合と、前記フィールドオブジェクトに対する前記仮想カメ
ラの位置が前記第2位置にあると判定した場合とで、前記フィールドオブジェクトの変形
度合いを異ならせる、付記1から12のうちのいずれか1項に記載の情報処理装置。
[付記14]
前記フィールドオブジェクトに対する前記仮想カメラの位置が前記第1位置である場合
と、前記第2位置である場合とで、前記仮想カメラの視線方向での前記仮想カメラと前記
フィールドオブジェクトとの間の距離を異ならせる距離変更部を更に含む、付記13に記
載の情報処理装置。
[付記15]
前記変化処理部は、前記仮想カメラの視線方向での前記仮想カメラと前記フィールドオ
ブジェクトとの間の距離を変化させる距離変更部を更に含み、
前記領域は、前記距離変更部により前記フィールドオブジェクトに対する前記仮想カメ
ラの距離が変化させられることで変化する、付記1から12のうちのいずれか1項に記載
の情報処理装置。
[付記16]
前記変形処理部は、更に、変化後の前記領域に前記特定オブジェクトが位置しないと判
定した場合に、前記フィールドオブジェクトに対する前記仮想カメラの距離が第1距離で
あるか又は前記第1距離とは異なる第2距離であるかを判定し、前記フィールドオブジェ
クトに対する前記仮想カメラの距離が前記第1距離であると判定した場合と、前記フィー
ルドオブジェクトに対する前記仮想カメラの距離が前記第2距離であると判定した場合と
で、前記フィールドオブジェクトの変形度合いを異ならせる、付記15に記載の情報処理
装置。
[付記17]
前記変化処理部は、前記フィールドオブジェクトに対する前記仮想カメラの視線方向を
前記第3軸まわりで変化させる回転処理部を更に含み、
前記領域は、前記回転処理部により前記フィールドオブジェクトに対する前記仮想カメ
ラの視線方向が変化させられることで変化する、付記1から16のうちのいずれか1項に
記載の情報処理装置。
[付記18]
前記領域は、前記回転処理部により前記第3軸まわりで前記視線方向が所定角度だけ変
化させられるごとにそれぞれが順に前記仮想カメラの画角内に収まる複数の所定領域を含
み、
前記複数の所定領域は、前記特定オブジェクトが位置しない複数の第1の所定領域と、
前記特定オブジェクトが位置する第2の所定領域とを含み、
前記変形処理部は、前記回転処理部により前記第3軸まわりで前記視線方向が変化させ
られる場合に、前記領域が前記複数の第1の所定領域のうちの1つから他の1つへと変化
するか否かを判定し、前記領域が前記複数の第1の所定領域のうちの1つから他の1つへ
と変化すると判定した場合は、変化前の前記視線方向に視たときと変化後の前記視線方向
にみたときとで同じ変形態様となるように前記フィールドオブジェクトを曲げ変形させる
、付記17に記載の情報処理装置。
[付記19]
前記オブジェクトは、背景オブジェクトを更に含み、
前記変形処理部により変形される前記フィールドオブジェクトの変形度合いが変化する
か否かを判定し、前記フィールドオブジェクトの変形度合いが変化すると判定した場合に
、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿
った位置を変化させる背景処理部を更に含む、付記1から18のうちのいずれか1項に記
載の情報処理装置。
[付記20]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置される
オブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情
報処理方法であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けら
れるフィールドオブジェクトと、前記フィールドオブジェクトに配置される特定オブジェ
クトとを含み、
前記フィールドオブジェクトにおける前記仮想カメラの画角内に収まる領域を変化させ
る場合に、変化後の前記領域に前記特定オブジェクトが位置するか否かを判定し、
変化後の前記領域に前記特定オブジェクトが位置すると判定した場合に、前記フィール
ドオブジェクトを第1の変形態様で変形させ、
変化後の前記領域に前記特定オブジェクトが位置しないと判定した場合に、前記フィー
ルドオブジェクトを、前記第1の変形態様とは異なる第2の変形態様で変形させることを
含む、コンピュータにより実行される情報処理方法。
[付記21]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置される
オブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情
報処理方法であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けら
れるフィールドオブジェクトと、前記フィールドオブジェクトに配置される特定オブジェ
クトとを含み、
前記フィールドオブジェクトにおける前記仮想カメラの画角内に収まる領域を変化させ
る場合に、変化後の前記領域に前記特定オブジェクトが位置するか否かを判定し、
変化後の前記領域に前記特定オブジェクトが位置すると判定した場合に、前記フィール
ドオブジェクトを第1の変形態様で変形させ、
変化後の前記領域に前記特定オブジェクトが位置しないと判定した場合に、前記フィー
ルドオブジェクトを、前記第1の変形態様とは異なる第2の変形態様で変形させる、
処理をコンピュータに実行させる情報処理プログラム。
1 ゲームシステム
3 第1オブジェクト
10 サーバ装置
11 サーバ通信部
12 サーバ記憶部
13 サーバ制御部
14 横通路
15 縦通路
16 街路樹オブジェクト
20 端末装置
21 端末通信部
22 端末記憶部
23 表示部
24 入力部
25 端末制御部
30 ネットワーク
60 仮想カメラ
62 画角
70 フィールド面
72 背景面
77 フィールドオブジェクト
130 描画情報記憶部
132 操作情報取得部
134 描画データ送信部
140 描画処理部
142 変化処理部
1420 第1移動処理部
1421 距離変更部
14211 第1距離変更部
14212 第2距離変更部
1421A ズーム量変更部
1422 向き変更部
1423 迎角変更部
1424 更新反映部
1425 回転処理部
14251 公転処理部
14252 自転処理部
14253 迎角処理部
144 第2移動処理部
145 変形処理部
1451 第1変形パラメータ算出部
1452 第2変形パラメータ算出部
1453 変形パラメータ調整部
1454 原点設定処理部
1455 変形関数適用部
146 投影処理部
147 背景処理部
148 描画データ生成部

Claims (12)

  1. 互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理装置であって、
    少なくとも、前記仮想カメラの画角内に収まる領域(以下「画角内領域」という。)に特定オブジェクトが含まれるか否かに基づいて、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを変形させる変形処理部を備える情報処理装置。
  2. 前記変形処理部は、前記画角内領域に前記特定オブジェクトが含まれない場合、前記フィールドオブジェクトを変形させない、請求項1に記載の情報処理装置。
  3. 前記変形処理部は、前記特定オブジェクトの種類、向きおよび位置の少なくとも1つに応じて、前記フィールドオブジェクトを変形させる、請求項1または2に記載の情報処理装置。
  4. 前記変形処理部は、前記特定オブジェクトの向きが第1値である場合は前記フィールドオブジェクトを変させ、前記特定オブジェクトの向きが第2値である場合は前記フィールドオブジェクトを変させない、請求項1乃至3のいずれかに記載の情報処理装置。
  5. 前記変形処理部は、前記特定オブジェクトが前記画角内領域の中央部に位置するか否かに応じて、前記フィールドオブジェクトを変形させる、請求項1乃至4のいずれかに記載の情報処理装置。
  6. 前記変形処理部は、前記仮想カメラの視線方向を前記第1軸及び前記第2軸を含む平面に投影した投影ベクトルと前記特定オブジェクトとの間の投影ベクトルに垂直な方向の距離に応じて、前記フィールドオブジェクトを変形させる、請求項1乃至5のいずれかに記載の情報処理装置。
  7. 前記変形処理部は、前記距離が小さいほど、前記フィールドオブジェクトを大きく変形させる、請求項6に記載の情報処理装置。
  8. 前記特定オブジェクトは、ユーザに注視させたいオブジェクトである、請求項1乃至7のいずれかに記載の情報処理装置。
  9. 前記変形処理部は、前記仮想カメラの位置にも基づいて、前記フィールドオブジェクトを変形させる、請求項1乃至8のいずれかに記載の情報処理装置。
  10. 前記変形処理部は、前記仮想カメラの向きにも基づいて、前記フィールドオブジェクトを変形させる、請求項1乃至9のいずれかに記載の情報処理装置。
  11. 互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理方法であって、
    少なくとも、前記仮想カメラの画角内に収まる領域(以下「画角内領域」という。)に特定オブジェクトが含まれるか否かに基づいて、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを変形させる、情報処理方法。
  12. 互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理プログラムであって、情報処理装置を、
    少なくとも、前記仮想カメラの画角内に収まる領域(以下「画角内領域」という。)に特定オブジェクトが含まれるか否かに基づいて、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを変形させる変形処理部として機能させる情報処理プログラム。
JP2025066644A 2020-06-26 2025-04-15 情報処理装置、情報処理方法、情報処理プログラム Active JP7844064B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025066644A JP7844064B2 (ja) 2020-06-26 2025-04-15 情報処理装置、情報処理方法、情報処理プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020110767A JP7223726B2 (ja) 2020-06-26 2020-06-26 情報処理装置、情報処理方法、情報処理プログラム
JP2023016040A JP2023054002A (ja) 2020-06-26 2023-02-06 情報処理装置、情報処理方法、情報処理プログラム
JP2024166979A JP7672183B2 (ja) 2020-06-26 2024-09-26 情報処理装置、情報処理方法、情報処理プログラム
JP2025066644A JP7844064B2 (ja) 2020-06-26 2025-04-15 情報処理装置、情報処理方法、情報処理プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2024166979A Division JP7672183B2 (ja) 2020-06-26 2024-09-26 情報処理装置、情報処理方法、情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2025108585A JP2025108585A (ja) 2025-07-23
JP7844064B2 true JP7844064B2 (ja) 2026-04-13

Family

ID=80109971

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2020110767A Active JP7223726B2 (ja) 2020-06-26 2020-06-26 情報処理装置、情報処理方法、情報処理プログラム
JP2023016040A Pending JP2023054002A (ja) 2020-06-26 2023-02-06 情報処理装置、情報処理方法、情報処理プログラム
JP2024166979A Active JP7672183B2 (ja) 2020-06-26 2024-09-26 情報処理装置、情報処理方法、情報処理プログラム
JP2025066644A Active JP7844064B2 (ja) 2020-06-26 2025-04-15 情報処理装置、情報処理方法、情報処理プログラム

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2020110767A Active JP7223726B2 (ja) 2020-06-26 2020-06-26 情報処理装置、情報処理方法、情報処理プログラム
JP2023016040A Pending JP2023054002A (ja) 2020-06-26 2023-02-06 情報処理装置、情報処理方法、情報処理プログラム
JP2024166979A Active JP7672183B2 (ja) 2020-06-26 2024-09-26 情報処理装置、情報処理方法、情報処理プログラム

Country Status (1)

Country Link
JP (4) JP7223726B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017131523A (ja) 2016-01-29 2017-08-03 グリー株式会社 プログラム、ゲームの制御方法、及び情報処理装置
JP2018171136A (ja) 2017-03-31 2018-11-08 グリー株式会社 プログラム、情報処理装置、及び制御方法
JP2019209115A (ja) 2018-06-04 2019-12-12 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および情報処理方法
JP2020080008A (ja) 2018-11-12 2020-05-28 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
JP2020080007A (ja) 2018-11-12 2020-05-28 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017131523A (ja) 2016-01-29 2017-08-03 グリー株式会社 プログラム、ゲームの制御方法、及び情報処理装置
JP2018171136A (ja) 2017-03-31 2018-11-08 グリー株式会社 プログラム、情報処理装置、及び制御方法
JP2019209115A (ja) 2018-06-04 2019-12-12 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および情報処理方法
JP2020080008A (ja) 2018-11-12 2020-05-28 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
JP2020080007A (ja) 2018-11-12 2020-05-28 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法

Also Published As

Publication number Publication date
JP7672183B2 (ja) 2025-05-07
JP2022007672A (ja) 2022-01-13
JP2024174055A (ja) 2024-12-13
JP2025108585A (ja) 2025-07-23
JP7223726B2 (ja) 2023-02-16
JP2023054002A (ja) 2023-04-13

Similar Documents

Publication Publication Date Title
EP2466445B1 (en) Input direction determination terminal, method and computer program product
US20180161674A1 (en) Terminal device
EP2605118A2 (en) Input direction determination system, terminal, server, network system, and input direction determination method
US11847714B2 (en) Information processing device, information processing method, and information processing program
JP6872401B2 (ja) ゲームシステム及びプログラム
JP5942031B1 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP6928060B2 (ja) 入力処理装置及びプログラム
JP5977878B1 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP7844064B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP2025176148A (ja) コンピュータプログラム、仮想空間表示装置、及び仮想空間表示方法
JP6807732B2 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP7778325B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP7507458B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
CN115708956A (zh) 一种游戏画面的更新方法、更新装置、计算机设备和介质
JP7849798B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6960214B2 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP7051954B2 (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP2017094041A (ja) プログラム、ゲームの制御方法、及び情報処理装置
JP6069571B1 (ja) プログラム、ゲームの制御方法、及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260325

R150 Certificate of patent or registration of utility model

Ref document number: 7844064

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150