IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社カプコンの特許一覧

特開2024-7711仮想空間生成プログラム、および仮想空間生成装置
<>
  • 特開-仮想空間生成プログラム、および仮想空間生成装置 図1
  • 特開-仮想空間生成プログラム、および仮想空間生成装置 図2
  • 特開-仮想空間生成プログラム、および仮想空間生成装置 図3
  • 特開-仮想空間生成プログラム、および仮想空間生成装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007711
(43)【公開日】2024-01-19
(54)【発明の名称】仮想空間生成プログラム、および仮想空間生成装置
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240112BHJP
   A63F 13/60 20140101ALI20240112BHJP
   A63F 13/54 20140101ALN20240112BHJP
【FI】
G06T19/00 300A
A63F13/60
A63F13/54
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022108963
(22)【出願日】2022-07-06
(71)【出願人】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】小島 健二
(72)【発明者】
【氏名】松下 翔
(72)【発明者】
【氏名】柳口 弥生
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050CA07
5B050EA12
5B050EA13
5B050FA05
5B050FA10
(57)【要約】
【課題】仮想空間においてオブジェクトが所属する部分空間を、効率的、且つ正確に特定できるようにする。
【解決手段】コンピュータを、仮想空間内において第1参照点と第2参照点とを結ぶ線分に交差するオブジェクトの有無を判定する判定部563として機能させる。複数の部分空間を跨ぐ小領域を第1種領域と定義し、オブジェクトを含まない小領域を第2種領域と定義する。判定部563は、第1参照点が第1種領域に存在する場合において、複数の第2種領域のそれぞれについて、当該第2種領域内の点を第2参照点として、判定を行なう。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータを、
仮想空間内において第1参照点と第2参照点とを結ぶ線分に交差するオブジェクトの有無を判定する判定部
として機能させ、
前記仮想空間は、複数の小領域に区分されており、
前記オブジェクトは、前記仮想空間を複数の部分空間に仕切り、
複数の前記部分空間を跨ぐ前記小領域を第1種領域と定義し、
それぞれの部分空間において、前記オブジェクトを含まない小領域を第2種領域と定義した場合に、
前記判定部は、前記第1参照点が前記第1種領域に存在する場合において、複数の前記第2種領域のそれぞれについて、当該第2種領域内の点を前記第2参照点として、前記判定を行なう
仮想空間生成プログラム。
【請求項2】
請求項1の仮想空間生成プログラムにおいて、
前記判定部は、それぞれの前記部分空間において前記第1種領域に最近傍となる第2種領域における前記第2参照点について、前記判定をそれぞれ行なう
仮想空間生成プログラム。
【請求項3】
請求項1または請求項2の仮想空間生成プログラムにおいて、
複数の前記第2参照点を特定するための小領域データが、前記小領域ごとに対応して設けられており、
前記第1種領域に対応する小領域データによって、前記第1種領域には前記第2参照点を示す情報が紐付けられ、
前記判定部は、前記第1参照点が存在する第1種領域に紐付けられた前記第2参照点を示す情報を用いて前記判定を行なう
仮想空間生成プログラム。
【請求項4】
請求項1または請求項2の仮想空間生成プログラムにおいて、
前記第2参照点は、前記第2種領域の中心点である
仮想空間生成プログラム。
【請求項5】
請求項1または請求項2の仮想空間生成プログラムにおいて、
前記第1参照点は、前記仮想空間内で移動可能なオブジェクトに対応する点である
仮想空間生成プログラム。
【請求項6】
請求項1または請求項2の仮想空間生成プログラムにおいて、
前記小領域は、ボクセルで表されている
仮想空間生成プログラム。
【請求項7】
請求項1または請求項2の仮想空間生成プログラムを記憶した記憶部と、
前記仮想空間生成プログラムを実行する制御部と
を備えた仮想空間生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、仮想空間生成プログラム、および仮想空間生成装置に関する。
【背景技術】
【0002】
ゲームプログラムでは、キャラクタが移動する地面等の地形を検出するためにレイキャストが行なわれる場合がある(例えば特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-127589号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間で何らかのサービスを提供する場合には、キャラクタがどの部屋に居るかといった判定(位置特定)が必要になる場合がある。レイキャストは、位置特定の一つの手段である。この位置特定は、仮想空間の複雑さが増すと、システムの負荷が大きくなりがちである。そのため、仮想空間の複雑さが増しても、位置特定を効率的に行えるようにする必要がある。
【0005】
位置特定を効率化するには、例えば、仮想空間をボクセルに区分して、レイキャストをボクセル単位で行なうことが考えられる。
【0006】
ところが、ボクセルによって仮想空間を離散化すると、一つのボクセルに複数の部屋が含まれるといった状況が起こりえる。そのような状況では、レイキャスト(当たり判定)で一つのボクセルを特定しても、キャラクタが居る部屋を特定できない。
【0007】
本開示の目的は、仮想空間においてオブジェクトが所属する部分空間(後述)を、効率的、且つ正確に特定できるようにすることである。
【課題を解決するための手段】
【0008】
第1の態様は、コンピュータを、
仮想空間内において第1参照点と第2参照点とを結ぶ線分に交差するオブジェクトの有無を判定する判定部
として機能させ、
前記仮想空間は、複数の小領域に区分されており、
前記オブジェクトは、前記仮想空間を複数の部分空間に仕切り、
複数の前記部分空間を跨ぐ前記小領域を第1種領域と定義し、
それぞれの部分空間において、前記オブジェクトを含まない小領域を第2種領域と定義した場合に、
前記判定部は、前記第1参照点が前記第1種領域に存在する場合において、複数の前記第2種領域のそれぞれについて、当該第2種領域内の点を前記第2参照点として、前記判定を行なう
仮想空間生成プログラムである。
【0009】
第1の態様において、前記判定部は、それぞれの前記部分空間において前記第1種領域に最近傍となる第2種領域における前記第2参照点について、前記判定をそれぞれ行ってもよい。
【0010】
前記態様において、
複数の前記第2参照点を特定するための小領域データが、前記小領域ごとに対応して設け、
前記第1種領域に対応する小領域データによって、前記第1種領域には前記第2参照点を示す情報が紐付け、
前記判定部は、前記第1参照点が存在する第1種領域に紐付けられた前記第2参照点を示す情報を用いて前記判定を行ってもよい。
【0011】
前記態様において、
前記第2参照点は、前記第2種領域の中心点であるとすることができる。
【0012】
前記態様において、前記第1参照点は、前記仮想空間内で移動可能なオブジェクトに対応する点とすることができる。
【0013】
前記態様において、前記小領域は、ボクセルで表すことができる。
【0014】
第2の態様は、前記態様の仮想空間生成プログラムを記憶した記憶部と、
前記仮想空間生成プログラムを実行する制御部と
を備えた仮想空間生成装置である。
【発明の効果】
【0015】
本開示によれば、仮想空間においてオブジェクトが所属する部分空間を、効率的、且つ正確に特定できる。
【図面の簡単な説明】
【0016】
図1】ゲーム装置の構成を示すブロック図である。
図2】ボクセルの配置例を示す図である。
図3】第1種領域、第2種領域、第1参照点、第2参照点の例を示す図である。
図4】第1参照点が壁内に入り込んだ例を示す図である。
【発明を実施するための形態】
【0017】
[実施形態]
以下、仮想空間生成プログラム、および仮想空間生成装置の実施形態を説明する。本実施形態では、仮想空間生成プログラムは、ゲームプログラムとして実装されている。仮想空間生成装置は、ゲーム装置として実現されている。
【0018】
このゲームプログラムによるゲームは、仮想空間(三次元)で実施される。ゲームの種別等には限定はない。例えば、ゲームは、プレイヤキャラクタが敵キャラクタを攻撃して倒していく対戦型のアクションゲームとすることができる。
【0019】
対戦型のアクションゲームは、ユーザの操作を受けて、プレイヤキャラクタを仮想空間で活動させたり、プレイヤキャラクタ同士でグループを編成して様々なアクションを行わせたりするように構成できる。
【0020】
《ゲーム装置の構成》
〈ハードウェアの構成〉
図1は、ゲーム装置5の構成を示すブロック図である。ゲーム装置5は、ユーザの操作に基づいて所定のゲームを実行する。ゲーム装置5には、ディスプレイ61、スピーカ62およびコントローラ63が外部接続または内蔵される。
【0021】
ゲーム装置5には、例えば、パーソナルコンピュータ、プレイステーション(登録商標)、XBox(登録商標)、PlayStation Vita(登録商標)、Nintendo Switch(登録商標)などの、市販の装置を利用できる。
【0022】
ゲーム装置5では、インストールされたゲームプログラムおよびゲームデータに基づいてゲームが進行する。ゲーム装置5同士も、通信ネットワーク(図示を省略)または近距離無線通信装置(図示せず)を用いて、互いにデータ通信を行うことができる。
【0023】
ゲーム装置5は、ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54、記憶部55および制御部56を有する。ネットワークインターフェース51、グラフィック処理部52、オーディオ処理部53、操作部54および記憶部55は、バス59を介して制御部56と電気的に接続されている。
【0024】
ネットワークインターフェース51は、例えば、他のゲーム装置5や外部のサーバ装置(図示を省略)との間で各種データを送受信するために、前記通信ネットワークに通信可能に接続される。
【0025】
グラフィック処理部52は、制御部56から出力されるゲーム画像情報に従って、プレイヤキャラクタおよびゲーム空間に関する各種オブジェクトを含むゲーム画像を、動画形式で描画する。グラフィック処理部52はディスプレイ61(例えば液晶ディスプレイ)と接続されている。動画形式に描画されたゲーム画像は、ゲーム画面としてディスプレイ61上に表示される。
【0026】
オーディオ処理部53は、スピーカ62と接続されている。オーディオ処理部53は、制御部56の指示に従ってデジタルのゲーム音声を再生する。具体的には、オーディオ処理部53は、制御部56が出力した音声データをアナログ信号に変換し、スピーカ62に出力する。
【0027】
オーディオ処理部53は、3次元的な音の再生を行うために、多チャンネルの音声出力ができるように構成されている。それに合わせて、ゲーム装置5には、複数のスピーカ62が接続されている。これらのスピーカ62は、3次元的な音の再生ができるように、聴取者(例えばゲームのプレイヤ)の左右、前後、上方などに配置される場合がある。
【0028】
操作部54は、コントローラ63と接続されている。操作部54は、信号をコントローラ63との間で送受信する。ゲームのプレイヤは、コントローラ63のボタン等の各種操作子を操作することで、ゲーム装置5に信号(命令やデータなど)を入力する。
【0029】
記憶部55は、HDD、SSD、RAM、ROMなどで構成される。記憶部55には、ゲームデータ、ゲームプログラムを含む各種プログラムなどが格納されている。ゲームデータとしては、ゲーム媒体やユーザのアカウント情報などを例示できる。
【0030】
制御部56は、ゲーム装置5の動作を制御する。制御部56は、CPU(マイクロコンピュータ)、および半導体メモリを備えている。半導体メモリには、CPUを動作させるためのプログラムやデータなどが格納される。
【0031】
〈制御部56の機能的構成〉
制御部56は、ゲームプログラム(仮想空間生成プログラム)を実行することによって、キャラクタ制御部561、ボクセル配置部562、判定部563、再生部564として機能する。
【0032】
-キャラクタ制御部561-
キャラクタ制御部561は、ユーザの操作に応じて、仮想空間内でプレイヤキャラクタを動作させる。キャラクタ制御部561は、ノンプレイヤキャラクタや所定のオブジェクト(例えば乗り物など)も仮想空間内で動作させる。
【0033】
キャラクタ制御部561は、例えばAI(artificial intelligence)によってノンプレイヤキャラクタや所定のオブジェクトの動作を制御する。以下では、キャラクタ制御部561によって仮想空間内を移動させられるオブジェクトを総称して移動オブジェクトと呼ぶ場合がある。
【0034】
-ボクセル配置部562-
ボクセル配置部562は、仮想空間内に複数のボクセル(Voxel)を対応付けることによって、仮想空間を複数の小領域に区分する。ボクセルは、仮想空間において、体積を有する要素(体積要素データ)である。これらのボクセル(小領域)は、全て同形状である。以下では、ボクセルを仮想空間と対応付けることを、「ボクセルを仮想空間に配置する」と表現する場合がある。
【0035】
図2は、ボクセルの配置例を示す図である。図2は、仮想空間VS内の建物900に対して配置された複数のボクセルVxを示している。図2において、全てのボクセルVxは、正方形で記載されている。
【0036】
図2の建物900には、壁W1,W2がある。壁W1,W2は、仮想空間VS内のオブジェクトである。建物900内には壁W1,W2によって、3つの部屋A,B,Cが形成されている。
【0037】
ここで、「部分空間」という用語を定義する。「部分空間」とは、仮想空間上でサービス(本実施形態ではゲーム)を提供する上で互いに識別が必要な、仮想空間内の領域である。
【0038】
部屋A,B,Cには、残響の程度などの音響に関するパラメータ(以下、音響パラメータという)がそれぞれ設定されている。つまり、部屋A,B,Cは、ゲーム(仮想空間上のサービス)を実施する上で互いに識別が必要である。部屋A,B,Cは、仮想空間における部分空間の一例である。壁W1,W2は、仮想空間を複数の部分空間に仕切るオブジェクトである。
【0039】
更に、「第1種領域」、「第2種領域」、「第1参照点」、「第2参照点」という用語も定義する。
【0040】
「第1種領域」は、複数の部分空間を跨ぐ小領域(ボクセル)である。換言すると、「第1種領域」は、空間を仕切るオブジェクトに重なる。図2の例では、ボクセルVx1は、3つの部屋A,B,Cに跨がっている。ボクセルVx1は、空間を仕切るオブジェクトである壁W1,W2に重なっている。ボクセルVx1は、「第1種領域」の一例である。
【0041】
「第2種領域」は、それぞれの部分空間において、仮想空間を仕切るオブジェクトを含まない小領域(ボクセル)である。換言すると、第2種領域は、一つの部分空間のみを含んでいる。図2では、部屋B内のボクセルVx2が第2種領域の一例である。「第1種領域」および「第2種領域」は、ゲームのユーザが視認できる形では、ゲーム画面(ディスプレイ61)に表示されない。
【0042】
ボクセル配置部562は、ボクセルと、そのボクセルが含んでいる部分空間を特定する情報とを紐付ける情報(以下、ボクセル-部分空間変換情報という)を管理している。この紐付けによって、ボクセルを特定すると、そのボクセルが含んでいる一つまたは複数の部分空間(部屋など)を特定することができる。
【0043】
「第1参照点」は、移動オブジェクトの位置を示す点である。第1参照点は、移動オブジェクトの何れの位置に設定してもよい。一例として、移動オブジェクトが人を表すオブジェクトの場合には、その人の頭部に第1参照点を設定することが考えられる。第1参照点の位置は、移動オブジェクトの移動にともなって仮想空間VS内を移動する。
【0044】
「第2参照点」は、それぞれの第2種領域に対して設定されている。例えば、第2参照点は、第2種領域の中心点である。「第1参照点」および「第2参照点」は、ゲームのユーザが視認できる形では、ゲーム画面(ディスプレイ61)に表示されない。
【0045】
図3は、あるゲーム段階における、第1種領域T1、第2種領域T2、第1参照点R1、第2参照点R2の例を示す。以下では、第2種領域T2や第2参照点R2のように、複数個が存在するものは、説明の便宜のため、参照符号の後に枝番を付けて、これらを識別する場合がある(例えば、T2-1,T2-2,T2-3,R2-1,R2-2、R2-3)。
【0046】
図3にも、図2で示した建物900が示されている。図3に示すように、建物900内には、第1種領域T1が存在する。この第1種領域T1は、部屋A,B,Cに跨がっている。この第1種領域T1は、壁W1,W2を含んでいる。図3では、第1種領域T1における部屋B部分に、移動オブジェクトMC(例えばプレイヤキャラクタ)が存在する。換言すると、部屋Bに第1参照点R1が存在する。
【0047】
このゲームプログラムでは、複数の第2参照点を特定するためのデータ(以下、小領域データ)が、小領域(ボクセルVx)毎に対応して設けられている。ボクセル配置部562は、例えば、小領域データをリスト構造のデータで管理する。
【0048】
詳しくは、ボクセル配置部562は、各第1種領域T1について、その第1種領域T1が含むそれぞれの部分空間において、その第1種領域T1に最近傍となる第2参照点R2を小領域データによって紐付けている。以下では、第1種領域T1が含むそれぞれの部分空間において第1種領域T1に最近傍となる第2参照点R2を最近傍参照点R2と呼ぶ。
【0049】
図3の例では、部屋A(部分空間)における第2参照点のうちで、第1種領域T1に最近傍となるのは、第2種領域T2-1内の第2参照点R2-1である。同様に、部屋B(部分空間)における第2参照点のうちで、第1種領域T1に最近傍となるのは、第2種領域T2-2内の第2参照点R2-2である。部屋C(部分空間)における第2参照点のうちで、第1種領域T1に最近傍となるのは、第2種領域T2-3内の第2参照点R2-3である。
【0050】
以上の通り、図3の例では、第2参照点R2-1、第2参照点R2-2、および第2参照点R2-3の3つが、移動オブジェクトMCが存在する第1種領域T1に紐付けるべき最近傍参照点R2である。ボクセル配置部562は、これらの最近傍参照点R2を、小領域データによって、移動オブジェクトMCが存在する第1種領域T1に対応付ける。
【0051】
-判定部563-
判定部563は、移動オブジェクトが属する部分空間を特定する情報(以下、所属情報という)を生成する。判定部563は、生成した所属情報を再生部564に出力する。
【0052】
判定部563では、移動オブジェクトが、第1種領域に属するのか、第2種領域に属するのかによって、部分空間を特定する工程(以下、特定工程と呼ぶ)が異なる。移動オブジェクトが、第1種領域および第2種領域の何れに属するかを調べるには、例えば移動オブジェクトから仮想空間の真下に向かってレイキャストを行なうことが考えられる。
【0053】
移動オブジェクトの真下に向かってレイキャストを行なうことで、移動オブジェクトの位置に対応するボクセルを特定できる。ボクセルを特定できたら、ボクセル-部分空間変換情報を用いるなどして、そのボクセルが第1種領域および第2種領域の何れであるかを特定できる。
【0054】
(移動オブジェクトが第1種領域に属する場合)
判定部563は、移動オブジェクトが第1種領域に属する場合には、特定工程において、第1参照点R1と第2参照点R2とを結ぶ線分に交差するオブジェクトの有無を判定(以下、交差判定と呼ぶ)する。
【0055】
判定部563において、交差判定の対象となる第2参照点R2は、最近傍参照点R2である。判定部563は、第1参照点R1が存在する第1種領域T1に紐付けられた最近傍参照点R2を用いて交差判定を行なう。図3では、ハッチングが付された第2種領域T2内の第2参照点R2が交差判定の対象となる。
【0056】
判定部563が行なう交差判定は、いわゆるレイキャストによる交差判定である。レイキャストによる交差判定の基本的な原理は、一方の参照点からもう一方の参照点に向かって仮想の光線を出して、その光線と交わるオブジェクトが存在するか否かを調べるというものである。
【0057】
判定部563は、交差判定において交差するオブジェクトが存在しなかった場合の最近傍参照点R2をマークする。判定部563は、マークした最近傍参照点R2に対応する第2種領域T2(ボクセル)を特定する。
【0058】
判定部563は、ボクセル-部分空間変換情報を利用して、特定した第2種領域T2に対応する部分空間を特定する。判定部563は、特定した部分空間(例えば部屋)を特定する情報を、所属情報として再生部564に出力する。
【0059】
判定部563は、交差するオブジェクトが全ての交差判定において見つかった場合には、第1参照点R1がオブジェクト内に含まれている(入り込んでいる)と判定する。
【0060】
(移動オブジェクトが第2種領域に属する場合)
判定部563は、移動オブジェクトが属するボクセルが第2種領域の場合には、特定工程において、その第2種領域が対応する部分空間を特定する情報を所属情報として再生部564に出力する。
【0061】
-再生部564-
再生部564は、音声データを生成する。再生部564は、生成した音声データをオーディオ処理部53に出力する。
【0062】
再生部564は、音声データの生成に際して、音像定位を行う。再生部564は、音像定位を行うために、音声が聴取される仮想の受音点(以下、仮想マイクL)を仮想空間に設定する。この例では仮想マイクLは、プレイヤキャラクタの近傍に設定されている。仮想マイクLは、プレイヤキャラクタの移動にともなって移動する。
【0063】
このゲームでは、仮想空間内に配置された音源(仮想の音源)から音声が発せられたように、音響的な演出が行われる。再生部564は、仮想の音源(オブジェクトなど)から発せられた音声を、あたかも仮想マイクLで集音したかのような音響表現で、スピーカ62に出力する。仮想マイクLは、仮想の聴取者であり、オーディオ処理部53による音像定位の基準点である。
【0064】
再生部564は、音量調整、リバーブ(残響音)などの音響効果を音声データに反映している。再生部564は、音響効果を音声データに反映するために、プレイヤキャラクタが属する部分空間(以下、所属空間)を特定する。再生部564は、所属空間の特定には、判定部563が出力した所属情報を用いる。
【0065】
再生部564は、移動オブジェクト(プレイヤキャラクタ等)が属する部分空間を特定できたら、その部分空間に設定されている音響パラメータに基づいて、音響効果を決定する。例えば、再生部564は、プレイヤキャラクタの足音の音声データを作成する場合、プレイヤキャラクタが存在する部分空間に設定された、接地面(床、地面など)の材料(木、土、砂利など)に応じて、足音の種類を変える。再生部564は、部屋の壁の材料に応じて残響の程度を決定する場合もある。
【0066】
《動作例》
ゲームが開始されると、キャラクタ制御部561は、ユーザ(ここではゲームのプレイヤ)のコントローラ63の操作に応じて、プレイヤキャラクタ(移動オブジェクトMC)を仮想空間VS内で動作させる。キャラクタ制御部561は、必要に応じてノンプレイヤキャラクタ等のオブジェクトも仮想空間内で動作させる。
【0067】
判定部563は、特定工程を実施する。具体的には、まず、判定部563は、プレイヤキャラクタが属するボクセル(小領域)を特定する。ここでは、プレイヤキャラクタは、第1種領域に存在するものとして説明する。
【0068】
判定部563は、プレイヤキャラクタが属するボクセルに対応する小領域データによって第2参照点R2(最近傍参照点)を特定する。図3の例では、第2参照点R2-1、第2参照点R2-2、および第2参照点R2-3が最近傍参照点R2である。判定部563は、第1参照点R1と、特定した最近傍参照点R2のそれぞれとについてレイキャストを実施する。
【0069】
図3の例では、第1参照点R1と第2参照点R2-1とを結ぶ線分に壁W1(オブジェクト)が交差する。第1参照点R1と第2参照点R2-3とを結ぶ線分に壁W2(オブジェクト)が交差する。一方、第1参照点R1と第2参照点R2-2とを結ぶ線分に交差するオブジェクトは存在しない。
【0070】
これらのレイキャストの結果から、判定部563は、第2参照点R2-2が存在する部分空間に、プレイヤキャラクタ(第1参照点R1)が存在していると判断する。判定部563は、ボクセル-部分空間変換情報を用いて所属情報を求める。図3の例では、判定部563は、部屋Bを示す所属情報を出力する。
【0071】
図4は、第1参照点R1(移動オブジェクトMC)が壁W1内に入り込んだ例である。図4の例でも、3つの第2参照点R2-1、第2参照点R2-2、および第2参照点R2-3が最近傍参照点R2である。
【0072】
図4の例では、第1参照点R1と第2参照点R2-1を結ぶ線分と、第1参照点R1と第2参照点R2-2を結ぶ線分は、壁W1と交差する。第1参照点R1と第2参照点R2-3を結ぶ線分は、壁W2と交差する。
【0073】
判定部563は、第1参照点R1について、交差するオブジェクトが全ての交差判定において見つかった場合には、その第1参照点R1がオブジェクト内に入り込んでいると判定する。図4の例では、移動オブジェクトMCは、壁W1に入り込んでいる。
【0074】
再生部564は、プレイヤキャラクタ(移動オブジェクト)が存在する部分空間が特定されたら、その部分空間に対応した音響のパラメータを取得する。再生部564は、取得したパラメータに基づいて、その部分空間に適した音響効果を決定する。
【0075】
再生部564は、決定した音響効果を付した音声データをオーディオ処理部53に出力する。これにより、スピーカ62からは、所定の音響効果が付された音声が出力される。
【0076】
以上をまとめると、本件態様は、制御部56(コンピュータ)を、仮想空間内において第1参照点R1と第2参照点R2とを結ぶ線分に交差するオブジェクトの有無を判定する判定部563として機能させ、前記仮想空間は、複数の小領域に区分されており、前記オブジェクトは、前記仮想空間を複数の部分空間に仕切り、複数の前記部分空間を跨ぐ前記小領域を第1種領域T1と定義し、それぞれの部分空間において、前記オブジェクトを含まない小領域を第2種領域T2と定義した場合に、前記判定部563は、前記第1参照点R1が前記第1種領域T1に存在する場合において、複数の前記第2種領域T2のそれぞれについて、当該第2種領域T2内の点を前記第2参照点R2として、前記判定を行なう仮想空間生成プログラムである。
【0077】
《本実施形態の効果》
以上のように、特定工程では、ボクセル単位のレイキャストによって、オブジェクトが所属する部分空間を特定できる。換言すると、本実施形態では、仮想空間においてオブジェクトが所属する部分空間の探索(特定工程)を効率的に実施できる。
【0078】
この特定工程では、ボクセルが複数の部分空間を含んでいても、オブジェクトが所属する部分空間を特定できる。換言すると、本実施形態では、仮想空間においてオブジェクトが所属する部分空間を正確に特定できる。
【0079】
以上の通り、本実施形態では、仮想空間においてオブジェクトが所属する部分空間を効率的且つ正確に特定できる。
【0080】
[その他の実施形態]
ゲーム以外のサービスを提供する仮想空間においても判定部563の機能を利用できる。仮想空間では、例えば、会社の業務を行なう仮想オフィスの提供、コンサートの実施など種々のサービスを提供でき、このようなサービスの提供を行なう場合に判定部563の機能を利用してもよい。
【0081】
判定部563の判定結果(所属情報)の用途は、音響処理には限定されない。所属情報は、プレイヤキャラクタの位置に応じた各種制御に利用できる。例えば、所属情報を利用することによって、プレイヤキャラクタがいる部屋に、他のキャラクタ(例えば敵キャラクタ)を出現させたり移動させたりできる。また、所属情報を利用することによって、プレイヤキャラクタがいる部屋に応じたBGMを鳴らすこともできる。
【0082】
仮想空間を部分空間に仕切るオブジェクトは、壁には限定されない。例えば、仮想空間内の地形(洞窟、崖、川など)を構成するオブジェクトも、部分空間を構成する場合がある。なお、部分空間を構成するオブジェクトは、キャラクタが通過可能なオブジェクトであってもよい。
【0083】
小領域データでは、第2参照点R2に代えて第2種領域T2を、第1種領域T1に対応付けてもよい。第2種領域T2を特定できれば、第2参照点R2を特定できるからである。
【0084】
最近傍参照点は、必ずしもリストで管理する必要はない。最近傍参照点は、必要となった時点で探索して求めてもよい。
【0085】
小領域の実装は、ボクセルには限定されない。
【0086】
ボクセルのデータは、仮想空間生成プログラムの実行中に制御部56によって生成してもよいし、予め生成しておいたデータをボクセル配置部562によって、記憶部55に読み込むようにしてもよい。
【0087】
仮想空間生成装置は、サーバ装置とクライアント用装置(例えばゲーム装置5)とに分けて構成してもよい。この場合、制御部56で行なっていた処理は、サーバ装置とクライアント用装置の何れか一方で行ってもよいし、サーバ装置とクライアント用装置で分担してもよい。
【0088】
これらの他の実施形態を採用した場合においても、本態様の作用効果は発揮される。また、本実施形態と他の実施形態、および他の実施形態同士を適宜組み合わせることも可能である。
【符号の説明】
【0089】
5 ゲーム装置(仮想空間生成装置)
55 記憶部
56 制御部
563 判定部
A,B,C 部屋(部分空間)
R1 第1参照点
R2 第2参照点
T1 第1種領域
T2 第2種領域
VS 仮想空間
Vx ボクセル(小領域)
図1
図2
図3
図4