以下、図面を参照しながら本発明の実施形態を詳細に説明する。図1は、本発明の一実施形態による仮想空間提供システム1の構成例を示す図である。仮想空間提供システム1は、情報処理システムの一例である。図1においては、本実施形態と関係する機能ブロックのみを抽出して示してある。仮想空間提供システム1は、仮想空間提供装置2と、端末装置3とを有する。仮想空間提供装置2は、インターネットなどのネットワーク4により1台以上の端末装置3と接続される。仮想空間提供装置2は、ユーザのアバターが配置された仮想空間の画像を生成し、生成した画像を各ユーザの端末装置3に表示させる。アバターが配置された仮想空間の一例は、メタバース空間である。メタバース空間には、複数のユーザそれぞれのアバターが含まれ得る。以下では、仮想空間提供装置2は、メタバース空間の画像を端末装置3に提供する場合を例に説明する。
端末装置3は、ユーザの操作に従って、アバター移動指示、アバター動作指示、表示範囲変更指示などを仮想空間提供装置2へ送信する。アバター移動指示は、メタバース空間においてアバターを移動させるための指示である。アバター操作指示は、アバターに所定の動作をさせるための指示である。表示範囲変更指示は、端末装置3に表示させるメタバース空間の表示範囲の位置や大きさを変更するための指示である。アバター移動指示がアバター動作指示を兼ねる場合や、アバター移動指示が表示範囲変更指示を兼ねる場合もある。例えば、アバターを前方へ移動させるアバター移動指示は、アバターに前方に歩く動作をさせるためのアバター動作指示を兼ねてもよく、さらに、表示範囲をアバターの進行方向に移動させる表示範囲変更指示を兼ねてもよい。また、例えば、アバターが右を向く動作をさせるためのアバター動作指示は、表示範囲を右方向へ回旋させる表示範囲変更指示を兼ねてもよい。アバター移動指示とアバター動作指示とを総称してアバター操作指示と記載する。
仮想空間提供装置2は、ユーザの端末装置3から受信したアバター操作指示に応じて、仮想空間内におけるそのユーザのアバターの位置や動作を決定する。仮想空間内には、建物や広告などのオブジェクトが配置される。仮想空間提供装置2は、仮想空間に各ユーザのアバターを配置して生成したメタバース空間の一部を切り出して、各端末装置3に表示させる。仮想空間提供装置2は、端末装置3へ表示させる範囲を、その端末装置3から受信したアバター操作指示や表示範囲変更指示に基づいて決定する。仮想空間提供装置2は、ユーザの端末装置3にメタバース空間内の広告が表示され、かつ、そのユーザのアバターが広告の周辺に所定時間以上滞在した場合に、ユーザが広告を閲覧したと判断する。仮想空間提供装置2は、この判定に、広告のオブジェクトに設定されたコライダーを利用する。コライダーは、オブジェクトに対する衝突の判定を行う範囲である。例えば、2つのオブジェクトのコライダー同士が衝突したかによって、それらオブジェクト同士の衝突が判定可能となる。
各装置の構成を説明する。仮想空間提供装置2は、例えば、サーバコンピュータなどのコンピュータ装置により実現される。仮想空間提供装置2は、通信部21と、記憶部22と、処理部23とを備える。
通信部21は、ネットワーク4を介したデータの送受信を行う。記憶部22は、仮想空間データと、各ユーザのアバターデータと、広告閲覧情報とを含む各種データを記憶する。仮想空間データは、仮想空間に配置される各オブジェクトのオブジェクトID、種別、画像、仮想空間における位置、オブジェクトコライダーの情報を含む。オブジェクトIDは、オブジェクトを一意に識別可能な情報である。オブジェクトの種別の例は、建物、木、広告などであるが、任意とすることができる。オブジェクトコライダーは、オブジェクトに設定されたコライダーである。オブジェクトコライダーは、オブジェクトに衝突があったことを検出する範囲である。オブジェクトコライダーは、例えば、オブジェクトの位置及び形状に近い範囲に設定される。種類が広告のオブジェクトを広告オブジェクトと記載する。広告オブジェクトの場合、オブジェクトIDに対応付けてさらにエリアコライダーと、広告リンクアドレスが設定される。エリアコライダーは、例えば、広告オブジェクトの周辺に設定される。エリアコライダーは、仮想空間において広告を見ることができる範囲に設定される。なお、オブジェクトコライダー及びエリアコライダーの位置、形状及び大きさは、任意に設定可能である。広告リンクアドレスは、広告に関連したウェブページなどのリンク先のアドレスである。
アバターデータは、ユーザIDと紐づけられる。ユーザIDは、ユーザを一意に特定する情報である。アバターデータは、アバター画像と、アバターコライダーの情報とを含む。例えば、アバターコライダーは、アバター画像に設定されたコライダーである。例えばアバターコライダーは、アバターの足の裏を含むように設定される。なお、アバターコライダーの位置、形状及び大きさは、任意に設定可能である。広告閲覧情報は、広告オブジェクトのオブジェクトIDと、その広告オブジェクトを閲覧したユーザのユーザIDと、ユーザが広告オブジェクトを閲覧した時刻を示す閲覧日時とを対応付けたデータである。
処理部23は、受信部231と、仮想空間画像生成部232と、表示画像生成部233と、広告表示判定部234と、滞在判定部235と、広告閲覧判定部236とを備える。
受信部231は、アバター操作指示や表示範囲変更指示を含む各種データを端末装置3から受信する。仮想空間画像生成部232は、オブジェクトが配置された仮想空間の画像データに、各ユーザのアバター画像を配置したメタバース空間画像を生成する。仮想空間画像生成部232は、仮想空間に配置される各ユーザのアバター画像の位置、向き及び動作を、受信部231がユーザの端末装置3から受信したアバター操作指示に従って決定する。
表示画像生成部233は、ユーザに対応した視点(カメラ位置)から仮想空間画像を見たときの表示範囲を切り出し、切り出した表示範囲を端末装置3に表示させるための画像データであるユーザ別表示画像を生成する。表示画像生成部233は、仮想空間におけるユーザに対応した視点の位置や方向、表示範囲の大きさを、そのユーザの端末装置3から受信したアバター操作指示や表示範囲変更指示に従って決定する。視点の位置、方向、表示範囲の大きさのうち一部が一定であってもよい。また、表示画像生成部233は、ユーザに対応した視点の位置や方向、表示範囲の大きさを、他のユーザの端末装置3からの指示や、仮想空間提供装置2に設定された条件などを用いて決定してもよい。表示画像生成部233は、ユーザの端末装置3に、そのユーザのユーザ別表示画像を送信し、表示させる。ユーザ別表示画像に広告オブジェクトの表示が含まれる場合、表示画像生成部233は、そのユーザ別表示画像における広告オブジェクトのオブジェクトコライダーに広告リンクアドレスを対応付ける。
広告表示判定部234は、ユーザ別表示画像において広告オブジェクトが表示されたか否かを判定する。ここでは、広告表示判定部234は、ユーザ別表示画像の生成のため表示画像生成部233が仮想空間画像から切り出した表示範囲に広告オブジェクトのオブジェクトコライダーが全て含まれる場合に、そのユーザ別表示画像を表示させた端末装置3に広告オブジェクトが表示されたと判断する。広告表示判定部234は、ユーザ別表示画像に広告オブジェクトの画像の所定割合以上が表示された場合に、広告オブジェクトが表示されたと判定してもよい。
滞在判定部235は、ユーザの端末装置3に表示されている広告オブジェクトのエリアコライダー内に、そのユーザのアバターが所定時間以上滞在したか否かを判定する。滞在判定部235は、例えば、広告オブジェクトのエリアコライダーとアバター画像に設定されているアバターコライダーとが衝突した場合にアバターの進入を検出し、その衝突が解消した場合にアバターの退出を検出する。滞在判定部235は、進入から退出までの時間を滞在時間として算出する。
広告閲覧判定部236は、広告表示判定部234により端末装置3に広告オブジェクトが表示されたと判定され、かつ、滞在判定部235によりアバターが広告オブジェクトのエリアコライダーに所定時間以上滞在したと判定された場合に、ユーザが広告オブジェクトを閲覧したと判断する。また、広告閲覧判定部236は、ユーザの端末装置3から広告オブジェクトがクリック又はタップされたことを示す通知を受信した場合も、ユーザが広告オブジェクトを閲覧したと判断する。広告閲覧判定部236は、ユーザのユーザIDと、そのユーザが閲覧した広告オブジェクトのオブジェクトIDと、閲覧日時とを対応付けた広告閲覧情報を記憶部22に書き込む。
端末装置3は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータなどのコンピュータ端末である。端末装置3は、通信部31と、入力部32と、表示部33と、処理部34とを備える。通信部31は、ネットワーク4を介したデータの送受信を行う。入力部32は、ユーザ操作を入力するデバイスであり、例えば、タッチパネルに配されたタッチセンサや、ボタン、キーボード、マウスなどである。表示部33は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置であり、画像データを表示する。
処理部34は、入力部32によるユーザ操作に従って各種処理を行う。また、処理部34は、表示部33へ画像データを表示する。処理部34は、ユーザが入力部32により入力したアバター操作指示や表示範囲変更指示を仮想空間提供装置2に送信し、仮想空間提供装置2から受信したユーザ別表示画像を表示部33に表示する。処理部34は、表示部33に表示されているユーザ別表示画像において広告オブジェクトがマウス等によりクリックされた、又は、タッチセンサによりその領域がタッチされたことを検出した場合、仮想空間提供装置2に通知する。さらに、処理部34は、クリック又はタッチされた広告オブジェクトに埋め込まれている広告リンクアドレスのウェブページを表示部33に表示する。
図2は、ユーザ別表示画像の表示例を示す図である。仮想空間提供装置2の表示画像生成部233は、図2(a)の表示画像Gaを端末装置3の表示部33に表示させる。表示画像Gaには、アバターAが表示されているが、広告オブジェクトは表示されていない。
表示画像生成部233は、アバターAの移動に伴い、図2(b)の表示画像Gbを端末装置3の表示部33に表示させる。表示画像Gbにおいては、広告オブジェクトBの一部のみが表示されているため、広告表示判定部234は、広告オブジェクトBが表示されていないと判定する。
表示画像生成部233は、さらなるアバターAの移動に伴い、図2(c)の表示画像Gcを端末装置3の表示部33に表示させる。表示画像Gcにおいては、広告オブジェクトBが全て表示されているため、広告表示判定部234は、広告オブジェクトBが表示されていると判定する。
図3は、広告オブジェクトのオブジェクトコライダー及びエリアコライダーの例を示す図である。図3に示す広告オブジェクトBは、例えば、ポスターや看板などの広告の画像であるが、広告オブジェクトはこれらに限定されない。オブジェクトコライダーCの位置及び形状は、広告オブジェクトBの位置及び形状に近い。図2の場合、オブジェクトコライダーCの形状は奥行きが狭い直方体であり、広告オブジェクトBの位置を含むように設定される。仮想空間提供装置2の広告表示判定部234は、オブジェクトコライダーCがユーザ別表示画像に全て含まれる場合に、広告オブジェクトBが表示されたと判断する。また、端末装置3において、オブジェクトコライダーCの領域がクリック又はタップされた場合、処理部34はクリック又はタップのアクション発生を仮想空間提供装置2に通知する。
エリアコライダーDは、広告オブジェクトBの前面に位置する。エリアコライダーDは、広告オブジェクトBに記載されている文字や絵などの可読性が保たれる距離及び方向に設定される。仮想空間提供装置2の滞在判定部235は、エリアコライダーDへアバターが進入(コライダーIN)した時刻と、エリアコライダーDからアバターが退出(コライダーOUT)した時刻とを取得し、それら時刻の差分によって滞在時間を算出する。
図4は、仮想空間提供装置2の処理の例を示すフロー図である。以下では、メタバース空間を利用しているN人のユーザをユーザU1~UNと記載し、ユーザUn(nは1以上N以下の整数)の端末装置3を端末装置3-nと記載する。また、ユーザUnのアバターAをアバターAnと記載し、ユーザUnのユーザ別表示画像をユーザ別表示画像Gnと記載する。また、仮想空間に配置されるJ個の広告オブジェクトBのうちj番目(jは1以上J以下の整数)の広告オブジェクトを広告オブジェクトBjと記載し、広告オブジェクトBjのエリアコライダーDをエリアコライダーDjと記載する。
仮想空間提供装置2の受信部231は、端末装置3-1~3-Nからアバター操作指示及び表示範囲変更指示を受信する(ステップS1)。仮想空間画像生成部232は、各端末装置3-nから受信したアバター操作指示に基づいて、アバターAnの位置、向き及び動作を決定する。仮想空間画像生成部232は、決定した仮想空間内の位置に、決定した向き及び動作のアバターA1~ANの画像を配置し、メタバース空間画像を生成する(ステップS2)。仮想空間提供装置2の処理部23は、ステップS4~ステップS14のループ処理を、n=1~Nのそれぞれについて行う(ステップS3)。
表示画像生成部233は、ユーザUnのユーザ別表示画像Gnを生成する(ステップS4)。すなわち、表示画像生成部233は、端末装置3-nから受信したアバター操作指示と表示範囲変更指示との一方又は両方に基づいて、ユーザUnの視点の位置及び方向と、表示範囲の大きさを決定する。表示画像生成部233は、決定した位置及び方向の視点からステップS2において生成されたメタバース空間画像を見たときの表示範囲を切り出す。表示範囲は、アバターAnの表示位置を含むが、必ずしも含まなくてもよい。表示画像生成部233は、切り出した表示範囲を表示させるユーザ別表示画像Gnを生成する。表示画像生成部233は、ユーザ別表示画像Gnに広告オブジェクトBjの表示が含まれる場合、オブジェクトコライダーCjに、広告オブジェクトBjの広告リンクアドレスを対応付ける。表示画像生成部233は、端末装置3-nにユーザ別表示画像Gnを送信する(ステップS5)。端末装置3-nの処理部34は、仮想空間提供装置2から受信したユーザ別表示画像Gnを表示部33に表示する。
広告表示判定部234は、端末装置3-nに広告オブジェクトB1~BJが表示されたか否かを判断する(ステップS6)。広告表示判定部234は、ユーザ別表示画像Gnの生成のため切り出した表示範囲に、広告オブジェクトBjのオブジェクトコライダーCjが全て含まれる場合、ユーザUnへ広告オブジェクトBjが表示されたと判断する。滞在判定部235は、広告オブジェクトB1~BJのいずれも表示されていないと判断した場合(ステップS6:NO)、後述のステップS13の処理を行う。一方、滞在判定部235は、ステップS6において広告オブジェクトB1~BJの少なくともいずれかが表示されたと判断した場合(ステップS6:YES)、ステップS7の処理を行う。
滞在判定部235は、ユーザ別表示画像Gnに表示されている広告オブジェクトBjのエリアコライダーDj内に、ユーザUnのアバターAnが進入したか否かを検出する(ステップS7)。滞在判定部235は、アバターAnが進入したことを検出した場合(ステップS7:YES)、ユーザUnのユーザIDと、広告オブジェクトBjのオブジェクトIDと、進入検出時刻とを記憶部22に書き込む(ステップS8)。滞在判定部235は、ステップS7においてアバターAnがエリアコライダーDj内に進入していないと判定した場合(ステップS7:NO)、又は、ステップS8の処理の後、ステップS9の処理を行う。表示されている広告オブジェクトBjが1つの場合、ステップS8の処理の後、ステップS13の処理が行われてもよい。
滞在判定部235は、ユーザ別表示画像Gnに表示されている広告オブジェクトBjのエリアコライダーDj内から、ユーザUnのアバターAnが退出したか否かを検出する(ステップS9)。例えば、滞在判定部235は、記憶部22に、ユーザUnのユーザID及び広告オブジェクトBjのオブジェクトIDに対応付けて、進入検出時刻が記録され、かつ、退出検出時刻が記録されておらず、さらには、アバターAnのアバターコライダーとエリアコライダーDjとが衝突していない場合に、アバターAnはエリアコライダーDj内から退出したと判定する(ステップS9:YES)。滞在判定部235は、ユーザUnのユーザIDと、広告オブジェクトBjのオブジェクトIDと、退出検出時刻とを記憶部22に書き込む(ステップS10)。
続いて、滞在判定部235は、エリアコライダーDjにおけるアバターAnの退出検出時刻から進入検出時刻を減算して、アバターAnのエリアコライダーDjにおける滞在時間を算出する。滞在判定部235は、エリアコライダーDjにおける滞在時間がしきい値以上であるか否かを判定する(ステップS11)。
なお、ステップS8において、滞在判定部235は、広告オブジェクトBjのオブジェクトIDに対応付けてタイマを起動してもよい。この場合、ステップS9において、滞在判定部235は、タイマが起動されている広告オブジェクトBjについて、アバターAnのアバターコライダーとエリアコライダーDjとの衝突が終了したかを判定する。滞在判定部235は、衝突が終了した場合にアバターAnはエリアコライダーDj内から退出したと判定し、ステップS10においてタイマを停止する。ステップS11において、滞在判定部235は、タイマのカウント値に基づいて取得した滞在時間がしきい値以上であるか否かを判定する。
広告閲覧判定部236は、エリアコライダーDjにおける滞在時間がしきい値以上であると判定した場合(ステップS11:YES)、ユーザUnが広告オブジェクトBjを閲覧したと判断する。広告閲覧判定部236は、ユーザUnのユーザIDと、広告オブジェクトBjのオブジェクトIDと、閲覧日時とを対応付けた広告閲覧情報を記憶部22に書き込む(ステップS12)。閲覧日時は、例えば、進入検出時刻でもよく、退出検出時刻でもよく、それらの間の時刻でもよい。
ステップS6において広告オブジェクトB1~BJのいずれも表示されていないと判定された場合(ステップS6:NO)、ステップS9においてアバターAnが広告オブジェクトBjのエリアコライダーDjから退出していないと判定された場合(ステップS9:NO)、ステップS11において滞在時間がしきい値に達していないと判定された場合(ステップS11:NO)、又は、ステップS12の処理の後、広告閲覧判定部236は、ステップS13の処理を行う。すなわち、広告閲覧判定部236は、端末装置3-nから広告オブジェクトBjがクリック又はタップされたことを示す通知を受信したか否かを判定する(ステップS13)。広告閲覧判定部236は、通知を受信したと判定した場合(ステップS13:YES)、ユーザUnのユーザIDと、クリック又はタップされた広告オブジェクトBjのオブジェクトIDと、閲覧日時とを対応付けた広告閲覧情報を記憶部22に書き込む(ステップS14)。
なお、広告閲覧判定部236は、端末装置3-nからユーザがクリックした又はタップした位置の情報を受信してもよい。広告閲覧判定部236は、ユーザがクリックした又はタップした位置が、広告オブジェクトBjのオブジェクトコライダーCjに含まれる場合に、ユーザUnが広告オブジェクトBjを閲覧したと判断し、ステップS14の処理を行う。
ステップS13においてクリック又はタップの通知を受信していないと判定された場合(ステップS13:NO)、又は、ステップS14の終了後、処理部23は、次のループ処理を行う。処理部23は、n=1~Nのそれぞれについてループ処理を終了した場合、図4の処理を終了する。処理部23は、広告閲覧情報に広告オブジェクトIDと紐づけて登録されているユーザUnを計数することにより、その広告オブジェクトIDの広告オブジェクトの閲覧数を得ることができる。
例えば、広告オブジェクトの位置とアバターの位置との距離を計算することで、アバターが広告オブジェクトの周辺に所定時間以上滞在したかを判定可能である。しかし、常に仮想空間内のアバターの位置座標を取得し、広告との距離を算出し続けることは、特に複数のユーザのアバターが参加するメタバース空間では、著しく処理負荷が高い。一方、上記のように、本実施形態の仮想空間提供装置2の処理部23は、広告オブジェクトに設定されたコライダーを用いて、広告オブジェクトの表示や、アバターが広告オブジェクトの周辺に滞在したかを判定するため、処理の負荷を軽減可能である。また、仮想空間提供装置2の処理部23は、ユーザの端末装置3に表示されていると判定された広告オブジェクトについてステップS7~ステップS12の処理を行うことにより、さらに処理負荷を軽減することができる。また、計測対象の広告オブジェクトの周囲に建物等の遮蔽物のオブジェクトが存在することがある。アバターと広告オブジェクトとの距離の計算だけでは、アバターの目の前の遮蔽物のため広告オブジェクトを視認できない場合でも、広告オブジェクトを閲覧したとして誤計測される可能性がある。本実施形態では、広告オブジェクトの視認を妨げる遮蔽物を避けるようにエリアコライダーを配置することによって、ユーザが広告を閲覧したという信憑性を高めることができる。つまり、本実施形態により、アバターを操作するユーザによる広告オブジェクトの閲覧を重視して、閲覧数を計測可能となる。
なお、ユーザの端末装置が表示する仮想空間に他のユーザのアバターが表示されない場合などは、仮想空間提供装置の処理の一部を、端末装置が実行してもよい。
図5は、他の実施形態による仮想空間提供システム10の構成を示す図である。仮想空間提供システム10は、情報処理システムの一例である。仮想空間提供システム10は、仮想空間提供装置20及び端末装置30を備える。仮想空間提供装置20が、図1に示す仮想空間提供装置2と異なる点は、処理部23に代えて、処理部25を備える点である。処理部25は、仮想空間画像生成部251及び受信部252を備える。仮想空間画像生成部251は、広告オブジェクトを含む各オブジェクトが配置された仮想空間の全て又は一部の画像データ生成し、ユーザの端末装置30に送信する。一例として、仮想空間画像生成部251は、アート作品のオブジェクト及び広告オブジェクトが配置された美術館の仮想空間の画像データを生成し、端末装置30に送信する。仮想空間画像生成部251は、アバターデータをさらに端末装置30に送信してもよい。受信部252は、端末装置30から広告閲覧情報を受信し、記憶部22に書き込む。
端末装置30は、例えば、スマートフォン、タブレット端末、パーソナルコンピュータ、HMD(ヘッドマウントディスプレイ)、AR(Augmented Reality)グラスなどである。端末装置30が図1に示す端末装置3と異なる点は、記憶部35を備える点と、処理部34に代えて、処理部36を備える点である。記憶部35は、仮想空間の画像データとアバターデータとを記憶する。アバターデータは、仮想空間提供装置20から受信してもよく、予め記憶していてもよい。
処理部36は、表示画像生成部361、広告表示判定部362、滞在判定部363及び広告閲覧判定部364を備える。表示画像生成部361は、仮想空間提供装置2から仮想空間の画像データを受信し、記憶部35に書き込む。表示画像生成部361は、仮想空間提供装置2からさらにアバターデータを受信し、記憶部35に書き込んでもよい。表示画像生成部361は、ユーザが入力部32により入力したアバター操作指示や表示範囲変更指示に基づいてアバターの位置、向き及び動作と、ユーザの視点の位置及び向きと、表示範囲の大きさとを決定する。表示画像生成部361は、決定した位置に、決定した向き及び動作のアバターの画像を配置した仮想空間の画像データを生成する。表示画像生成部361は、生成した仮想空間の画像データを、決定した位置及び方向の視点から見たときの表示範囲を切り出す。表示画像生成部361は、切り出した表示範囲を表示部33に表示させる。これにより、例えば上記のように生成された美術館の仮想空間内をアバターが移動するような画像を表示する。表示画像生成部361は、一部の仮想空間の画像データを仮想空間提供装置20から受信し、かつ、切り出した表示範囲がその仮想空間を超える場合は、超えた方向に隣接する仮想空間の画像データを仮想空間提供装置20から取得する。
広告表示判定部362、滞在判定部363及び広告閲覧判定部364はそれぞれ、表示部33に表示されている表示範囲及びアバターについて、仮想空間提供装置2の広告表示判定部234、滞在判定部235及び広告閲覧判定部236と同様の処理を行う。すなわち、広告表示判定部362は、表示範囲に広告オブジェクトが表示されるか否かを判定する。滞在判定部363は、表示範囲に表示されている広告オブジェクトのエリアコライダー内に、アバターが所定時間以上滞在したか否かを判定する。広告閲覧判定部364は、広告表示判定部362において表示範囲に広告オブジェクトが表示されたと判定され、滞在判定部363において、その広告オブジェクトのエリアコライダー内にアバターが所定時間以上滞在したと判定された場合、ユーザが広告オブジェクトを閲覧したと判定する。広告閲覧判定部364は、ユーザのユーザIDと、閲覧した広告オブジェクトのオブジェクトIDと、閲覧日時とを対応付けた広告閲覧情報を仮想空間提供装置20に通知する。
なお、仮想空間提供装置2、20は、広告オブジェクトの大きさ及び向きに基づいて、その広告オブジェクトのエリアコライダーの大きさ及び向きを決定する衝突範囲設定部(図示せず)を有してもよい。例えば、衝突範囲設定部(図示せず)は、広告オブジェクトの前面にエリアコライダーを配置する。また、衝突範囲設定部(図示せず)は、広告オブジェクトが大きいほど大きなエリアコライダーを設定する。衝突範囲設定部(図示せず)は、広告オブジェクトに対応付けて決定したエリアコライダーを記憶部22に書き込む。
仮想空間提供装置2、20をネットワークに接続される複数のコンピュータ装置により実現してもよい。この場合、仮想空間提供装置2、20の各機能部を、これら複数のコンピュータ装置のいずれにより実現するかは任意とすることができる。また、同一の機能部を複数のコンピュータ装置により実現してもよい。
上述した実施形態における仮想空間提供装置2、20、及び、端末装置3、30の機能をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
図6は、仮想空間提供装置2、20のハードウェア構成例を示す装置構成図である。仮想空間提供装置2、20は、プロセッサ71と、記憶部72と、通信インタフェース73と、ユーザインタフェース74とを備える。
プロセッサ71は、演算や制御を行う中央演算装置である。プロセッサ71は、例えば、CPU(central processing unit)やGPU(Graphics Processing Unit)である。プロセッサ71は、記憶部72からプログラムを読み出して実行する。記憶部72は、さらに、プロセッサ71が各種プログラムを実行する際のワークエリアなどを有する。通信インタフェース73は、他装置と通信可能に接続するものである。ユーザインタフェース74は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の入力装置や、ディスプレイなどの表示装置である。ユーザインタフェース74により、人為的な操作が入力される。
処理部23、25の機能は、プロセッサ71が記憶部72からプログラムを読み出して実行することより実現される。なお、これらの機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、記憶部22は、記憶部72により実現される。
また、端末装置3、30のハードウェア構成も図6と同様である。この場合、処理部34、36の機能は、プロセッサ71が記憶部72からプログラムを読み出して実行することより実現される。なお、これらの機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、記憶部35は、記憶部72により実現される。
上述した実施形態によれば、情報処理システムは、表示画像生成部と、広告表示判定部と、滞在判定部と、広告閲覧判定部とを有する。情報処理システムは、例えば、仮想空間提供システム1、10である。表示画像生成部は、ユーザのアバターの仮想空間における表示位置を決定し、表示位置に位置するアバターを含む仮想空間の一部をユーザの端末装置に表示させるための表示画像を生成する。広告表示判定部は、表示画像によりユーザの端末装置に仮想空間に配置された広告オブジェクトが表示されたか否かを判定する。滞在判定部は、広告オブジェクトの周辺を含む第一の衝突範囲にユーザのアバターが所定時間以上滞在したか否かを判定する。第一の衝突範囲は、例えば、広告オブジェクトの可読性が保たれる範囲である。広告閲覧判定部は、ユーザの端末装置に表示されたと判定された広告オブジェクトの第一の衝突範囲に、ユーザのアバターが所定時間以上滞在したと判定された場合に、ユーザが広告オブジェクトを閲覧したと判定する。
滞在判定部は、広告表示判定部によりユーザの端末装置に表示されたと判定された広告オブジェクトの第一の衝突範囲に対するアバターの進入及び退出を検出し、進入を検出した時刻から退出を検出した時刻までを滞在時間としてもよい。
広告表示判定部は、仮想空間における広告オブジェクトの位置に設定されている第二の衝突範囲が表示画像に含まれる場合に、広告オブジェクトが表示されたと判定してもよい。また、滞在判定部は、表示画像に広告オブジェクトが所定割合以上表示された場合に、広告オブジェクトが表示されたと判定してもよい。
情報処理システムは、広告オブジェクトの大きさ及び向きに基づいて、広告オブジェクトの第一の衝突範囲を設定する衝突範囲設定部をさらに備えてもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。