JP7507458B2 - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

Publication number
JP7507458B2
JP7507458B2 JP2023021490A JP2023021490A JP7507458B2 JP 7507458 B2 JP7507458 B2 JP 7507458B2 JP 2023021490 A JP2023021490 A JP 2023021490A JP 2023021490 A JP2023021490 A JP 2023021490A JP 7507458 B2 JP7507458 B2 JP 7507458B2
Authority
JP
Japan
Prior art keywords
field
virtual camera
value
axis
field object
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
JP2023021490A
Other languages
Japanese (ja)
Other versions
JP2023063309A (en
Inventor
綾佑 西田
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.)
GREE Inc
Original Assignee
GREE 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 GREE Inc filed Critical GREE Inc
Priority to JP2023021490A priority Critical patent/JP7507458B2/en
Publication of JP2023063309A publication Critical patent/JP2023063309A/en
Application granted granted Critical
Publication of JP7507458B2 publication Critical patent/JP7507458B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本開示は、情報処理装置、情報処理方法、情報処理プログラムに関する。 This disclosure relates to an information processing device, an information processing method, and an information processing program.

3次元の仮想空間に配置されるオブジェクトを、仮想空間に配置された仮想カメラから視た表現で描画するための情報処理装置が知られている。 An information processing device is known for rendering objects placed in a three-dimensional virtual space as viewed from a virtual camera placed in the virtual space.

特開2013-208269号公報JP 2013-208269 A

上記のような従来技術では、仮想カメラから視た仮想空間内のフィールドオブジェクトの多様な表現を生成することが難しい。 With conventional techniques such as those described above, it is difficult to generate diverse representations of field objects in a virtual space viewed from a virtual camera.

そこで、1つの側面では、本発明は、仮想カメラから視た仮想空間内の多様な表現を生成することを目的とする。 Therefore, in one aspect, the present invention aims to generate diverse representations of a virtual space viewed from a virtual camera.

1つの側面では、互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理装置であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトと、前記フィールドオブジェクトに対して配置される所定オブジェクトとを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させる第1移動処理部と、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させる第2移動処理部と、
前記フィールドオブジェクトを変形させる変形処理部とを含み、
前記第1移動処理部は、前記フィールドオブジェクトに対する前記仮想カメラの位置を、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化させ、
前記変形処理部は、前記仮想カメラの位置に基づいて、前記フィールドオブジェクトを変形させる、情報処理装置が提供される。
According to one aspect, there is provided an information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis that are orthogonal to each other, as viewed from a virtual camera disposed in the virtual space, the information processing device comprising:
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a predetermined object arranged with respect to the field object;
a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera relative to the field object;
a second movement processing unit that changes a position of the predetermined object relatively to the field object;
a transformation processing unit that transforms the field object,
the first movement processing unit changes a position of the virtual camera with respect to the field object in conjunction with a change in a position of the predetermined object with respect to the field object;
The transformation processing unit transforms the field object based on a position of the virtual camera.

1つの側面では、本発明によれば、仮想カメラから視た仮想空間内の多様な表現を生成することが可能となる。 In one aspect, the present invention makes it possible to generate a variety of representations of a virtual space viewed from a virtual camera.

本実施形態に係るゲームシステムのブロック図である。1 is a block diagram of a game system according to an embodiment of the present invention. フィールド画像の一例を示す図である。FIG. 13 is a diagram illustrating an example of a field image. フィールドオブジェクトを形成するフィールド面と背景オブジェクトを形成する背景面の全体を示す平面図である。FIG. 2 is a plan view showing an entire field surface forming a field object and an entire background surface forming a background object. フィールド面と背景面の一部を示す斜視図である。FIG. 2 is a perspective view showing a part of a field surface and a background surface. 各種の位置関係を示す説明図である。FIG. 2 is an explanatory diagram showing various positional relationships. 仮想カメラから視た表現で描画して得られたフィールド画像の一例を示す概略図である。1 is a schematic diagram showing an example of a field image obtained by drawing an image seen from a virtual camera. フィールド面の曲げ変形を実現するための変形パラメータの一例の説明図である。11 is an explanatory diagram of an example of deformation parameters for realizing bending deformation of a field surface; FIG. 関数に基づくフィールド面の曲げ変形の説明図である。11A and 11B are explanatory diagrams of bending deformation of a field surface based on a function. 仮想カメラの位置の変化の自由度の説明図である。FIG. 11 is an explanatory diagram of the degree of freedom of change of the position of the virtual camera. 仮想カメラの視線方向の回転の説明図である。FIG. 11 is an explanatory diagram of the rotation of the line of sight of the virtual camera. カメラパラメータの説明図である。FIG. 2 is an explanatory diagram of camera parameters. サーバ装置の描画機能に関する機能ブロック図の一例である。FIG. 2 is a functional block diagram of a drawing function of the server device; 変形パラメータデータの説明図である。FIG. 4 is an explanatory diagram of deformation parameter data. 距離パラメータデータの説明図である。FIG. 4 is an explanatory diagram of distance parameter data. 向きパラメータデータの説明図である。FIG. 11 is an explanatory diagram of direction parameter data. サーバ制御部により実現される処理の流れを示す概略フローチャートである。10 is a schematic flowchart showing a flow of processing realized by a server control unit. 距離パラメータ算出処理(ステップS1608)の一例を示す概略フローチャートである。16 is a schematic flowchart showing an example of a distance parameter calculation process (step S1608). 補間処理範囲の説明図である。FIG. 11 is an explanatory diagram of an interpolation processing range. 向きパラメータ算出処理(ステップS1610)の一例を示す概略フローチャートである。16 is a schematic flowchart showing an example of a direction parameter calculation process (step S1610). 迎角パラメータ算出処理(ステップS1612)の一例を示す概略フローチャートである。13 is a schematic flowchart showing an example of an attack angle parameter calculation process (step S1612). 所定オブジェクトの移動に伴う変形処理(ステップS1615)の一例を示す概略フローチャートである。16 is a schematic flowchart showing an example of a transformation process (step S1615) accompanying the movement of a predetermined object. 曲げ変形処理の説明図である。FIG. 回転指示に基づく回転処理(ステップS1618)の一例を示す概略フローチャートである。16 is a schematic flowchart showing an example of a rotation process (step S1618) based on a rotation instruction. 回転指示に基づく回転処理(ステップS1618)後の、変形処理(ステップS1619)の一例を示す概略フローチャートである。16 is a schematic flowchart showing an example of a transformation process (step S1619) after a rotation process (step S1618) based on a rotation instruction. 補間角度範囲の説明図である。FIG. 11 is an explanatory diagram of an interpolation angle range. 動作例の適用場面の説明図である。FIG. 11 is an explanatory diagram of an application scene of the operation example. 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その1)である。FIG. 11 is an explanatory diagram (part 1) showing the relationship between the virtual camera and bending deformation of the field surface. 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その2)である。FIG. 2 is an explanatory diagram (part 2) showing the relationship between the virtual camera and bending deformation of the field surface. 仮想カメラとフィールド面の曲げ変形との関係を示す説明図(その3)である。FIG. 11 is an explanatory diagram (part 3) showing the relationship between the virtual camera and bending deformation of the field surface. フィールド画像の例を示す図である。FIG. 13 is a diagram showing an example of a field image. フィールド画像の例を示す図である。FIG. 13 is a diagram showing an example of a field image. フィールド画像の例を示す図である。FIG. 13 is a diagram showing an example of a field image. 他のサーバ装置の描画機能に関する機能ブロック図の一例である。FIG. 13 is a functional block diagram of a drawing function of another server device; 補間処理範囲の設定方法の説明図(その1)である。FIG. 11 is an explanatory diagram (part 1) of a method for setting an interpolation processing range. 補間処理範囲の設定方法の説明図(その2)である。FIG. 11 is an explanatory diagram (part 2) of a method for setting an interpolation processing range.

以下、添付図面を参照しながら各実施形態について詳細に説明する。 Each embodiment will be described in detail below with reference to the attached drawings.

(ゲームシステムの概要)
図1を参照して、本発明の一実施形態に係るゲームシステム1の概要について説明する。図1は、本実施形態に係るゲームシステム1のブロック図である。図2は、フィールド画像の一例を示す図である。ゲームシステム1は、サーバ装置10と、1つ以上の端末装置20と、を備える。図1では簡便のため、3つの端末装置20を図示しているが、端末装置20の数は2つ以上であればよい。
(Game System Overview)
An overview of a game system 1 according to an embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 is a block diagram of the game system 1 according to the present embodiment. Fig. 2 is a diagram showing an example of a field image. The game system 1 includes a server device 10 and one or more terminal devices 20. For simplicity, three terminal devices 20 are shown in Fig. 1, but the number of terminal devices 20 may be two or more.

サーバ装置10は、例えばゲーム運営者が管理するサーバ等の情報処理装置である。端末装置20は、例えば携帯電話、スマートフォン、タブレット端末、PC(Personal Computer)、又はゲーム装置等の、ユーザによって使用される情報処理装置である。端末装置20は、本実施形態に係るゲームのアプリケーションを実行可能である。ゲームのアプリケーションは、ネットワーク30を介してサーバ装置10や所定のアプリケーション配信サーバから端末装置20に受信されてもよく、あるいは端末装置20に備えられた記憶装置又は端末装置20が読取可能なメモリカード等の記憶媒体に予め記憶されていてもよい。サーバ装置10及び端末装置20は、ネットワーク30を介して通信可能に接続される。例えば、サーバ装置10及び端末装置20が協動して、ゲームに関する多様な処理を実行する。 The server device 10 is an information processing device such as a server managed by a game operator. The terminal device 20 is an information processing device used by a user, such as a mobile phone, a smartphone, a tablet terminal, a PC (Personal Computer), or a game device. The terminal device 20 is capable of executing a game application according to this embodiment. The game application may be received by the terminal device 20 from the server device 10 or a predetermined application distribution server via the network 30, or may be stored in advance in a storage device provided in the terminal device 20 or a storage medium such as a memory card readable by the terminal device 20. The server device 10 and the terminal device 20 are connected to each other so as to be able to communicate with each other via the network 30. For example, the server device 10 and the terminal device 20 cooperate to execute various processes related to the game.

なお、ネットワーク30は、無線通信網や、インターネット、VPN(Virtual Private Network)、WAN(Wide Area Network)、有線ネットワーク、又はこれらの任意の組み合わせ等を含んでよい。 The network 30 may include a wireless communication network, the Internet, a Virtual Private Network (VPN), a Wide Area Network (WAN), a wired network, or any combination of these.

ここで、本実施形態に係るゲームの概要について説明する。本実施形態に係るゲームは、例えばロールプレイングゲーム又はシミュレーションゲーム等であって、ゲームの実行に伴い、ゲーム媒体が用いられる。例えば、本実施形態に係るゲームは、3次元の仮想空間内のフィールド上でゲーム媒体を移動させるゲームである。 Here, an overview of the game according to this embodiment will be described. The game according to this embodiment is, for example, a role-playing game or a simulation game, and game media is used as the game is executed. For example, the game according to this embodiment is a game in which game media is moved on a field in a three-dimensional virtual space.

ゲーム媒体は、ゲームに使用される電子データであり、例えば、カード、アイテム、ポイント、サービス内通貨(又はゲーム内通貨)、チケット、キャラクタ、アバタ、パラメータ等、任意の媒体を含む。また、ゲーム媒体は、レベル情報、ステータス情報、ゲームパラメータ情報(体力値及び攻撃力等)又は能力情報(スキル、アビリティ、呪文、ジョブ等)のような、ゲーム関連情報であってもよい。また、ゲーム媒体は、ユーザによってゲーム内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る電子データであるが、ゲーム媒体の利用態様は本明細書で明示されるものに限られない。 Game media is electronic data used in a game, and includes any media, such as cards, items, points, in-service currency (or in-game currency), tickets, characters, avatars, parameters, etc. Game media may also be game-related information, such as level information, status information, game parameter information (stamina value and attack power, etc.), or ability information (skills, abilities, spells, jobs, etc.). Game media is electronic data that can be acquired, owned, used, managed, exchanged, synthesized, strengthened, sold, discarded, or donated by a user in a game, but the manner of use of the game media is not limited to those explicitly stated in this specification.

以下、特に明示した場合を除き、「ユーザが所有するゲーム媒体」とは、ユーザのユーザIDに対応付けられたゲーム媒体を示す。また、「ゲーム媒体をユーザに付与する」とは、ゲーム媒体をユーザIDに対応付けることを示す。また、「ユーザが所有するゲーム媒体を破棄する」とは、ユーザIDとゲーム媒体との対応付けを解消することを示す。また、「ユーザが所有するゲーム媒体を消費する」とは、ユーザIDとゲーム媒体との対応付けの解消に応じて、何らかの効果又は影響をゲーム内で発生させ得ることを示す。また、「ユーザが所有するゲーム媒体を売却する」とは、ユーザIDと当該ゲーム媒体との対応付けを解消し、且つ、ユーザIDに他のゲーム媒体(例えば、仮想通貨又はアイテム等)を対応付けることを示す。また、「あるユーザが所有するゲーム媒体を他のユーザに譲渡する」とは、あるユーザのユーザIDとゲーム媒体との対応付けを解消し、且つ、他のユーザのユーザIDに当該ゲーム媒体を対応付けることを示す。 Unless otherwise specified, "game media owned by a user" refers to game media associated with the user ID of the user. "Giving game media to a user" refers to associating the game media with a user ID. "Discarding game media owned by a user" refers to dissociating the association between a user ID and the game media. "Consuming game media owned by a user" refers to the possibility of causing some effect or influence in the game in response to dissociating the association between a user ID and the game media. "Selling game media owned by a user" refers to dissociating the association between a user ID and the game media, and associating the user ID with other game media (e.g., virtual currency or items, etc.). "Transferring game media owned by a user to another user" refers to dissociating the association between a user ID and the game media, and associating the game media with the user ID of the other user.

本実施形態に係るゲームは、概略として、第1ゲームパートと、第2ゲームパートと、第3ゲームパートと、を含む。 The game according to this embodiment generally includes a first game part, a second game part, and a third game part.

第1ゲームパートにおいて、ユーザは、ユーザキャラクタを操作して、仮想空間内のフィールドを探索しながら、ゲームを進行させる。具体的には、ユーザ操作に応じてユーザキャラクタがフィールド上を移動する。フィールドには、例えば町及びダンジョン等の多様なエリアが設けられており、例えば町の住人キャラクタとの会話、及びダンジョン内で遭遇する敵キャラクタとの対戦等、エリアに応じた多様なイベントが発生する。イベントが実行されることによって、ゲームのメインストーリーが進行する。また第1ゲームパートにおいて、例えば敵キャラクタとの対戦に勝利すると、例えばアイテム、仮想通貨、又はキャラクタ等のゲーム媒体がユーザに付与され得る。付与されたゲーム媒体は、例えば後述する第3ゲームパートにおいて使用可能である。 In the first game part, the user operates a user character to progress through the game while exploring a field in a virtual space. Specifically, the user character moves on the field in response to user operations. Various areas, such as towns and dungeons, are provided in the field, and various events occur according to the area, such as conversations with town resident characters and battles with enemy characters encountered in dungeons. The main story of the game progresses as events are executed. In addition, in the first game part, if the user wins a battle against an enemy character, for example, game media such as items, virtual currency, or characters may be granted to the user. The granted game media can be used, for example, in the third game part described below.

第2ゲームパートにおいて、ユーザは、ゲーム媒体の保有状況を変更する。ユーザは、例えばアイテム、仮想通貨、及びキャラクタ等の多様なゲーム媒体を収集する。具体的には、フィールド上に設けられた採掘場及び釣り堀等の特定のエリアにユーザキャラクタを移動させ、又は特定のキャラクタ等のゲーム媒体を選択(例えば、画面に対するタッチ操作)すると、ゲーム媒体が取得可能なサブイベントが発生する。サブイベントは、例えばサブストーリーの進行、及びミニゲームの実行等を含むが、サブイベントの内容はこれらに限られない。サブイベントの実行結果に応じて、多様なゲーム媒体がユーザに付与され得る。付与されたゲーム媒体は、例えば後述する第3ゲームパートにおいて使用可能である。 In the second game part, the user changes the game media owned. The user collects various game media, such as items, virtual currency, and characters. Specifically, when the user moves the user character to a specific area, such as a mining site or fishing pond, provided on the field, or selects a specific character or other game media (for example, by touching the screen), a sub-event occurs in which the game media can be acquired. Sub-events include, for example, the progression of a sub-story and the execution of a mini-game, but the content of the sub-event is not limited to these. Depending on the result of the execution of the sub-event, various game media can be granted to the user. The granted game media can be used, for example, in the third game part described below.

第3ゲームパートにおいて、ユーザは、ゲーム媒体に関するパラメータを変更する。ユーザは、例えばユーザキャラクタの強化を行う。具体的には、上述したように第1ゲームパート及び第2ゲームパートにおいてユーザに付与されたゲーム媒体が消費されることによって、ユーザキャラクタの多様なゲームパラメータが変化する。ゲームパラメータは、例えばユーザキャラクタのレベル、HP、攻撃力、防御力、属性、及びスキル等を含むが、これらに限られない。ユーザキャラクタのゲームパラメータの変化に応じて、ユーザキャラクタが強化される。ユーザキャラクタの強化によって、第1ゲームパートにおける敵キャラクタとの対戦でユーザキャラクタが勝利できる蓋然性が高まる。 In the third game part, the user changes parameters related to the game media. For example, the user strengthens the user character. Specifically, as described above, various game parameters of the user character change as the game media granted to the user in the first and second game parts are consumed. Game parameters include, but are not limited to, the user character's level, HP, attack power, defense power, attributes, and skills. The user character is strengthened in response to changes in the user character's game parameters. Strengthening the user character increases the likelihood that the user character will win a battle against an enemy character in the first game part.

このように、本実施形態に係るゲームにおいて、ユーザは第1ゲームパート、第2ゲームパート、及び第3ゲームパートを繰り返し行う。 In this way, in the game according to this embodiment, the user repeatedly plays the first game part, the second game part, and the third game part.

(サーバ装置の構成)
サーバ装置10の構成について具体的に説明する。サーバ装置10は、サーバコンピュータにより構成される。サーバ装置10は、複数台のサーバコンピュータにより協動して実現されてもよい。
(Configuration of the server device)
A specific description will be given of the configuration of the server device 10. The server device 10 is configured by a server computer. The server device 10 may be realized by a plurality of server computers working together.

サーバ装置10は、サーバ通信部11と、サーバ記憶部12と、サーバ制御部13と、を備える。 The server device 10 includes a server communication unit 11, a server storage unit 12, and a server control unit 13.

サーバ通信部11は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。サーバ通信部11は、例えば無線LAN(Local Area Network)通信モジュール又は有線LAN通信モジュール等を含んでもよい。サーバ通信部11は、ネットワーク30を介して、端末装置20との間で情報を送受信可能である。 The server communication unit 11 includes an interface that communicates with an external device wirelessly or wiredly to send and receive information. The server communication unit 11 may include, for example, a wireless LAN (Local Area Network) communication module or a wired LAN communication module. The server communication unit 11 can send and receive information to and from the terminal device 20 via the network 30.

サーバ記憶部12は、例えば記憶装置であって、ゲームの処理に必要な種々の情報及びプログラムを記憶する。例えばサーバ記憶部12は、ゲームのアプリケーションを記憶する。 The server storage unit 12 is, for example, a storage device, and stores various information and programs necessary for game processing. For example, the server storage unit 12 stores game applications.

また、サーバ記憶部12は、3次元の仮想空間内に配置された種々のオブジェクトに投影(テクスチャマッピング)するための種々の画像(テクスチャ画像)を記憶する。 The server storage unit 12 also stores various images (texture images) for projection (texture mapping) onto various objects placed in the three-dimensional virtual space.

例えば、サーバ記憶部12は、ユーザキャラクタの画像を記憶する。以下、ユーザキャラクタを第1ゲーム媒体と称し、第1ゲーム媒体の画像に基づきフィールドオブジェクト(後述)上に描画(配置)されるオブジェクトを第1オブジェクトとも称する。なお、本実施形態では、仮想空間内では、第1オブジェクトは1つだけ配置されるが、2つ以上の第1オブジェクトが配置されてもよい。なお、第1オブジェクトは、複数の第1ゲーム媒体のグループであってもよい。また、仮想空間内で利用される第1ゲーム媒体(及びそれに基づく第1オブジェクト)は、ユーザにより適宜交換可能とされてもよい。 For example, the server storage unit 12 stores an image of a user character. Hereinafter, the user character is referred to as the first game medium, and an object that is drawn (placed) on a field object (described later) based on the image of the first game medium is also referred to as the first object. Note that in this embodiment, only one first object is placed in the virtual space, but two or more first objects may be placed. Note that the first object may be a group of multiple first game media. Also, the first game medium (and the first object based thereon) used in the virtual space may be interchangeable by the user as appropriate.

また、サーバ記憶部12は、例えば建物、壁、樹木、又はNPC(Non Player Character)等のような、ゲーム媒体に係る画像を記憶する。以下、第1ゲーム媒体とは異なる任意のゲーム媒体(例えば建物、壁、樹木、又はNPC等)であって、後述するフィールドオブジェクトに配置されうるゲーム媒体を第2ゲーム媒体と称し、第2ゲーム媒体が投影されたオブジェクトを第2オブジェクトとも称する。なお、本実施形態では、第2オブジェクトは、後述するフィールドオブジェクトに対して固定されたオブジェクトや、後述するフィールドオブジェクトに対して移動可能なオブジェクト等を含んでもよい。また、第2オブジェクトは、後述するフィールドオブジェクトに常に配置されるオブジェクトや、所定の条件が満たされた場合にだけ配置されるオブジェクト等を含んでもよい。 The server storage unit 12 also stores images related to game media, such as buildings, walls, trees, or NPCs (Non Player Characters). Hereinafter, any game media (e.g., buildings, walls, trees, or NPCs) different from the first game medium that can be placed on a field object described later will be referred to as the second game medium, and an object onto which the second game medium is projected will also be referred to as the second object. In this embodiment, the second object may include an object fixed to a field object described later, an object movable to a field object described later, etc. The second object may also include an object that is always placed on a field object described later, or an object that is placed only when a certain condition is met, etc.

また、サーバ記憶部12は、例えば空又は遠景等の背景の画像(背景画像)を記憶する。以下、背景画像が投影されたオブジェクトを背景オブジェクトともいう。なお、背景画像は複数種類用意され、使い分けられてもよい。 The server storage unit 12 also stores an image of a background (background image), such as the sky or a distant view. Hereinafter, an object onto which a background image is projected is also referred to as a background object. Note that multiple types of background images may be prepared and used differently.

また、サーバ記憶部12は、フィールド(例えば、地面)の画像(フィールド画像)を記憶する。フィールド画像は、後述するフィールド面に投影される。以下、フィールド画像がフィールド面に投影されたオブジェクトを、フィールドオブジェクトとも称する。なお、フィールドオブジェクトは、仮想空間内における仮想のフィールド(地面)として用いられる。 The server storage unit 12 also stores an image (field image) of a field (e.g., the ground). The field image is projected onto a field surface, which will be described later. Hereinafter, an object onto which the field image is projected onto the field surface is also referred to as a field object. Note that the field object is used as a virtual field (ground) in the virtual space.

ここで、フィールド画像には、例えば図2に示すように、互いに直交するu軸及びv軸を有するテクスチャ座標系が設定されている。本実施形態において、フィールド画像には、横通路14と、縦通路15と、カーブ路17とが定められている。横通路14、縦通路15、及びカーブ路17は、フィールドオブジェクトにおける第1オブジェクト等が移動可能な通路を形成する。なお、図2では、特定の通路構成が示されるが、通路構成は任意である。また、図2では、フィールド画像は、矩形であるが、他の形態であってもよい。また、フィールド画像は複数種類用意され、使い分けられてもよい。 Here, a texture coordinate system having mutually orthogonal u-axis and v-axis is set in the field image, for example as shown in FIG. 2. In this embodiment, a horizontal passage 14, a vertical passage 15, and a curved path 17 are defined in the field image. The horizontal passage 14, the vertical passage 15, and the curved path 17 form a path through which the first object in the field object can move. Note that although a specific passage configuration is shown in FIG. 2, the passage configuration is arbitrary. Also, although the field image in FIG. 2 is rectangular, it may be of other shapes. Also, multiple types of field images may be prepared and used differently.

また、サーバ記憶部12は、第2オブジェクトと、フィールド画像のテクスチャ座標と、を対応付けた対応情報を記憶する。対応情報は、第2オブジェクトをフィールドオブジェクト上に配置する処理を実行するサーバ制御部13によって用いられる。 The server storage unit 12 also stores correspondence information that associates the second object with the texture coordinates of the field image. The correspondence information is used by the server control unit 13, which executes the process of placing the second object on the field object.

サーバ制御部13は、専用のマイクロプロセッサ又は特定のプログラムを読み込むことにより特定の機能を実現するCPUである。例えばサーバ制御部13は、表示部23に対するユーザ操作に応じてゲームのアプリケーションを実行する。また、サーバ制御部13は、ゲームに関する多様な処理を実行する。 The server control unit 13 is a dedicated microprocessor or a CPU that realizes specific functions by loading specific programs. For example, the server control unit 13 executes a game application in response to user operations on the display unit 23. The server control unit 13 also executes various processes related to the game.

例えば、サーバ制御部13は、フィールドオブジェクト及び第1オブジェクト等が表示されるフィールド画像を表示部23に表示させる。また、サーバ制御部13は、所定のユーザ操作に応じて、仮想空間内において第1オブジェクトを、フィールドオブジェクトに対して相対的に、フィールドオブジェクト上で移動させる。サーバ制御部13の具体的な処理の詳細は後述する。 For example, the server control unit 13 causes the display unit 23 to display a field image in which the field object, the first object, etc. are displayed. In addition, the server control unit 13 moves the first object on the field object relative to the field object in the virtual space in response to a predetermined user operation. Specific details of the processing by the server control unit 13 will be described later.

(端末装置の構成)
端末装置20の構成について具体的に説明する。図1に示すように、端末装置20は、端末通信部21と、端末記憶部22と、表示部23と、入力部24と、端末制御部25とを備える。
(Configuration of terminal device)
A specific description will be given of the configuration of the terminal device 20. As shown in Fig. 1, the terminal device 20 includes a terminal communication unit 21, a terminal storage unit 22, a display unit 23, an input unit 24, and a terminal control unit 25.

端末通信部21は、外部装置と無線又は有線によって通信し、情報の送受信を行うインタフェースを含む。端末通信部21は、例えばLTE(Long Term Evolution)(登録商標)等のモバイル通信規格に対応する無線通信モジュール、無線LAN通信モジュール、又は有線LAN通信モジュール等を含んでもよい。端末通信部21は、ネットワーク30を介して、サーバ装置10との間で情報を送受信可能である。 The terminal communication unit 21 includes an interface that communicates with an external device wirelessly or wiredly to send and receive information. The terminal communication unit 21 may include a wireless communication module, a wireless LAN communication module, or a wired LAN communication module that supports a mobile communication standard such as LTE (Long Term Evolution) (registered trademark). The terminal communication unit 21 can send and receive information to and from the server device 10 via the network 30.

端末記憶部22は、例えば一次記憶装置及び二次記憶装置を含む。例えば端末記憶部22は、半導体メモリ、磁気メモリ、又は光メモリ等を含んでもよい。端末記憶部22は、サーバ装置10から受信する、ゲームの処理に用いられる種々の情報及びプログラムを記憶する。ゲームの処理に用いられる情報及びプログラムは、端末通信部21を介して外部装置から取得されてもよい。例えば、ゲームのアプリケーションプログラムが、所定のアプリケーション配信サーバから取得されてもよい。以下、アプリケーションプログラムを、単にアプリケーションともいう。また例えば、上述したユーザに関する情報及び対戦相手であるゲーム媒体に関する情報等の一部又は全部が、サーバ装置10から取得されてもよい。 The terminal storage unit 22 includes, for example, a primary storage unit and a secondary storage unit. For example, the terminal storage unit 22 may include a semiconductor memory, a magnetic memory, an optical memory, or the like. The terminal storage unit 22 stores various information and programs used in game processing received from the server device 10. The information and programs used in game processing may be acquired from an external device via the terminal communication unit 21. For example, a game application program may be acquired from a specified application distribution server. Hereinafter, the application program is also simply referred to as an application. Also, for example, some or all of the above-mentioned information about the user and information about the game medium of the opponent may be acquired from the server device 10.

表示部23は、例えば液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを含む。表示部23は、多様な画像を表示可能である。表示部23は、例えばタッチパネルで構成され、多様なユーザ操作を検出するインタフェースとして機能する。 The display unit 23 includes a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 23 is capable of displaying a variety of images. The display unit 23 is configured, for example, as a touch panel, and functions as an interface that detects a variety of user operations.

入力部24は、例えば表示部23と一体的に設けられたタッチパネルを含む入力インタフェースを含む。入力部24は、端末装置20に対するユーザ入力を受付可能である。また、入力部24は、物理キーを含んでもよいし、マウス等のようなポインティングデバイスをはじめとする任意の入力インタフェースを更に含んでもよい。 The input unit 24 includes an input interface including, for example, a touch panel that is integral with the display unit 23. The input unit 24 is capable of accepting user input to the terminal device 20. The input unit 24 may also include physical keys, and may further include any input interface including a pointing device such as a mouse.

端末制御部25は、1つ以上のプロセッサを含む。端末制御部25は、端末装置20全体の動作を制御する。 The terminal control unit 25 includes one or more processors. The terminal control unit 25 controls the operation of the entire terminal device 20.

端末制御部25は、端末通信部21を介して情報の送受信を行う。例えば、端末制御部25は、ゲームの処理に用いられる種々の情報及びプログラムを、サーバ装置10及び他の外部サーバの少なくとも一方から受信する。端末制御部25は、受信された情報及びプログラムを、端末記憶部22に記憶する。 The terminal control unit 25 transmits and receives information via the terminal communication unit 21. For example, the terminal control unit 25 receives various information and programs used in game processing from at least one of the server device 10 and other external servers. The terminal control unit 25 stores the received information and programs in the terminal storage unit 22.

端末制御部25は、ユーザの操作に応じてゲームのアプリケーションを起動する。端末制御部25は、サーバ装置10と協動して、ゲームを実行する。例えば、端末制御部25は、ゲームに用いられる種々の画像(例えば後述する各種のフィールド画像)を表示部23に表示させる。画面上には、例えばユーザ操作を検出するGUI(Graphic User Interface)が表示されてもよい。端末制御部25は、入力部24を介して、画面に対するユーザ操作を検出可能である。例えば端末制御部25は、ユーザのタップ操作、ロングタップ操作、フリック操作、及びスワイプ操作等を検出可能である。タップ操作は、ユーザが指で表示部23に触れ、その後に指を離す操作である。端末制御部25は、操作情報をサーバ装置10に送信する。 The terminal control unit 25 starts a game application in response to a user's operation. The terminal control unit 25 cooperates with the server device 10 to execute the game. For example, the terminal control unit 25 causes the display unit 23 to display various images (for example, various field images described later) used in the game. For example, a GUI (Graphic User Interface) that detects a user operation may be displayed on the screen. The terminal control unit 25 can detect a user operation on the screen via the input unit 24. For example, the terminal control unit 25 can detect a user's tap operation, long tap operation, flick operation, swipe operation, etc. A tap operation is an operation in which a user touches the display unit 23 with a finger and then releases the finger. The terminal control unit 25 transmits operation information to the server device 10.

(ゲームにおける描画機能)
サーバ制御部13は、端末装置20と協動して、表示部23上にフィールド画像を表示し、ゲームの進行に応じてフィールド画像を更新していく。本実施形態では、サーバ制御部13は、端末装置20と協動して、3次元の仮想空間に配置されるオブジェクトを、仮想空間に配置された仮想カメラから視た表現で描画する。
(Game drawing function)
The server control unit 13, in cooperation with the terminal device 20, displays a field image on the display unit 23 and updates the field image as the game progresses. In this embodiment, the server control unit 13, in cooperation with the terminal device 20, renders objects placed in a three-dimensional virtual space as viewed from a virtual camera placed in the virtual space.

なお、以下で説明する描画処理は、サーバ制御部13により実現されるが、他の実施形態では、以下で説明する描画処理の一部又は全部がサーバ制御部13により実現されてもよい。例えば、以下の説明において、端末装置20に表示されるフィールド画像の少なくとも一部を、サーバ装置10が生成したデータに基づいて端末装置20に表示させるウェブ表示とし、画面の少なくとも一部を、端末装置20にインストールされているネイティブアプリケーションによって表示させるネイティブ表示としてもよい。 The drawing process described below is realized by the server control unit 13, but in other embodiments, some or all of the drawing process described below may be realized by the server control unit 13. For example, in the following description, at least a part of the field image displayed on the terminal device 20 may be a web display displayed on the terminal device 20 based on data generated by the server device 10, and at least a part of the screen may be a native display displayed by a native application installed on the terminal device 20.

図3及び図4は、フィールドオブジェクトと背景オブジェクトの一例の説明図である。図3は、フィールドオブジェクトを形成するフィールド面70と背景オブジェクトを形成する背景面72の全体を示す平面図であり、図4は、図3の矢印R0の方向成分を含む斜め方向に視たときの、フィールド面70と背景面72の一部を示す斜視図である。図4には、仮想カメラ60についても模式的に図示されている。また、図4では、背景面72は雲や太陽の絵を含む背景画像が投影された背景オブジェクトの形態で示されている。 Figures 3 and 4 are explanatory diagrams of an example of a field object and a background object. Figure 3 is a plan view showing the entire field surface 70 forming the field object and the background surface 72 forming the background object, and Figure 4 is a perspective view showing a part of the field surface 70 and the background surface 72 when viewed in an oblique direction including the directional component of the arrow R0 in Figure 3. Figure 4 also shows a schematic diagram of the virtual camera 60. Also, in Figure 4, the background surface 72 is shown in the form of a background object onto which a background image including pictures of clouds and the sun is projected.

以下の説明において、各種オブジェクトの移動とは、仮想空間内の移動を表す。また、各種オブジェクトの可視範囲とは、仮想カメラ60から視て可視の範囲(すなわち仮想カメラ60の画角62内の範囲)を表す。 In the following description, the movement of various objects refers to movement within the virtual space. Furthermore, the visible range of various objects refers to the range visible from the virtual camera 60 (i.e., the range within the angle of view 62 of the virtual camera 60).

図3には、仮想空間の空間座標系としてのx、y、z座標系(以下、「グローバル座標系」とも称する)が示される。なお、グローバル座標系の原点は、任意の位置に固定されてよい。以下では、z方向の正側を仮想空間の上側とし、負側を仮想空間の下側とする。なお、本実施形態では、x軸は、第1軸の一例であり、y軸は、第2軸の一例である。以下で、x方向、y方向、及びz方向の各用語は、x軸に平行な方向、y軸に平行な方向、及びz軸に平行な方向をそれぞれ意味する。例えば、z方向は、特に言及しない限り、xy平面内の任意の点を通るz軸に平行な方向を表す。 Figure 3 shows an x, y, z coordinate system (hereinafter also referred to as the "global coordinate system") as a spatial coordinate system of the virtual space. The origin of the global coordinate system may be fixed at any position. In the following, the positive side of the z direction is the upper side of the virtual space, and the negative side is the lower side of the virtual space. In the present embodiment, the x axis is an example of the first axis, and the y axis is an example of the second axis. In the following, the terms x direction, y direction, and z direction respectively mean the direction parallel to the x axis, the direction parallel to the y axis, and the direction parallel to the z axis. For example, the z direction represents the direction parallel to the z axis passing through any point in the xy plane, unless otherwise specified.

フィールド面70は、仮想空間のxy平面に対応付けて配置される。本実施形態では、一例として、フィールド面70は、投影されたフィールド画像のテクスチャ座標系のu軸、v軸及び原点が、グローバル座標系のx軸、y軸及び原点と一致するように、xy平面に対応付けて配置される。なお、図3では、対応付けられる前の状態として、テクスチャ座標系のu軸、v軸及び原点は、グローバル座標系のx軸、y軸及び原点から離れて示されている。フィールド面70は、x方向、y方向、及びz方向の各方向で、並進移動(直線状に移動)が不能とされる。ただし、他の実施形態では、フィールド面70は、グローバル座標系で並進移動が可能とされてもよい。 The field surface 70 is arranged in correspondence with the xy plane of the virtual space. In this embodiment, as an example, the field surface 70 is arranged in correspondence with the xy plane so that the u-axis, v-axis, and origin of the texture coordinate system of the projected field image coincide with the x-axis, y-axis, and origin of the global coordinate system. Note that in FIG. 3, the u-axis, v-axis, and origin of the texture coordinate system are shown apart from the x-axis, y-axis, and origin of the global coordinate system as a state before the correspondence is established. The field surface 70 is not allowed to move in a translational manner (moving linearly) in each of the x-, y-, and z-directions. However, in other embodiments, the field surface 70 may be allowed to move in a translational manner in the global coordinate system.

フィールド面70は、xy平面に平行な平面を正規の状態としたとき、正規の状態から変形可能である。このように、本実施形態では、フィールドオブジェクトは、変形可能なフィールド面70に基づいて形状付けられる。すなわち、フィールドオブジェクトは、正規の状態から変形したフィールド面70に基づいて形状付けられることで、xy平面に平行な平面に対して変形する。以下、フィールド面70及びフィールドオブジェクトに関する変形とは、特に言及しない限り、xy平面に平行な平面を正規の形状(状態)とした場合の変形を意味する。なお、変形状態のフィールドオブジェクトは、変形状態のフィールド面70にフィールド画像を投影することで実現されてもよいし、正規の状態のフィールド面70にフィールド画像を投影させてからフィールド面70を変形させることで実現されてもよい。 When a plane parallel to the xy plane is set as the normal state, the field surface 70 can be deformed from the normal state. Thus, in this embodiment, the field object is shaped based on the deformable field surface 70. That is, the field object is deformed with respect to the plane parallel to the xy plane by being shaped based on the field surface 70 deformed from the normal state. Hereinafter, unless otherwise specified, the deformation of the field surface 70 and the field object means the deformation when the plane parallel to the xy plane is set as the normal shape (state). Note that the deformed field object may be realized by projecting a field image onto the deformed field surface 70, or may be realized by projecting a field image onto the field surface 70 in the normal state and then deforming the field surface 70.

なお、フィールド面70は、フィールド画像が投影されると、正規の状態では、投影されたフィールド画像のテクスチャ座標を引き継ぐことができる。すなわち、フィールド画像が投影されたフィールド面70上の各位置は、実質的に、フィールド画像のテクスチャ座標系(図2参照)で特定できる。以下では、フィールド面70上の各位置を特定するための座標系は、当該フィールド面70に投影されたフィールド画像のテクスチャ座標系と一致し、「フィールド座標系」とも称する。 When a field image is projected onto the field surface 70, in a normal state, the field surface 70 can inherit the texture coordinates of the projected field image. That is, each position on the field surface 70 onto which the field image is projected can essentially be specified by the texture coordinate system of the field image (see FIG. 2). In the following, the coordinate system for specifying each position on the field surface 70 coincides with the texture coordinate system of the field image projected onto the field surface 70, and is also referred to as the "field coordinate system."

背景面72は、背景オブジェクトのz方向に延在する。ただし、他の実施形態では、背景面72は、z方向に対して傾斜して配置されてもよい。図3では、背景面72は、フィールド面70を取り囲むように配置される。この場合、背景面72は、グローバル座標系に対して固定であってもよいし、後述するようにz方向にだけ移動可能であってもよい。ただし、他の実施形態では、背景面72は、フィールド面70の一部だけを取り囲むように配置されてもよい。この場合、背景面72は、後述する仮想カメラ60の回転に応じて回転移動されてもよい。また、更なる他の実施形態では、背景面72は、フィールド面70と同様、変形可能とされてもよい。 The background surface 72 extends in the z direction of the background object. However, in other embodiments, the background surface 72 may be arranged at an angle with respect to the z direction. In FIG. 3, the background surface 72 is arranged to surround the field surface 70. In this case, the background surface 72 may be fixed with respect to the global coordinate system, or may be movable only in the z direction as described below. However, in other embodiments, the background surface 72 may be arranged to surround only a portion of the field surface 70. In this case, the background surface 72 may be rotated and moved in response to the rotation of the virtual camera 60, which will be described later. Furthermore, in still other embodiments, the background surface 72 may be deformable, similar to the field surface 70.

図5は、図4に示した仮想カメラ60の視線方向Vとz方向とを含む平面(以下、「Vz平面」とも称する)を垂直に視たときの、各種の位置関係を示す説明図である。図5には、仮想カメラ60の画角内のフィールドオブジェクトの領域に位置する第1オブジェクト3が模式的に示されている。図6は、仮想カメラ60から視た表現で描画して得られたフィールド画像の一例を示す概略図である。 Figure 5 is an explanatory diagram showing various positional relationships when viewed vertically on a plane including the line of sight V and the z direction of the virtual camera 60 shown in Figure 4 (hereinafter also referred to as the "Vz plane"). Figure 5 shows a schematic diagram of a first object 3 located in the area of a field object within the angle of view of the virtual camera 60. Figure 6 is a schematic diagram showing an example of a field image obtained by drawing an image viewed from the virtual camera 60.

図5には、仮想カメラ60の画角62(z方向に垂直な方向に視た際の画角)が境界線6211、6212の間に模式的に示される。なお、本実施形態では、仮想カメラ60の画角は一定であるが、他の実施形態では、仮想カメラ60の画角が可変とされてもよい。 In FIG. 5, the angle of view 62 of the virtual camera 60 (the angle of view when viewed in a direction perpendicular to the z direction) is shown between the boundaries 6211 and 6212. Note that in this embodiment, the angle of view of the virtual camera 60 is constant, but in other embodiments, the angle of view of the virtual camera 60 may be variable.

図5に示す例では、画角62は、上側の境界線6211が背景面72と交わり(点P2参照)、下側の境界線6212がフィールド面70と交わる(点P1参照)。この場合、図6に示すように、フィールド画像G60は、背景面72(及びそれに伴い背景オブジェクト)と、フィールド面70(及びそれに伴いフィールドオブジェクト)とを含む。なお、図5では、仮想カメラ60の画角内のフィールドオブジェクトの領域に第1オブジェクト3が位置するので、フィールド画像G60は、第1オブジェクト3の表現を含む。 5, the angle of view 62 has an upper boundary 6211 that intersects with the background surface 72 (see point P2) and a lower boundary 6212 that intersects with the field surface 70 (see point P1). In this case, as shown in FIG. 6, the field image G60 includes the background surface 72 (and the associated background object) and the field surface 70 (and the associated field object). Note that in FIG. 5, the first object 3 is located in the area of the field object within the angle of view of the virtual camera 60, so the field image G60 includes a representation of the first object 3.

ここで、本実施形態では、フィールド面70(及びそれに伴いフィールドオブジェクト)により仮想的な地平線HL(図6)が表現されるように、図5に示すように、フィールド面70が曲げ変形される。具体的には、フィールド面70は、視線方向Vで遠方に向かうほど(すなわち背景面72に向かうにつれて)下側に向かう方向で変形する。なお、このような変形は、仮想カメラ60の画角内の範囲内だけで実現されてもよいし、フィールド面70の全体で実現されてもよい。 In this embodiment, the field surface 70 is bent and deformed as shown in FIG. 5 so that the field surface 70 (and therefore the field object) represents a virtual horizon HL (FIG. 6). Specifically, the field surface 70 is deformed in a downward direction as it moves further away in the line of sight direction V (i.e., toward the background surface 72). Note that such deformation may be realized only within the range of the angle of view of the virtual camera 60, or may be realized over the entire field surface 70.

フィールド面70の全体が変形される場合は、Vz平面で切断した際のフィールド面70の形状(図5のような線で表現される形状)がどの断面位置でも略同じであってよい(すなわち略等断面であってよい)。なお、略同じとは、10%以内の誤差を許容する概念である。なお、フィールドオブジェクトは、上述したように、フィールド面70に基づいて形状付けられるので、Vz平面で切断した際のフィールドオブジェクトの形状は、Vz平面で切断した際のフィールド面70の形状と同じであるが、フィールド面70の形状に対してわずかに異なる形状(例えば微細な凹凸等)を有してもよい。 When the entire field surface 70 is deformed, the shape of the field surface 70 when cut in the Vz plane (the shape represented by the lines in FIG. 5) may be approximately the same at any cross-sectional position (i.e., the cross-section may be approximately equal). Note that approximately the same is a concept that allows for an error of 10% or less. Note that, since the field object is shaped based on the field surface 70 as described above, the shape of the field object when cut in the Vz plane is the same as the shape of the field surface 70 when cut in the Vz plane, but it may have a slightly different shape (e.g., fine irregularities, etc.) compared to the shape of the field surface 70.

このような表現の地平線HLは、図5に示すように、フィールド面70に対する仮想カメラ60からの接線6213(画角62内の接線)の交点P3により形成される。なお、図6では、地平線HLよりも手前に第1オブジェクト3が位置するので、地平線HLの表現の一部が第1オブジェクト3により隠れることになる。逆に、第1オブジェクト3が地平線HLよりも奥側(背景面72に近い側)に位置する場合は、第1オブジェクト3の一部又は全部がフィールドオブジェクトにより隠れることになる。 As shown in FIG. 5, the horizon HL in this representation is formed by the intersection P3 of a tangent 6213 (a tangent within the angle of view 62) from the virtual camera 60 to the field surface 70. Note that in FIG. 6, the first object 3 is located in front of the horizon HL, so part of the representation of the horizon HL is hidden by the first object 3. Conversely, if the first object 3 is located behind the horizon HL (closer to the background surface 72), part or all of the first object 3 will be hidden by the field object.

ここで、地平線HLの高さH1(図6参照)は、境界線6212に対する接線6213のなす角度αに依存する。角度αは、フィールド面70の曲げ態様に応じて変化しうる。例えば、図5に一点鎖線で示すフィールド面70’の場合、境界線6212に対する接線6213’のなす角度α’が角度αよりも小さくなり、それ故に、地平線HLの高さH1は小さくなる(図示せず)。このようにしてフィールド面70の曲げ態様を変化させることで、地平線HLの高さを変化させることができることがわかる。なお、地平線HLの高さが変化すると、仮想カメラ60の画角内に収まる背景面72の範囲もそれに伴い変化する。 Here, the height H1 of the horizon HL (see FIG. 6) depends on the angle α of the tangent 6213 with respect to the boundary line 6212. The angle α can change depending on the bending manner of the field surface 70. For example, in the case of the field surface 70' shown by the dashed line in FIG. 5, the angle α' of the tangent 6213' with respect to the boundary line 6212 is smaller than the angle α, and therefore the height H1 of the horizon HL is smaller (not shown). It can be seen that the height of the horizon HL can be changed by changing the bending manner of the field surface 70 in this way. Note that when the height of the horizon HL changes, the range of the background surface 72 that fits within the angle of view of the virtual camera 60 also changes accordingly.

このようにして本実施形態では、視線方向Vに視てフィールド面70が背景面72に近づくにつれて下方に向かう向きで曲げ変形されることで、地平線HLを適切に表現できる。また、曲げ変形の変形態様(変形度合い等)を変化させることで、地平線HLの高さH1(及びそれに伴いフィールドオブジェクトや背景オブジェクト等の可視範囲)を自由に変化させることができる。以下では、視線方向Vに視てフィールド面70が背景面72に近づくにつれて下方に向かう向きで変形される態様の曲げ変形を、単に「フィールド面70の曲げ変形」とも称する。 In this manner, in this embodiment, the horizon HL can be appropriately represented by bending the field surface 70 downward as it approaches the background surface 72 when viewed in the line of sight V. In addition, by changing the deformation mode (degree of deformation, etc.) of the bending deformation, the height H1 of the horizon HL (and therefore the visible range of the field object, background object, etc.) can be freely changed. Hereinafter, the bending deformation in which the field surface 70 is deformed downward as it approaches the background surface 72 when viewed in the line of sight V is also referred to simply as the "bending deformation of the field surface 70."

図7は、フィールド面70の曲げ変形を実現するための変形パラメータの一例の説明図である。 Figure 7 is an explanatory diagram of an example of deformation parameters for achieving bending deformation of the field surface 70.

図7には、Vz平面内の2次元座標系Xc、Yc(以下、「ローカル座標系」とも称する)が定義されている。XcYc平面は、Vz平面に平行な平面であり、Yc軸は、z軸に平行な軸であり、Yc軸の正側は、仮想空間の上側に対応する。図7では、フィールド面70の変形態様を決める関数F1が示される。 In FIG. 7, a two-dimensional coordinate system Xc, Yc (hereinafter also referred to as the "local coordinate system") in the Vz plane is defined. The XcYc plane is a plane parallel to the Vz plane, the Yc axis is an axis parallel to the z axis, and the positive side of the Yc axis corresponds to the upper side of the virtual space. In FIG. 7, a function F1 that determines the deformation mode of the field surface 70 is shown.

関数F1は、Xc座標の値の絶対値が大きくなるほどYc座標の値が非線形に単調減少する関数である。また、関数F1は、Yc軸に関して対称である。ただし、他の実施形態では、関数F1は、Xc座標の値の絶対値が大きくなるほどYc座標の値が線形に単調減少してもよいし、及び/又は、Yc軸に関して非対称であってもよい。本実施形態では、一例として、関数F1は、2次関数であり、以下で表される。
yc=-A1×(xc)
ここで、xcは、Xc座標の値であり、ycはYc座標の値であり、A1は、変形度合いを決める係数(以下、「変形パラメータA1」と称する)である。
The function F1 is a function in which the value of the Yc coordinate monotonically decreases nonlinearly as the absolute value of the Xc coordinate value increases. The function F1 is also symmetrical with respect to the Yc axis. However, in other embodiments, the function F1 may be a function in which the value of the Yc coordinate monotonically decreases linearly as the absolute value of the Xc coordinate value increases, and/or may be asymmetrical with respect to the Yc axis. In the present embodiment, as an example, the function F1 is a quadratic function and is expressed as follows.
yc = -A1 x (xc) 2
Here, xc is the value of the Xc coordinate, yc is the value of the Yc coordinate, and A1 is a coefficient that determines the degree of deformation (hereinafter, referred to as "deformation parameter A1").

なお、上記の関数F1はあくまで一例であり、例えば以下のような異なる関数が利用されてもよい。
xc>aのとき、yc=-A1×(xc-a)
xc≦-aのとき、yc=-A1×(xc+a)
-a≦xc≦aのとき、yc=0
この場合、aは正の定数であり、-a≦xc≦aの範囲では平らな平面が実現される。
Note that the above function F1 is merely an example, and a different function such as the following may be used.
When xc>a, yc=-A1×(xc-a) 2
When xc≦-a, yc=-A1×(xc+a) 2
- when a≦xc≦a, yc=0
In this case, a is a positive constant, and a flat plane is realized in the range of -a≦xc≦a.

あるいは、xc>-a1のとき、yc=-A1×(xc)
xc≦-a1のとき、yc=0
この場合、a1は、正の固定値であってもよく、xc=-a1の位置が、画角62の下側の境界線6212とフィールド面70の交点(図5の点P1)と一致するように設定されてよい。
Or, when xc>-a1, yc=-A1×(xc) 2
When xc≦-a1, yc=0
In this case, a1 may be a positive fixed value, and the position of xc=-a1 may be set to coincide with the intersection of the lower boundary line 6212 of the field of view 62 and the field plane 70 (point P1 in Figure 5).

また、他の実施形態では、複数種類の関数が用意され、各種条件に応じて異なる関数が選択されてもよい。 In other embodiments, multiple types of functions may be prepared, and different functions may be selected depending on various conditions.

図8は、関数F1に基づくフィールド面70の曲げ変形の説明図である。 Figure 8 is an explanatory diagram of the bending deformation of the field surface 70 based on function F1.

フィールド面70は、関数F1にしたがって変形される。従って、変形パラメータA1の値が大きいほどフィールド面70の変形度合いが大きくなる。図8では、フィールド面70は、上述したように、略等断面で曲げ変形される。 The field surface 70 is deformed according to the function F1. Therefore, the greater the value of the deformation parameter A1, the greater the degree of deformation of the field surface 70. In FIG. 8, the field surface 70 is bent and deformed with a substantially uniform cross section, as described above.

ところで、仮想空間における仮想カメラ60の位置(フィールドオブジェクトに対する位置)が変化すると、仮想空間における仮想カメラ60の画角内の領域(例えばフィールドオブジェクトの領域)が変化するので、フィールド画像の多様化を図ることができる。ただし、この場合でも、仮想カメラ60の位置(フィールドオブジェクトに対する位置)が変化しても、仮想カメラ60の画角内の領域の状態が単調であると、フィールド画像の多様化を図ることができない。従って、仮想空間における仮想カメラ60の位置(フィールドオブジェクトに対する位置)を変化可能としつつ、フィールドオブジェクト上に配置される第2オブジェクトの数や種類等を増やすことで、フィールド画像の多様化を効果的に図ることができる。以下、仮想カメラ60の位置とは、特に言及しない限り、フィールドオブジェクトに対する位置(相対的な位置)を意味する。 When the position of the virtual camera 60 in the virtual space (position relative to the field object) changes, the area within the angle of view of the virtual camera 60 in the virtual space (for example, the area of the field object) changes, so that the field image can be diversified. However, even in this case, if the state of the area within the angle of view of the virtual camera 60 is monotonous even if the position of the virtual camera 60 (position relative to the field object) changes, the field image cannot be diversified. Therefore, by making it possible to change the position of the virtual camera 60 in the virtual space (position relative to the field object) and increasing the number and types of second objects placed on the field object, the field image can be effectively diversified. Hereinafter, the position of the virtual camera 60 means the position (relative position) relative to the field object, unless otherwise specified.

しかしながら、本実施形態では、上述したように、フィールド面70(及びそれに伴いフィールドオブジェクト)は曲げ変形されるが、曲げ変形の際の変形度合いが常に一定であると仮想カメラ60から視た表現で描画して得られるフィールド画像が単調化しやすい。 However, in this embodiment, as described above, the field surface 70 (and therefore the field object) is bent and deformed, but if the degree of deformation during bending and deformation is always constant, the field image obtained by drawing it as seen from the virtual camera 60 tends to become monotonous.

この点、本実施形態では、仮想カメラ60の位置が変化可能とされるだけなく、フィールド面70(及びそれに伴いフィールドオブジェクト)の曲げ変形に係る変形度合いも変化可能とされる。フィールド面70(及びそれに伴いフィールドオブジェクト)の曲げ変形に係る変形度合いが変化すると、同じフィールドオブジェクトの領域であっても仮想カメラ60から視たときの見え方が異なるので、仮想カメラ60から視た表現で描画して得られるフィールド画像の更なる多様化を図ることができる。 In this regard, in this embodiment, not only is the position of the virtual camera 60 variable, but the degree of deformation associated with the bending deformation of the field surface 70 (and therefore the field object) can also be changed. When the degree of deformation associated with the bending deformation of the field surface 70 (and therefore the field object) changes, the same field object area appears different when viewed from the virtual camera 60, so that it is possible to further diversify the field image obtained by drawing it as viewed from the virtual camera 60.

また、本実施形態では、フィールドオブジェクト用の一の素材(フィールド画像及びフィールド面70)を用いて、フィールド面70の曲げ変形に係る変形度合いを変化させることで、多様な形態のフィールドオブジェクトを実現する。これにより、多様なフィールドオブジェクト(変形不能な固定の形態のフィールドオブジェクト)を事前に用意しておく場合に比べて、フィールドオブジェクト用の記憶領域の効率化を図ることができる。すなわち、記憶領域を効率的に利用して多様な形態のフィールドオブジェクトを実現できる。 In addition, in this embodiment, a single material for the field object (field image and field surface 70) is used to vary the degree of deformation related to the bending deformation of the field surface 70, thereby realizing field objects of various shapes. This makes it possible to improve the efficiency of the storage area for field objects compared to the case where a variety of field objects (field objects of fixed shapes that cannot be deformed) are prepared in advance. In other words, it is possible to realize field objects of various shapes by efficiently using the storage area.

なお、上述のように、フィールド面70の変形度合いが変化されると、地平線HLの高さH1が変化することに起因して、ユーザに違和感を与えるおそれがある。例えば、仮想カメラ60の位置が固定されたまま、フィールド面70の変形度合いが変化されると、違和感を与えやすい。 As described above, when the degree of deformation of the field surface 70 is changed, the height H1 of the horizon HL changes, which may cause the user to feel uncomfortable. For example, if the degree of deformation of the field surface 70 is changed while the position of the virtual camera 60 remains fixed, this is likely to cause the user to feel uncomfortable.

そこで、本実施形態では、フィールドオブジェクトのうちの、仮想カメラ60の画角内に収まる領域が変化する場合に、当該変化に合わせて、フィールド面70の変形度合いが変化される。例えば、仮想カメラ60の位置が変化する場合に、当該変化に合わせて、フィールド面70の変形度合いが変化される。これにより、フィールド面70の変形度合いが変化されることで生じうる不都合(すなわちユーザに与えうる違和感)を低減できる。 Therefore, in this embodiment, when the area of the field object that falls within the angle of view of the virtual camera 60 changes, the degree of deformation of the field surface 70 is changed in accordance with the change. For example, when the position of the virtual camera 60 changes, the degree of deformation of the field surface 70 is changed in accordance with the change. This makes it possible to reduce inconvenience (i.e., discomfort that may be felt by the user) that may occur due to a change in the degree of deformation of the field surface 70.

例えば、仮想カメラ60の位置が1つ以上の特定位置又は特定範囲内にある場合に、そうでない場合よりもフィールド面70の変形度合いが大きくなるようにしてもよい。これにより、仮想カメラ60の位置が特定位置又は特定範囲内にあるときのフィールド画像(すなわち仮想カメラ60の画角内の各種オブジェクトの表現)を、他の位置にあるときのフィールド画像とは異なる態様で表現できる。例えば、特定位置に係るフィールド画像を他の位置に係るフィールド画像よりも目立たせたり、特定位置に係るフィールド画像に特定の意味を持たせたりするといった効果を与えることができる。なお、特定位置又は特定範囲は、例えば第1オブジェクトが移動しながら曲がる位置等(例えば図2に示す横通路14と縦通路15との交差位置)に対応して設定されてもよいし、強調したいオブジェクト(例えば出現確率が低いゲーム媒体に係るオブジェクト)が配置される位置に対応して設定されてもよい。この場合、例えば、特定位置は、当該オブジェクトの位置に対して所定関係を有する位置であってよい。また、特定位置は、動的に変化されてもよい。例えば、1つ以上の特定位置は、出現確率が低いゲーム媒体に係るオブジェクトが配置される場合だけ、当該オブジェクトが配置される位置に対応して設定される特定位置を含んでもよい。 For example, when the position of the virtual camera 60 is in one or more specific positions or within a specific range, the degree of deformation of the field surface 70 may be greater than when the position of the virtual camera 60 is not in that range. This allows the field image when the position of the virtual camera 60 is in a specific position or within a specific range (i.e., the representation of various objects within the angle of view of the virtual camera 60) to be expressed in a manner different from the field image when the position of the virtual camera 60 is in another position. For example, it is possible to give an effect such as making the field image related to the specific position more prominent than the field image related to other positions, or giving a specific meaning to the field image related to the specific position. Note that the specific position or specific range may be set corresponding to, for example, a position where the first object turns while moving (for example, the intersection position of the horizontal passage 14 and the vertical passage 15 shown in FIG. 2), or may be set corresponding to a position where an object to be emphasized (for example, an object related to a game medium with a low appearance probability) is placed. In this case, for example, the specific position may be a position having a predetermined relationship with the position of the object. In addition, the specific position may be dynamically changed. For example, the one or more specific positions may include a specific position set corresponding to the position where an object related to a game medium with a low appearance probability is placed only when the object is placed.

ここで、仮想カメラ60の位置が変化可能とされると、仮想カメラ60の位置の変化に伴い、フィールドオブジェクトにおける仮想カメラ60の画角内の領域が変化する。この場合、フィールドオブジェクト上に多様な第2オブジェクトを多様な態様で配置すれば、ユーザの操作対象の第1オブジェクトの写り方や複数の第2オブジェクトの重なり具合が変化するので、仮想カメラ60から視た表現で描画して得られるフィールド画像を多様化できる。また、第2オブジェクト及び/又は第1オブジェクトの間で重複(重なり)が生じた場合でも、上述したように、フィールド面70の変形度合いを調整することで、重複するオブジェクトは、上下に互いにずれた位置に配置される。したがって、重複するオブジェクトのうちの、個々のオブジェクト又は着目させた1つ以上のオブジェクトの視認性を高めることができる。 Here, if the position of the virtual camera 60 can be changed, the area within the angle of view of the virtual camera 60 in the field object changes with the change in the position of the virtual camera 60. In this case, if various second objects are arranged in various ways on the field object, the way in which the first object operated by the user is reflected and the degree of overlap of the multiple second objects change, so that the field image obtained by drawing it as seen from the virtual camera 60 can be diversified. Also, even if overlap (overlap) occurs between the second object and/or the first object, as described above, the degree of deformation of the field surface 70 is adjusted so that the overlapping objects are arranged at positions shifted from each other vertically. Therefore, the visibility of each object or one or more objects focused on among the overlapping objects can be improved.

また、仮想カメラ60から視た表現で描画して得られるフィールド画像を多様化させることで、かかるフィールド画像の一部を際立たせることが可能になり、ユーザのオブジェクトに対する視認性が向上する。更に、操作対象となるオブジェクトや、操作箇所が明確になることにより操作性が向上する。また、限られた画面内で、複数のオブジェクトが存在したとしても視認性を損なうことなく(情報量を制限することなく)、仮想空間内の状況を表現することができる。このような効果は特にスマートフォンのような狭い画面において顕著である。 In addition, by diversifying the field image obtained by drawing it as seen from the virtual camera 60, it is possible to highlight parts of the field image, improving the user's visibility of the objects. Furthermore, operability is improved by clarifying the objects to be operated and the operation locations. Furthermore, even if multiple objects exist within a limited screen, the situation in the virtual space can be expressed without compromising visibility (without limiting the amount of information). This effect is particularly noticeable on a small screen such as a smartphone.

また、地平線の表現等は、フィールドオブジェクトの曲げ変形という単純な処理で実現することができるため、処理負荷も抑えることができる。また、フィールドオブジェクトにおける仮想カメラ60の画角外の(隠れた)オブジェクトを描画しなくてもよいので、その点でも処理負荷を抑えることができる。 In addition, the expression of the horizon, etc. can be achieved by a simple process of bending and deforming the field object, which reduces the processing load. Also, there is no need to draw objects (hidden objects) outside the angle of view of the virtual camera 60 in the field object, which also reduces the processing load.

図9は、仮想カメラ60の位置の変化の自由度の説明図である。仮想カメラ60の位置の変化は、図9に示すように、視線方向Vに沿った変化V1と、視線方向Vに交差する方向の変化V2、V3と、これらの組み合わせとを含む。変化V2は、Vz平面内の変化であり、V3は、Vz平面に対して垂直な方向の変化である。なお、仮想カメラ60の位置の変化は、グローバル座標系での仮想カメラ60の変位(移動)により実現されてもよいし、グローバル座標系でのフィールドオブジェクトの変位(移動)により実現されてもよいし、これらの組み合わせにより実現されてもよい。 Figure 9 is an explanatory diagram of the degree of freedom of change in the position of the virtual camera 60. As shown in Figure 9, changes in the position of the virtual camera 60 include change V1 along the line of sight V, changes V2 and V3 in directions intersecting the line of sight V, and combinations of these. Change V2 is a change within the Vz plane, and V3 is a change in a direction perpendicular to the Vz plane. Note that changes in the position of the virtual camera 60 may be achieved by displacement (movement) of the virtual camera 60 in the global coordinate system, by displacement (movement) of the field object in the global coordinate system, or by a combination of these.

このように、本実施形態では、仮想カメラ60の位置(相対的な位置)が変化する態様は、視線方向Vに交差する方向(V2、V3)でフィールドオブジェクトに対する位置(相対的な位置)が変化する態様(以下、「第1変化態様」と称する)と、視線方向Vに沿った方向(V1)でフィールドオブジェクトに対する位置(相対的な位置)が変化する態様(以下、「第2変化態様」と称する)と、を含む。 Thus, in this embodiment, the manner in which the position (relative position) of the virtual camera 60 changes includes a manner in which the position (relative position) with respect to the field object changes in a direction (V2, V3) intersecting the line of sight direction V (hereinafter referred to as the "first change manner"), and a manner in which the position (relative position) with respect to the field object changes in a direction (V1) along the line of sight direction V (hereinafter referred to as the "second change manner").

この点、フィールド面70の変形度合いの変化は、第1変化態様及び第2変化態様のいずれか一方に伴って実現されてもよいし、第1変化態様及び第2変化態様の双方に伴って実現されてもよい。例えば、仮想カメラ60の位置が、視線方向Vに交差する方向に変化しつつ、視線方向Vに沿って変化する。 In this regard, the change in the degree of deformation of the field surface 70 may be realized in association with either the first change mode or the second change mode, or in association with both the first change mode and the second change mode. For example, the position of the virtual camera 60 changes along the line of sight V while changing in a direction intersecting the line of sight V.

なお、フィールド面70の変形度合いの変化の際に、同時に実現される変化(すなわち、フィールドオブジェクトのうちの、仮想カメラ60の画角内に収まる領域の変化)は、フィールドオブジェクトに対する位置(相対的な位置)の変化に限らず、仮想カメラ60の視線方向Vの回転(図10参照)によっても実現されてもよい。また、仮想カメラ60の光学パラメータを可変値とし、仮想カメラ60の光学パラメータの値を変化させることで、フィールドオブジェクトのうちの、仮想カメラ60の画角内に収まる領域を変化させることも可能である。かかる光学パラメータは、例えば、焦点距離や画角等のような、仮想カメラ60のズーム量に関連する光学パラメータであってよい。 When the degree of deformation of the field surface 70 changes, the change that is realized at the same time (i.e., the change in the area of the field object that falls within the angle of view of the virtual camera 60) is not limited to a change in position (relative position) with respect to the field object, but may also be realized by rotating the line of sight V of the virtual camera 60 (see FIG. 10). In addition, it is also possible to change the area of the field object that falls within the angle of view of the virtual camera 60 by setting the optical parameters of the virtual camera 60 to variable values and changing the values of the optical parameters of the virtual camera 60. Such optical parameters may be optical parameters related to the zoom amount of the virtual camera 60, such as the focal length and angle of view.

本実施形態では、一例として、仮想カメラ60は、フィールドオブジェクトに対する位置(相対的な位置)が変化可能とされるだけなく、仮想カメラ60の視線方向Vも変化可能とされる。具体的には、仮想カメラ60の視線方向Vは、z方向に平行な軸(第3軸の一例)(以下、「公転軸Pc」と称する)まわりの回転が可能とされる。なお、仮想カメラ60の視線方向Vは、公転軸Pcまわりの回転のみが可能とされてもよいし、他の軸まわりの回転(後述する自転)も可能とされてもよい。例えば、仮想カメラ60の視線方向Vは、Vz平面に垂直な軸まわりの回転が可能とされてもよい。すなわち、仮想カメラ60の迎角(後述する迎角パラメータψ)が変化する態様で、仮想カメラ60の視線方向Vが回転されてもよい。この場合、回転中心は、仮想カメラ60の位置に対して所定関係となる位置であってよく、所定関係は、固定であってもよいし、変化されてもよい。 In this embodiment, as an example, not only is the position (relative position) of the virtual camera 60 variable with respect to the field object, but the line of sight V of the virtual camera 60 is also variable. Specifically, the line of sight V of the virtual camera 60 is rotatable around an axis (an example of a third axis) parallel to the z direction (hereinafter referred to as the "revolution axis Pc"). Note that the line of sight V of the virtual camera 60 may be rotatable only around the revolution axis Pc, or may be rotatable around other axes (rotation, described later). For example, the line of sight V of the virtual camera 60 may be rotatable around an axis perpendicular to the Vz plane. That is, the line of sight V of the virtual camera 60 may be rotated in such a manner that the angle of attack (angle of attack parameter ψ, described later) of the virtual camera 60 changes. In this case, the center of rotation may be a position that has a predetermined relationship with the position of the virtual camera 60, and the predetermined relationship may be fixed or may be changed.

以下、仮想カメラ60の回転とは、特に言及しない限り、視線方向Vが公転軸Pcまわりに回転する態様の回転を意味する。仮想カメラ60の向きとは、仮想カメラ60の視線方向Vの向きを意味する。 Hereinafter, unless otherwise specified, the rotation of the virtual camera 60 means the rotation of the line of sight V around the revolution axis Pc. The orientation of the virtual camera 60 means the orientation of the line of sight V of the virtual camera 60.

図10は、仮想カメラ60の視線方向Vの回転(変化)の説明図であり、z方向に視た仮想カメラ60及びその画角62を模式的に示す図である。図10には、回転中における2つの位置で仮想カメラ60が模式的に示されている。 Figure 10 is an explanatory diagram of the rotation (change) of the line of sight direction V of the virtual camera 60, and is a diagram that shows a schematic representation of the virtual camera 60 viewed in the z direction and its angle of view 62. Figure 10 shows a schematic representation of the virtual camera 60 at two positions during rotation.

図10では、仮想カメラ60の視線方向Vに係る公転軸Pcは、z方向に視て、仮想カメラ60の視線方向Vを通りかつ仮想カメラ60から視線方向V後方側にオフセットされている。この場合、仮想カメラ60が360度回転すると、仮想カメラ60は、z方向に視て、公転軸Pcまわりの円形の軌跡C70を描く。ただし、公転軸Pcの位置は、任意であり、仮想カメラ60に対して所定関係となる位置であってよく、所定関係は、固定であってもよいし、変化されてもよい。ただし、本明細書では、公転軸Pcは、仮想カメラ60を通る場合の自転軸とは区別され、従って、自転軸とは異なるように設定される。 In FIG. 10, the revolution axis Pc related to the line of sight V of the virtual camera 60 passes through the line of sight V of the virtual camera 60 and is offset rearward from the virtual camera 60 in the line of sight V when viewed in the z direction. In this case, when the virtual camera 60 rotates 360 degrees, the virtual camera 60 draws a circular trajectory C70 around the revolution axis Pc when viewed in the z direction. However, the position of the revolution axis Pc is arbitrary and may be a position that has a predetermined relationship with the virtual camera 60, and the predetermined relationship may be fixed or may be changed. However, in this specification, the revolution axis Pc is distinguished from the rotation axis when it passes through the virtual camera 60, and therefore is set to be different from the rotation axis.

なお、図10では、視線方向Vは、z方向に視て、仮想カメラ60の回転中は常に、公転軸Pcを通りかつ公転軸Pcから離れる向きであるが、これに限られない。例えば、視線方向Vは、z方向に視て、仮想カメラ60の回転中は常に、公転軸Pcを通りかつ公転軸Pcに向かう向きであってもよい。すなわち、公転軸Pcは、z方向に視て、仮想カメラ60の視線方向Vを通りかつ仮想カメラ60から視線方向V前方側(遠方側)にオフセットされてもよい。この場合、公転軸Pcは、例えば、全方位からユーザに見せたい所定のオブジェクト(例えば後述する所定オブジェクト)を通るように設定されてもよい。また、他の実施形態では、視線方向Vは、z方向に視て、仮想カメラ60の回転(公転)中に、自転してもよい。すなわち、仮想カメラ60は、自転軸61(z軸に平行な軸(第3軸の他の一例))まわりに回転(自転)可能とされてもよい。あるいは、視線方向Vは、公転とは独立して自転可能とされてもよい。 10, the line of sight V always passes through the revolution axis Pc and is directed away from the revolution axis Pc when viewed in the z direction during the rotation of the virtual camera 60, but is not limited to this. For example, the line of sight V may always pass through the revolution axis Pc and be directed toward the revolution axis Pc when viewed in the z direction during the rotation of the virtual camera 60. That is, the revolution axis Pc may pass through the line of sight V of the virtual camera 60 when viewed in the z direction and be offset from the virtual camera 60 to the front side (distant side) of the line of sight V. In this case, the revolution axis Pc may be set to pass through a predetermined object (for example, a predetermined object described later) that is to be shown to the user from all directions. In another embodiment, the line of sight V may rotate on its own axis when viewed in the z direction during the rotation (revolution) of the virtual camera 60. That is, the virtual camera 60 may be made rotatable (rotate) around the rotation axis 61 (an axis parallel to the z axis (another example of the third axis)). Alternatively, the line of sight V may be capable of rotating independently of the revolution.

ところで、上述したように、地平線HLは、フィールド面70が曲げ変形されることで、形成される。従って、仮想カメラ60の回転に伴い視線方向Vが変化すると、それに伴い、フィールド面70の曲げ変形の変形態様が変化される。すなわち、仮想カメラ60の回転に伴い視線方向Vが変化すると、それに伴い、変化後の視線方向Vに基づくVz平面内にローカル座標系のXc軸が位置するようにフィールド面70の曲げ変形の変形態様が変化される。これにより、仮想カメラ60の回転に伴い視線方向Vが変化しても、違和感のない態様で仮想空間内の地平線HLを実現できる。 As described above, the horizon HL is formed by bending the field surface 70. Therefore, when the line of sight V changes as the virtual camera 60 rotates, the deformation mode of the bending deformation of the field surface 70 changes accordingly. In other words, when the line of sight V changes as the virtual camera 60 rotates, the deformation mode of the bending deformation of the field surface 70 changes accordingly so that the Xc axis of the local coordinate system is positioned within the Vz plane based on the changed line of sight V. This makes it possible to realize the horizon HL in the virtual space in a manner that does not feel unnatural, even if the line of sight V changes as the virtual camera 60 rotates.

次に、図11以降を参照して、サーバ装置10の描画機能の更なる詳細を説明する。 Next, the drawing function of the server device 10 will be described in further detail with reference to FIG. 11 onward.

ここでは、まず、図11を参照して、図12以降の説明で用いるカメラパラメータについて説明してから、サーバ装置10の詳細を説明する。 Here, we will first refer to FIG. 11 to explain the camera parameters used in the explanations from FIG. 12 onwards, and then provide a detailed explanation of the server device 10.

図11は、カメラパラメータの説明図である。図11には、グローバル座標系に位置付けられたフィールド面70(正規の状態)が示されている。なお、フィールド面70は、上述のように、曲げ変形が可能であるが、グローバル座標系におけるフィールド面70全体の並進や回転が不能である。従って、フィールド座標系でのフィールド面70の各位置の座標は、所定の変換式で、グローバル座標系の各座標に変換可能であり、また、逆の変換も可能である。なお、以下では、説明上、フィールド座標系の原点は、グローバル座標系の原点と同じであり、フィールド座標系のu軸(=テクスチャ座標系のu軸)は、グローバル座標系のx軸に一致し、フィールド座標系のv軸(=テクスチャ座標系のv軸)は、グローバル座標系のy軸に一致するものとする。なお、以下では、フィールド面70とは、特に言及しない限り、フィールド画像が投影された状態のフィールド面70(フィールドオブジェクトのフィールド面70)を表す。 Figure 11 is an explanatory diagram of camera parameters. In Figure 11, the field surface 70 (normal state) positioned in the global coordinate system is shown. As described above, the field surface 70 can be bent, but the entire field surface 70 in the global coordinate system cannot be translated or rotated. Therefore, the coordinates of each position on the field surface 70 in the field coordinate system can be converted to each coordinate in the global coordinate system using a predetermined conversion formula, and the reverse conversion is also possible. In the following, for the sake of explanation, the origin of the field coordinate system is the same as the origin of the global coordinate system, the u axis of the field coordinate system (= the u axis of the texture coordinate system) coincides with the x axis of the global coordinate system, and the v axis of the field coordinate system (= the v axis of the texture coordinate system) coincides with the y axis of the global coordinate system. In the following, the field surface 70 refers to the field surface 70 (field surface 70 of a field object) in a state where a field image is projected, unless otherwise specified.

本実施形態では、カメラパラメータは、2つの位置パラメータ(X、Y)と、距離パラメータA2と、向きパラメータθと、迎角パラメータψとを含む。これらのすべてのパラメータの値が決まると、グローバル座標系に対して、仮想カメラ60を一意に位置付けることができる。 In this embodiment, the camera parameters include two position parameters (X, Y), a distance parameter A2, an orientation parameter θ, and an angle of attack parameter ψ. Once the values of all these parameters are determined, the virtual camera 60 can be uniquely positioned with respect to the global coordinate system.

位置パラメータXは、視線方向Vのxy平面上の交点のx座標であり、位置パラメータYは、視線方向Vのxy平面上の交点のy座標であり、距離パラメータA2は、視線方向Vのxy平面上の交点から仮想カメラ60までの距離(視線方向Vに沿った距離)である。向きパラメータθは、視線方向Vのxy平面上の投影ベクトルV’と、x軸とのなす角度である。迎角パラメータψは、視線方向Vとxy平面とのなす角度である。なお、本実施形態では、迎角パラメータψが利用されるが、迎角パラメータψは省略されてもよい。すなわち、迎角パラメータψは、値が一定値(固定値)であってもよい。 The position parameter X is the x coordinate of the intersection of the line of sight V on the xy plane, the position parameter Y is the y coordinate of the intersection of the line of sight V on the xy plane, and the distance parameter A2 is the distance from the intersection of the line of sight V on the xy plane to the virtual camera 60 (the distance along the line of sight V). The orientation parameter θ is the angle between the x-axis and the projection vector V' on the xy plane of the line of sight V. The angle of attack parameter ψ is the angle between the line of sight V and the xy plane. Note that in this embodiment, the angle of attack parameter ψ is used, but the angle of attack parameter ψ may be omitted. In other words, the angle of attack parameter ψ may be a constant value (fixed value).

なお、このようなカメラパラメータは、以下の説明用であり、実際の処理では、異なるパラメータが等価的に使用されてもよい。 Note that these camera parameters are for the purposes of the following explanation, and different parameters may be used equivalently in actual processing.

図12は、サーバ装置10の描画機能に関する機能ブロック図の一例である。図13は、変形パラメータデータの説明図である。なお、図13において、“-”は任意であることを表し、“・・・”は同様の繰り返しを表す。図14は、距離パラメータデータの説明図である。同様に、図14(図15も同様)において、“・・・”は同様の繰り返しを表す。図15は、向きパラメータデータの説明図である。 Figure 12 is an example of a functional block diagram relating to the drawing function of the server device 10. Figure 13 is an explanatory diagram of transformation parameter data. Note that in Figure 13, "-" indicates that it is optional, and "..." indicates the same repetition. Figure 14 is an explanatory diagram of distance parameter data. Similarly, in Figure 14 (similar to Figure 15), "..." indicates the same repetition. Figure 15 is an explanatory diagram of orientation parameter data.

サーバ装置10は、描画情報記憶部130と、操作情報取得部132と、描画データ送信部134と、描画処理部140とを含む。なお、描画情報記憶部130は、図1に示したサーバ記憶部12により実現でき、操作情報取得部132及び描画データ送信部134は、図1に示したサーバ通信部11により実現でき、描画処理部140は、図1に示したサーバ制御部13により実現できる。以下、各部の処理に関して、“算出”とは、データとして記憶された算出値や設定値等を読み出すだけの処理を含む概念である。 The server device 10 includes a drawing information storage unit 130, an operation information acquisition unit 132, a drawing data transmission unit 134, and a drawing processing unit 140. The drawing information storage unit 130 can be realized by the server storage unit 12 shown in FIG. 1, the operation information acquisition unit 132 and the drawing data transmission unit 134 can be realized by the server communication unit 11 shown in FIG. 1, and the drawing processing unit 140 can be realized by the server control unit 13 shown in FIG. 1. Hereinafter, with regard to the processing of each unit, "calculation" is a concept that includes processing that simply reads out calculated values, setting values, etc. stored as data.

描画情報記憶部130は、描画処理部140により用いられる各種情報及びデータが記憶される。 The drawing information storage unit 130 stores various information and data used by the drawing processing unit 140.

描画情報記憶部130に記憶されるデータは、変形パラメータデータを含む。変形パラメータデータにおいては、特定位置(上述)に係る仮想カメラ60の位置パラメータ(X、Y)の各値に、通常値β0とは異なる変形パラメータA1の値が対応付けられる。なお、変形パラメータA1の通常値β0は一定値であるが、フィールド画像G60が複数種類用意される場合はフィールド画像ごとに異なりうる可変値であってもよい。また、特定位置に係る仮想カメラ60の位置パラメータ(X、Y)には、更に、向きパラメータθの値が対応付けられてもよい。例えば図13に示す例では、特定位置に係る位置パラメータ(X、Y)の各値(XA、YA)、(XB、YB)、(XC、YC)等に対して、特定位置ごとに、向きパラメータθの値に応じた変形パラメータA1の値が対応付けられている。例えば、図13では、特定位置A=(XA、YA)には、仮想カメラ60の向きがどのような向きでも、変形パラメータA1の値β1が対応付けられている。他方、特定位置C=(XC、YC)には、仮想カメラ60の向きが向きパラメータθ=θC1のときは変形パラメータA1の値β3が対応付けられ、仮想カメラ60の向きが向きパラメータθ=θC2のときは変形パラメータA1の値β4が対応付けられている。以下では、このように特定位置Cのように、仮想カメラ60の向きに応じて変形パラメータA1の値が変化する特定位置を、「仮想カメラ60の公転中に変形度合いが変化する特定位置」とも称し、変形パラメータデータ上で値β3や値β4のような、通常値β0とは異なる値が対応付けられる向き(向きパラメータθ=θC1やθC2となる向き)を「特定向き」と称する。なお、他の実施形態では、仮想カメラ60の公転中に変形度合いが変化する特定位置は、設定されなくてもよい。また、特定位置Cは、特定向きが2つ設定されているが、1つだけ設定されてもよいし、3つ以上設定されてもよい。 The data stored in the drawing information storage unit 130 includes deformation parameter data. In the deformation parameter data, a value of the deformation parameter A1 different from the normal value β0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the specific position (described above). The normal value β0 of the deformation parameter A1 is a constant value, but when multiple types of field images G60 are prepared, it may be a variable value that may differ for each field image. In addition, the position parameter (X, Y) of the virtual camera 60 related to the specific position may further be associated with the value of the orientation parameter θ. For example, in the example shown in FIG. 13, the value of the deformation parameter A1 according to the value of the orientation parameter θ is associated with each value (XA, YA), (XB, YB), (XC, YC), etc. of the position parameter (X, Y) related to the specific position for each specific position. For example, in FIG. 13, the value β1 of the deformation parameter A1 is associated with the specific position A = (XA, YA) regardless of the orientation of the virtual camera 60. On the other hand, the specific position C=(XC, YC) is associated with the value β3 of the deformation parameter A1 when the orientation of the virtual camera 60 is the orientation parameter θ=θC1, and is associated with the value β4 of the deformation parameter A1 when the orientation of the virtual camera 60 is the orientation parameter θ=θC2. Hereinafter, a specific position where the value of the deformation parameter A1 changes depending on the orientation of the virtual camera 60, such as the specific position C, is also referred to as a "specific position where the degree of deformation changes during the revolution of the virtual camera 60", and an orientation where a value different from the normal value β0, such as the value β3 or value β4, is associated in the deformation parameter data (the orientation where the orientation parameter θ=θC1 or θC2) is referred to as a "specific orientation". Note that in other embodiments, a specific position where the degree of deformation changes during the revolution of the virtual camera 60 may not be set. Also, although two specific orientations are set for the specific position C, only one specific orientation may be set, or three or more specific orientations may be set.

また、描画情報記憶部130に記憶されるデータは、距離パラメータデータを含む。距離パラメータデータにおいては、特定位置に係る仮想カメラ60の位置パラメータ(X、Y)の各値に、通常値γ0とは異なる距離パラメータA2の値が対応付けられる。なお、距離パラメータA2の通常値γ0は一定値であるが、フィールド画像G60が複数種類用意される場合はフィールド画像ごとに異なりうる可変値であってもよい。ある一の仮想カメラ60の特定位置に係る距離パラメータA2の値は、当該特定位置の仮想カメラ60により、対応する領域(及び当該領域内に位置するオブジェクト)が所望の距離感で捕捉されるように決定されてよい。例えば、特定の第2オブジェクトを近距離でユーザに見せたい場合、当該特定の第2オブジェクトが仮想カメラ60により近距離で捕捉されるような距離パラメータA2の値が、当該特定位置に係る位置パラメータ(X、Y)に対応付けられてもよい。例えば、図14では、特定位置A=(XA、YA)には、距離パラメータA2の値γ1が対応付けられ、特定位置B=(XB、YB)には、距離パラメータA2の値γ2が対応付けられており、以下同様である。なお、本実施形態では、一例として、値γ1や値γ2のような、距離パラメータデータで定義される距離パラメータA2の値は、通常値γ0よりも有意に小さいものとする。なお、距離パラメータA2の値が小さくなるほど、仮想カメラ60とフィールドオブジェクトとの間の距離が短くなる。 The data stored in the drawing information storage unit 130 also includes distance parameter data. In the distance parameter data, a value of a distance parameter A2 different from the normal value γ0 is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to a specific position. The normal value γ0 of the distance parameter A2 is a constant value, but when multiple types of field images G60 are prepared, it may be a variable value that may differ for each field image. The value of the distance parameter A2 related to a specific position of a certain virtual camera 60 may be determined so that the corresponding area (and an object located within the area) is captured by the virtual camera 60 at the specific position at a desired distance. For example, when it is desired to show a specific second object to the user at a close distance, a value of the distance parameter A2 that allows the specific second object to be captured at a close distance by the virtual camera 60 may be associated with the position parameter (X, Y) related to the specific position. For example, in FIG. 14, the specific position A = (XA, YA) is associated with a value γ1 of the distance parameter A2, the specific position B = (XB, YB) is associated with a value γ2 of the distance parameter A2, and so on. Note that in this embodiment, as an example, the value of the distance parameter A2 defined by the distance parameter data, such as the value γ1 or the value γ2, is significantly smaller than the normal value γ0. Note that the smaller the value of the distance parameter A2, the shorter the distance between the virtual camera 60 and the field object.

なお、本実施形態では、特定位置に係る距離パラメータデータ14Aにおいては、向きパラメータθの値に応じて距離パラメータA2の値が変化するような特定位置が定義されていないが、上述した変形パラメータデータ13Aのように、向きパラメータθの値に応じて距離パラメータA2の値が変化するような特定位置が定義されてもよい。すなわち、仮想カメラ60の公転中に距離パラメータA2の値が変化する特定位置が定義されてもよい。この場合、好ましくは、仮想カメラ60の公転中に変形度合いが変化する特定位置に対して、当該特定位置に係る特定向きに対して距離パラメータA2の値が対応付けられる。例えば、特定位置C=(XC、YC)には、仮想カメラ60の向きが向きパラメータθ=θC1のときは距離パラメータA2の値γ31が対応付けられ、仮想カメラ60の向きが向きパラメータθ=θC2のときは距離パラメータA2の値γ32が対応付けられてもよい。これにより、仮想カメラ60の公転中に曲げ変形度合いが変化する際に距離パラメータA2の値を変化させることができる。 In this embodiment, the distance parameter data 14A relating to the specific position does not define a specific position where the value of the distance parameter A2 changes depending on the value of the orientation parameter θ. However, as in the above-mentioned deformation parameter data 13A, a specific position where the value of the distance parameter A2 changes depending on the value of the orientation parameter θ may be defined. That is, a specific position where the value of the distance parameter A2 changes during the revolution of the virtual camera 60 may be defined. In this case, preferably, the value of the distance parameter A2 is associated with a specific orientation relating to a specific position where the degree of deformation changes during the revolution of the virtual camera 60. For example, the value γ31 of the distance parameter A2 may be associated with the specific position C=(XC, YC) when the orientation of the virtual camera 60 is the orientation parameter θ=θC1, and the value γ32 of the distance parameter A2 may be associated with the specific position C=(XC, YC) when the orientation of the virtual camera 60 is the orientation parameter θ=θC2. This allows the value of the distance parameter A2 to be changed when the degree of bending deformation changes during the revolution of the virtual camera 60.

また、描画情報記憶部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の値が対応付けられた位置であってもよい。 The data stored in the drawing information storage unit 130 also includes orientation parameter data. In the orientation parameter data, the value of the orientation parameter θ is associated with each value of the position parameter (X, Y) of the virtual camera 60 related to the orientation change position. The value of the orientation parameter θ related to the position of a certain virtual camera 60 may be determined so that a desired area falls within the angle of view of the virtual camera 60 at that position. For example, when a specific second object is to be shown to the user, the value of the orientation parameter θ may be associated with the position parameter (X, Y) related to that position so that the specific second object is located in an area that falls within the angle of view. The orientation change position may be set in correspondence with, for example, a position where the first object changes direction while moving (for example, the start and end positions of the curved road 17 shown in FIG. 2, the intersection position of the horizontal passage 14 and the vertical passage 15, etc.). For example, in FIG. 15, the orientation parameter θ value θ1 is associated with the orientation change position T1 (XP1, YP1), the orientation parameter θ value θ2 is associated with the orientation change position T2 (XP2, YP2), and so on. The orientation change positions T1 and T2 may be positions associated with a transformation parameter A1 value different from the normal value β0, such as specific positions A and B, and/or positions associated with a distance parameter A2 value different from the normal value γ0.

また、描画情報記憶部130に記憶されるデータは、迎角パラメータデータを含む。迎角パラメータデータにおいては、図示しないが、向きパラメータデータと同様、迎角変化位置に係る仮想カメラ60の位置パラメータ(X、Y)の各値に、迎角パラメータψの値が対応付けられてよい。ある一の仮想カメラ60の位置に係る迎角パラメータψの値は、当該位置の仮想カメラ60の画角内に所望の領域が収まるように決定されてよい。例えば、特定の第2オブジェクトをユーザに見せたい場合、当該特定の第2オブジェクトが画角内に収まる領域に位置するように迎角パラメータψの値が、当該位置に係る位置パラメータ(X、Y)に対応付けられてもよい。 The data stored in the drawing information storage unit 130 also includes angle-of-attack parameter data. In the angle-of-attack parameter data, although not shown, similar to the orientation parameter data, the value of the angle-of-attack parameter ψ may be associated with each value of the position parameter (X, Y) of the virtual camera 60 relating to the angle-of-attack change position. The value of the angle-of-attack parameter ψ relating to a certain position of the virtual camera 60 may be determined so that a desired area falls within the angle of view of the virtual camera 60 at that position. For example, when it is desired to show a specific second object to the user, the value of the angle-of-attack parameter ψ may be associated with the position parameter (X, Y) relating to that position so that the specific second object is located in an area that falls within the angle of view.

なお、描画情報記憶部130に記憶されるデータは、図13、図14及び図15に示すような区分けで管理される必要はなく、適宜、統合して管理されてもよい。 The data stored in the drawing information storage unit 130 does not need to be managed in the manner shown in Figures 13, 14, and 15, but may be managed in an integrated manner as appropriate.

操作情報取得部132は、ユーザの操作情報を取得する。なお、ユーザの操作情報は、端末装置20におけるユーザによる各種操作に応じて生成される。なお、操作情報は、ジェスチャーや音声入力等により生成されてもよい。本実施形態では、操作情報は、所定オブジェクトの移動指示、及び、仮想カメラ60の回転指示を含む。所定オブジェクトの移動指示は、フィールドオブジェクトに対する所定オブジェクトの位置(以下、単に「所定オブジェクトの位置」とも称する)を変化させるために指示であり、移動方向や移動量等の指示を含んでもよい。仮想カメラ60の回転指示は、上述した仮想カメラ60の回転を実現するための指示であり、回転の種別(公転軸Pcまわりの回転、即ち公転、又は、自転軸61まわりの回転、すなわち自転、若しくは、迎角パラメータψの値を変化させる回転)、回転方向等の指示を含んでもよい。所定オブジェクトは、任意であるが、本実施形態では、好ましくは、第1オブジェクトである。操作情報は、その他、仮想カメラ60の移動指示等を含んでもよい。 The operation information acquisition unit 132 acquires user operation information. The user operation information is generated in response to various operations by the user on the terminal device 20. The operation information may be generated by gestures, voice input, or the like. In this embodiment, the operation information includes a movement instruction for a specific object and a rotation instruction for the virtual camera 60. The movement instruction for the specific object is an instruction to change the position of the specific object relative to the field object (hereinafter also simply referred to as the "position of the specific object"), and may include an instruction for the movement direction, the movement amount, and the like. The rotation instruction for the virtual camera 60 is an instruction to realize the above-mentioned rotation of the virtual camera 60, and may include an instruction for the type of rotation (rotation around the revolution axis Pc, i.e., revolution, or rotation around the rotation axis 61, i.e., rotation, or rotation that changes the value of the attack angle parameter ψ), the rotation direction, and the like. The specific object is arbitrary, but in this embodiment, it is preferably the first object. The operation information may also include an instruction to move the virtual camera 60, and the like.

描画データ送信部134は、描画処理部140により生成されるフィールド画像用の描画データを端末装置20に送信する。なお、上述したように、他の実施形態では、描画処理部140の描画処理の一部又は全部が端末装置20側で実現されてもよい。例えば、描画処理部140が端末装置20により実現される場合は、描画データ送信部134は省略されてよい。 The drawing data transmission unit 134 transmits drawing data for the field image generated by the drawing processing unit 140 to the terminal device 20. As described above, in other embodiments, part or all of the drawing processing of the drawing processing unit 140 may be realized on the terminal device 20 side. For example, when the drawing processing unit 140 is realized by the terminal device 20, the drawing data transmission unit 134 may be omitted.

描画処理部140は、描画情報記憶部130内の各種データや端末装置20からの操作情報等に基づいて、フィールド画像用の描画データを生成する。 The drawing processing unit 140 generates drawing data for the field image based on various data in the drawing information storage unit 130 and operation information from the terminal device 20.

描画処理部140は、変化処理部142と、第2移動処理部144と、変形処理部145と、投影処理部146と、背景処理部147と、描画データ生成部148とを含む。 The drawing processing unit 140 includes a change processing unit 142, a second movement processing unit 144, a transformation processing unit 145, a projection processing unit 146, a background processing unit 147, and a drawing data generation unit 148.

変化処理部142は、操作情報等に応じて仮想カメラ60の位置パラメータ(X、Y)の各値を変化させるとともに、位置パラメータ(X、Y)の各値を変化させる場合に、当該変化に応じた各種処理を実行する。 The change processing unit 142 changes the values of the position parameters (X, Y) of the virtual camera 60 in response to operation information, etc., and when the values of the position parameters (X, Y) are changed, it executes various processes in response to the changes.

変化処理部142は、第1移動処理部1420と、距離変更部1421と、向き変更部1422と、迎角変更部1423と、更新反映部1424と、回転処理部1425と、を含む。 The change processing unit 142 includes a first movement processing unit 1420, a distance change unit 1421, a direction change unit 1422, an angle of attack change unit 1423, an update reflection unit 1424, and a rotation processing unit 1425.

第1移動処理部1420は、所定の第1移動条件が成立すると、仮想カメラ60の位置パラメータ(X、Y)の各値を更新する。所定の第1移動条件は、任意であるが、例えば操作情報の所定オブジェクトの移動指示に基づく所定オブジェクトの移動により満たされてもよいし、ゲームの進行状況や他の因子に基づいてに満たされてもよい。 When a predetermined first movement condition is met, the first movement processing unit 1420 updates the values of the position parameters (X, Y) of the virtual camera 60. The predetermined first movement condition is arbitrary, but may be met, for example, by the movement of a predetermined object based on an instruction to move the predetermined object in the operation information, or may be met based on the progress of the game or other factors.

距離変更部1421は、更新後の位置パラメータ(X、Y)の各値に、距離パラメータA2の値を対応付ける。本実施形態では、距離変更部1421は、描画情報記憶部130内の距離パラメータデータを参照して、更新後の位置パラメータ(X、Y)の各値に応じた距離パラメータA2の値を算出する。この際、距離パラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して距離パラメータA2の値が対応付けられていない場合は、補間値を算出してもよい。この補間値の算出方法の例については、後述する。そして、距離変更部1421は、算出した距離パラメータA2の値を、更新後の位置パラメータ(X、Y)の各値に対応付ける。なお、他の実施形態では、距離パラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して距離パラメータA2の値が対応付けられていない場合、距離変更部1421は、通常値γ0をそのまま対応付けてもよい。 The distance change unit 1421 associates the value of the distance parameter A2 with each value of the updated position parameter (X, Y). In this embodiment, the distance change unit 1421 refers to the distance parameter data in the drawing information storage unit 130 and calculates the value of the distance parameter A2 corresponding to each value of the updated position parameter (X, Y). At this time, if the value of the distance parameter A2 is not associated with each value of the updated position parameter (X, Y) in the distance parameter data, an interpolated value may be calculated. An example of a method for calculating the interpolated value will be described later. Then, the distance change unit 1421 associates the calculated value of the distance parameter A2 with each value of the updated position parameter (X, Y). Note that in another embodiment, if the value of the distance parameter A2 is not associated with each value of the updated position parameter (X, Y) in the distance parameter data, the distance change unit 1421 may directly associate the normal value γ0.

向き変更部1422は、更新後の位置パラメータ(X、Y)の各値に、向きパラメータθの値を対応付ける。本実施形態では、向き変更部1422は、描画情報記憶部130内の向きパラメータデータを参照して、位置パラメータ(X、Y)の各値に応じた向きパラメータθの値を算出する。この際、向きパラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して向きパラメータθの値が対応付けられていない場合は、向き変更部1422は、補間値を算出してもよい。この補間値の算出方法の例については、後述する。そして、向き変更部1422は、算出した向きパラメータθの値を、更新後の位置パラメータ(X、Y)の各値に対応付ける。なお、他の実施形態では、向きパラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して向きパラメータθの値が対応付けられていない場合は、向き変更部1422は、通常値θ0をそのまま対応付けてもよい。通常値θ0は、視線方向Vが所定オブジェクトの移動方向に対してz方向視で直角になるように設定されてよい。 The orientation change unit 1422 associates the value of the orientation parameter θ with each value of the updated position parameter (X, Y). In this embodiment, the orientation change unit 1422 refers to the orientation parameter data in the drawing information storage unit 130 and calculates the value of the orientation parameter θ corresponding to each value of the position parameter (X, Y). At this time, if the value of the orientation parameter θ is not associated with each value of the updated position parameter (X, Y) in the orientation parameter data, the orientation change unit 1422 may calculate an interpolated value. An example of a method for calculating the interpolated value will be described later. Then, the orientation change unit 1422 associates the calculated value of the orientation parameter θ with each value of the updated position parameter (X, Y). Note that in another embodiment, if the value of the orientation parameter θ is not associated with each value of the updated position parameter (X, Y) in the orientation parameter data, the orientation change unit 1422 may directly associate the normal value θ0. The normal value θ0 may be set so that the line of sight direction V is perpendicular to the movement direction of the predetermined object when viewed in the z direction.

迎角変更部1423は、更新後の位置パラメータ(X、Y)の各値に、迎角パラメータψの値を対応付ける。本実施形態では、迎角変更部1423は、描画情報記憶部130内の迎角パラメータデータを参照して、位置パラメータ(X、Y)の各値に応じた迎角パラメータψの値を算出する。この際、迎角パラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して迎角パラメータψの値が対応付けられていない場合は、迎角変更部1423は、補間値を算出してもよい。この補間値の算出方法の例については、後述する。そして、迎角変更部1423は、算出した迎角パラメータψの値を、変化後の位置パラメータ(X、Y)の各値に対応付ける。なお、他の実施形態では、迎角パラメータデータ上で、更新後の位置パラメータ(X、Y)の各値に対して迎角パラメータψの値が対応付けられていない場合は、迎角変更部1423は、通常値ψ0をそのまま対応付けてもよい。 The angle of attack change unit 1423 associates the value of the angle of attack parameter ψ with each value of the updated position parameter (X, Y). In this embodiment, the angle of attack change unit 1423 refers to the angle of attack parameter data in the drawing information storage unit 130 and calculates the value of the angle of attack parameter ψ corresponding to each value of the position parameter (X, Y). At this time, if the value of the angle of attack parameter ψ is not associated with each value of the updated position parameter (X, Y) on the angle of attack parameter data, the angle of attack change unit 1423 may calculate an interpolated value. An example of a method for calculating the interpolated value will be described later. Then, the angle of attack change unit 1423 associates the calculated value of the angle of attack parameter ψ with each value of the changed position parameter (X, Y). Note that in another embodiment, if the value of the angle of attack parameter ψ is not associated with each value of the updated position parameter (X, Y) on the angle of attack parameter data, the angle of attack change unit 1423 may directly associate the normal value ψ0.

更新反映部1424は、更新後の位置パラメータ(X、Y)の各値と、当該更新後の位置パラメータ(X、Y)の各値に対応付けられた各種パラメータ(距離パラメータA2、向きパラメータθ、及び迎角パラメータψ)の各値に基づいて、仮想カメラ60をグローバル座標系に対して位置付ける。これにより、仮想カメラ60が、フィールド面70(及びそれに伴いフィールドオブジェクト)に対して位置付けられる。 The update reflecting unit 1424 positions the virtual camera 60 relative to the global coordinate system based on the updated position parameters (X, Y) and the various parameters (distance parameter A2, orientation parameter θ, and angle of attack parameter ψ) associated with the updated position parameters (X, Y). This positions the virtual camera 60 relative to the field surface 70 (and the field object associated with it).

回転処理部1425は、所定の回転条件が成立すると、仮想カメラ60の回転処理を実行する。所定の回転条件は、例えば操作情報(仮想カメラ60の回転指示)に基づいて判定されてもよいし、ゲームの進行状況や他の因子に基づいて満たされてもよい。 When a predetermined rotation condition is met, the rotation processing unit 1425 executes a rotation process for the virtual camera 60. The predetermined rotation condition may be determined based on, for example, operation information (a command to rotate the virtual camera 60), or may be satisfied based on the progress of the game or other factors.

回転処理部1425は、公転処理部14251と、自転処理部14252と、迎角処理部14253とを含んでよい。なお、他の実施形態では、公転処理部14251、自転処理部14252、及び迎角処理部14253の一部や全部が省略されてもよい。 The rotation processing unit 1425 may include a revolution processing unit 14251, a rotation processing unit 14252, and an angle of attack processing unit 14253. In other embodiments, some or all of the revolution processing unit 14251, the rotation processing unit 14252, and the angle of attack processing unit 14253 may be omitted.

公転処理部14251は、仮想カメラ60から離れた公転軸Pc(図10参照)まわりの視線方向Vの回転を実現する。なお、公転処理部14251は、仮想カメラ60の位置や所定オブジェクトの位置等に応じて、公転軸Pcの位置を適宜設定してよい。 The revolution processing unit 14251 realizes rotation of the line of sight V around a revolution axis Pc (see FIG. 10) that is separated from the virtual camera 60. The revolution processing unit 14251 may set the position of the revolution axis Pc as appropriate depending on the position of the virtual camera 60, the position of a specified object, etc.

自転処理部14252は、仮想カメラ60を通るz方向に平行な軸である自転軸61(図10参照)まわりの、視線方向Vの回転を実現する。 The rotation processing unit 14252 realizes the rotation of the line of sight V around the rotation axis 61 (see FIG. 10), which is an axis parallel to the z direction passing through the virtual camera 60.

迎角処理部14253は、仮想カメラ60の視線方向Vの、xy平面とのなす角度である迎角パラメータψ(図5参照)の変化(すなわち仮想カメラ60を通るVz平面に垂直な軸まわりの回転)を実現する。 The angle-of-attack processing unit 14253 realizes a change in the angle-of-attack parameter ψ (see FIG. 5), which is the angle between the line-of-sight direction V of the virtual camera 60 and the xy plane (i.e., a rotation around an axis perpendicular to the Vz plane passing through the virtual camera 60).

なお、一の処理周期で、公転処理部14251、自転処理部14252、及び迎角処理部14253のうちの2つ以上の処理部が同時に処理を実現してもよい。 In addition, in one processing cycle, two or more of the revolution processing unit 14251, the rotation processing unit 14252, and the angle of attack processing unit 14253 may simultaneously perform processing.

第2移動処理部144は、所定の第2移動条件が成立すると、フィールドオブジェクトに対する所定オブジェクトの位置を更新する。なお、所定オブジェクトは、フィールドオブジェクトに対する位置が変化しうるオブジェクトであれば任意であるが、好ましくは、上述したように、第1オブジェクトである。所定の第2移動条件は、任意であるが、例えば操作情報(所定オブジェクトの移動指示)により満たされてもよいし、ゲームの進行状況や他の因子に基づいて満たされてもよい。なお、所定オブジェクトの位置は、例えばフィールド画像のテクスチャ座標系で定義されてよい。 When a predetermined second movement condition is met, the second movement processing unit 144 updates the position of the predetermined object relative to the field object. The predetermined object may be any object whose position relative to the field object can change, but is preferably the first object as described above. The predetermined second movement condition is arbitrary, but may be satisfied, for example, by operation information (a movement instruction for the predetermined object), or may be satisfied based on the progress of the game or other factors. The position of the predetermined object may be defined, for example, in the texture coordinate system of the field image.

変形処理部145は、仮想カメラ60の位置及び向きに基づいて、フィールド面70(及びそれに伴いフィールドオブジェクト)を曲げ変形する曲げ変形処理を実行する。フィールド面70の曲げ変形は、上述したとおりである。図13に示す例では、例えば、位置パラメータ(X、Y)の各値が(XA、YA)である場合、変形処理部145は、仮想カメラ60の向きがどのような向きでも、仮想カメラ60の視線方向Vと変形パラメータA1の値β1とに基づいて、フィールド面70(及びそれに伴いフィールドオブジェクト)を曲げ変形する。また、位置パラメータ(X、Y)の各値が(XC、YC)である場合、変形処理部145は、仮想カメラ60の向きが“θC1”のときは変形パラメータA1の値β3と視線方向Vとに基づいて、フィールド面70(及びそれに伴いフィールドオブジェクト)を曲げ変形し、また、仮想カメラ60の向きが“θC2”のときは変形パラメータA1の値β4と視線方向Vとに基づいて、フィールド面70(及びそれに伴いフィールドオブジェクト)を曲げ変形する。 The deformation processing unit 145 executes a bending deformation process to bend and deform the field surface 70 (and the field object accordingly) based on the position and orientation of the virtual camera 60. The bending deformation of the field surface 70 is as described above. In the example shown in FIG. 13, for example, when the values of the position parameters (X, Y) are (XA, YA), the deformation processing unit 145 bends and deforms the field surface 70 (and the field object accordingly) based on the line of sight direction V of the virtual camera 60 and the value β1 of the deformation parameter A1, regardless of the orientation of the virtual camera 60. Furthermore, when the values of the position parameters (X, Y) are (XC, YC), the transformation processing unit 145 bends and deforms the field surface 70 (and the associated field object) based on the value β3 of the transformation parameter A1 and the line of sight direction V when the orientation of the virtual camera 60 is "θC1", and bends and deforms the field surface 70 (and the associated field object) based on the value β4 of the transformation parameter A1 and the line of sight direction V when the orientation of the virtual camera 60 is "θC2".

投影処理部146は、変形処理部145により曲げ変形されたフィールド面70に対して、背景オブジェクト以外の各種オブジェクト(第2オブジェクト等)を配置する。各種オブジェクトの配置は、上述した対応情報に基づいて実現できる。この際、投影処理部146は、所定オブジェクトについては、第2移動処理部144により算出された移動後の位置に所定オブジェクトを配置する。なお、フィールド画像は、上述したように、フィールド面70を曲げ変形させた後に投影されてもよい。 The projection processing unit 146 places various objects (second objects, etc.) other than the background object on the field surface 70 that has been bent and deformed by the transformation processing unit 145. The placement of various objects can be realized based on the correspondence information described above. At this time, the projection processing unit 146 places a specific object at the position after movement calculated by the second movement processing unit 144. Note that the field image may be projected after bending and deforming the field surface 70, as described above.

背景処理部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が変化した場合でも、当該変化に起因した違和感が生じがたい態様で背景オブジェクトを配置できる。 The background processing unit 147 places a background object on the field surface 70 that has been bent and deformed by the transformation processing unit 145. The background processing unit 147 determines the position of the background object in the z direction based on the degree of bending and deformation of the field surface 70. Specifically, the background processing unit 147 determines the position of the background object along the z direction relative to the field object based on the height H1 (see FIG. 6) of the virtual horizon HL represented by the field object. For example, when the height H1 of the horizon HL becomes smaller due to a change in the degree of bending and deformation of the field surface 70, the background processing unit 147 moves the position of the background object in the z direction downward. For example, in the example shown in FIG. 5, when the angle changes from α to α', the background processing unit 147 may move the position of the background object in the z direction downward by a distance Δ1. As shown in FIG. 5, distance Δ1 is the distance between point P4 of intersection P5 of tangent 6213' (tangent within angle of view 62) with background plane 72 from virtual camera 60 to field plane 70. In this case, even if height H1 of horizon HL changes due to a change in the degree of bending deformation, the background object can be positioned in a manner that is unlikely to cause discomfort due to the change.

なお、背景処理部147は、所定の場合に、フィールドオブジェクトに対する背景オブジェクトの、z方向に沿った位置を変化させないこととしてもよい。例えば、変形処理部145による曲げ変形の曲げ変形度合いの変化量が比較的小さい場合、フィールドオブジェクトに対する背景オブジェクトの、z方向に沿った位置を変化させないこととしてもよい。 In addition, in a certain case, the background processing unit 147 may not change the position of the background object relative to the field object along the z direction. For example, when the amount of change in the degree of bending deformation of the bending deformation by the deformation processing unit 145 is relatively small, the background object may not change the position of the background object relative to the field object along the z direction.

描画データ生成部148は、仮想カメラ60から視た各種オブジェクトの表現を含むフィールド画像(描画データ)を生成する。 The drawing data generation unit 148 generates a field image (drawing data) that includes a representation of various objects viewed from the virtual camera 60.

次に、図16以降を参照して、描画機能に係るサーバ制御部13の動作を更に説明する。以降の処理フロー図(フローチャート)においては、各ステップの入力と出力の関係を損なわない限り、各ステップの処理順序を入れ替えてもよい。 Next, the operation of the server control unit 13 related to the drawing function will be further explained with reference to FIG. 16 onwards. In the process flow diagrams (flowcharts) that follow, the processing order of each step may be changed as long as the relationship between the input and output of each step is not lost.

図16は、サーバ制御部13により実現される処理の流れを示す概略フローチャートである。 Figure 16 is a schematic flowchart showing the process flow realized by the server control unit 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))は、それぞれの通常値に設定される。 The process shown in FIG. 16 may be executed at every predetermined processing cycle. The predetermined processing cycle may be the same as the frame cycle (update cycle) of the field image. In the following, the "pre-update" value corresponds to the previous value (the value derived in the previous processing cycle (k)) based on a certain processing cycle (k+1), and the "update" value corresponds to the current value derived in the processing cycle (k+1). In this example, in the first processing cycle, the position (u(0), v(0)) of the predetermined object after the update is set to a predetermined initial position, each value (X(0), Y(0)) of the position parameters (X, Y) of the virtual camera 60 after the update is set to the same as the position (u(0), v(0)) of the predetermined object, and each value (X(0), Y(0), γ(0), θ(0), ψ(0)) of the camera parameters is set to the respective normal values.

ステップS1600では、操作情報取得部132は、操作情報を取得する。なお、操作情報は、割り込み処理で端末装置20から受信されて、サーバ記憶部12のうちの所定の記憶部に記憶されてよい。この場合、操作情報取得部132は、順次、操作情報を所定の記憶部から読み出す。 In step S1600, the operation information acquisition unit 132 acquires operation information. Note that the operation information may be received from the terminal device 20 by interrupt processing and stored in a predetermined storage unit of the server storage unit 12. In this case, the operation information acquisition unit 132 sequentially reads out the operation information from the predetermined storage unit.

ステップS1602では、第2移動処理部144は、ステップS1600で得た操作情報に所定オブジェクトの移動指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS1604に進み、それ以外の場合は、ステップS1616に進む。 In step S1602, the second movement processing unit 144 determines whether or not the operation information obtained in step S1600 includes an instruction to move a specific object. If the determination result is "YES", the process proceeds to step S1604; otherwise, the process proceeds to step 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))である。なお、所定オブジェクトの移動指示は、このような移動ベクトル(移動方向)を表す指示であってよい。 In step S1604, the second movement processing unit 144 calculates the position of the specified object after it has been moved, based on the movement instruction of the specified object in the operation information obtained in step S1600. Here, the position of the specified object after it has been moved is assumed to be (u(k+1), v(k+1)) in field coordinates. Note that the position of the specified object before it has been moved is assumed to be (u(k), v(k)) in field coordinates. In this case, the movement vector in the field coordinate system is (u(k+1)-u(k), v(k+1)-v(k)). Note that the movement instruction of the specified object may be an instruction that represents such a movement vector (movement direction).

ステップ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))となるように算出されてよい。 In step S1606, the first movement processing unit 1420 calculates the updated position parameters (X, Y) (X(k+1), Y(k+1)) of the virtual camera 60 based on the position (u(k+1), v(k+1)) of the specific object after the movement obtained in step S1604. Note that the values of the position parameters (X, Y) before the update are (X(k), Y(k)). In this case, the change vector of the values of the position parameters (X, Y) is (X(k+1)-X(k), Y(k+1)-Y(k)). In this case, (X(k+1), Y(k+1)) may be calculated so that (X(k+1)-X(k), Y(k+1)-Y(k))=(u(k+1)-u(k), v(k+1)-v(k)).

ステップS1608では、距離変更部1421は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に基づいて、当該(X(k+1)、Y(k+1))に対応付ける距離パラメータA2の値γ(k+1)を算出する(距離パラメータ算出処理)。この距離パラメータ算出処理の具体例は、図17及び図18を参照して後述する。 In step S1608, the distance change unit 1421 calculates the value γ(k+1) of the distance parameter A2 to be associated with the updated position parameters (X, Y) obtained in step S1606 based on the values (X(k+1), Y(k+1)) (distance parameter calculation process). A specific example of this distance parameter calculation process will be described later with reference to Figures 17 and 18.

ステップS1610では、向き変更部1422は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に基づいて、当該(X(k+1)、Y(k+1))に対応付ける向きパラメータθの値θ(k+1)を算出する(向きパラメータ算出処理)。この向きパラメータ算出処理の具体例は、図19を参照して後述する。 In step S1610, the orientation change unit 1422 calculates the value θ(k+1) of the orientation parameter θ corresponding to (X(k+1), Y(k+1)) based on each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 (orientation parameter calculation process). A specific example of this orientation parameter calculation process will be described later with reference to FIG. 19.

ステップS1612では、迎角変更部1423は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に基づいて、当該(X(k+1)、Y(k+1))に対応付ける迎角パラメータψの値ψ(k+1)を算出する(迎角パラメータ算出処理)。この迎角パラメータ算出処理の具体例は、図20を参照して後で概説する。 In step S1612, the angle-of-attack change unit 1423 calculates the value ψ(k+1) of the angle-of-attack parameter ψ corresponding to the updated position parameters (X, Y) obtained in step S1606 based on the values (X(k+1), Y(k+1)) (angle-of-attack parameter calculation process). A specific example of this angle-of-attack parameter calculation process will be outlined later with reference to FIG. 20.

ステップS1614では、更新反映部1424は、ステップS1606からステップS1612で得た各種パラメータの更新後の各値(X(k+1)、Y(k+1)、γ(k+1)、θ(k+1)、ψ(k+1))に基づいて、仮想カメラ60をグローバル座標系に位置付ける。 In step S1614, the update reflection unit 1424 positions the virtual camera 60 in the global coordinate system based on the updated values (X(k+1), Y(k+1), γ(k+1), θ(k+1), ψ(k+1)) of the various parameters obtained in steps S1606 to S1612.

ステップS1615では、変形処理部145は、所定オブジェクトの移動に伴う変形処理を実行する。所定オブジェクトの移動に伴う変形処理の具体例は、図21を参照して後述する。 In step S1615, the transformation processing unit 145 executes transformation processing associated with the movement of a predetermined object. A specific example of transformation processing associated with the movement of a predetermined object will be described later with reference to FIG. 21.

ステップS1616では、第2移動処理部144は、更新後の所定オブジェクトの位置(u(k+1)、v(k+1))を、更新前の所定オブジェクトの位置(u(k)、v(k))に設定する。すなわち、今回値は前回値と同じにする。 In step S1616, the second movement processing unit 144 sets the updated position of the specified object (u(k+1), v(k+1)) to the pre-update position of the specified object (u(k), v(k)). In other words, the current value is set to the same as the previous value.

ステップS1617では、回転処理部1425は、ステップS1600で得た操作情報に仮想カメラ60の回転指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS1618に進み、それ以外の場合は、今回の処理周期はそのまま終了する。 In step S1617, the rotation processing unit 1425 determines whether or not the operation information obtained in step S1600 includes an instruction to rotate the virtual camera 60. If the determination result is "YES", the process proceeds to step S1618; otherwise, the current processing cycle ends.

ステップS1618では、回転処理部1425は、ステップS1600で得た操作情報に基づいて、仮想カメラ60の回転処理(以下、「回転指示に基づく回転処理」とも称する)を実行する。回転指示に基づく回転処理の具体例は、図23を参照して後述する。 In step S1618, the rotation processing unit 1425 executes a rotation process of the virtual camera 60 based on the operation information obtained in step S1600 (hereinafter, also referred to as a "rotation process based on a rotation instruction"). A specific example of the rotation process based on a rotation instruction will be described later with reference to FIG. 23.

ステップS1619では、変形処理部145は、回転指示に基づく回転処理後の、フィールドオブジェクトの曲げ変形処理(以下、「回転指示に基づく回転処理後の、変形処理」とも称する)を実行する。回転指示に基づく回転処理後の、変形処理の具体例は、図24及び図25を参照して後述する。 In step S1619, the transformation processing unit 145 executes bending transformation processing of the field object after the rotation processing based on the rotation instruction (hereinafter, also referred to as "transformation processing after the rotation processing based on the rotation instruction"). A specific example of the transformation processing after the rotation processing based on the rotation instruction will be described later with reference to Figures 24 and 25.

ステップS1620では、背景処理部147は、今回の処理周期で用いられた変形パラメータA1の今回値β(k+1)が前回値β(k)に対して変化したか否かを判定する。判定結果が“YES”の場合、ステップS1622に進み、それ以外の場合は、ステップS1624に進む。なお、変形例では、ステップS1620において、背景処理部147は、今回の処理周期で用いられた変形パラメータA1の今回値β(k+1)の、前回値β(k)に対する変化量が所定量以上であるか否かを判定してもよい。これにより、変化量が所定量以下である場合にステップS1622をスキップできるので、背景オブジェクトのz方向の位置の算出のための処理負荷を低減できる。また、別の変形例では、ステップS1620において、変形パラメータA1の今回値β(k+1)と前回値β(k)とを直接的に比較しない場合があってもよい。例えば、本実施形態とは異なり、上述した特定位置Cのような、仮想カメラ60の公転中に変形度合いが変化する特定位置が、設定されていない別の実施形態において、今回の処理周期のステップS1619までの処理内容が公転である場合、変形パラメータA1の今回値β(k+1)と前回値β(k)とを直接的に比較せずに、本ステップS1620の判定結果が“否定判定(NO)”とされてもよい。 In step S1620, the background processing unit 147 determines whether the current value β(k+1) of the deformation parameter A1 used in the current processing cycle has changed relative to the previous value β(k). If the determination result is "YES", proceed to step S1622, and otherwise proceed to step S1624. In a modified example, in step S1620, the background processing unit 147 may determine whether the change amount of the current value β(k+1) of the deformation parameter A1 used in the current processing cycle relative to the previous value β(k) is a predetermined amount or more. This allows step S1622 to be skipped if the change amount is equal to or less than the predetermined amount, thereby reducing the processing load for calculating the z-direction position of the background object. In another modified example, in step S1620, the current value β(k+1) of the deformation parameter A1 may not be directly compared with the previous value β(k). For example, in another embodiment in which, unlike this embodiment, a specific position such as the specific position C described above where the degree of deformation changes during the revolution of the virtual camera 60 is not set, if the processing content up to step S1619 of the current processing cycle is revolution, the judgment result of this step S1620 may be a "negative judgment (NO)" without directly comparing the current value β(k+1) of the deformation parameter A1 with the previous value β(k).

ステップS1622では、背景処理部147は、変形パラメータA1の今回値β(k+1)と前回値β(k)との間の差分(すなわち曲げ変形の曲げ度合いの差分)に基づいて、背景オブジェクトのz方向の位置を変更する。なお、このような、曲げ変形の曲げ度合いの変化に基づく背景オブジェクトのz方向の位置の変更処理は、上述したとおりであってよい。 In step S1622, the background processing unit 147 changes the z-direction position of the background object based on the difference between the current value β(k+1) and the previous value β(k) of the deformation parameter A1 (i.e., the difference in the bending degree of the bending deformation). Note that this process of changing the z-direction position of the background object based on the change in the bending degree of the bending deformation may be as described above.

ステップS1624では、描画データ生成部148は、今回の処理周期での各種更新後の描画データ(フィールド画像の描画データ)を生成する。 In step S1624, the drawing data generation unit 148 generates drawing data (drawing data of the field image) after various updates for the current processing cycle.

ステップS1626では、描画データ送信部134は、ステップS1624で生成された描画データを端末装置20に送信する。なお、端末装置20は、描画データを受信すると、当該描画データに基づいて、表示部23上にフィールド画像の表示を更新する。 In step S1626, the drawing data transmission unit 134 transmits the drawing data generated in step S1624 to the terminal device 20. Upon receiving the drawing data, the terminal device 20 updates the display of the field image on the display unit 23 based on the drawing data.

このようにして、図16に示す処理によれば、端末装置20から受信される操作情報に基づいて、当該操作情報を反映した描画データを生成し、生成した描画データを端末装置20に送信できる。従って、ゲームの進行に伴うフィールド画像の更新をリアルタイムに実現できる。 In this way, according to the process shown in FIG. 16, drawing data reflecting operation information received from the terminal device 20 can be generated based on the operation information, and the generated drawing data can be transmitted to the terminal device 20. Therefore, it is possible to realize real-time updates of the field image as the game progresses.

図17は、距離パラメータ算出処理(ステップS1608)の一例を示す概略フローチャートである。図18は、補間処理範囲の説明図であり、フィールド面70を示す斜視図である。 Figure 17 is a schematic flow chart showing an example of the distance parameter calculation process (step S1608). Figure 18 is an explanatory diagram of the interpolation processing range, and is a perspective view showing the field surface 70.

ステップS1700では、距離変更部1421は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、距離パラメータデータ(図14参照)に設定された任意の特定位置に対応するか否かを判定する。判定結果が“YES”の場合、ステップS1702に進み、それ以外の場合は、ステップS1704に進む。 In step S1700, the distance change unit 1421 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any specific position set in the distance parameter data (see FIG. 14). If the determination result is "YES", the process proceeds to step S1702, otherwise the process proceeds to step S1704.

ステップS1702では、距離変更部1421は、距離パラメータA2の値γ(k+1)に、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に対応する特定位置に対応付けられた距離パラメータA2の値を設定する。例えば、図14に示す例では、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が特定位置A(XA、YA)に対応する場合、距離パラメータA2の値γ(k+1)=γ1とする。 In step S1702, the distance change unit 1421 sets the value of the distance parameter A2 γ(k+1) to the value of the distance parameter A2 associated with the specific position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y). For example, in the example shown in FIG. 14, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to the specific position A (XA, YA), the value of the distance parameter A2 γ(k+1) = γ1.

ステップS1704では、距離変更部1421は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、距離パラメータデータ(図14参照)に設定された任意の特定位置に対応付けられた補間処理範囲内であるか否かを判定する。補間処理範囲は、特定位置ごとに、テクスチャ座標系(=フィールド座標系)に対応付けて設定されてもよい。本実施形態では、簡易的に、補間処理範囲は、図18に示すように、特定位置を中心として半径rの円形領域内であるとする。この場合、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、特定位置を中心として半径rの円形領域内であるか否かが判定されてよい。ただし、他の実施形態では、補間処理範囲は、他の形態の領域で規定されてもよい。例えば、補間処理範囲は、当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値が位置しかつ距離パラメータA2及び迎角パラメータの各値が通常値γ0、ψ0である場合に、任意の向きパラメータθの値のときにも、仮想カメラ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等のように、距離パラメータデータ(図14参照)に設定される。また、補間処理範囲(後述する他のパラメータに係る補間処理範囲も同様)についても、距離パラメータデータ等で予め定義されてよい。 In step S1704, the distance change unit 1421 determines whether each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with any specific position set in the distance parameter data (see FIG. 14). The interpolation processing range may be set in association with a texture coordinate system (= field coordinate system) for each specific position. In this embodiment, for simplicity, the interpolation processing range is assumed to be within a circular area of radius r centered on the specific position, as shown in FIG. 18. In this case, it may be determined whether each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is within a circular area of radius r centered on the specific position. However, in other embodiments, the interpolation processing range may be defined as an area of another form. For example, the interpolation processing range may be set so that, when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter is the normal value γ0, ψ0, the specific position related to the interpolation processing range is located within the angle of view of the virtual camera 60 even when the value of the orientation parameter θ is any value. This is similar to other interpolation processing ranges described later. In FIG. 18, three specific positions Ps(1) to Ps(3) are shown on the field surface 70, and the corresponding interpolation processing ranges Rs(1) to Rs(3) are shown. In FIG. 18, the interpolation processing range Rs(2) and the interpolation processing range Rs(3) overlap each other, and the overlapping area Rs' is shown by a hatched area. In addition, each specific position Ps(1), Ps(2), and Ps(3) is set in the distance parameter data (see FIG. 14) like specific positions A, B, etc. Additionally, the interpolation processing range (as well as the interpolation processing ranges related to other parameters described below) may also be predefined using distance parameter data, etc.

ステップS1706では、距離変更部1421は、更新後の位置パラメータ(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)を算出する。 In step S1706, the distance change unit 1421 calculates the distance (interpolation distance) between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. For example, in the example shown in FIG. 18, if each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) is located within the interpolation processing range Rs(1), the distance d(1) between (X(k+1), Y(k+1)) and the specific position Ps(1) related to the interpolation processing range Rs(1) is calculated. On the other hand, in the example shown in FIG. 18, if the updated position parameter (X, Y) values (X(k+1), Y(k+1)) are located within the overlapping region Rs', the distance d(2) between (X(k+1), Y(k+1)) and the specific position Ps(2) related to the interpolation processing range Rs(2) and the distance d(3) between (X(k+1), Y(k+1)) and the specific position Ps(3) related to the interpolation processing range Rs(3) are calculated.

ステップS1708では、距離変更部1421は、ステップS1706で得た距離に基づいて、距離パラメータA2の補間値を算出する。例えば、上述した距離d(1)に係る距離パラメータA2の補間値γ(1)は、以下の式で算出されてもよい。
γ(1)=(γ1-γ0)/r×(r-d(1))+γ0
値γ1は、特定位置Ps(1)に対応付けられた値であり、上述のように通常値γ0より小さい。
他方、更新後の位置パラメータ(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)=(γ2-γ0)/r×(r-d(2))+γ0
γ(3)=(γ3-γ0)/r×(r-d(3))+γ0
値γ2、γ3は、特定位置Ps(2)、Ps(3)にそれぞれ対応付けられた値であり、上述のように通常値γ0より小さい。B0は、0から1の範囲内で変化する係数であり、更新後の位置パラメータ(X、Y)の各値が特定位置Ps(2)に近づくほど1に近づき、重複領域Rs’における特定位置Ps(2)側の境界位置で1となる。また、係数B0は、更新後の位置パラメータ(X、Y)の各値が特定位置Ps(3)に近づくほど0に近づき、重複領域Rs’における特定位置Ps(3)側の境界位置で0となる。例えば、B0は、以下の通りであってよい。
B0=(r-d(2))/{(r-d(2))+(r-d(3))}
ステップS1710では、距離変更部1421は、距離パラメータA2の値γ(k+1)に、ステップS1708で算出した補間値を設定する。
In step S1708, the distance change unit 1421 calculates an interpolated value of the distance parameter A2 based on the distance obtained in step S1706. For example, the interpolated value γ(1) of the distance parameter A2 related to the above-mentioned distance d(1) may be calculated by the following formula.
γ(1) = (γ1 - γ0) / r x (r - d(1)) + γ0
The value γ1 is a value associated with the specific position Ps(1), and is smaller than the normal value γ0 as described above.
On the other hand, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is located within the overlap region Rs′, the interpolated value γ(Rs′) may be calculated using the following formula based on the interpolated value γ(2) of the distance parameter A2 related to the above-mentioned distance d(2) and the interpolated value γ(3) of the distance parameter A2 related to the above-mentioned distance d(3).
γ(Rs′)=B0×γ(2)+(1−B0)×γ(3)
Here, γ(2) and γ(3) are as follows: γ(2) = (γ2 - γ0) / r x (r - d(2)) + γ0
γ(3) = (γ3 - γ0) / r x (r - d(3)) + γ0
The values γ2 and γ3 are values associated with the specific positions Ps(2) and Ps(3), respectively, and are smaller than the normal value γ0 as described above. B0 is a coefficient that changes within the range of 0 to 1, and approaches 1 as the updated position parameters (X, Y) approach the specific position Ps(2), and becomes 1 at the boundary position on the specific position Ps(2) side in the overlapping region Rs'. In addition, the coefficient B0 approaches 0 as the updated position parameters (X, Y) approach the specific position Ps(3), and becomes 0 at the boundary position on the specific position Ps(3) side in the overlapping region Rs'. For example, B0 may be as follows.
B0 = (r-d(2)) / {(r-d(2)) + (r-d(3))}
In step S1710, the distance change unit 1421 sets the value γ(k+1) of the distance parameter A2 to the interpolated value calculated in step S1708.

ステップS1712では、距離変更部1421は、距離パラメータA2の値γ(k+1)に通常値γ0を設定する。 In step S1712, the distance change unit 1421 sets the value γ(k+1) of the distance parameter A2 to the normal value γ0.

このようにして、図17に示す処理によれば、位置パラメータ(X、Y)の各値の所定の処理周期ごとの変化に連動して、距離パラメータA2の値を徐々に変更できるので、例えば、特定位置に至った処理周期で通常値γ0から値γ1等に急変させる場合に比べて、穏やかな距離の変化を実現できる。この結果、ユーザに与えうる違和感を低減しつつ、距離パラメータA2を変化させることができる。 In this way, according to the process shown in FIG. 17, the value of the distance parameter A2 can be changed gradually in conjunction with the change in the values of the position parameters (X, Y) for each predetermined processing cycle, so that a gentler change in distance can be achieved compared to, for example, a sudden change from the normal value γ0 to a value γ1, etc., in a processing cycle in which a specific position is reached. As a result, the distance parameter A2 can be changed while reducing the sense of discomfort that may be felt by the user.

図19は、向きパラメータ算出処理(ステップS1610)の一例を示す概略フローチャートである。 Figure 19 is a schematic flowchart showing an example of the orientation parameter calculation process (step S1610).

ステップS1900では、向き変更部1422は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、向きパラメータデータ(図15参照)に設定された任意の向き変化位置に対応するか否かを判定する。判定結果が“YES”の場合、ステップS1902に進み、それ以外の場合は、ステップS1904に進む。 In step S1900, the orientation change unit 1422 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any orientation change position set in the orientation parameter data (see FIG. 15). If the determination result is "YES", the process proceeds to step S1902, and otherwise the process proceeds to step S1904.

ステップ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とする。 In step S1902, the orientation change unit 1422 sets the value of the orientation parameter θ associated with the orientation change position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) to the value θ(k+1) of the orientation parameter θ. For example, in the example shown in FIG. 15, when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) corresponds to the orientation change position T1 (XP1, YP1), the value of the orientation parameter θ is set to θ(k+1) = θ1.

ステップS1904では、向き変更部1422は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、向きパラメータデータ(図15参照)に設定された任意の向き変化位置に対応付けられた補間処理範囲内であるか否かを判定する。補間処理範囲は、向き変化位置ごとに設定されてもよい。本実施形態では、補間処理範囲は、距離パラメータA2に係る補間処理範囲と同様、簡易的に、向き変化位置を中心として半径rの円形領域内(図18参照)であるとする。ただし、他の実施形態では、補間処理範囲は、他の形態の領域で規定されてもよい。また、他の実施形態では、向き変化位置の一部又はすべてに対しては、補間処理範囲は設定されなくてもよい。判定結果が“YES”の場合、ステップS1906に進み、それ以外の場合は、ステップS1912に進む。 In step S1904, the orientation change unit 1422 determines whether each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary orientation change position set in the orientation parameter data (see FIG. 15). The interpolation processing range may be set for each orientation change position. In this embodiment, the interpolation processing range is simply set to a circular area of radius r centered on the orientation change position (see FIG. 18), similar to the interpolation processing range related to the distance parameter A2. However, in other embodiments, the interpolation processing range may be defined by an area of another form. Also, in other embodiments, the interpolation processing range may not be set for some or all of the orientation change positions. If the determination result is "YES", proceed to step S1906, and otherwise proceed to step S1912.

ステップS1906では、向き変更部1422は、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))と、当該各値が属する補間処理範囲Rsに係る特定位置との間の距離を算出する。当該距離の算出方法は、上述したステップS1706と同様であってよい。 In step S1906, the orientation change unit 1422 calculates the distance between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. The method of calculating the distance may be the same as in step S1706 described above.

ステップS1908では、向き変更部1422は、ステップS1906で得た距離に基づいて、向きパラメータθの補間値を算出する。補間値の算出方法は、上述したステップS1708と同様であってよい。 In step S1908, the orientation change unit 1422 calculates an interpolated value of the orientation parameter θ based on the distance obtained in step S1906. The method of calculating the interpolated value may be the same as that in step S1708 described above.

ステップS1910では、向き変更部1422は、向きパラメータθの値θ(k+1)に、ステップS1908で算出した補間値を設定する。 In step S1910, the orientation change unit 1422 sets the value θ(k+1) of the orientation parameter θ to the interpolated value calculated in step S1908.

ステップS1912では、向き変更部1422は、向きパラメータθの値θ(k+1)に通常値θ0を設定する。通常値θ0は、所定オブジェクトの移動ベクトル(u(k+1)-u(k)、v(k+1)-v(k))に投影ベクトルV’が垂直をなすように設定されてよい。 In step S1912, the orientation change unit 1422 sets the value θ(k+1) of the orientation parameter θ to a normal value θ0. The normal value θ0 may be set so that the projection vector V' is perpendicular to the movement vector (u(k+1)-u(k), v(k+1)-v(k)) of the specified object.

このようにして、図19に示す処理によれば、位置パラメータ(X、Y)の各値の所定の処理周期ごとの変化に連動して、向きパラメータθの値を徐々に変更できるので、例えば、向き変化位置に至った処理周期で通常値θ0から値θ1等に急変させる場合に比べて、ユーザに与えうる違和感を低減できる穏やかな向きの変化を実現できる。 In this way, according to the process shown in FIG. 19, the value of the orientation parameter θ can be gradually changed in conjunction with the change in the values of the position parameters (X, Y) at each predetermined processing cycle, so that a gentle change in orientation can be achieved that reduces the discomfort that may be felt by the user, compared to, for example, a sudden change from the normal value θ0 to a value θ1, etc., at the processing cycle in which the orientation change position is reached.

図20は、迎角パラメータ算出処理(ステップS1612)の一例を示す概略フローチャートである。図20に示す処理は、上述した図19に示す向きパラメータ算出処理とパラメータが異なるだけで実質的に同一であるので、説明は省略する。 Figure 20 is a schematic flowchart showing an example of the attack angle parameter calculation process (step S1612). The process shown in Figure 20 is substantially the same as the orientation parameter calculation process shown in Figure 19 described above, except for the parameters, so a description of the process will be omitted.

図21は、所定オブジェクトの移動に伴う変形処理(ステップS1615)の一例を示す概略フローチャートである。図22は、曲げ変形処理の説明図であり、図2に示したフィールド画像が投影されたフィールド面70上に、ローカル座標系を対応付けた斜視図である。 Figure 21 is a schematic flow chart showing an example of the deformation process (step S1615) accompanying the movement of a specified object. Figure 22 is an explanatory diagram of the bending deformation process, and is a perspective view in which a local coordinate system is associated with the field surface 70 onto which the field image shown in Figure 2 is projected.

ステップS2100では、変形処理部145は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、変形パラメータデータ(図13参照)に設定された任意の特定位置に対応するか否かを判定する。判定結果が“YES”の場合、ステップS2102に進み、それ以外の場合は、ステップS2104に進む。 In step S2100, the transformation processing unit 145 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 corresponds to any specific position set in the transformation parameter data (see FIG. 13). If the determination result is "YES", the process proceeds to step S2102, otherwise the process proceeds to step S2104.

ステップS2102では、変形処理部145は、更新後の変形パラメータA1の値β(k+1)に、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))に対応する特定位置に対応付けられた変形パラメータA1の値を設定する。例えば、図13に示す例では、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が特定位置A(XA、YA)に対応する場合、更新後の変形パラメータA1の値β(k+1)=β1とする。 In step S2102, the transformation processing unit 145 sets the value of the transformation parameter A1 associated with a specific position corresponding to each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) to the value β(k+1) of the updated transformation parameter A1. For example, in the example shown in FIG. 13, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) corresponds to a specific position A (XA, YA), the value of the updated transformation parameter A1 is set to β(k+1)=β1.

ステップS2104では、変形処理部145は、ステップS1606で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、変形パラメータデータ(図13参照)に設定された任意の特定位置に対応付けられた補間処理範囲内であるか否かを判定する。補間処理範囲は、特定位置ごとに設定されてもよい。本実施形態では、補間処理範囲は、距離パラメータA2に係る特定位置に対応付けられた補間処理範囲と同様、簡易的に、特定位置を中心として半径rの円形領域内(図18参照)であるとする。ただし、他の実施形態では、補間処理範囲は、上述したように、他の形態の領域で規定されてもよい。 In step S2104, the transformation processing unit 145 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in step S1606 is within an interpolation processing range associated with an arbitrary specific position set in the transformation parameter data (see FIG. 13). The interpolation processing range may be set for each specific position. In this embodiment, the interpolation processing range is simply set to be within a circular area of radius r centered on the specific position (see FIG. 18), similar to the interpolation processing range associated with the specific position related to the distance parameter A2. However, in other embodiments, the interpolation processing range may be defined as an area of another form, as described above.

ステップS2106では、変形処理部145は、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))と、当該各値が属する補間処理範囲Rsに係る特定位置との間の距離を算出する。当該距離の算出方法は、上述したステップS1706と同様であってよい。 In step S2106, the transformation processing unit 145 calculates the distance between each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) and a specific position related to the interpolation processing range Rs to which each value belongs. The method of calculating the distance may be the same as that of step S1706 described above.

ステップS2108では、変形処理部145は、ステップS2106で得た距離に基づいて、変形パラメータA1の補間値を算出する。補間値の算出方法は、上述したステップS1708と同様であってよい。 In step S2108, the transformation processing unit 145 calculates an interpolated value of the transformation parameter A1 based on the distance obtained in step S2106. The method of calculating the interpolated value may be the same as that in step S1708 described above.

ただし、図13の特定位置Cのような、仮想カメラ60の公転中に変形度合いが変化する特定位置の場合は、向きパラメータθの値θ(k+1)に基づいて、次のようにして算出されてよい。ここでは、特定位置Cに関して説明する。まず、特定位置Cに対応付けられる変形パラメータA1の値β(C0)は、θC1-Δθ1≦θ(k+1)≦θC1+Δθ1のときは、以下の式(1)により、θC2-Δθ1≦θ(k+1)≦θC2+Δθ1のときは、以下の式(2)により、算出されてよく、それ以外の範囲では、値β(C0)=通常値β0とされてよい。
β(C0)=-(β3-β0)/Δθ1×|(θ(k+1)-θC1)|+β3 式(1)
β(C0)=-(β4-β0)/Δθ1×|(θ(k+1)-θC2)|+β4 式(2)
例えば、式(1)では、(θ(k+1)-θC1)の絶対値に(β3-β0)/Δθ1を乗算した値を、β3から引いた値が、β(C0)とされる。ここで、Δθ1は、補間角度範囲を定める値であり、β3、β4は、通常値β0よりも大きいものとする。なお、ここで、式(1)及び式(2)において、同じΔθ1が使用されているが、異なるΔθ1が使用されてもよい。
そして、特定位置Cと(X(k+1)、Y(k+1))との間の距離を距離d(dC)とすると、距離d(dC)に係る変形パラメータA1の補間値β(dC)は、上述したβ(C0)を用いて、以下の式で算出されてもよい。
β(dC)=(β(C0)-β0)/r×(r-d(dC))+β0
また、例えば特定位置Aと特定位置Bのそれぞれに係る補間処理範囲が重複領域Rs’を有する場合も、距離パラメータA2の場合と同様である。具体的には、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が重複領域Rs’内に位置する場合は、特定位置Aと(X(k+1)、Y(k+1))との間の距離を距離d(dA)とし、特定位置Bと(X(k+1)、Y(k+1))との間の距離を距離d(dB)とすると、補間値β(Rs’)は、距離d(dA)に係る変形パラメータA1の補間値β(dA)と、距離d(dB)に係る変形パラメータA1の補間値β(dB)とに基づいて、以下の式で算出されてもよい。
β(Rs’)=B1×β(dA)+(1-B1)×β(dB)
ここで、β(dA)、β(dB)は、以下のとおりである
β(dA)=(β1-β0)/r×(r-d(dA))+β0
β(dB)=(β2-β0)/r×(r-d(dB))+β0
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))}
ステップS2110では、変形処理部145は、更新後の変形パラメータA1の値β(k+1)に、ステップS2108で算出した補間値を設定する。
However, in the case of a specific position where the degree of deformation changes during the revolution of the virtual camera 60, such as specific position C in Fig. 13, the value β(C0) of the deformation parameter A1 may be calculated as follows based on the value θ(k+1) of the orientation parameter θ. Here, a description will be given of specific position C. First, the value β(C0) of the deformation parameter A1 associated with specific position C may be calculated by the following formula (1) when θC1-Δθ1≦θ(k+1)≦θC1+Δθ1, and by the following formula (2) when θC2-Δθ1≦θ(k+1)≦θC2+Δθ1. In other ranges, the value β(C0) may be set to be equal to the normal value β0.
β(C0)=-(β3-β0)/Δθ1×|(θ(k+1)-θC1)|+β3 Equation (1)
β(C0)=-(β4-β0)/Δθ1×|(θ(k+1)-θC2)|+β4 Equation (2)
For example, in formula (1), β(C0) is obtained by multiplying the absolute value of (θ(k+1)-θC1) by (β3-β0)/Δθ1 and subtracting the result from β3. Here, Δθ1 is a value that determines the interpolation angle range, and β3 and β4 are greater than the normal value β0. Note that although the same Δθ1 is used in formulas (1) and (2), a different Δθ1 may be used.
Then, if the distance between the specific position C and (X(k+1), Y(k+1)) is distance d(dC), the interpolated value β(dC) of the deformation parameter A1 related to the distance d(dC) may be calculated by the following formula using the above-mentioned β(C0).
β(dC) = (β(C0) - β0) / r x (r - d(dC)) + β0
In addition, the same applies to the case where the interpolation processing ranges for each of the specific positions A and B have an overlapping region Rs', for example, as in the case of the distance parameter A2. Specifically, when each value (X(k+1), Y(k+1)) of the updated position parameter (X, Y) is located within the overlapping region Rs', if the distance between the specific position A and (X(k+1), Y(k+1)) is the distance d(dA) and the distance between the specific position B and (X(k+1), Y(k+1)) is the distance d(dB), the interpolated value β(Rs') may be calculated by the following formula based on the interpolated value β(dA) of the deformation parameter A1 related to the distance d(dA) and the interpolated value β(dB) of the deformation parameter A1 related to the distance d(dB).
β(Rs')=B1×β(dA)+(1−B1)×β(dB)
Here, β(dA) and β(dB) are as follows: β(dA) = (β1 - β0) / r x (r - d(dA)) + β0
β(dB) = (β2-β0)/r × (r-d(dB)) + β0
B1 is a coefficient that varies within a range from 0 to 1, and approaches 1 as each updated position parameter (X, Y) value approaches specific position A, and is 1 at the boundary position on the specific position A side in the overlap region Rs'. Moreover, coefficient B1 approaches 0 as each updated position parameter (X, Y) value approaches specific position B, and is 0 at the boundary position on the specific position B side in the overlap region Rs'. For example, B1 may be as follows.
B1 = (r-d(d A )) / {(r-d(d A )) + (r-d(d B ))}
In step S2110, the transformation processing unit 145 sets the value β(k+1) of the updated transformation parameter A1 to the interpolated value calculated in step S2108.

ステップS2112では、変形処理部145は、更新後の変形パラメータA1の値β(k+1)に通常値β0を設定する。 In step S2112, the transformation processing unit 145 sets the value β(k+1) of the updated transformation parameter A1 to the normal value β0.

ステップS2114では、変形処理部145は、フィールド面70(フィールド画像が投影されたフィールド面70)において、移動後の所定オブジェクトの位置(u(k+1)、v(k+1))(所定位置の一例)に、ローカル座標系の原点Oを対応付ける。すなわち、曲げ変形に用いる関数F1の原点Oは、移動後の所定オブジェクトの位置(u(k+1)、v(k+1))に対応付けられる。図22に示す例では、フィールド面70上の(u(k+1)、v(k+1))にローカル座標系の原点Oが対応付けられている状態が示される。なお、他の実施形態では、ローカル座標系の原点Oを対応付ける位置(フィールド面70上の位置)は、移動後の所定オブジェクトの位置(u(k+1)、v(k+1))以外の位置であってもよい。また、ローカル座標系の原点Oを対応付ける位置(フィールド面70上の位置)は、移動後の所定オブジェクトの位置(u(k+1)、v(k+1))に厳密に一致する必要はなく、その近傍であってもよい。 In step S2114, the deformation processing unit 145 associates the origin O of the local coordinate system with the position (u(k+1), v(k+1)) (an example of a predetermined position) of the specified object after the movement on the field surface 70 (the field surface 70 on which the field image is projected). That is, the origin O of the function F1 used for bending deformation is associated with the position (u(k+1), v(k+1)) of the specified object after the movement. The example shown in FIG. 22 shows a state in which the origin O of the local coordinate system is associated with (u(k+1), v(k+1)) on the field surface 70. Note that in other embodiments, the position (position on the field surface 70) to which the origin O of the local coordinate system is associated may be a position other than the position (u(k+1), v(k+1)) of the specified object after the movement. Furthermore, the position to which the origin O of the local coordinate system is associated (the position on the field surface 70) does not need to exactly match the position (u(k+1), v(k+1)) of the specified object after it has been moved, but may be in the vicinity of it.

ステップS2116では、変形処理部145は、ステップS2114で設定した原点Oと、向きパラメータθの値θ(k+1)とに基づいて、フィールド面70のフィールド座標系(フィールド画像のテクスチャ座標系)にローカル座標系(図7、図22参照)を対応付ける。具体的には、ステップS2114で設定した原点Oを通り、x方向に対して向きパラメータθの値θ(k+1)をなす軸を、Xc軸とする。 In step S2116, the transformation processing unit 145 associates a local coordinate system (see Figures 7 and 22) with the field coordinate system of the field surface 70 (texture coordinate system of the field image) based on the origin O set in step S2114 and the value θ(k+1) of the orientation parameter θ. Specifically, the axis that passes through the origin O set in step S2114 and has the value θ(k+1) of the orientation parameter θ in the x direction is set as the Xc axis.

ステップS2118では、変形処理部145は、ステップS2102、ステップS2110、又はステップS2112で設定した更新後の変形パラメータA1の値β(k+1)と、ステップS2116でフィールド面70のフィールド座標系に対応付けたローカル座標系とに基づいて、フィールド面70を曲げ変形させる。この場合、例えば、変形処理部145は、図7を参照して上述した関数F1に基づいて、フィールド面70を曲げ変形させることができる。 In step S2118, the transformation processing unit 145 bends and deforms the field surface 70 based on the value β(k+1) of the updated transformation parameter A1 set in step S2102, step S2110, or step S2112, and the local coordinate system associated with the field coordinate system of the field surface 70 in step S2116. In this case, for example, the transformation processing unit 145 can bend and deform the field surface 70 based on the function F1 described above with reference to FIG. 7.

図21に示す例によれば、フィールドオブジェクトの全体のうちの、仮想カメラ60の画角内に収まる領域とは無関係に、フィールド面70全体が略等断面で曲げ変形される。この場合、フィールドオブジェクトの全体のうちの、仮想カメラ60の画角内に収まる領域に応じて曲げ変形する範囲を可変する場合に比べて、処理負荷を低減できる。 According to the example shown in FIG. 21, the entire field surface 70 is bent and deformed with a substantially equal cross section, regardless of the area of the entire field object that falls within the angle of view of the virtual camera 60. In this case, the processing load can be reduced compared to when the range of bending and deformation is changed depending on the area of the entire field object that falls within the angle of view of the virtual camera 60.

図23は、回転指示に基づく回転処理(ステップS1618)の一例を示す概略フローチャートである。なお、図23では、仮想カメラ60の回転指示には、公転指示及び自転指示の双方が同時に含まれることはないものとする。 Figure 23 is a schematic flow chart showing an example of the rotation process (step S1618) based on a rotation instruction. Note that in Figure 23, the rotation instruction for the virtual camera 60 does not include both an instruction to revolve and an instruction to rotate on its own axis at the same time.

ステップS2300では、回転処理部1425は、仮想カメラ60の更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))を、更新前の位置パラメータ(X、Y)の各値(X(k)、Y(k))と同じに設定する。すなわち、今回値は前回値と同じにする。 In step S2300, the rotation processing unit 1425 sets the updated position parameters (X, Y) of the virtual camera 60 (X(k+1), Y(k+1)) to the same values as the pre-update position parameters (X, Y) (X(k), Y(k)). In other words, the current values are set to the same as the previous values.

ステップS2301では、回転処理部1425は、仮想カメラ60の回転指示に公転指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS2302に進み、それ以外の場合は、ステップS2303に進む。 In step S2301, the rotation processing unit 1425 determines whether or not the rotation instruction for the virtual camera 60 includes a revolution instruction. If the determination result is "YES", the process proceeds to step S2302; otherwise, the process proceeds to step S2303.

ステップS2302では、公転処理部14251は、更新前の向きパラメータθの値θ(k)に基づいて、更新後の向きパラメータθの値θ(k+1)を算出する。例えば、公転処理部14251は、更新前の向きパラメータθの値θ(k)を、所定角度Δθだけ、公転指示に含まれる回転方向に応じて増減することで、更新後の向きパラメータθの値θ(k+1)を算出する。 In step S2302, the revolution processing unit 14251 calculates the updated value θ(k+1) of the orientation parameter θ based on the value θ(k) of the orientation parameter θ before the update. For example, the revolution processing unit 14251 calculates the updated value θ(k+1) of the orientation parameter θ by increasing or decreasing the value θ(k) of the orientation parameter θ before the update by a predetermined angle Δθ according to the rotation direction included in the revolution instruction.

ステップS2303では、自転処理部14252は、仮想カメラ60の回転指示に自転指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS2304に進み、それ以外の場合は、ステップS2307に進む。 In step S2303, the rotation processing unit 14252 determines whether the rotation instruction for the virtual camera 60 includes a rotation instruction. If the determination result is "YES", the process proceeds to step S2304; otherwise, the process proceeds to step S2307.

ステップS2304では、自転処理部14252は、更新前の向きパラメータθの値θ(k)に基づいて、更新後の向きパラメータθの値θ(k+1)を算出する。例えば、自転処理部14252は、更新前の向きパラメータθの値θ(k)を、所定角度Δθだけ、自転指示に含まれる回転方向に応じて増減することで、更新後の向きパラメータθの値θ(k+1)を算出する。 In step S2304, the rotation processing unit 14252 calculates the updated value θ(k+1) of the orientation parameter θ based on the value θ(k) of the orientation parameter θ before the update. For example, the rotation processing unit 14252 calculates the updated value θ(k+1) of the orientation parameter θ by increasing or decreasing the value θ(k) of the orientation parameter θ before the update by a predetermined angle Δθ according to the rotation direction included in the rotation instruction.

ステップS2306では、自転処理部14252は、ステップS2300で設定した更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))を、自転分の移動量だけ補正する。具体的には、自転処理部14252は、uv平面内で、自転軸61(図10、図11参照)まわりに、更新前の位置パラメータ(X、Y)の各値(X(k)、Y(k))に係る点を、所定角度Δθだけ、自転指示に含まれる回転方向に応じて回転することで、補正を実現する。この場合、当該回転後の当該点の位置が、補正後の、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))となる。 In step S2306, the rotation processing unit 14252 corrects the updated position parameters (X, Y) values (X(k+1), Y(k+1)) set in step S2300 by the amount of movement due to the rotation. Specifically, the rotation processing unit 14252 achieves the correction by rotating the point associated with each value (X(k), Y(k)) of the position parameters (X, Y) before the update around the rotation axis 61 (see Figures 10 and 11) in the uv plane by a predetermined angle Δθ according to the rotation direction included in the rotation instruction. In this case, the position of the point after the rotation becomes the corrected updated position parameters (X, Y) values (X(k+1), Y(k+1)).

ステップS2307では、自転処理部14252は、更新後の向きパラメータθの値θ(k+1)を、更新前の向きパラメータθの値θ(k)と同じに設定する。すなわち、今回値は前回値と同じにする。 In step S2307, the rotation processing unit 14252 sets the updated value θ(k+1) of the orientation parameter θ to the same value θ(k) of the orientation parameter θ before the update. In other words, the current value is set to the same as the previous value.

ステップS2308では、迎角処理部14253は、仮想カメラ60の回転指示に迎角変更指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS2310に進み、それ以外の場合は、ステップS2312に進む。 In step S2308, the angle-of-attack processing unit 14253 determines whether the rotation instruction for the virtual camera 60 includes an instruction to change the angle of attack. If the determination result is "YES", the process proceeds to step S2310; otherwise, the process proceeds to step S2312.

ステップS2310では、迎角処理部14253は、更新前の迎角パラメータψの値ψ(k)に基づいて、更新後の迎角パラメータψの値ψ(k+1)を算出する。例えば、迎角処理部14253は、更新前の迎角パラメータψの値ψ(k)を、所定角度Δψだけ、迎角変更指示に含まれる回転方向に応じて増減することで、更新後の迎角パラメータψの値ψ(k+1)を算出する。なお、迎角パラメータψの変化範囲は、例えば0度から60度の範囲内のように所定範囲内に限定されてもよい。 In step S2310, the angle-of-attack processing unit 14253 calculates the updated value of the angle-of-attack parameter ψ(k+1) based on the value of the angle-of-attack parameter ψ(k) before the update. For example, the angle-of-attack processing unit 14253 calculates the updated value of the angle-of-attack parameter ψ(k+1) by increasing or decreasing the value of the angle-of-attack parameter ψ(k) before the update by a predetermined angle Δψ according to the direction of rotation included in the angle-of-attack change instruction. Note that the range of change of the angle-of-attack parameter ψ may be limited to a predetermined range, for example, within a range from 0 degrees to 60 degrees.

ステップS2312では、迎角処理部14253は、更新後の迎角パラメータψの値ψ(k+1)を、更新前の迎角パラメータψの値ψ(k)と同じに設定する。すなわち、今回値は前回値と同じにする。 In step S2312, the angle-of-attack processing unit 14253 sets the updated value of the angle-of-attack parameter ψ (k+1) to the same value as the value of the angle-of-attack parameter ψ before the update ψ (k). In other words, the current value is set to the same as the previous value.

図23に示す処理によれば、回転指示に含まれる各種の指示に応じて仮想カメラ60の向きを変化させることができる。なお、図23では、回転指示に公転指示及び自転指示のいずれか一方と迎角変更指示とが同時に含まれうる場合が想定されているが、これに限られない。例えば、一の処理周期での回転指示には、公転指示、自転指示、及び迎角変更指示のいずれか1つだけしか含まれないこととしてもよい。なお、この場合、ステップS2302及びステップS2306が終了すると、図23の処理が終了することとしてよい。また、自転及び/又は迎角の変更が不能な構成の場合は、それに応じた処理は省略されてよい。 According to the process shown in FIG. 23, the orientation of the virtual camera 60 can be changed according to various instructions included in the rotation instruction. Note that FIG. 23 assumes a case in which the rotation instruction may simultaneously include either a revolution instruction or a rotation instruction and an angle of attack change instruction, but this is not limited to the above. For example, the rotation instruction in one processing cycle may include only one of a revolution instruction, a rotation instruction, and an angle of attack change instruction. Note that in this case, when steps S2302 and S2306 are completed, the process of FIG. 23 may end. Furthermore, in the case of a configuration in which rotation and/or angle of attack cannot be changed, the corresponding process may be omitted.

図24は、回転指示に基づく回転処理(ステップS1618)後の、変形処理(ステップS1619)の一例を示す概略フローチャートである。図25は、補間角度範囲の説明図である。 Figure 24 is a schematic flowchart showing an example of the transformation process (step S1619) after the rotation process based on the rotation instruction (step S1618). Figure 25 is an explanatory diagram of the interpolation angle range.

ステップS2400では、変形処理部145は、仮想カメラ60の回転指示に自転指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS2402に進み、それ以外の場合は、ステップS2404に進む。 In step S2400, the transformation processing unit 145 determines whether the rotation instruction for the virtual camera 60 includes a rotation instruction. If the determination result is "YES", the process proceeds to step S2402; otherwise, the process proceeds to step S2404.

ステップS2402では、変形処理部145は、更新後の変形パラメータA1の値β(k+1)を、更新前の変形パラメータA1の値β(k)と同じに設定する。すなわち、今回値は前回値と同じにする。ただし、他の実施形態では、更新後の変形パラメータA1の値β(k+1)は、ステップS2306で得た、補正後の、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))と、更新後の向きパラメータθの値θ(k+1)とに基づいて、図21に示した変形処理と同じ態様で、算出されてもよい。この場合、補正後の、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、特定位置に対応するか否かが判定され(ステップS2100)、以後、図21の処理に従ってステップS2102、ステップS2110又はステップS2112により、更新後の変形パラメータA1の値β(k+1)が設定される。 In step S2402, the transformation processing unit 145 sets the value β(k+1) of the transformation parameter A1 after the update to the same value β(k) of the transformation parameter A1 before the update. In other words, the current value is set to the same value as the previous value. However, in another embodiment, the value β(k+1) of the transformation parameter A1 after the update may be calculated in the same manner as the transformation processing shown in FIG. 21 based on the corrected and updated values of the position parameters (X, Y) (X(k+1), Y(k+1)) and the updated value θ(k+1) of the orientation parameter θ obtained in step S2306. In this case, it is determined whether the corrected and updated values of the position parameters (X, Y) (X(k+1), Y(k+1)) correspond to a specific position (step S2100), and thereafter, the value β(k+1) of the transformation parameter A1 after the update is set in step S2102, step S2110, or step S2112 according to the processing in FIG. 21.

ステップS2404では、変形処理部145は、仮想カメラ60の回転指示に公転指示が含まれているか否かを判定する。判定結果が“YES”の場合、ステップS2406に進み、それ以外の場合は、ステップS2402に進む。 In step S2404, the transformation processing unit 145 determines whether the rotation instruction for the virtual camera 60 includes a revolution instruction. If the determination result is "YES", the process proceeds to step S2406; otherwise, the process proceeds to step S2402.

ステップS2406では、変形処理部145は、ステップS1618の回転指示に基づく回転処理(図23参照)で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、仮想カメラ60の公転中に変形度合いが変化する任意の特定位置(図13の特定位置C参照)であるか、又は、当該特定位置に対応付けられた補間処理範囲内であるか否かを判定する。補間処理範囲は、上述のとおり、本実施形態では、簡易的に、特定位置を中心として半径rの円形領域内であるとする。ただし、他の実施形態では、補間処理範囲は、他の形態の領域で規定されてもよい。判定結果が“YES”の場合、ステップS2408に進み、それ以外の場合(すなわち、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が、仮想カメラ60の公転中に変形度合いが変化する任意の特定位置でなく、かつ、当該特定位置に対応付けられた補間処理範囲内でない場合)は、ステップS2402に進む。 In step S2406, the transformation processing unit 145 determines whether each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) obtained in the rotation process (see FIG. 23) based on the rotation instruction in step S1618 is at any specific position (see specific position C in FIG. 13) where the degree of transformation changes during the revolution of the virtual camera 60, or is within the interpolation processing range associated with the specific position. As described above, in this embodiment, the interpolation processing range is simply defined as a circular area of radius r centered on the specific position. However, in other embodiments, the interpolation processing range may be defined as an area of other form. If the determination result is "YES", proceed to step S2408; otherwise (i.e., if the updated position parameters (X, Y) values (X(k+1), Y(k+1)) are not any specific position where the degree of deformation changes during the revolution of the virtual camera 60 and are not within the interpolation processing range associated with the specific position), proceed to step S2402.

ステップS2408では、変形処理部145は、ステップS1618の回転指示に基づく回転処理(図23参照)で得た更新後の向きパラメータθの値θ(k+1)が、特定向きに係る値θ(例えば、図13の特定位置Cの場合、θC1やθC2)であるか、又は、特定向きに係る補間角度範囲内であるか否かを判定する。補間角度範囲は、図13の特定位置Cのような、仮想カメラ60の公転中に変形度合いが変化する特定位置に係る特定向きに対して設定される。なお、図25では、特定位置Cに関する補間角度範囲が模式的に示される。図25では、補間角度範囲は、特定向きに係る値θ(θC1やθC2)を中心として、±Δθの角度範囲内である。判定結果が“YES”の場合、ステップS2410に進み、それ以外の場合は、ステップS2402に進む。 In step S2408, the transformation processing unit 145 determines whether the value θ(k+1) of the updated orientation parameter θ obtained in the rotation process based on the rotation instruction in step S1618 (see FIG. 23) is a value θ related to a specific orientation (for example, θ C1 or θ C2 in the case of the specific position C in FIG. 13) or is within an interpolation angle range related to the specific orientation. The interpolation angle range is set for a specific orientation related to a specific position where the degree of deformation changes during the revolution of the virtual camera 60, such as the specific position C in FIG. 13. Note that FIG. 25 shows the interpolation angle range for the specific position C in a schematic manner. In FIG. 25, the interpolation angle range is within an angle range of ±Δθ 1 centered on the value θ related to the specific orientation (θ C1 or θ C2 ). If the determination result is "YES", the process proceeds to step S2410, and otherwise the process proceeds to step S2402.

ステップS2410では、変形処理部145は、ステップS1618の回転指示に基づく回転処理(図23参照)で得た更新後の向きパラメータθの値θ(k+1)と、特定向きに係る値θとの関係に基づいて、更新後の変形パラメータA1の値β(k+1)を算出する。具体的には、更新後の変形パラメータA1の値β(k+1)は、次のようにして算出されてよい。ここでは、特定位置Cに関して説明する。まず、θC1-Δθ≦θ(k+1)≦θC1+Δθのときは、以下の式(3)により、θC2-Δθ≦θ(k+1)≦θC2+Δθのときは、以下の式(4)により、算出されてよく、それ以外の範囲では、β(k+1)=通常値βとされてよい。
β(k+1)=-(β-β)/Δθ×|(θ(k+1)-θC1)|+β 式(3)
β(k+1)=-(β-β)/Δθ×|(θ(k+1)-θC2)|+β 式(4)
例えば、式(3)では、(θ(k+1)-θC1)の絶対値に(β-β)/Δθを乗じた値を、βから引いた値が、更新後の変形パラメータA1の値β(k+1)とされる。
In step S2410, the transformation processing unit 145 calculates the updated value β(k+1) of the transformation parameter A1 based on the relationship between the value θ(k+1) of the updated orientation parameter θ obtained in the rotation process based on the rotation instruction in step S1618 (see FIG. 23) and the value θ relating to the specific orientation. Specifically, the updated value β(k+1) of the transformation parameter A1 may be calculated as follows. Here, a description will be given of the specific position C. First, when θ C1 -Δθ 1 ≦θ(k+1)≦θ C1 +Δθ 1 , the calculation may be performed by the following formula (3), and when θ C2 -Δθ 1 ≦θ(k+1)≦θ C2 +Δθ 1 , the calculation may be performed by the following formula (4). In other ranges, β(k+1)=normal value β 0 may be used.
β(k+1)=-(β 30 )/Δθ 1 ×|(θ(k+1)-θ C1 )|+β 3 Equation (3)
β(k+1)=-(β 40 )/Δθ 1 ×|(θ(k+1)-θ C2 )|+β 4 Equation (4)
For example, in equation (3), the absolute value of (θ(k+1) -θC1 ) is multiplied by ( β3 - β0 )/ Δθ1 and then subtracted from β3 to obtain the updated value β(k+1) of the deformation parameter A1.

なお、図25では、2つの特定向きのそれぞれに係る補間角度範囲は、重複していないが、重複してもよい。重複する場合(すなわち2つの特定向きのそれぞれに係る補間角度範囲が重複角度範囲を有する場合)は、それぞれ式(3)及び式(4)で算出した2つの値β(k+1)に基づいて、最終的な値β(k+1)を導出してよい。具体的には、以下の式により、最終的な値β(k+1)が算出されてもよい。
最終的な値β(k+1)=B2×β(k+1)’+(1-B2)×β(k+1)”
ここで、β(k+1)’は、式(3)による算出値を表し、β(k+1)”は、式(4)による算出値を表し、B2は、0から1の範囲内で変化する係数である。係数B2は、θ(k+1)が値θC1に近づくほど1に近づき、重複角度範囲におけるθC1側の境界位置で1となる。また、係数B2は、θ(k+1)が値θC2に近づくほど0に近づき、重複角度範囲におけるθC2側の境界位置で0となる。例えば、B2は、以下の通りであってよい。
B2=(θ(k+1)-θC2)/{(θ(k+1)-θC1)+(θ(k+1)-θC2)}
ステップS2412では、変形処理部145は、フィールド面70(フィールド画像が投影されたフィールド面70)において、ステップS1618の回転指示に基づく回転処理(図23参照)で得た更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))(所定位置の一例)に、ローカル座標系の原点Oを対応付ける。なお、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))が更新前の位置パラメータ(X、Y)の各値(X(k)、Y(k))と同じである場合(例えば公転指示の場合)は、更新後の位置パラメータ(X、Y)の各値(X(k+1)、Y(k+1))は、所定オブジェクトの位置に対応することになる。
In addition, in Fig. 25, the interpolation angle ranges for the two specific directions do not overlap, but they may overlap. If they overlap (i.e., if the interpolation angle ranges for the two specific directions have an overlapping angle range), the final value β(k+1) may be derived based on the two values β(k+1) calculated by Equation (3) and Equation (4), respectively. Specifically, the final value β(k+1) may be calculated by the following equation.
Final value β(k+1) = B2 x β(k+1)' + (1-B2) x β(k+1)"
Here, β(k+1)′ represents the value calculated by equation (3), β(k+1)″ represents the value calculated by equation (4), and B2 is a coefficient that changes within the range from 0 to 1. Coefficient B2 approaches 1 as θ(k+1) approaches value θC1 , and becomes 1 at the boundary position on the θC1 side in the overlap angle range. Coefficient B2 approaches 0 as θ(k+1) approaches value θC2 , and becomes 0 at the boundary position on the θC2 side in the overlap angle range. For example, B2 may be as follows.
B2 = (θ(k+1) - θ C2 ) / {(θ(k+1) - θ C1 ) + (θ(k+1) - θ C2 )}
In step S2412, the transformation processing unit 145 associates the origin O of the local coordinate system with each value (X(k+1), Y(k+1)) (an example of a predetermined position) of the updated position parameters (X, Y) obtained in the rotation process (see FIG. 23) based on the rotation instruction in step S1618 on the field surface 70 (the field surface 70 on which the field image is projected). Note that when each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) is the same as each value (X(k), Y(k)) of the position parameters (X, Y) before the update (for example, in the case of a revolution instruction), each value (X(k+1), Y(k+1)) of the updated position parameters (X, Y) corresponds to the position of a predetermined object.

ステップS2414では、変形処理部145は、ステップS2412で対応付けた原点Oと、ステップS1618の回転指示に基づく回転処理(図23参照)で得た更新後の向きパラメータθの値θ(k+1)とに基づいて、フィールド面70のフィールド座標系(フィールド画像のテクスチャ座標系)にローカル座標系(図7、図22参照)を対応付ける。具体的には、ステップS2114で設定した原点Oを通り、x方向に対して向きパラメータθの値θ(k+1)をなす軸を、Xc軸とする。 In step S2414, the transformation processing unit 145 associates a local coordinate system (see Figures 7 and 22) with the field coordinate system of the field surface 70 (texture coordinate system of the field image) based on the origin O associated in step S2412 and the updated value θ(k+1) of the orientation parameter θ obtained in the rotation process based on the rotation instruction in step S1618 (see Figure 23). Specifically, the axis that passes through the origin O set in step S2114 and has the value θ(k+1) of the orientation parameter θ in the x direction is set as the Xc axis.

ステップS2416では、変形処理部145は、ステップS1618の回転指示に基づく回転処理(図23参照)で設定した更新後の変形パラメータA1の値β(k+1)と、ステップS2414でフィールド面70のフィールド座標系に対応付けたローカル座標系とに基づいて、フィールド面70を曲げ変形させる。この場合、例えば、変形処理部145は、図7を参照して上述した関数F1に基づいて、フィールド面70を曲げ変形させることができる。 In step S2416, the transformation processing unit 145 bends and deforms the field surface 70 based on the updated value β(k+1) of the transformation parameter A1 set in the rotation process based on the rotation instruction in step S1618 (see FIG. 23) and the local coordinate system associated with the field coordinate system of the field surface 70 in step S2414. In this case, for example, the transformation processing unit 145 can bend and deform the field surface 70 based on the function F1 described above with reference to FIG. 7.

次に、図26から図27Cを参照して、図16から図25を参照して説明した動作例の適用場面の一例を説明する。 Next, with reference to Figures 26 to 27C, an example of an application scenario of the operational example described with reference to Figures 16 to 25 will be described.

図26から図27Cは、図16から図25を参照して説明した動作例の適用場面の説明図であり、図26は、フィールドオブジェクト77の平面図であり、図26Aは、位置M1に係るフィールド面の曲げ変形の状態の説明図であり、図26Bは、位置M2に係るフィールド面の曲げ変形の状態の説明図であり、図26Cは、位置M3に係るフィールド面の曲げ変形の状態の説明図である。また、図27Aは、位置M1に係るフィールド画像G24Aの一例を示し、図27Bは、位置M2に係るフィールド画像G24Bの一例を示し、図27Cは、位置M3に係るフィールド画像G24Cの一例を示す。図26では、フィールドオブジェクト77は、フィールド画像が正規状態のフィールド面70に投影された表現で示されている。図26では、位置M1から位置M3が例示されており、位置M2及び位置M3は、カーブ路17の開始位置付近と終了位置付近である。なお、図26Aから図26Cでは、作図の都合上、カーブ路17等がフィールド面70から離れた部分(仮想カメラ60の画角62の外側の部分)を有するが、全体がフィールド面70上に投影されてもよい。 26 to 27C are explanatory diagrams of application scenes of the operation example described with reference to FIG. 16 to FIG. 25, FIG. 26 is a plan view of the field object 77, FIG. 26A is an explanatory diagram of the bending deformation state of the field surface related to position M1, FIG. 26B is an explanatory diagram of the bending deformation state of the field surface related to position M2, and FIG. 26C is an explanatory diagram of the bending deformation state of the field surface related to position M3. Also, FIG. 27A shows an example of a field image G24A related to position M1, FIG. 27B shows an example of a field image G24B related to position M2, and FIG. 27C shows an example of a field image G24C related to position M3. In FIG. 26, the field object 77 is shown in a representation in which the field image is projected onto the field surface 70 in the normal state. In FIG. 26, positions M1 to M3 are illustrated, and positions M2 and M3 are near the start and end positions of the curved road 17. In addition, in Figures 26A to 26C, for convenience of drawing, the curved road 17 and the like have parts that are away from the field surface 70 (parts outside the angle of view 62 of the virtual camera 60), but the entirety may be projected onto the field surface 70.

ここでは、第1オブジェクト3がフィールドオブジェクト77上の位置M1から位置M3へと移動する際の描画機能について説明する。なお、この種の移動は、ユーザによる操作により実現されてもよいし、デモンストレーション画像の出力として実現されてもよい。なお、ここでは、位置M1から位置M3の間には、向き変化位置が存在しないものとする。また、位置M1及び位置M3は、向き変化位置の補間処理範囲内や特定位置の補間処理範囲内にも位置しないものとする。 Here, we will explain the drawing function when the first object 3 moves from position M1 to position M3 on the field object 77. Note that this type of movement may be realized by a user operation, or may be realized as an output of a demonstration image. Note that here, it is assumed that there is no orientation change position between position M1 and position M3. Furthermore, it is assumed that positions M1 and M3 are not located within the interpolation processing range of the orientation change position or the interpolation processing range of the specific position.

第1オブジェクト3が位置M1に位置する状態における仮想カメラ60の位置パラメータ(X、Y)の各値(第1位置の一例)は、第1オブジェクト3の位置に対応し、仮想カメラ60の向きパラメータθの値は、通常値θ、すなわち投影ベクトルV’(図11参照)が第1オブジェクト3の移動方向(この場合、u方向)に垂直になるように設定される。なお、図26では、第1オブジェクト3が位置M2に位置する状態における仮想カメラ60の投影ベクトルV’が示されている。このとき、仮想カメラ60の画角内に収まる領域には、第1オブジェクト3が位置し、図26Aに示すようなフィールド面70の曲げ変形が実現されることで図27Aに示すフィールド画像G24Aが生成されてよい。なお、この場合、地平線HLは、変形パラメータA1の通常値βに応じた高さを有し、第1オブジェクト3等は、距離パラメータA2の通常値γに応じた表示サイズを有する。 The values of the position parameters (X, Y) of the virtual camera 60 in a state where the first object 3 is located at the position M1 (an example of the first position) correspond to the position of the first object 3, and the value of the orientation parameter θ of the virtual camera 60 is set to a normal value θ 0 , that is, the projection vector V′ (see FIG. 11 ) is set perpendicular to the moving direction of the first object 3 (in this case, the u direction). Note that FIG. 26 shows the projection vector V′ of the virtual camera 60 in a state where the first object 3 is located at the position M2. At this time, the first object 3 is located in an area that fits within the angle of view of the virtual camera 60, and the bending deformation of the field surface 70 as shown in FIG. 26A may be realized to generate the field image G24A shown in FIG. 27A. Note that in this case, the horizon HL has a height according to the normal value β 0 of the deformation parameter A1, and the first object 3 and the like have a display size according to the normal value γ 0 of the distance parameter A2.

第1オブジェクト3が位置M2に位置する状態における仮想カメラ60の位置パラメータ(X、Y)の各値は、第1オブジェクト3の位置に対応し、仮想カメラ60の向きパラメータθの値は、通常値θ、すなわち投影ベクトルV’(図11参照)が第1オブジェクト3の移動方向(この場合、第1オブジェクト3の位置を通るカーブ路17の接線方向)に垂直になるように設定される。このとき、仮想カメラ60の画角内に収まる領域には、第1オブジェクト3が位置し、図26Bに示すようなフィールド面70の曲げ変形が実現されることで図27Bに示すフィールド画像G24Bが描画されてよい。なお、この場合、地平線HLは、変形パラメータA1の通常値βに応じた高さを有し、第1オブジェクト3等は、距離パラメータA2の通常値γに応じた表示サイズを有する。 The values of the position parameters (X, Y) of the virtual camera 60 in a state where the first object 3 is located at the position M2 correspond to the position of the first object 3, and the value of the orientation parameter θ of the virtual camera 60 is set to the normal value θ 0 , that is, the projection vector V' (see FIG. 11) is set to be perpendicular to the moving direction of the first object 3 (in this case, the tangent direction of the curved road 17 passing through the position of the first object 3). At this time, the first object 3 is located in an area that fits within the angle of view of the virtual camera 60, and the field image G24B shown in FIG. 27B may be drawn by realizing the bending deformation of the field surface 70 as shown in FIG. 26B. In this case, the horizon HL has a height according to the normal value β 0 of the deformation parameter A1, and the first object 3 and the like have a display size according to the normal value γ 0 of the distance parameter A2.

第1オブジェクト3が位置M1から位置M3に向かってカーブ路17に沿って処理周期ごとに移動量Δuだけ移動されると、仮想カメラ60の位置パラメータ(X、Y)の各値は、カーブ路17に沿って処理周期ごとに移動量Δuだけ移動される。なお、この間、仮想カメラ60の向きパラメータθの値は、通常値θに維持される。なお、第1オブジェクト3がカーブ路17(例えば曲率半径が一定のカーブ路17)に沿って移動する場合は、仮想カメラ60は、カーブ路17の曲率中心を通る自転軸61まわりに自転されてもよい。この場合、自転開始前の状態(例えば第1オブジェクト3が位置M1に位置する状態)から自転状態への遷移は、距離パラメータA2の値や迎角パラメータψの値を変化させることで実現されてもよい。この場合、例えば、距離パラメータA2の値や迎角パラメータψの値は、カーブ路17の曲率半径=A2×cosψとなるように設定されてよい。そして、仮想カメラ60の自転中は、仮想カメラ60の位置パラメータ(X、Y)の各値は、第1オブジェクト3の位置に対応し、自転状態から自転終了後の状態(例えば第1オブジェクト3が位置M3に位置する状態)への遷移は、距離パラメータA2の値や迎角パラメータψの値を元の各値(例えば通常値γ0、ψ0)に戻すこととしてよい。なお、このような距離パラメータA2の値や迎角パラメータψの値の変化についても、補間値を介して実現されてもよい。 When the first object 3 is moved from position M1 to position M3 along the curved road 17 by the movement amount Δu for each processing cycle, each value of the position parameters (X, Y) of the virtual camera 60 is moved along the curved road 17 by the movement amount Δu for each processing cycle. During this time, the value of the orientation parameter θ of the virtual camera 60 is maintained at the normal value θ 0. When the first object 3 moves along the curved road 17 (for example, the curved road 17 with a constant radius of curvature), the virtual camera 60 may rotate about a rotation axis 61 passing through the center of curvature of the curved road 17. In this case, the transition from a state before the start of rotation (for example, a state in which the first object 3 is located at position M1) to a rotating state may be realized by changing the value of the distance parameter A2 or the value of the angle of attack parameter ψ. In this case, for example, the value of the distance parameter A2 or the value of the angle of attack parameter ψ may be set so that the radius of curvature of the curved road 17=A2×cosψ. During the rotation of the virtual camera 60, the values of the position parameters (X, Y) of the virtual camera 60 correspond to the position of the first object 3, and the transition from the rotation state to a state after the rotation ends (for example, a state in which the first object 3 is located at position M3) may return the value of the distance parameter A2 and the value of the angle of attack parameter ψ to their original values (for example, normal values γ0, ψ0). Note that such changes in the value of the distance parameter A2 and the value of the angle of attack parameter ψ may also be realized via interpolated values.

第1オブジェクト3が位置M3に到達した状態における仮想カメラ60の位置パラメータ(X、Y)の各値(第2位置の一例)は、位置M3に到達した第1オブジェクト3の位置に対応し、向きパラメータθの値は、通常値θ、すなわち投影ベクトルV’(図11参照)が第1オブジェクト3の移動方向(この場合、第1オブジェクト3の位置を通るカーブ路17の接線方向)に垂直になるように設定される。このとき、図26Cに示すようなフィールド面70の曲げ変形が実現されることで、図27Cに示すフィールド画像G24Cが描画されてよい。なお、この場合、地平線HLは、変形パラメータA1の通常値βに応じた高さを有し、第1オブジェクト3等は、距離パラメータA2の通常値γに応じた表示サイズを有する。 The values of the position parameters (X, Y) of the virtual camera 60 when the first object 3 has reached the position M3 (an example of the second position) correspond to the position of the first object 3 that has reached the position M3, and the value of the orientation parameter θ is set to the normal value θ 0 , that is, the projection vector V′ (see FIG. 11 ) is set to be perpendicular to the moving direction of the first object 3 (in this case, the tangent direction of the curved road 17 that passes through the position of the first object 3). At this time, the bending deformation of the field surface 70 as shown in FIG. 26C may be realized to draw the field image G24C shown in FIG. 27C. In this case, the horizon HL has a height according to the normal value β 0 of the deformation parameter A1, and the first object 3 and the like have a display size according to the normal value γ 0 of the distance parameter A2.

このようにして、図16から図25を参照して説明した動作例によれば、第1オブジェクト3が位置M1から位置M3に移動する間、フィールド画像G24A、G24B、G24Cに示すように、地平線HLの高さH1が変化しない。すなわち、第1オブジェクト3が位置M1から位置M3に移動するのに伴い仮想カメラ60の視線方向Vが、第1オブジェクト3が位置M1に位置するときの向き(「第1方向」の一例)から、第1オブジェクト3が位置M3に位置するときの向き(「第2方向」の一例)へと変化した場合に、変化した視線方向Vに応じたフィールドオブジェクト77の曲げ変形(仮想カメラ60の視線方向Vに視て同じ変形態様の曲げ変形)が実現されるので、地平線HLの高さH1が変化しない。これにより、第1オブジェクト3の曲線状の動きに対しても仮想カメラ60を追従させつつ、地平線HLの高さH1を一定に保つことができる。ただし、変形例では、地平線HLの高さH1は、ユーザにとって違和感のないレベル内で変化されてもよい。例えばユーザにとって違和感のないレベルとは、フィールドオブジェクトが有しうる微細な凹凸等(すなわちフィールド面70の形状に対してわずかに異なる形状)に対応するレベルであってよい。このようなレベル内の変化であれば、地平線HLの高さH1が略同じとなる。 In this way, according to the operation example described with reference to FIG. 16 to FIG. 25, while the first object 3 moves from position M1 to position M3, the height H1 of the horizon HL does not change, as shown in the field images G24A, G24B, and G24C. That is, when the line of sight V of the virtual camera 60 changes from the orientation when the first object 3 is located at position M1 (an example of the "first direction") to the orientation when the first object 3 is located at position M3 (an example of the "second direction") as the first object 3 moves from position M1 to position M3, bending deformation of the field object 77 according to the changed line of sight V (bending deformation of the same deformation mode as seen from the line of sight V of the virtual camera 60) is realized, so that the height H1 of the horizon HL does not change. This makes it possible to keep the height H1 of the horizon HL constant while making the virtual camera 60 follow the curved movement of the first object 3. However, in a modified example, the height H1 of the horizon HL may be changed within a level that does not feel strange to the user. For example, a level that does not feel strange to the user may be a level that corresponds to minute irregularities that the field object may have (i.e., a shape that is slightly different from the shape of the field surface 70). If the change is within such a level, the height H1 of the horizon HL will be approximately the same.

ここで、図16から図25を参照して説明した動作例によれば、図8に示したようなフィールド面70の変形態様は、仮想カメラ60の視線方向Vに視て同じ変形態様の曲げ変形となるように、視線方向Vの動的な変化に連動して動的に変化している(図26Aから図26C参照)。具体的には、第1オブジェクト3が位置M1から位置M3に移動する間、当該移動に応じて動的に変化する。すなわち、当該第1オブジェクト3の移動に応じた原点Oの移動、及び、当該第1オブジェクト3の移動に応じた仮想カメラ60の視線方向Vの変化に起因したXc軸の変化(図21のステップS2116及び図24のステップS2414参照)によって、フィールド面70及びそれに伴うフィールドオブジェクト77の変形態様が動的に変化する。このようなフィールドオブジェクト77の変化態様の動的な変化にもかかわらず、ユーザにとって違和感(地平線の変化等による違和感)を覚えないフィールド画像の描画が可能となる。また、道路(例えばカーブ路17)に合わせて、予め曲げ変形されたフィールドオブジェクトを一つ(または複数を重ね合わせて)用意する場合よりも、その時々の状況に対応した柔軟な表現でのフィールド画像の描画が可能となり、フィールド画像の視認性が向上する。例えば、第1オブジェクト3が位置M1から位置M3に移動する間、第1オブジェクト3がN1個の位置を経由しかつ当該N1個の位置のそれぞれのフィールド画像を描画する場合、本実施形態では、N1通りの曲げ変形が実行される。これに対して、N1個よりも少ないN2個しかフィールドオブジェクト(予め曲げ変形されたフィールドオブジェクト)を用意できない場合は、その分だけフィールド画像の変化がぎこちなくなり(滑らかさが不足し)、視認性が低下しやすくなる。なお、N1個のフィールドオブジェクト(予め曲げ変形されたフィールドオブジェクト)を用意できる場合は、かかる不都合を回避できるが、上述したようにフィールドオブジェクト用の記憶領域が過大となりやすい。このようにして、本実施形態によれば、フィールドオブジェクト用の記憶領域を効率的に利用しつつ、視認性を高めることができる。 Here, according to the operation example described with reference to FIG. 16 to FIG. 25, the deformation mode of the field surface 70 as shown in FIG. 8 dynamically changes in conjunction with the dynamic change in the line of sight V so as to be the same bending deformation as seen in the line of sight V of the virtual camera 60 (see FIG. 26A to FIG. 26C). Specifically, while the first object 3 moves from position M1 to position M3, it dynamically changes in response to the movement. That is, the deformation mode of the field surface 70 and the associated field object 77 dynamically changes due to the movement of the origin O in response to the movement of the first object 3 and the change in the Xc axis due to the change in the line of sight V of the virtual camera 60 in response to the movement of the first object 3 (see step S2116 in FIG. 21 and step S2414 in FIG. 24). Despite such a dynamic change in the change mode of the field object 77, it is possible to draw a field image that does not give the user a sense of incongruity (uncomfortableness due to a change in the horizon, etc.). In addition, compared to the case where a single field object (or multiple overlapping field objects) that have been bent and deformed in advance are prepared to match the road (e.g., curved road 17), it is possible to draw a field image in a more flexible manner that corresponds to the situation at each time, and the visibility of the field image is improved. For example, when the first object 3 passes through N1 positions while moving from position M1 to position M3 and the field images at each of the N1 positions are drawn, N1 bending deformations are performed in this embodiment. In contrast, if only N2 field objects (field objects that have been bent and deformed in advance), which is less than N1, can be prepared, the change in the field image becomes awkward (lacks smoothness) and visibility is likely to decrease. Note that if N1 field objects (field objects that have been bent and deformed in advance) can be prepared, such inconveniences can be avoided, but as described above, the storage area for the field object is likely to become excessive. In this way, according to this embodiment, it is possible to efficiently use the storage area for the field object while improving visibility.

なお、図26から図27Cは、第1オブジェクト3の移動に伴い仮想カメラ60の視線方向Vが変化する場面であるが、第1オブジェクト3が移動せずに仮想カメラ60が自転や公転するような場面(すなわち回転指示に基づく回転処理(ステップS1618)が実現される場面)についても同様である。この場合も、仮想カメラ60の視線方向Vが、自転又は公転により、ある一の方向(「第1方向]の一例」から他の一の方向(「第2方向」の一例)へと変化した場合に、変化した視線方向Vに応じたフィールドオブジェクト77の曲げ変形(仮想カメラ60の視線方向Vに視て同じ変形態様の曲げ変形)が実現されるので、地平線HLの高さH1が変化しない。これにより、仮想カメラ60の動きの自由度を高めつつ、地平線HLの高さH1を一定に保つことができる。なお、この場合も、変形例では、仮想カメラ60の自転や公転中に、地平線HLの高さH1は、ユーザにとって違和感のないレベル内で変化されてもよい。 26 to 27C show a scene in which the line of sight V of the virtual camera 60 changes with the movement of the first object 3, but the same applies to a scene in which the virtual camera 60 rotates or revolves without moving the first object 3 (i.e., a scene in which a rotation process based on a rotation instruction (step S1618) is realized). In this case, too, when the line of sight V of the virtual camera 60 changes from a certain direction (an example of the "first direction") to another direction (an example of the "second direction") due to rotation or revolution, a bending deformation of the field object 77 according to the changed line of sight V (bending deformation having the same deformation mode as seen from the line of sight V of the virtual camera 60) is realized, so that the height H1 of the horizon HL does not change. This makes it possible to maintain the height H1 of the horizon HL constant while increasing the degree of freedom of movement of the virtual camera 60. In this case, too, in a modified example, the height H1 of the horizon HL may be changed within a level that does not feel strange to the user during the rotation or revolution of the virtual camera 60.

次に、図28を参照して、上述した実施形態に対する変形例について説明する。 Next, a variation of the above embodiment will be described with reference to FIG.

図28は、変形例によるサーバ装置10Aの描画機能に関する機能ブロック図の一例である。変形例によるサーバ装置10Aは、上述した実施形態によるサーバ装置10に対して、描画処理部140が描画処理部140Aで置換された点が異なる。 Figure 28 is an example of a functional block diagram relating to the drawing function of a server device 10A according to a modified example. The server device 10A according to the modified example differs from the server device 10 according to the above-described embodiment in that the drawing processing unit 140 is replaced with a drawing processing unit 140A.

本変形例による描画処理部140Aは、上述した実施形態による描画処理部140に対して、距離変更部1421がズーム量変更部1421Aで置換された点が異なる。 The rendering processing unit 140A of this modified example differs from the rendering processing unit 140 of the above-described embodiment in that the distance change unit 1421 is replaced with a zoom amount change unit 1421A.

ズーム量変更部1421Aは、焦点距離や画角等のような、仮想カメラ60のズーム量に関連する光学パラメータの値を変更する。ズーム量変更部1421Aは、距離変更部1421と同様の効果が実現されるように、光学パラメータの値を変更してよい。例えば、距離変更部1421が距離パラメータA2の値を低減させることで得られる効果は、ズーム量変更部1421Aが、ズーム量が大きくなるように光学パラメータの値を変化させることで実現されてもよい。同様に、距離変更部1421が距離パラメータA2の値を増加させることで得られる効果は、ズーム量変更部1421Aが、ズーム量が小さくなるように光学パラメータの値を変化させることで実現されてもよい。このようにして、距離変更部1421による機能を、ズーム量変更部1421Aにより実現できる。 The zoom amount change unit 1421A changes the values of optical parameters related to the zoom amount of the virtual camera 60, such as the focal length and the angle of view. The zoom amount change unit 1421A may change the values of the optical parameters so as to achieve the same effect as that of the distance change unit 1421. For example, the effect obtained by the distance change unit 1421 reducing the value of the distance parameter A2 may be achieved by the zoom amount change unit 1421A changing the value of the optical parameter so that the zoom amount increases. Similarly, the effect obtained by the distance change unit 1421 increasing the value of the distance parameter A2 may be achieved by the zoom amount change unit 1421A changing the value of the optical parameter so that the zoom amount decreases. In this way, the function of the distance change unit 1421 can be achieved by the zoom amount change unit 1421A.

なお、他の変形例では、距離変更部1421とズーム量変更部1421Aとが同時に機能してもよい。 In another variation, the distance change unit 1421 and the zoom amount change unit 1421A may function simultaneously.

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。 Although each embodiment has been described in detail above, it is not limited to a specific embodiment, and various modifications and changes are possible within the scope of the claims. It is also possible to combine all or some of the components of the above-mentioned embodiments.

例えば、上述した実施形態では、フィールドオブジェクトの曲げ変形は、フィールドオブジェクトの全体を曲げ変形することで実現されるが、これに限られない。例えば、フィールドオブジェクトの曲げ変形は、フィールドオブジェクトの全体のうちの、仮想カメラ60の画角内に収まる領域だけ又は当該領域を包含する一部領域だけに対して実行されてもよい。 For example, in the above-described embodiment, the bending deformation of the field object is realized by bending the entire field object, but this is not limited to this. For example, the bending deformation of the field object may be performed only on the area of the entire field object that falls within the angle of view of the virtual camera 60, or only on a partial area that includes that area.

また、上述した実施形態では、フィールドオブジェクトにおけるローカル座標系の原点Oが対応付けられる位置は、基本的に、第1オブジェクトの位置に対応するが、これに限られない。所定条件が成立した場合に、フィールドオブジェクトにおけるローカル座標系の原点Oが対応付けられる位置は、特定オブジェクトの位置に対応するように変更されてもよい。この場合、特定オブジェクトは、第1オブジェクトのような、フィールドオブジェクトに対して位置が変化しうるオブジェクトであってもよいし、第2オブジェクトのような、フィールドオブジェクトに対して位置が固定されたオブジェクトであってもよい。 In the above-described embodiment, the position to which the origin O of the local coordinate system in the field object corresponds basically corresponds to the position of the first object, but is not limited to this. When a predetermined condition is met, the position to which the origin O of the local coordinate system in the field object corresponds may be changed to correspond to the position of a specific object. In this case, the specific object may be an object such as the first object whose position can change relative to the field object, or an object such as the second object whose position is fixed relative to the field object.

また、上述した実施形態では、所定オブジェクトの移動の際に仮想カメラ60の位置パラメータ(X、Y)の各値に対応付けられる各種パラメータ(例えば、距離パラメータA2、向きパラメータθ、迎角パラメータψ等)の値は、位置パラメータ(X、Y)の各値が同じであるときは、毎回、同じである。例えば、所定オブジェクトの移動の際に、所定オブジェクトがある一の位置に位置するとき、当該一の位置に対しては同一の各種パラメータ(例えば、距離パラメータA2、向きパラメータθ、迎角パラメータψ等)の値が実現される。しかしながら、これに限られない。例えば、所定オブジェクトの移動の際に仮想カメラ60の位置パラメータ(X、Y)の各値に対応付けられる各種パラメータ(例えば、距離パラメータA2、向きパラメータθ、迎角パラメータψ等)の値は、位置パラメータ(X、Y)の各値が同じであるときでも、ゲームの進行状況や他の因子(例えば所定オブジェクトの移動方向等)に応じて変化されてもよい。例えば、特定位置Aに対応付けられる変形パラメータA1の値は、ゲームの進行状況や他の因子に基づき所定条件が成立した場合に値β1に設定され、それ以外の場合は、通常値β0に設定されてもよい。また、このような変化は、例えば、所定のイベントの発生や、移動する第2オブジェクトが、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に入った(画面内に配置された)場合や、ユーザによる画角変更のための手動操作に応じて実行されてもよい。 In addition, in the above-described embodiment, the values of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 when the specified object moves are the same every time when the values of the position parameters (X, Y) are the same. For example, when the specified object moves and the specified object is located at a certain position, the same values of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) are realized for the certain position. However, this is not limited to this. For example, the values of various parameters (e.g., distance parameter A2, orientation parameter θ, attack angle parameter ψ, etc.) associated with each value of the position parameter (X, Y) of the virtual camera 60 when the specified object moves may be changed depending on the progress of the game or other factors (e.g., the moving direction of the specified object, etc.) even when the values of the position parameters (X, Y) are the same. For example, the value of the deformation parameter A1 associated with the specific position A may be set to a value β1 when a certain condition is met based on the progress of the game or other factors, and may be set to a normal value β0 otherwise. Furthermore, such a change may be performed, for example, when a specific event occurs, when the moving second object enters an area of the field object that falls within the angle of view of the virtual camera 60 (is placed on the screen), or in response to a manual operation by the user to change the angle of view.

また、上述した実施形態では、特定位置A、Bのような各特定位置は、フィールドオブジェクト上の固定位置であったが、フィールドオブジェクト上で移動可能な位置であってよい。例えば、特定位置の一部は、第2オブジェクトのうちの、移動する所定の第2オブジェクトの位置に対応して設定されてもよい。この場合、一の特定位置は、移動する所定の一の第2オブジェクトの位置に対して所定関係を有する位置であってよい。 In the above-described embodiment, each specific position such as specific positions A and B was a fixed position on the field object, but may be a movable position on the field object. For example, some of the specific positions may be set to correspond to the position of a specific second object that moves among the second objects. In this case, one specific position may be a position that has a predetermined relationship to the position of one specific second object that moves.

また、上述した実施形態において、補間処理範囲が動的に変化されずに固定される場合として、当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値が位置しかつ距離パラメータA2及び迎角パラメータψの各値が通常値γ0、ψ0である場合に、任意の向きパラメータθの値のときにも、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に当該補間処理範囲に係る特定位置が位置するように、設定されてもよい点は、上述した。例えば、図29には、特定位置Aに関する補間処理範囲Rs(A)が平面視で示され、図30には、図29のラインJ1-J1に沿った断面視とラインJ2-J2に沿った断面視とが重ねて示されている。この場合、仮想カメラ60の位置パラメータ(X、Y)の各値が位置P260に対応し、かつ距離パラメータA2及び迎角パラメータψの各値が通常値γ、ψである場合に、図30に示すように、パラメータθの値が図29に示すようなθ(P260)であるとき、特定位置Aは、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に位置する。なお、図30における境界線6211は、仮想カメラ60の画角62(z方向に垂直な方向に視た際の画角)(図5参照)の上側の境界線である。従って、この場合、位置P260は、補間処理範囲Rs(A)内に属する。他方、仮想カメラ60の位置パラメータ(X、Y)の各値が位置P261に対応し、かつ距離パラメータA2及び迎角パラメータψの各値が通常値γ、ψである場合に、図30に示すように、パラメータθの値が図29に示すようなθ(P261)であるときでも、特定位置Aは、フィールドオブジェクトにおける仮想カメラ60の画角内に収まる領域に位置しない。従って、この場合、位置P260は、補間処理範囲Rs(A)内に属さない。しかしながら、更なる別の設定態様として、補間処理範囲は、そのときのカメラパラメータの各値に基づいて、動的に変化するように設定されてもよい。例えば、一の特定位置に係る補間処理範囲は、当該補間処理範囲内に仮想カメラ60の位置パラメータ(X、Y)の各値が位置しかつ更新後(又は更新前)の距離パラメータA2及び迎角パラメータψの各値(通常値γ0、ψ0とは異なる値であるうる)が適用される場合に、任意の向きパラメータθの値のときにも、仮想カメラ60の画角内に収まる領域に当該一の特定位置が位置するように、動的に設定されてもよい。これは、仮想カメラ60の位置パラメータ(X、Y)の各値が、ある一の補間処理範囲外である場合でも、他の一の補間処理範囲内に位置することにより、距離パラメータA2等の値が通常値でない補間値である可能性があるためである。なお、ここでは、仮想カメラ60の公転や自転が任意の位置で可能である仕様を想定しているが、仮想カメラ60の公転や自転が、限定された位置でのみ可能である仕様や公転や自転自体が不能である仕様では、上述した説明における“任意の向きパラメータθの値のときにも”は、“その時点の向きパラメータθの値のときに”と読み替えて適用されてよい。 As described above, in the above embodiment, when the interpolation processing range is fixed and not dynamically changed, the specific position related to the interpolation processing range may be set to be located in an area that falls within the angle of view of the virtual camera 60 in the field object even when the direction parameter θ is any value when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter ψ is the normal value γ0, ψ0. For example, Fig. 29 shows the interpolation processing range Rs(A) related to the specific position A in a plan view, and Fig. 30 shows a cross-sectional view along the line J1-J1 of Fig. 29 superimposed on a cross-sectional view along the line J2-J2. In this case, when the values of the position parameters (X, Y) of the virtual camera 60 correspond to position P260 and the values of the distance parameter A2 and the angle of attack parameter ψ are normal values γ 0 and ψ 0 , as shown in Fig. 30, when the value of the parameter θ is θ(P260) as shown in Fig. 29, the specific position A is located in an area that falls within the angle of view of the virtual camera 60 in the field object. Note that the boundary line 6211 in Fig. 30 is the upper boundary line of the angle of view 62 (the angle of view when viewed in a direction perpendicular to the z direction) (see Fig. 5) of the virtual camera 60. Therefore, in this case, position P260 belongs to the interpolation processing range Rs(A). On the other hand, when the values of the position parameters (X, Y) of the virtual camera 60 correspond to the position P261 and the values of the distance parameter A2 and the angle of attack parameter ψ are normal values γ 0 and ψ 0 , as shown in Fig. 30, even when the value of the parameter θ is θ(P261) as shown in Fig. 29, the specific position A is not located in an area that falls within the angle of view of the virtual camera 60 in the field object. Therefore, in this case, the position P260 does not belong to the interpolation processing range Rs(A). However, as yet another setting mode, the interpolation processing range may be set to change dynamically based on the values of the camera parameters at that time. For example, the interpolation processing range for one specific position may be dynamically set so that when each value of the position parameters (X, Y) of the virtual camera 60 is located within the interpolation processing range and each value of the distance parameter A2 and the angle of attack parameter ψ after (or before) the update (which may be different from the normal values γ0, ψ0) is applied, the one specific position is located in a region that falls within the angle of view of the virtual camera 60 even when the value of the orientation parameter θ is any value. This is because even if each value of the position parameters (X, Y) of the virtual camera 60 is outside a certain interpolation processing range, the value of the distance parameter A2, etc. may be an interpolated value that is not a normal value because it is located within another interpolation processing range. Note that, although a specification in which the revolution or rotation of the virtual camera 60 is possible at any position is assumed here, in a specification in which the revolution or rotation of the virtual camera 60 is possible only at a limited position or a specification in which the revolution or rotation itself is impossible, "even when the value of any orientation parameter θ" in the above description may be read as "when the value of the orientation parameter θ at that time point is".

また、仮想カメラ60の位置パラメータ(X、Y)の各値の変化速度(時間あたりの変化量)が大きいほど補間処理範囲が広くなる態様で、当該変化速度に応じて補間処理範囲の広さが動的に変化されてもよい。あるいは、同様の考え方に基づいて、変化速度とは無関係に、所定のマージンを補間処理範囲に対して設定してもよい。これにより、例えば、仮想カメラ60の位置パラメータ(X、Y)の各値の変化速度(時間あたりの変化量)が大きいまま仮想カメラ60の位置パラメータ(X、Y)の各値が特定位置(又は特定オブジェクト)に対応する各値へと変化する場合に生じうる不都合(フィールド画像の比較的急激な変化に起因してユーザに与えうる違和感)を低減できる。 The width of the interpolation processing range may be dynamically changed according to the rate of change (amount of change per time) of each value of the position parameters (X, Y) of the virtual camera 60, such that the interpolation processing range is wider as the rate of change (amount of change per time) of each value is greater. Alternatively, based on a similar concept, a predetermined margin may be set for the interpolation processing range regardless of the rate of change. This can reduce inconvenience (a feeling of discomfort that may be felt by the user due to a relatively sudden change in the field image) that may occur when each value of the position parameters (X, Y) of the virtual camera 60 changes to a value corresponding to a specific position (or specific object) while the rate of change (amount of change per time) of each value of the position parameters (X, Y) of the virtual camera 60 remains large.

また、仮想カメラ60の画角が可変である場合、画角が小さいほど補間処理範囲が広くなる態様で、仮想カメラ60の画角に応じて補間処理範囲の広さが動的に変化されてもよい。これにより、例えば、仮想カメラ60の画角が小さいまま仮想カメラ60の位置パラメータ(X、Y)の各値が特定位置(特定オブジェクト)に対応する各値へと変化する場合に生じうる不都合(フィールド画像の比較的急激な変化に起因してユーザに与えうる違和感)を低減できる。 In addition, if the angle of view of the virtual camera 60 is variable, the width of the interpolation processing range may be dynamically changed according to the angle of view of the virtual camera 60, such that the smaller the angle of view, the wider the interpolation processing range. This can reduce inconvenience (a feeling of discomfort that may be felt by the user due to a relatively sudden change in the field image) that may occur when, for example, the values of the position parameters (X, Y) of the virtual camera 60 change to values corresponding to a specific position (specific object) while the angle of view of the virtual camera 60 remains small.

なお、以上の実施例に関し、さらに以下の付記を開示する。 The following additional notes are provided regarding the above examples.

[付記1]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理装置であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向を前記第3軸まわりで変化させる回転処理部と、
前記回転処理部により前記視線方向が変化される場合に、変化後の前記視線方向に基づいて、前記フィールドオブジェクトを変形させる変形処理部とを含む、情報処理装置。
[Appendix 1]
An information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising:
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis;
a rotation processing unit that changes a line of sight direction of the virtual camera with respect to the field object around the third axis;
a transformation processing unit that, when the line of sight direction is changed by the rotation processing unit, transforms the field object based on the changed line of sight direction.

[付記2]
前記変形処理部は、前記視線方向が第1方向であるときと、前記視線方向が前記第1方向とは異なる第2方向であるときとで、前記視線方向に視て同じ変形態様で前記フィールドオブジェクトを曲げ変形させる、付記1に記載の情報処理装置。
[Appendix 2]
The information processing device described in Appendix 1, wherein the deformation processing unit bends and deforms the field object in the same deformation manner when viewed in the line of sight direction when the line of sight direction is a first direction and when the line of sight direction is a second direction different from the first direction.

[付記3]
前記変形処理部は、前記視線方向が第1方向であるときと、前記視線方向が前記第1方向とは異なる第2方向であるときとで、前記視線方向に視て前記フィールドオブジェクトで表現される仮想的な地平線の高さが略同じになるように、前記フィールドオブジェクトを曲げ変形させる、付記1に記載の情報処理装置。
[Appendix 3]
The information processing device described in Appendix 1, wherein the deformation processing unit bends and deforms the field object so that the height of a virtual horizon represented by the field object when viewed in the line of sight is approximately the same when the line of sight direction is a first direction and when the line of sight direction is a second direction different from the first direction.

[付記4]
前記フィールドオブジェクトは、変形可能な基本面に基づいて形状付けられ、
前記変形処理部は、前記視線方向と前記第3軸を含む平面で切断した際の前記基本面の形状が、前記平面に垂直な方向に沿って略同じとなるように、前記基本面を変形させる、付記1から3のうちのいずれか1項に記載の情報処理装置。
[Appendix 4]
the field object is shaped based on a deformable base surface;
The information processing device according to any one of claims 1 to 3, wherein the transformation processing unit deforms the basic surface so that a shape of the basic surface when cut by a plane including the line of sight direction and the third axis is approximately the same along a direction perpendicular to the plane.

[付記5]
前記フィールドオブジェクトは、変形可能な基本面に基づいて形状付けられ、
前記視線方向と前記第3軸を含む平面上において、所定位置を原点とし、前記原点を通り前記第3軸に平行な軸をY軸とし、前記フィールドオブジェクトに対して上側に向かう向きをY軸の正側とし、かつ、前記原点を通り前記Y軸に垂直な軸をX軸とした場合に、前記変形処理部は、X座標の値の絶対値が大きくなるほどY座標の値が線形又は非線形に単調減少する関数にしたがって、前記基本面を変形させる、付記1から3のうちのいずれか1項に記載の情報処理装置。
[Appendix 5]
the field object is shaped based on a deformable base surface;
4. The information processing device according to any one of claims 1 to 3, wherein, on a plane including the line of sight and the third axis, a predetermined position is defined as the origin, an axis passing through the origin and parallel to the third axis is defined as the Y axis, a direction toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as the X axis, the transformation processing unit deforms the basic surface according to a function in which the Y coordinate value monotonically decreases linearly or nonlinearly as the absolute value of the X coordinate value increases.

[付記6]
前記オブジェクトは、前記フィールドオブジェクトに対して配置される所定オブジェクトを更に含み、
前記視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させる第1移動処理部と、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させる第2移動処理部とを更に含み、
前記第1移動処理部は、前記フィールドオブジェクトに対する前記仮想カメラの位置を、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化させる、付記4又は5に記載の情報処理装置。
[Appendix 6]
The objects further include a predetermined object arranged relative to the field object;
a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting the line of sight;
a second movement processing unit that changes a position of the predetermined object relative to the field object,
The information processing device according to claim 4 or 5, wherein the first movement processing unit changes a position of the virtual camera with respect to the field object in conjunction with a change in a position of the predetermined object with respect to the field object.

[付記7]
前記オブジェクトは、前記フィールドオブジェクトに対して配置される所定オブジェクトを更に含み、
前記視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させる第1移動処理部と、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させる第2移動処理部とを更に含み、
前記第1移動処理部は、前記フィールドオブジェクトに対する前記仮想カメラの位置を、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化させ、
前記変形処理部は、前記所定位置を、前記所定オブジェクトの位置に基づいて決定する、付記5に記載の情報処理装置。
[Appendix 7]
The objects further include a predetermined object arranged relative to the field object;
a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting the line of sight;
a second movement processing unit that changes a position of the predetermined object relative to the field object,
the first movement processing unit changes a position of the virtual camera with respect to the field object in conjunction with a change in a position of the predetermined object with respect to the field object;
The information processing device according to claim 5, wherein the transformation processing unit determines the predetermined position based on a position of the predetermined object.

[付記8]
前記回転処理部は、前記視線方向を、前記フィールドオブジェクトに対する前記所定オブジェクトの位置に基づいて決定する、付記6又は7に記載の情報処理装置。
[Appendix 8]
The information processing device according to claim 6 or 7, wherein the rotation processing unit determines the line of sight direction based on a position of the predetermined object relative to the field object.

[付記9]
前記オブジェクトは、背景オブジェクトを更に含み、
前記フィールドオブジェクトで表現される仮想的な地平線の高さに基づいて、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を決定する背景処理部を更に含む、付記1から8のうちのいずれか1項に記載の情報処理装置。
[Appendix 9]
The objects further include a background object;
9. An information processing device according to any one of claims 1 to 8, further comprising a background processing unit that determines a position of the background object relative to the field object along the direction of the third axis based on the height of a virtual horizon represented by the field object.

[付記10]
前記変形処理部は、更に、前記フィールドオブジェクトに対する前記仮想カメラの位置が第1位置にあるときと、前記フィールドオブジェクトに対する前記仮想カメラの位置が、前記視線方向に交差する方向で前記第1位置とは異なる第2位置にあるときとで、前記フィールドオブジェクトの変形度合いを異ならせる、付記1から9のうちのいずれか1項に記載の情報処理装置。
[Appendix 10]
The information processing device described in any one of Appendix 1 to 9, wherein the transformation processing unit further differs the degree of deformation of the field object when the position of the virtual camera with respect to the field object is at a first position and when the position of the virtual camera with respect to the field object is at a second position different from the first position in a direction intersecting the line of sight.

[付記11]
前記オブジェクトは、背景オブジェクトを更に含み、
前記フィールドオブジェクトに対する前記仮想カメラの位置が前記第1位置にあるときと、前記フィールドオブジェクトに対する前記仮想カメラの位置が前記第2位置にあるときとで、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を異ならせる背景処理部を更に含む、付記10に記載の情報処理装置。
[Appendix 11]
The objects further include a background object;
The information processing device described in Appendix 10, further including a background processing unit that makes the position of the background object relative to the field object along the direction of the third axis different when the position of the virtual camera relative to the field object is at the first position and when the position of the virtual camera relative to the field object is at the second position.

[付記12]
前記背景処理部は、前記フィールドオブジェクトで表現される仮想的な地平線の高さに基づいて、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を決定する、付記11に記載の情報処理装置。
[Appendix 12]
The information processing device according to claim 11, wherein the background processing unit determines a position of the background object relative to the field object along the direction of the third axis based on the height of a virtual horizon represented by the field object.

[付記13]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理方法であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向を前記第3軸まわりで変化させ、
前記視線方向が変化される場合に、変化後の前記視線方向に基づいて、前記フィールドオブジェクトを変形させることを含む、コンピュータにより実行される情報処理方法。
[Appendix 13]
1. An information processing method for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising:
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis;
changing a line of sight direction of the virtual camera with respect to the field object around the third axis;
An information processing method executed by a computer, comprising: when the line of sight direction is changed, transforming the field object based on the changed line of sight direction.

[付記14]
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理プログラムであって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向を前記第3軸まわりで変化させ、
前記視線方向が変化される場合に、変化後の前記視線方向に基づいて、前記フィールドオブジェクトを変形させる、
処理をコンピュータに実行させる情報処理プログラム。
[Appendix 14]
1. An information processing program for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space,
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis;
changing a line of sight direction of the virtual camera with respect to the field object around the third axis;
When the line of sight direction is changed, the field object is deformed based on the line of sight direction after the change.
An information processing program that causes a computer to execute processing.

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 距離変更部
1421A ズーム量変更部
1422 向き変更部
1423 迎角変更部
1424 更新反映部
1425 回転処理部
14251 公転処理部
14252 自転処理部
14253 迎角処理部
144 第2移動処理部
145 変形処理部
146 投影処理部
147 背景処理部
148 描画データ生成部
1 Game system 3 First object 10 Server device 11 Server communication unit 12 Server memory unit 13 Server control unit 14 Side passage 15 Vertical passage 16 Roadside tree object 20 Terminal device 21 Terminal communication unit 22 Terminal memory unit 23 Display unit 24 Input unit 25 Terminal control unit 30 Network 60 Virtual camera 62 View angle 70 Field surface 72 Background surface 77 Field object 130 Drawing information storage unit 132 Operation information acquisition unit 134 Drawing data transmission unit 140 Drawing processing unit 142 Change processing unit 1420 First movement processing unit 1421 Distance change unit 1421A Zoom amount change unit 1422 Orientation change unit 1423 Angle of attack change unit 1424 Update reflection unit 1425 Rotation processing unit 14251 Revolution processing unit 14252 Rotation processing unit 14253 Angle of attack processing unit 144 Second movement processing unit 145 Transformation processing unit 146 Projection processing unit 147 Background processing unit 148 Drawing data generation unit

Claims (9)

互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理装置であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトと、前記フィールドオブジェクトに対して配置される所定オブジェクトとを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させる第1移動処理部と、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させる第2移動処理部と、
前記フィールドオブジェクトを変形させる変形処理部とを含み、
前記第1移動処理部は、前記フィールドオブジェクトに対する前記仮想カメラの位置を、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化させ、
前記変形処理部は、前記仮想カメラの位置に基づいて、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が第1位置にあるときと、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が、前記視線方向に交差する方向で前記第1位置とは異なる第2位置にあるときとで、前記フィールドオブジェクトの変形度合いを異ならせる、情報処理装置。
An information processing device for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising:
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a predetermined object arranged with respect to the field object;
a first movement processing unit that changes a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera relative to the field object;
a second movement processing unit that changes a position of the predetermined object relatively to the field object;
a transformation processing unit that transforms the field object,
the first movement processing unit changes a position of the virtual camera with respect to the field object in conjunction with a change in a position of the predetermined object with respect to the field object;
The information processing device, based on the position of the virtual camera, changes the degree of deformation of the field object between when the position of the specified object relative to the field object is at a first position and when the position of the specified object relative to the field object is at a second position different from the first position in a direction intersecting the line of sight .
前記フィールドオブジェクトは、変形可能な基本面に基づいて形状付けられ、
前記変形処理部は、前記視線方向と前記第3軸を含む平面で切断した際の前記基本面の形状が、前記平面に垂直な方向に沿って略同じとなるように、前記基本面を変形させる、請求項1に記載の情報処理装置。
the field object is shaped based on a deformable base surface;
The information processing device according to claim 1 , wherein the transformation processing unit transforms the basic surface such that a shape of the basic surface when cut by a plane including the line of sight direction and the third axis is substantially the same along a direction perpendicular to the plane.
前記フィールドオブジェクトは、変形可能な基本面に基づいて形状付けられ、
前記視線方向と前記第3軸を含む平面上において、所定位置を原点とし、前記原点を通り前記第3軸に平行な軸をY軸とし、前記フィールドオブジェクトに対して上側に向かう向きをY軸の正側とし、かつ、前記原点を通り前記Y軸に垂直な軸をX軸とした場合に、前記変形処理部は、X座標の値の絶対値が大きくなるほどY座標の値が線形又は非線形に単調減少する関数にしたがって、前記基本面を変形させる、請求項1に記載の情報処理装置。
the field object is shaped based on a deformable base surface;
2. The information processing device according to claim 1, wherein, on a plane including the line of sight and the third axis, a predetermined position is defined as an origin, an axis passing through the origin and parallel to the third axis is defined as a Y axis, a direction toward the upper side with respect to the field object is defined as the positive side of the Y axis, and an axis passing through the origin and perpendicular to the Y axis is defined as an X axis, the transformation processing unit transforms the basic surface according to a function in which the Y coordinate value monotonically decreases linearly or nonlinearly as the absolute value of the X coordinate value increases.
前記変形処理部は、前記所定位置を、前記所定オブジェクトの位置に基づいて決定する、請求項3に記載の情報処理装置。 The information processing device according to claim 3, wherein the transformation processing unit determines the predetermined position based on the position of the predetermined object. 前記オブジェクトは、背景オブジェクトを更に含み、
前記フィールドオブジェクトで表現される仮想的な地平線の高さに基づいて、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を決定する背景処理部を更に含む、請求項1から4のうちのいずれか1項に記載の情報処理装置。
The objects further include a background object;
5. The information processing device according to claim 1, further comprising a background processing unit that determines a position of the background object relative to the field object along the direction of the third axis based on a height of a virtual horizon represented by the field object.
前記オブジェクトは、背景オブジェクトを更に含み、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置が前記第1位置にあるときと、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が前記第2位置にあるときとで、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を異ならせる背景処理部を更に含む、請求項に記載の情報処理装置。
The objects further include a background object;
2. The information processing device according to claim 1, further comprising a background processing unit that changes a position of the background object relative to the field object along the direction of the third axis when the position of the specified object relative to the field object is at the first position and when the position of the specified object relative to the field object is at the second position.
前記背景処理部は、前記フィールドオブジェクトで表現される仮想的な地平線の高さに基づいて、前記フィールドオブジェクトに対する前記背景オブジェクトの、前記第3軸の方向に沿った位置を決定する、請求項に記載の情報処理装置。 The information processing device according to claim 6 , wherein the background processing unit determines a position of the background object relative to the field object along the direction of the third axis based on a height of a virtual horizon represented by the field object. 互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理方法であって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトと、前記フィールドオブジェクトに対して配置される所定オブジェクトとを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させ、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させ、
前記フィールドオブジェクトを変形させることを含み、
前記フィールドオブジェクトに対する前記仮想カメラの位置は、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化され、
前記フィールドオブジェクトは、前記仮想カメラの位置に基づいて、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が第1位置にあるときと、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が、前記視線方向に交差する方向で前記第1位置とは異なる第2位置にあるときとで、変形度合いが変化される、コンピュータにより実行される情報処理方法。
1. An information processing method for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space, comprising:
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a predetermined object arranged with respect to the field object;
changing a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera relative to the field object;
changing a position of the predetermined object relative to the field object;
transforming the field object;
a position of the virtual camera relative to the field object is changed in conjunction with a change in a position of the predetermined object relative to the field object;
An information processing method executed by a computer, in which the degree of deformation of the field object is changed based on the position of the virtual camera when the position of the specified object relative to the field object is at a first position and when the position of the specified object relative to the field object is at a second position different from the first position in a direction intersecting the line of sight.
互いに直交する第1軸、第2軸及び第3軸で規定される3次元の仮想空間に配置されるオブジェクトを、前記仮想空間に配置された仮想カメラから視た表現で描画するための情報処理プログラムであって、
前記オブジェクトは、前記第1軸及び前記第2軸で規定される2次元平面に対応付けられるフィールドオブジェクトと、前記フィールドオブジェクトに対して配置される所定オブジェクトとを含み、
前記フィールドオブジェクトに対する前記仮想カメラの視線方向に交差する方向で、前記フィールドオブジェクトに対する前記仮想カメラの位置を相対的に変化させ、
前記フィールドオブジェクトに対する前記所定オブジェクトの位置を相対的に変化させ、
前記フィールドオブジェクトを変形させる、
処理をコンピュータに実行させ、
前記フィールドオブジェクトに対する前記仮想カメラの位置は、前記フィールドオブジェクトに対する前記所定オブジェクトの位置の変化に連動して変化され、
前記フィールドオブジェクトは、前記仮想カメラの位置に基づいて、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が第1位置にあるときと、前記フィールドオブジェクトに対する前記所定オブジェクトの位置が、前記視線方向に交差する方向で前記第1位置とは異なる第2位置にあるときとで、変形度合いが変化される、情報処理プログラム。
1. An information processing program for rendering an object disposed in a three-dimensional virtual space defined by a first axis, a second axis, and a third axis perpendicular to each other, as viewed from a virtual camera disposed in the virtual space,
the objects include a field object associated with a two-dimensional plane defined by the first axis and the second axis, and a predetermined object arranged with respect to the field object;
changing a position of the virtual camera relative to the field object in a direction intersecting a line of sight direction of the virtual camera relative to the field object;
changing a position of the predetermined object relative to the field object;
transforming said field object;
The process is executed by a computer,
a position of the virtual camera relative to the field object is changed in conjunction with a change in a position of the predetermined object relative to the field object;
An information processing program in which the degree of deformation of the field object is changed based on the position of the virtual camera when the position of the specified object relative to the field object is at a first position and when the position of the specified object relative to the field object is at a second position different from the first position in a direction intersecting the line of sight .
JP2023021490A 2020-06-26 2023-02-15 Information processing device, information processing method, and information processing program Active JP7507458B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023021490A JP7507458B2 (en) 2020-06-26 2023-02-15 Information processing device, information processing method, and information processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020110737A JP7229971B2 (en) 2020-06-26 2020-06-26 Information processing device, information processing method, information processing program
JP2023021490A JP7507458B2 (en) 2020-06-26 2023-02-15 Information processing device, information processing method, and information processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020110737A Division JP7229971B2 (en) 2020-06-26 2020-06-26 Information processing device, information processing method, information processing program

Publications (2)

Publication Number Publication Date
JP2023063309A JP2023063309A (en) 2023-05-09
JP7507458B2 true JP7507458B2 (en) 2024-06-28

Family

ID=80109877

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020110737A Active JP7229971B2 (en) 2020-06-26 2020-06-26 Information processing device, information processing method, information processing program
JP2023021490A Active JP7507458B2 (en) 2020-06-26 2023-02-15 Information processing device, information processing method, and information processing program

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020110737A Active JP7229971B2 (en) 2020-06-26 2020-06-26 Information processing device, information processing method, information processing program

Country Status (1)

Country Link
JP (2) JP7229971B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009148466A (en) 2007-12-21 2009-07-09 Nintendo Co Ltd Game program and game apparatus
JP2013168022A (en) 2012-02-15 2013-08-29 Nintendo Co Ltd Image processing system, game system, image processing method, image processing device and computer program
JP2017093929A (en) 2015-11-27 2017-06-01 グリー株式会社 Program, game control method, and information processing unit
JP2017131523A (en) 2016-01-29 2017-08-03 グリー株式会社 Program, game control method, and information processor
JP2020080007A (en) 2018-11-12 2020-05-28 任天堂株式会社 Information processor, information processing program, information processing system, and information processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009148466A (en) 2007-12-21 2009-07-09 Nintendo Co Ltd Game program and game apparatus
JP2013168022A (en) 2012-02-15 2013-08-29 Nintendo Co Ltd Image processing system, game system, image processing method, image processing device and computer program
JP2017093929A (en) 2015-11-27 2017-06-01 グリー株式会社 Program, game control method, and information processing unit
JP2017131523A (en) 2016-01-29 2017-08-03 グリー株式会社 Program, game control method, and information processor
JP2020080007A (en) 2018-11-12 2020-05-28 任天堂株式会社 Information processor, information processing program, information processing system, and information processing method

Also Published As

Publication number Publication date
JP2023063309A (en) 2023-05-09
JP7229971B2 (en) 2023-02-28
JP2022007650A (en) 2022-01-13

Similar Documents

Publication Publication Date Title
EP2466445B1 (en) Input direction determination terminal, method and computer program product
JP5643617B2 (en) Image processing program, image processing apparatus, image processing method, and image processing system
JP3816375B2 (en) VIDEO GAME DEVICE, CHARACTER DISPLAY METHOD, PROGRAM, AND RECORDING MEDIUM FOR VIDEO GAME
US20090244064A1 (en) Program, information storage medium, and image generation system
JP6576874B2 (en) Image processing apparatus, image processing system, and image processing method
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 (en) Game system and programs
JP6387299B2 (en) Input processing apparatus and program
JP2020039403A (en) Program, game system and server system
JP6928060B2 (en) Input processing device and program
CN108553895A (en) User interface element and the associated method and apparatus of three-dimensional space model
JP6449647B2 (en) Input processing apparatus and program
JP6343055B1 (en) Program, information processing apparatus, and control method
JP7507458B2 (en) Information processing device, information processing method, and information processing program
JP6385272B2 (en) Input processing apparatus and program
JP7325758B2 (en) Information processing device, information processing method, information processing program
JP7223726B2 (en) Information processing device, information processing method, information processing program
CN111971098A (en) Game system and game providing method
CN113041616B (en) Method, device, electronic equipment and storage medium for controlling skip word display in game
JP2002216167A (en) Image generation system, program and information storage medium
JP6734025B2 (en) Program and terminal
JP2019063178A (en) Game system and program
JP6737836B2 (en) Program, information processing apparatus, and control method
US20100144448A1 (en) Information storage medium, game device, and game system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240412

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: 20240604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240610