JP2000268192A - 近接判定方法及びプログラム提供媒体、並びに情報処理装置 - Google Patents

近接判定方法及びプログラム提供媒体、並びに情報処理装置

Info

Publication number
JP2000268192A
JP2000268192A JP6895799A JP6895799A JP2000268192A JP 2000268192 A JP2000268192 A JP 2000268192A JP 6895799 A JP6895799 A JP 6895799A JP 6895799 A JP6895799 A JP 6895799A JP 2000268192 A JP2000268192 A JP 2000268192A
Authority
JP
Japan
Prior art keywords
virtual object
area
another
information processing
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP6895799A
Other languages
English (en)
Inventor
Kazuhide Adachi
一秀 足立
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP6895799A priority Critical patent/JP2000268192A/ja
Publication of JP2000268192A publication Critical patent/JP2000268192A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 従来、分散共有仮想空間システムにおいて
は、仮想物体や、知覚領域(AOI)が定期的に位置を
更新すると、サーバの単位時間あたりの演算量が、仮想
物体とAOIの数の積に比例して増大してしまってい
た。 【解決手段】 仮想空間に仮想物体を追加・削除・移動
した場合には、先ず、空間テーブルを更新する。続い
て、空間テーブルに示された部分領域に関係のあるAO
Iを求める。そして、AOI内の仮想物体を再チェック
し、必要があれば、すなわち近接検出の候補が変わって
いればルーティングテーブルを更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散共有仮想空間
システムにおいて、多数の情報処理端末がそれぞを反映
させて動かす仮想物体間の、知覚領域への出入りを検出
するための近接判定方法、及び近接判定プログラムを提
供するプログラム提供媒体、並びに複数の操作者が操作
する複数の情報処理端末にネットワークを介して接続
し、上記近接判定方法を実行する情報処理装置に関す
る。
【0002】
【従来の技術】複数の操作者(ユーザ)が操作する複数
の情報処理端末(クライアント)と、これら複数のクラ
イアントにネットワークを介して接続している情報処理
装置(サーバ)からなり、サーバを介して複数のクライ
アントに分散して展開される共有の仮想空間上でクライ
アント同士等がコミュニケーションをとる分散共有仮想
空間システムが広く知られるようになった。
【0003】このシステム上で行われる分散共有空間コ
ミュニケーションでは、ネットワーク的に分散したユー
ザがクライアントプログラムを通じてあるサーバにアク
セスし、他のユーザとコミュニケーションをとる。ま
た、クライアントプログラムはユーザなしで自律動作す
るプログラムである場合もある。
【0004】分散共有仮想空間システムの具体例として
は、Habitat(商標)と呼ばれるサイバースペースのサ
ービスが知られている。Habitatは、米国LucasFilm社に
よって1985年から開発が始められ、米国商業ネットワー
クであるQuantumLink社で約3年間運用された後、1990
年2月に富士通Habitat(商標)としてNIFTY~Serveでそ
のサービスが開始されたものである。このHabitatにお
いては、2次元グラフィックスで描画された「ポピュロ
ポリス(Populopolis)」と呼ばれる仮想の都市に、ア
バタ(avatar;インド神話に登場する神の化身)と呼ば
れるユーザの分身(ユーザ自身を表すオブジェクト)を
送り込み、ユーザ同士がチャット(Chat;文字の入力と
表示によるテキストベースでのリアルタイムの対話)な
どを行うことができる。このHabitatの更に詳細な説明
は、サイバースペース,マイケル・ベネディクト編,19
94年3月20日初版発行,NTT出版 ISBN4−87188−265
−9C0010(原著;Cyberspace:First Steps ,Michael B
enedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−
02327−X)第282頁乃至第307頁に記載されている。
【0005】この種のパソコン通信サービスで運用され
ている従来のサイバースペースシステムにおいては、仮
想的な街並みや部屋の内部の様子が2次元グラフィック
スで描画されており、アバタを奥行きまたは手前方向へ
移動させる場合、単にアバタを2次元グラフィックスの
背景上で上下に移動させるだけであり、仮想空間内での
歩行や移動を疑似体験させるには表示の上での表現力が
乏しかった。また、自分の分身であるアバタと他人のア
バタが表示された仮想空間を、第3者の視点で見ること
になるため、この点においても、疑似体験の感覚が損な
われるものであった。
【0006】そこで、特開平9-81781号公報に開示され
ているように、仮想空間を3次元グラフィックスで表示
し、ユーザがアバタの視点で自由に歩き回れる機能が、
VRML(Virtual Reality Modeling Language)と呼ばれる
3次元グラフィクスデータの記述言語を利用することに
よって実現されている。このVRMLの詳細は、例えば、
「VRMLを知る:3次元電脳空間の構築とブラウジング
〔マーク・ペッシ著,松田晃一・蒲地輝尚・竹内彰一・
本田康晃・暦本純一・石川真之・宮下健・原和弘訳,1
996年3月25日初版発行,プレンティスホール出版
ISBN4-931356-37-0〕(原著;VRML:Browsing & Buildi
ng Cyberspace,Mark Pesce, 1995 New Readers Publish
ing ISBN 1-56205-498-8))」、または「VRMLの最新動
向とCyberPassage〔松田晃一・本田康晃著、bit(共立
出版)/1996 Vol.28 No.7 pp29乃至pp36, No.8 pp57乃
至pp65, No.9 pp29乃至pp36, No.10 pp49乃至pp58〕」
等の文献に記載されている。
【0007】また、「The Virtual Reality Modeling L
anguage Version 2.0, ISO/IEC CD14772」の公式かつ
完全な仕様書は、「http://www.vrml.org/Specificatio
ns/VRML2.0/FINAL/spec/index.html」で公開されてお
り、その日本語版は、「http://www.webcity.co.jp/inf
o/andoh/VRML/vrml2.0/spec-jp/index.html」で公開さ
れている。
【0008】VRMLの最新の言語であるVRML2.0において
は、3次元的な仮想空間内におけるオブジェクトの自律
的な振る舞い(Behavior)を記述し、表現することが可
能とされている。これにより、例えば、VRML2.0用ブラ
ウザに3次元グラフィックスで表示された仮想空間、す
なわち、3次元仮想空間を、アバタの視点で歩き回る場
合には、ユーザは、自身がその3次元仮想空間内に実際
にいるかのような感覚を享受することができる。
【0009】このVRML2.0用ブラウザおよび共有サーバ
用ソフトウェアとしては、例えば、本出願人であるソニ
ー株式会社が「Community Place(商標) Browser / Bure
au」として開発し、製品化しており、そのβ版(試供
版)を、インターネット上のホームページ「http://vs.
sony.co.jp」からダウンロードすることが可能とされて
いる。
【0010】ところで、3次元仮想空間には複数のユー
ザに対応するアバタやオブジェクトが存在しているが、
実際にクライアントPCに分散されて表示される3次元
仮想空間はその一部であり、自己のアバタから遠く離れ
たオブジェクト(アバタを含む)の位置情報等は当分必
要ではない。
【0011】そこで、クライアントPCとして使用する
パーソナルコンピュータの処理能力やネットワークの通
信量を考慮して、相互に位置情報を通信するオブジェク
トの数を制限することにより、3次元仮想空間の表示を
速やかに行えるようにしている。このため、クライアン
トはシステムに接続された膨大な他のクライアントの全
体を知ることなく、コミュニケーションの必要な相手を
見つけ出せる。この機能はサーバによって提供されなけ
ればならない。
【0012】したがって、このような分散共有仮想空間
システムに使われるサーバは、アバタなどの遠隔仮想物
体同士が近接したイベントをもらさず検出する機能を有
している。この機能を近接検出とよぶ。
【0013】この近接検出は、各仮想物体毎に知覚領域
(Area Of Interest:AOI)として所定の半径の球状
領域を設定し、そのAOIへの他の仮想物体の出入りを
判定することで行われてきた。
【0014】また、仮想物体が位置を更新する度に仮想
空間の全てのAOIとの距離判定を行い、AOIが位置
を更新する度に全ての仮想物体との距離判定を行ってい
た。
【0015】
【発明が解決しようとする課題】しかし、仮想物体や、
AOIが定期的に位置を更新すると、サーバの単位時間
あたりの演算量が、仮想物体とAOIの数の積に比例し
て増大してしまうという問題が発生してしまう。
【0016】また、その結果、ある仮想空間を同時に共
有できる仮想物体の数やクライアントの数が制限されて
しまうという問題も発生してしまう。
【0017】本発明は、上記実情に鑑みてなされたもの
であり、知覚領域と仮想物体の近接を調べるための演算
量を減らし、情報処理装置の負荷を減少させることので
きる近接判定方法及びそのプログラム提供媒体の提供を
目的とする。
【0018】また、知覚領域と仮想物体の近接を調べる
ための演算量を減らすことができ、より多くのユーザが
同時に接続できるようになる情報処理装置の提供を目的
とする。
【0019】
【課題を解決するための手段】本発明に係る近接判定方
法は、上記課題を解決するために、仮想空間を分割した
部分領域を、任意の仮想物体が別の仮想物体を知覚する
ための知覚領域の単位とし、任意の仮想物体の知覚領域
内に別の仮想物体(又は別の知覚領域)が入ったときに
任意の仮想物体に対して別の仮想物体が近接したと判定
する。
【0020】また、本発明に係る近接判定方法は、上記
課題を解決するために、仮想空間を分割した部分領域
を、仮想物体毎の持つ別の仮想物体を知覚するための知
覚領域に、別の仮想物体が近接したか否かの判定に用い
る。
【0021】また、本発明に係るプログラム提供媒体
は、上記課題を解決するために、仮想空間における任意
の仮想物体に対して別の仮想物体が近接したことを判定
する近接判定プログラムを提供するプログラム提供媒体
であって、任意の仮想物体が別の仮想物体を知覚するた
めの知覚領域を求める工程と、上記仮想空間を分割した
部分領域に属する仮想物体リストを示す空間テーブルを
更新し、この空間テーブルを用いて上記知覚領域に対す
る仮想物体の入出の変化を判定する工程とを備えてなる
近接判定プログラムを提供する。
【0022】また、本発明に係るプログラム提供媒体
は、上記課題を解決するために、仮想空間における任意
の仮想物体に対して別の仮想物体が近接したことを判定
する近接判定プログラムを提供するプログラム提供媒体
であって、上記仮想空間を分割した複数の部分領域の内
で、任意の仮想物体が別の仮想物体を知覚するための知
覚領域の中心から別の仮想物体の中心までの距離が、上
記知覚領域の半径よりも小さいか否かを判定する工程
と、上記工程で上記知覚領域の半径よりも小さい距離に
あると判定した別の仮想物体を近接したとする工程とを
備えてなる近接判定プログラムを提供する。
【0023】本発明に係る情報処理装置は、上記課題を
解決するために、複数の操作者が操作する複数の情報処
理端末に、ネットワークを介して接続している情報処理
装置において、上記複数の情報処理端末上に展開される
共通の仮想空間を分割した部分領域を、任意の情報処理
端末を反映した任意の仮想物体が別の仮想物体を知覚す
るための知覚領域の単位とし、任意の仮想物体の知覚領
域内に別の仮想物体(又は別の知覚領域)が入ったとき
に任意の仮想物体に対して別の仮想物体が近接したと判
定する制御手段を備え、上記任意の情報処理端末を反映
した任意の仮想物体に対して上記制御手段が近接したと
判定した別の仮想物体に反映された別の情報処理端末
に、上記任意の情報処理端末からメッセージを送受信さ
せる。
【0024】また、本発明に係る情報処理装置は、上記
課題を解決するために、複数の操作者が操作する複数の
情報処理端末に、ネットワークを介して接続している情
報処理装置において、上記複数の情報処理端末上に分散
して展開される共有の仮想空間を分割した部分領域を、
仮想物体毎の持つ別の仮想物体を知覚するための知覚領
域に、別の仮想物体が近接したか否かの判定に用いる制
御手段を備え、上記任意の情報処理端末を反映した任意
の仮想物体に対して上記制御手段が近接したと判定した
別の仮想物体に反映された別の情報処理端末を、上記任
意の情報処理端末との間でメッセージを送受信させる対
象とする。
【0025】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。図1は本発明を適用し
た分散共有仮想空間システムの構成例を表している。な
お、本明細書中において、システムとは、複数の装置が
論理的に集合した物をいい、各構成の装置が同一筐体中
にあるか否かは問わない。
【0026】図1において、クライアントPC(パーソ
ナルコンピュータ)1乃至3は、IP(インターネット接
続サービスプロバイダ)4乃至6を介してインターネッ
ト(The Internet)7と接続されており、VRMLブラウザ
及びWWWブラウザがインストールされ、インストールさ
れたこれらのブラウザが動作するようになされている。
【0027】クライアントPC1乃至3は、3Dクライ
アントおよび2Dクライアントの2つの機能を有してい
る。3Dクライアントは、定期的あるいは必要なときに
自分の位置情報などの情報を共有サーバ12に通知し、
また、共有サーバ12から送られてくる他の3Dオブジ
ェクトの共有情報を受信し、それを表示させる機能を有
している。2Dクライアントは、HTTPに基づいてWWWサ
ーバ10に情報をリクエストし、その返事を受け取っ
て、主に2次元情報を表示する機能を有する。3Dクラ
イアントは、共有サーバ12から受け取った情報内にUR
Lが含まれている場合、2Dクライアントに、URLへのア
クセスを要求する。2Dクライアントは、この要求に基
づいてURL(WWWサーバ10)にアクセスし、そこからデ
ータ(例えばオブジェクトの形状データ)をダウンロー
ドして、3Dクライアントに転送する。
【0028】インターネット7とルータ8を介して接続
されたLAN(Local Area Network)9には、WWWサーバ1
0、WLS(World Location Server)11、共有サーバ1
2、AO(Application Object)サーバ13,14、メー
ルサーバ15、およびコミュニケーションサーバ16が
接続されている。これらの各サーバ10乃至16には、
ハードディスク(HDD)10a,10b,11a乃至1
6aが、各々設けられている。
【0029】なお、AOサーバ13は、共有サーバ12
と通信するプログラムを有し、例えば仮想空間内におい
て、自律的に動作するロボットや電子ペットなどのアプ
リケーションオブジェクト(AO)を提供する。AOサ
ーバ13は、3Dクライアントと同様に、共有サーバ1
2と通信し、自分自身の情報を通知したり、他の3Dオ
ブジェクトの共有情報を受信したりする。
【0030】コミュニケーションサーバ16は、公衆電
話回線網17を介して電話機18やファクシミリ19と
接続され、また、PHS(登録商標)(Persona
l Handyphone System)サービスプ
ロバイダ20を介してPHS端末23に無線接続され、さ
らに、ポケットベル(登録商標)サービスプロバイダー
21を介してポケットベル端末24に無線接続されてい
る。
【0031】図2はクライアントPC1のハードウェア
の構成例を示すブロック図である。この例において、CP
U30は、ROM34に記録されているプログラムに従って
各種の処理を実行するようになされており、HDD31はV
RML 2.0ファイルや、Java(米国 Sun Microsystems社の
商標)により記述された所定のスクリプトプログラム等
からなるVRMLコンテンツなどが格納されている。CD-ROM
ドライブ32は、CD−ROMディスク33に格納されたVRM
Lコンテンツ等の情報を読み取るようになされている。
【0032】サウンド処理回路35は、マイクロフォン
36と左右のスピーカ37,38が接続されており、マ
イクロフォン36からの音声を入力し、または、音楽や
効果音等をスピーカ37,38から出力する。モデム3
9は、インターネット7に接続され、データを授受する
ようになされている。I/O(入出力)インタフェース4
0はマウス41とキーボード42からの操作信号を受け
付けるようになされている。グラフィックス回路43
は、VRAM44が内蔵されており、各種の処理を施した画
像データをVRAM44に格納し、VRAM44から読み出した
画像データを、CRTモニタ45に表示させる。
【0033】RAM46には、実行時に、例えば、Windows
95(米国Micro Soft社の商標) の上で動作するWWWブラウ
ザであるNetscape Navigator、Javaインタプリタ、およ
び、本出願人であるソニー株式会社によって開発された
VRML2.0ブラウザであるCommunity Place Browserが読み
込まれて、CPU30によって実行される状態とされてい
る。
【0034】VRML2.0ブラウザには、米国シリコングラ
フィクス社によって開発され、無償公開されているVRML
の構文解釈用ライブラリ(パーサ)であるQvLibと、英国C
riterion Software Ltd.のソフトウエアレンダラである
RenderWare等、もしくはこれらと同等の機能を有するパ
ーサやレンダラが実装されている。
【0035】そして、 Community Place Browserは、図
1に示すように、WWWブラウザとしてのNetscape Naviga
torとの間において、NCAPI(Netscape Client Applicat
ionPrograming Interface)(商標)に基づいて各種デ
ータの授受を行う。
【0036】Netscape Navigatorは、インターネット7
を介してWWWサーバ10よりHTMLファイルとVRMLコンテ
ンツ(VRMLファイルとJavaによるスクリプトプログラム
とを含む)の供給を受けると、これらをローカルのHDD
31にそれぞれ記憶させる。Netscape Navigatorは、こ
のうちのHTMLファイルを処理してテキストや画像をCRT
モニタ45に表示する一方、 Community Place Browser
はVRMLファイルを処理して3次元仮想空間をCRTモニタ
45に表示させるとともに、Javaインタプリタによるス
クリプトプログラムの処理結果に応じて、3次元仮想空
間内のオブジェクトの挙動、その他の表示状態を変化さ
せる。
【0037】なお、図示は省略するが、他のクライアン
トPC2やクライアントPC3も、クライアントPC1
と同様に構成されている。
【0038】次に上述した一実施の形態の動作につい
て、図3乃至5を参照して説明する。図3において、番
号1で示すように、最初に、WWWブラウザを用いて、VRM
Lコンテンツを提供しているWebサイトのホームページを
閲覧する。この例では、 「http://pc.sony.co.jp/sapa
ri/」を閲覧している。次に、番号2で示すように、ク
ライアントPC1またはクライアントPC2のユーザ
は、VRML2.0ファイルと、VRML空間内での自律的な動き
を実現するためのスクリプトプログラム(Javaによるス
クリプトプログラム)とからなるVRMLコンテンツを、そ
れぞれダウンロードする。
【0039】勿論、 CD-ROMディスク33で提供されるV
RMLコンテンツをCD−ROMドライブ32で読み込んでも良
い。
【0040】次に、図4に示すように、クライアントP
C1またはクライアントPC2では、それぞれにダウン
ロードされ、一旦ローカルのHDD31に格納されたVRML
2.0ファイルを、VRML2.0ブラウザであるCommunity Plac
e Browserが解釈するとともに実行し、さらに番号3で
示すように、VSCP(Virtual Society Server Client Pro
tocol)に基づいて、WLS11に対して共有サーバ12のU
RLを問い合わせる。このとき番号4で示すように、WLS
11は、HDD11aに格納された共有サーバURL管理テー
ブルを参照して、クライアントPC1またはクライアン
トPC2に対して、共有サーバ12のURLを通知する。
【0041】このURLを用いて、図5に示すように、ク
ライアントPC1とクライアントPC2が、共有サーバ
12に接続する。その結果、番号5で示すように、この
共有サーバ12を介して共有3Dオブジェクトの位置や動
きなどに関する共有メッセージの送信が行われ、番号6
で示すように、その転送が行われ、マルチユーザ環境が
実現される。
【0042】なお、以上の接続手順の詳しい説明につい
ては、特開平9-81781号公報を参照されたい。
【0043】また、ここでは、3次元仮想空間を、マル
チユーザ環境で使用することとしているが、マルチユー
ザ環境で使用しないこと(以下、適宜、シングルユーザ
環境という)、即ち、自身以外の他のユーザのアバタ
(ドローンアバタ)を登場させないようにするととも
に、自身のアバタ(パイロットアバタ)を、他のユーザ
のクライアントの3次元仮想空間に登場させないように
することも可能である。これは、上述した番号3乃至6
で表した処理を行わないようにすることで実現すること
ができる。
【0044】次に、図6を参照して、知覚領域(AO
I)の具体例である、オーラについて説明する。同図に
示すように、パイロットアバタ51の周囲には、パイロ
ットアバタ51を中心とする所定の半径を有する球より
なるオーラ52が形成される。パイロットアバタ51
は、オーラ52の内部に位置する他のオブジェクトから
の情報を受信することができる。具体的には、図6に示
すように、パイロットアバタ51は、オーラ52内に位
置するドローンアバタ53−1とオブジェクト(AO)
54−1を視認することができる(それらの画像がパイ
ロットアバタ51のクライアントPCのCRTモニタに表
示される)が、オーラ52の外部に位置するドローンア
バタ53−2やオブジェクト54−2を視認することが
できない(ドローンアバタ53−2やオブジェクト(A
O)54−2の画像は、パイロットアバタ51のクライ
アントPCのCRTモニタには表示されない)。
【0045】他のドローンアバタ53−1,53−2、
オブジェクト54−1,54−2にも同様にオーラが設
定される。なお、このシステムにおいては、各クライア
ントPCが対応するアバタのオーラは同一の大きさとさ
れるが、AOのオーラは、必要に応じてアバタのオーラ
とは異なる範囲に設定される。
【0046】このように、オーラ52を規定すること
で、パイロットアバタ51は、ドローンアバタ53−1
とオブジェクト54−1からの情報を受け取る必要があ
るが、オーラ52の外部に位置するドローンアバタ53
−2またはオブジェクト54−2からの情報は受信する
必要がないので、受信する情報量を制限することが可能
となる。
【0047】すなわち、例えば、図7に示すように、ア
バタ51が移動すると、その新たな位置情報が共有サー
バ12に転送される。共有サーバ12は、アバタ51の
新たな位置に対応するオーラ52の内部にどのようなオ
ブジェクト(アバタを含む)が位置するのかを判断し、
そのオブジェクトに関する情報をアバタ51のクライア
ントPCに通知する。図7に示す例では、アバタ51の
移動後のオーラ52の内部にオブジェクト54−1が存
在するため、共有サーバ12は、オブジェクト54−1
の情報をアバタ51のクライアントPCに通知する。こ
れにより、アバタ51のクライアントPCには、オブジ
ェクト54−1の画像が表示され、アバタ51のユーザ
は、オブジェクト54−1を視認することができる。
【0048】つまり、共有サーバ12は、アバタなどの
遠隔仮想物体同士が近接したイベントをもらさず検出し
ている。この近接検出は、各仮想物体毎に所定の半径の
球状領域をAOIと設定し、そのAOIへの他の仮想物
体の出入りを判定することで行ってきた。
【0049】したがって、仮想物体が位置を更新する度
に仮想空間の全てのAOIとの距離判定を行い、AOI
が位置を更新する度に全ての仮想物体との距離判定を行
っていた。
【0050】しかし、仮想物体や、AOIが定期的に位
置を更新すると、サーバの単位時間あたりの演算量が、
仮想物体とAOIの数の積に比例して増大してしまうと
いう問題が発生してしまう。
【0051】また、その結果、ある仮想空間を同時に共
有できる仮想物体の数やクライアントの数が制限されて
しまうという問題も発生してしまう。
【0052】そこで、共有サーバ12は、本発明の近接
判定方法を用いて別の仮想物体の近接を判定する。すな
わち、仮想空間を分割した部分領域を、任意の仮想物体
が別の仮想物体を知覚するための知覚領域の単位とし、
任意の仮想物体の知覚領域内に別の仮想物体(又は別の
知覚領域)が入ったときに別の仮想物体が近接したと判
定する。
【0053】図8は上記共有サーバ12がマルチユーザ
サーバとして動作するときの概念を説明するための図で
ある。共有サーバ12は各ユーザが発するメッセージを
どのユーザに転送するかを表すルーティングテーブルを
持っており、そのテーブルに沿って各ユーザからのメッ
セージを他の各ユーザに転送する。図8に示した具体例
では、ユーザDの発するメッセージ(チャットテキスト
による)はユーザC,A,Bに転送されるが、ユーザE
の発するメッセージは誰も受け取らない。
【0054】一般に、仮想空間アプリケーションの場
合、仮想空間内で近いユーザ同士がインタラクションで
きるように、共有サーバは常に各ユーザの仮想空間内で
の位置を監視し、ルーティングテーブルを更新する。
【0055】次に、図9には本発明の近接判定方法の概
念図を示す。3次元の仮想空間の一部を、平面に投影し
たものである。多くの場合、仮想空間の水平面であるX
−Z平面が用いられる。投影面として仮想物体の分散が
大きい部分空間(平面)を選ぶと、仮想物体の集合を効
率良く分離できる。ただし投影は本発明に必ずしも必要
なわけではない。また、3次元空間以外の多次元空間で
あっても同様に適用できる。
【0056】以後、簡単のため、投影された2次元空間
座標系を(x,z)と表記する。ある仮想物体の中心点
(x,z)がどの領域に存在するかは、以下の式(1)
に示すマッピング関数を用いて領域に固有なインデック
スを求めることによって高速に実現される。このマッピ
ング関数は、投影面を原点からある幅u(=1.0m)
で格子状に分割する。分割された各領域には、ユニーク
なインデックスが割り当てられる。
【0057】
【数1】
【0058】ここで、int(a)は、aを越えない最大の整
数を返す関数である。
【0059】仮想物体のAOIは、その仮想物体に最も
近い4領域とする。このとき、AOIの領域の4つのイ
ンデックスは、(x、z)にオフセット(u/2,u/
2),(u/2,−u/2),(−u/2,−u/
2),(−u/2,u/2)をそれぞれ加えた座標を、
上記(1)式のマッピング関数を用いてマッピングする
ことで得られる。図9の例では、中心点(x,z)=
(11.4m,11.3m)である仮想物体CのAOIは、(1
0,10),(10,11),(11,10),(1
1,11)である。
【0060】次に、ある領域を指定して、その中の仮想
物体のリストを取得するためのデータ構造について述べ
る。図10には、図9の状態における、仮想物体リスト
のメモリへの格納イメージを示すハッシュ表を示す。ハ
ッシュ表は、メモリ上でデータを高速に検索するための
手法であり、各種のツリー構造とは異なり、静的な配列
だけで簡単に実装でき、効率が極めて高い。領域のイン
デックスをキーとし、仮想物体リストを格納するコンテ
ナを要素とする。この例では、領域(10,11)には
仮想物体A,Bが存在している。また、領域(11,1
0)には仮想物体Dが、領域(12,11)には仮想物
体Eが、領域(11,11)には仮想物体Cが存在して
いる。以後、この図10に示すハッシュ表を部分領域の
インデックスをキーとし、その部分領域内の仮想物体リ
ストをエントリーする空間テーブルという。
【0061】この方式の空間テーブルを用いると、空間
テーブルの大きさ、すなわち必要なメモリの量は仮想物
体の存在する領域の数に依存し、空間の広さに依存しな
いという利点がある。物体が存在する部分領域の数が著
しく増えたときのみ、動的にテーブルを拡張すればよ
い。また、このテーブルをハッシュ表を用いて実装する
ことで、インデックスからのエントリーの探索が高速と
なり、周囲の部分領域内の仮想物体をわずかな計算量で
リストアップできる。
【0062】上記システムでは、仮想物体(とそのAO
I)が仮想空間に追加・削除されたり、仮想空間内で移
動すると、共有サーバ12はその仮想物体と周囲の仮想
物体群との近接検出を行う。
【0063】図11は、図9に示した仮想物体Cが移動
した例である。この例では図10に示した空間テーブル
上での仮想物体リストの更新は起こらないが、仮想物体
CのAOIは新たに(11,10),(11,11),
(11,12),(12,10)となる。この場合の近
接検出の候補は仮想物体D,Eである。
【0064】通常、仮想空間に仮想物体を追加・削除・
移動した場合には、先ず、空間テーブルを更新する。続
いて、空間テーブルに示された部分領域に関係のあるA
OIを求める。そして、AOI内の仮想物体を再チェッ
クし、必要があれば、すなわち近接検出の候補が変わっ
ていればルーティングテーブルを更新する。
【0065】図12には仮想物体の更新による空間テー
ブルの更新処理を示す。仮想物体が、追加・削除・移動
したとき、ステップS1ではその仮想物体が属する部分
領域のインデックスを上記(1)式のマッピング関数を
用いて計算する。ステップS2では以前のインデックス
と変わったか否かを判定する。変わっていればステップ
S3に進む。
【0066】ステップS3では領域テーブルの前のイン
デックスのエントリーからその仮想物体の参照を削除す
る。ステップS4では新しいインデックスのエントリー
にその仮想物体の参照を追加する。
【0067】ステップS5では更新が起きた領域内のす
べてのAOIに対して、それぞれ更新を通知する。そし
て、ステップS6ではその仮想物体のAOIに対して更
新を通知する。これにより空間テーブルが更新される。
【0068】なお、ステップS2で以前のインデックス
と変わっていないと判断すればステップS6に進み、上
述した処理を行う。
【0069】次に、図13には、AOIの更新によるル
ーティングテーブルの更新処理を示す。
【0070】AOIに、追加・削除・移動などの更新が
起きたとき、ステップS11ではそのAOIが属する部
分領域のインデックスを求める。ステップS12ではイ
ンデックスを用いて空間テーブルから新しい仮想物体の
リストを取得する。
【0071】ステップS13では以前の近接仮想物体リ
ストと新しい近接仮想物体リストとを比較し、増減を得
る。ステップS14ではルーティングテーブルの新たに
減った物体のエントリーから、それぞれAOIを削除す
る。ステップS15ではルーティングテーブルの新たに
増えた物体のエントリーに、それぞれAOIを追加す
る。これによりルーティングテーブルが更新される。図
14には更新されたルーティングテーブルの具体例を示
す。ユーザCの移動にしたがって、ユーザCはユーザ
A,Bのルーティングエントリーから削除され、ユーザ
Eのルーティングエントリーに追加される。以後、ユー
ザEの発したチャットテキスト等のメッセージは、ユー
ザCにもルーティングされるようになる。
【0072】なお、上記具体例では、仮想物体のAOI
を、その仮想物体に最も近い、4領域としたが、9領域
としてもよい。この場合、AOIの領域の9つのインデ
ックスは、0を含むプラスマイナスuの組合せをオフセ
ットとして上記座標に加えることによって得られる。
【0073】また、共有サーバ12は、他の近接判定方
法を適用してもよい。仮想空間を分割した部分領域を、
仮想物体毎の持つ別の仮想物体を知覚するための知覚領
域の決定に用い、ここで決定した任意の仮想物体の知覚
領域内に別の仮想物体(又は別の知覚領域)が入ったと
きに別の仮想物体が近接したと判定する方法である。
【0074】AOIは、しばしば球形の領域として実現
される。仮想物体の代表点がAOI球に入っているかど
うかは、物体の代表点とAOIの代表点との距離と、A
OI球の半径を比較して、距離が半径より小さければA
OIに入っているものとしてルーティングが行われる。
【0075】図15には、AOIが球である場合の具体
例を示す。この例では、仮想物体CにはDのみが近接し
ている。従来は仮想空間内のすべての物体と距離判定す
る必要があったが、この発明では限られた部分領域内
で、仮想物体の代表点とAOIの代表点との距離と、A
OI球の半径を比較すればよく、計算量を少なくでき
る。
【0076】これは、図12に示した処理により空間テ
ーブルを更新したのち、図16に示す、ルーティングテ
ーブルの更新処理を行うことにより実行される。
【0077】図16のフローにおいて、ステップS12
で周囲の部分空間に存在する仮想物体リストを取得した
後に、新しい物体リストから、AOIの代表点から物体
の代表点までの距離がAOI半径dより離れている物体
を除く、というしきい値処理をステップS16で追加
し、AOI球の外の候補を削ることで、球形のAOIを
実現できる。
【0078】このため、上記図15に示したように限ら
れた領域内の仮想物体のみと距離判定を行えばよいため
従来の空間内のすべての仮想物体との距離判定を行う場
合に比べて大幅に計算量を減らすことができる。
【0079】ただし、候補となる周囲の部分領域は、A
OIの球を投影した円を含まなければならない。つま
り、大きなAOIであれば、候補として多くの部分領域
から仮想物体リストを取得するように実装しなければな
らない。
【0080】さらに、本発明は、以下に示す具体例を適
用してもよい。この具体例は仮想物体が大きさを持つ場
合を想定している。
【0081】これまでの実施例では、すべての仮想物体
の大きさは点として扱われてきた。しかし、仮想物体が
ある大きさを持つ場合にも本発明を適用できる。この場
合、図17に示すように仮想物体の大きさを表す球を含
むように部分領域を選び、そのすべてに仮想物体の参照
を登録しておけばよい。
【0082】すると、空間テーブルの例は図18に示す
ようになる。つまり、仮想物体Bの代表点に最も近い4
つの領域にBは存在する。この4つの領域は、AOIの
場合と同様に簡単に求められる。そして、この空間テー
ブルを用いて、ルーティングテーブルを更新する。
【0083】なお、上記システムにおいて、供給サーバ
12は、本発明のプログラム提供媒体から、近接判定プ
ログラムを読み取り、逐次実行することにより、本発明
の近接判定方法を容易に実行することができる。
【0084】
【発明の効果】本発明に係る近接判定方法及びそのプロ
グラム提供媒体によれば、知覚領域と仮想物体の近接を
調べるための演算量を減らし、情報処理装置の負荷を減
少させることができる。
【0085】また、本発明に係る情報処理装置によれ
ば、知覚領域と仮想物体の近接を調べるための演算量を
減らすことができ、より多くのユーザが同時に接続でき
るようになる。
【図面の簡単な説明】
【図1】本発明を適用した分散共有仮想空間システムの
構成例を示すブロック図である。
【図2】上記図1に示した分散共有仮想空間システム中
のクライアントPCの構成例を示すブロック図である。
【図3】上記図1に示した分散共有仮想空間システムの
動作を説明するための図である。
【図4】上記図1に示した分散共有仮想空間システムの
動作を説明するための他の図である。
【図5】上記図1に示した分散共有仮想空間システムの
動作を説明するためのさらに他の図である。
【図6】AOIの具体例を説明するための図である。
【図7】仮想物体(アバタ)が移動した場合のオブジェ
クトの知覚を説明するための図である。
【図8】上記分散供給仮想空間システム中の共有サーバ
がマルチユーザサーバとして動作するときの概念を説明
するための図である。
【図9】本発明の近接判定方法の概念を説明するための
図である。
【図10】部分領域内の仮想物体リストをエントリーす
る空間テーブルを、ハッシュ表として示した図である。
【図11】上記図9に示した仮想物体Cが移動した様子
を示す図である。
【図12】仮想物体の更新による空間テーブルの更新処
理を示すフローチャートである。
【図13】AOIの更新によるルーティングテーブルの
更新処理を示すフローチャートである。
【図14】更新されたルーティングテーブルの具体例を
示す図である。
【図15】AOIが球である場合を示す図である。
【図16】AOIが球である場合に、ルーティングテー
ブルの更新処理を示す図である。
【図17】仮想物体がある大きさを持つ場合を説明する
ための図である。
【図18】仮想物体がある大きさを持つ場合の空間テー
ブルの具体例を示す図である。
【符号の説明】
1〜3 クライアントPC、12 共有サーバ、51
パイロットアバタ、52 オーラ
フロントページの続き Fターム(参考) 5B050 BA07 CA08 FA02 5B089 GA11 GA21 JA17 JA18 JB16 KA06 KC15 KC47 KC60 LB18 LB21 5E501 AA02 AB19 AC16 AC32 BA12 CA02 DA02 DA04 EB20 FA15 FA27 FA36 FA43 FB44

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 仮想空間を分割した部分領域を、任意の
    仮想物体が別の仮想物体を知覚するための知覚領域の単
    位とし、任意の仮想物体の知覚領域内に別の仮想物体又
    は別の知覚領域が入ったときに別の仮想物体が近接した
    と判定することを特徴とする近接判定方法。
  2. 【請求項2】 上記任意の仮想物体の中心に近い隣接し
    た複数の部分領域を上記知覚領域とし、別の仮想物体の
    中心がその中に入ったときに近接したと判定することを
    特徴とする請求項1記載の近接判定方法。
  3. 【請求項3】 上記任意の仮想物体の中心に近い隣接し
    た4又は9の部分領域を上記知覚領域とすることを特徴
    とする請求項3記載の近接判定方法。
  4. 【請求項4】 上記知覚領域を求める工程と、 上記部分領域に属する仮想物体リストを示す空間テーブ
    ルを更新し、この空間テーブルを用いて上記知覚領域に
    対する仮想物体の入出の変化を判定する工程とを備える
    ことを特徴とする請求項2記載の近接判定方法。
  5. 【請求項5】 仮想空間を分割した部分領域を、仮想物
    体毎の持つ別の仮想物体を知覚するための知覚領域に別
    の仮想物体が近接したか否かの判定に用いることを特徴
    とする近接判定方法。
  6. 【請求項6】 上記任意の仮想物体を中心とする所定半
    径の球を知覚領域とし、別の仮想物体の中心がその知覚
    領域に入ったときに近接したと判定することを特徴とす
    る請求項5記載の近接判定方法。
  7. 【請求項7】 上記知覚領域と仮想物体はそれぞれを代
    表とする点を中心とする所定半径の球であり、球が接し
    たときに近接したと判定することを特徴とする請求項5
    記載の近接判定方法。
  8. 【請求項8】 隣接した複数の上記部分領域内で、上記
    知覚領域の中心から別の仮想物体の中心までの距離が、
    上記知覚領域の半径よりも小さいか否かを判定する工程
    と、 上記工程で上記知覚領域の半径よりも小さい距離にある
    と判定した別の仮想物体を近接したとする工程とを備え
    ることを特徴とする請求項6記載の近接判定方法。
  9. 【請求項9】 仮想空間における任意の仮想物体に対し
    て別の仮想物体が近接したことを判定する近接判定プロ
    グラムを提供するプログラム提供媒体であって、 任意の仮想物体が別の仮想物体を知覚するための知覚領
    域を求める工程と、 上記仮想空間を分割した部分領域に属する仮想物体リス
    トを示す空間テーブルを更新し、この空間テーブルを用
    いて上記知覚領域に対する仮想物体の入出の変化を判定
    する工程とを備えてなる近接判定プログラムを提供する
    ことを特徴とするプログラム提供媒体。
  10. 【請求項10】 仮想空間における任意の仮想物体に対
    して別の仮想物体が近接したことを判定する近接判定プ
    ログラムを提供するプログラム提供媒体であって、 上記仮想空間を分割した複数の部分領域の内で、任意の
    仮想物体が別の仮想物体を知覚するための知覚領域の中
    心から別の仮想物体の中心までの距離が、上記知覚領域
    の半径よりも小さいか否かを判定する工程と、 上記工程で上記知覚領域の半径よりも小さい距離にある
    と判定した別の仮想物体を近接したとする工程とを備え
    てなる近接判定プログラムを提供することを特徴とする
    プログラム提供媒体。
  11. 【請求項11】 複数の操作者が操作する複数の情報処
    理端末に、ネットワークを介して接続している情報処理
    装置において、 上記複数の情報処理端末上に展開される共通の仮想空間
    を分割した部分領域を、任意の情報処理端末を反映した
    任意の仮想物体が別の仮想物体を知覚するための知覚領
    域の単位とし、任意の仮想物体の知覚領域内に別の仮想
    物体又は別の知覚領域が入ったときに別の仮想物体が近
    接したと判定する制御手段を備え、 上記任意の情報処理端末を反映した任意の仮想物体に対
    して上記制御手段が近接したと判定した別の仮想物体に
    反映された別の情報処理端末を、上記任意の情報処理端
    末との間でメッセージを送受信させる対象とすることを
    特徴とする情報処理装置。
  12. 【請求項12】 複数の操作者が操作する複数の情報処
    理端末に、ネットワークを介して接続している情報処理
    装置において、 上記複数の情報処理端末上に分散して展開される共有の
    仮想空間を分割した部分領域を、仮想物体毎の持つ別の
    仮想物体を知覚するための知覚領域に、別の仮想物体が
    近接したか否かの判定に用いる制御手段を備え、 上記任意の情報処理端末を反映した任意の仮想物体に対
    して上記制御手段が近接したと判定した別の仮想物体に
    反映された別の情報処理端末を、上記任意の情報処理端
    末との間でメッセージを送受信させる対象とすることを
    特徴とする情報処理装置。
JP6895799A 1999-03-15 1999-03-15 近接判定方法及びプログラム提供媒体、並びに情報処理装置 Withdrawn JP2000268192A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6895799A JP2000268192A (ja) 1999-03-15 1999-03-15 近接判定方法及びプログラム提供媒体、並びに情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6895799A JP2000268192A (ja) 1999-03-15 1999-03-15 近接判定方法及びプログラム提供媒体、並びに情報処理装置

Publications (1)

Publication Number Publication Date
JP2000268192A true JP2000268192A (ja) 2000-09-29

Family

ID=13388674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6895799A Withdrawn JP2000268192A (ja) 1999-03-15 1999-03-15 近接判定方法及びプログラム提供媒体、並びに情報処理装置

Country Status (1)

Country Link
JP (1) JP2000268192A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164252A (ja) * 2005-12-09 2007-06-28 Sony Computer Entertainment Inc 仮想空間のオブジェクトを管理するシステム
JP2009199278A (ja) * 2008-02-21 2009-09-03 Nomura Research Institute Ltd Web表示と連動する仮想空間提供装置及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164252A (ja) * 2005-12-09 2007-06-28 Sony Computer Entertainment Inc 仮想空間のオブジェクトを管理するシステム
JP2009199278A (ja) * 2008-02-21 2009-09-03 Nomura Research Institute Ltd Web表示と連動する仮想空間提供装置及び方法

Similar Documents

Publication Publication Date Title
US6532007B1 (en) Method, apparatus and presentation medium for multiple auras in a virtual shared space
JP4232232B2 (ja) 情報処理装置および方法、並びに記録媒体
USRE38287E1 (en) Computer network data distribution and selective retrieval system
JP3928229B2 (ja) 表示制御装置および表示制御方法、並びに記録媒体
EP0753835B1 (en) A three-dimensional virtual reality space sharing method and system
JP4232231B2 (ja) 情報処理装置および方法、並びに記録媒体
KR100453225B1 (ko) 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법
JP4441979B2 (ja) 情報処理装置および方法、並びに記録媒体
JP2001312645A (ja) 情報処理装置および方法、並びに格納媒体
JP2001506038A (ja) 仮想環境ナビゲーションエイド
US12505085B2 (en) Volumetric vector node and object based multi-dimensional operating system
JPH11120375A (ja) クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに伝送媒体
US6496207B1 (en) Collision detection apparatus and method for avatars in a three-dimensional virtual space
JP2858556B2 (ja) 3次元形状通信システム
JP2000268192A (ja) 近接判定方法及びプログラム提供媒体、並びに情報処理装置
US6933938B1 (en) Information processing apparatus, method and computer program for virtual reality aura setting
JP2001148033A (ja) 情報処理装置および方法、並びに記録媒体
JP2000149063A (ja) 情報処理装置および方法、並びに提供媒体
JP2000113223A (ja) 情報処理装置および方法、並びに提供媒体
JP2000149068A (ja) 情報処理装置および方法、並びに提供媒体
JP2000194879A (ja) 情報処理装置および方法、並びに記録媒体
JP5160200B2 (ja) 仮想空間システム、方法及びプログラム
KR102317103B1 (ko) Iot 기기를 이용해서 증강 현실을 구현한 전장 온라인 게임
JP2000148342A (ja) 情報処理装置および方法、並びに提供媒体
JP4487159B2 (ja) 情報処理装置および方法、並びに格納媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606