JP4232231B2 - 情報処理装置および方法、並びに記録媒体 - Google Patents
情報処理装置および方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP4232231B2 JP4232231B2 JP27706198A JP27706198A JP4232231B2 JP 4232231 B2 JP4232231 B2 JP 4232231B2 JP 27706198 A JP27706198 A JP 27706198A JP 27706198 A JP27706198 A JP 27706198A JP 4232231 B2 JP4232231 B2 JP 4232231B2
- Authority
- JP
- Japan
- Prior art keywords
- perceived
- objects
- information
- defining
- aura
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/87—Communicating with other players during game play, e.g. by e-mail or chat
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5553—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5566—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
- A63F2300/572—Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びに記録媒体に関し、特に、例えば、3次元仮想空間におかれたアバタを介して、他のアバタとコミニケーションを図る場合において、必要以上に情報量が多くなってしまうことを防止するようにした情報処理装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
従来、NIFTY-Serve(商標)や米国のCompuServe(商標)などのように、複数の利用者が自らのパーソナルコンピュータを、モデムおよび公衆電話回線網を介してセンターのホストコンピュータに接続し、所定の通信プロトコルに基づいてホストコンピュータにアクセスする、いわゆるパソコン通信サービスの分野においては、Habitat(商標)と呼ばれるサイバースペースのサービスが知られている。
【0003】
Habitatは、米国LucasFilm社によって1985年から開発が始められ、米国商業ネットワークであるQuantumLink社で約3年間運用された後、1990年2月に富士通Habitat(商標)としてNIFTY-Serveでそのサービスが開始されたものである。このHabitatにおいては、2次元グラフィックスで描画された「ポピュロポリス(Populopolis)」と呼ばれる仮想の都市に、アバタ(avatar;インド神話に登場する神の化身)と呼ばれるユーザの分身(ユーザ自身を表すオブジェクト)を送り込み、ユーザ同士がチャット(Chat;文字の入力と表示によるテキストベースでのリアルタイムの対話)などを行うことができる。このHabitatの更に詳細な説明は、サイバースペース,マイケル・ベネディクト編,1994年3月20日初版発行,NTT出版 ISBN4−87188−265−9C0010(原著;Cyberspace:First Steps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA ISBN0−262−02327−X)第282頁乃至第307頁に記載されている。
【0004】
この種のパソコン通信サービスで運用されている従来のサイバースペースシステムにおいては、仮想的な街並みや部屋の内部の様子が2次元グラフィックスで描画されており、アバタを奥行きまたは手前方向へ移動させる場合、単にアバタを2次元グラフィックスの背景上で上下に移動させるだけであり、仮想空間内での歩行や移動を疑似体験させるには表示の上での表現力が乏しかった。また、自分の分身であるアバタと他人のアバタが表示された仮想空間を、第3者の視点で見ることになるため、この点においても、疑似体験の感覚が損なわれるものであった。
【0005】
そこで、特開平9-81781号公報に開示されているように、仮想空間を3次元グラフィックスで表示し、ユーザがアバタの視点で自由に歩き回れる機能が、VRML(Virtual Reality Modeling Language)と呼ばれる3次元グラフィクスデータの記述言語を利用することによって実現されている。このVRMLの詳細は、例えば、「VRMLを知る:3次元電脳空間の構築とブラウジング〔マーク・ペッシ著,松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦本純一・石川真之・宮下健・原和弘訳,1996年3月25日初版発行,プレンティスホール出版ISBN4-931356-37-0〕(原著;VRML:Browsing & Building Cyberspace,Mark Pesce, 1995 New Readers Publishing 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〕」等の文献に記載されている。
【0006】
また、「The Virtual Reality Modeling Language Version 2.0, ISO/IEC CD 14772」の公式かつ完全な仕様書は、「http://www.vrml.org/Specifications/VRML2.0/FINAL/spec/index.html」で公開されており、その日本語版は、「http://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spec-jp/index.html」で公開されている。
【0007】
VRMLの最新の言語であるVRML2.0においては、3次元的な仮想空間内におけるオブジェクトの自律的な振る舞い(Behavior)を記述し、表現することが可能とされている。これにより、例えば、VRML2.0用ブラウザに3次元グラフィックスで表示された仮想空間、即ち、3次元仮想空間を、アバタの視点で歩き回る場合には、ユーザは、自身がその3次元仮想空間内に実際にいるかのような感覚を享受することができる。
【0008】
このVRML2.0用ブラウザおよび共有サーバ用ソフトウェアとしては、例えば、本出願人であるソニー株式会社が「Community Place(商標) Browser / Bureau」として開発し、製品化しており、そのβ版(試供版)を、インターネット上のホームページ「http://vs.sony co.jp」からダウンロードすることが可能とされている。
【0009】
【発明が解決しようとする課題】
ところで、このような3次元仮想空間を提供するシステムにおいて、例えばインターネットを介して、世界中のユーザが3次元仮想空間を共有することを可能にすると、その3次元仮想空間(ワールド)に参加するアバタ(オブジェクト)の数が増加し、オブジェクト間で授受されるメッセージ量が膨大なものとなり、最悪の場合、迅速にメッセージを交換することが困難となる。
【0010】
そこで、オブジェクト毎にオーラと称される領域を定義し、オーラ内に位置するオブジェクト間でのみ、情報を共有するようにすることが、例えば、Benford.S,and Fahlen,L(1993)A Spatial model of interaction in large virtual environments.September 1993,In proceedings of G.DeMichelis et al(Eds.) Third European Conference on Computer Supported Cooperative Work(pp.109-124),Kluwer Academic publishersあるいは、Yasuaki Honda,et al(1995),Virtual Society:Extending the WWW to Support aMulti-user Interactive Shared 3D Environment.,Proceedings of VRML'95(pp.109-116),ACM press.などに提案されている。
【0011】
これにより、ある程度情報量を制限することが可能になったが、それでも混雑が激しくなると、メッセージの量が増加してしまう課題があった。
【0012】
そこで、例えば、混雑の程度に対応して、オーラの大きさを制御することが考えられるが、混雑時には、オーラの大きさが極端に小さくなってしまい、他のオブジェクトとコミニケーションを図ることが実質的に困難となってしまう。
【0013】
本発明はこのような状況に鑑みてなされたものであり、3次元仮想空間におけるオブジェクトの数が増加した場合にも、確実に他のオブジェクトと情報を授受することができるようにするものである。
【0014】
【課題を解決するための手段】
請求項1に記載の情報処理装置は、3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定手段と、規定手段により規定された範囲内に位置する他のオブジェクトからの情報の受信を制限する制限条件として、規定手段により規定された範囲内に位置する他のオブジェクトの知覚可能な最大値を設定する設定手段と、前記オブジェクトが他のオブジェクトにより知覚されているか否かを判断する判断手段と、規定手段により規定された範囲内に、設定手段により設定された制限条件としての知覚可能な最大値以上の数の他のオブジェクトが位置し、判断手段の判断結果が、オブジェクトが他のオブジェクトにより知覚されているものである場合、オブジェクトが他のオブジェクトを知覚している状態とし、他のオブジェクトからの情報の受信を制御する制御手段とを備え、制御手段は、オブジェクトと他のオブジェクトの少なくとも一方が、制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる。
【0015】
請求項4に記載の情報処理方法は、3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定ステップと、規定ステップで規定された範囲内に位置する他のオブジェクトからの情報の受信を制限する制限条件として、規定ステップで規定された範囲内に位置する他のオブジェクトの知覚可能な最大値を設定する設定ステップと、オブジェクトが他のオブジェクトにより知覚されているか否かを判断する判断ステップと、規定ステップで規定された範囲内に、設定ステップで設定された制限条件としての知覚可能な最大値以上の数の他のオブジェクトが位置し、判断ステップの処理における判断結果が、オブジェクトが他のオブジェクトにより知覚されているものである場合、オブジェクトが他のオブジェクトを知覚している状態とし、他のオブジェクトからの情報の受信を制御する制御ステップとを含み、オブジェクトと他のオブジェクトの少なくとも一方が、制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる。
【0016】
請求項5に記載の記録媒体のプログラムは、3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定ステップと、規定ステップで規定された範囲内に位置する他のオブジェクトからの情報の受信を制限する制限条件として、規定ステップで規定された範囲内に位置する他のオブジェクトの知覚可能な最大値を設定する設定ステップと、オブジェクトが他のオブジェクトにより知覚されているか否かを判断する判断ステップと、規定ステップで規定された範囲内に、設定ステップで設定された制限条件としての知覚可能な最大値以上の数の他のオブジェクトが位置し、判断ステップの処理における判断結果が、オブジェクトが他のオブジェクトにより知覚されているものである場合、オブジェクトが他のオブジェクトを知覚している状態とし、他のオブジェクトからの情報の受信を制御する制御ステップとを含み、オブジェクトと他のオブジェクトの少なくとも一方が、制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる。
【0017】
請求項1に記載の情報処理装置、請求項4に記載の情報処理方法、および請求項5に記載の記録媒体のプログラムにおいては、規定された範囲内に、設定された制限条件としての知覚可能な最大値以上の数の他のオブジェクトが位置し、オブジェクトが他のオブジェクトにより知覚されているか否かの判断結果が、オブジェクトが他のオブジェクトにより知覚されているものである場合、オブジェクトが他のオブジェクトを知覚している状態とされ、他のオブジェクトからの情報の受信が制御される。
【0018】
【発明の実施の形態】
【0022】
図1は本発明を適用したシステムの構成例を表している。なお、本明細書中において、システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない。
【0023】
図1において、クライアントPC(パーソナルコンピュータ)1乃至3は、IP(インターネット接続サービスプロバイダ)4乃至6を介してインターネット(The Internet)7と接続されており、VRMLブラウザ及びWWWブラウザがインストールされ、インストールされたこれらのブラウザが動作するようになされている。
【0024】
クライアントPC1乃至3は、3Dクライアントおよび2Dクライアントの2つの機能を有している。3Dクライアントは、定期的あるいは必要なときに自分の位置情報などの情報を共有サーバ12に通知し、また、共有サーバ12から送られてくる他の3Dオブジェクトの共有情報を受信し、それを表示させる機能を有している。2Dクライアントは、HTTPに基づいてWWWサーバ10に情報をリクエストし、その返事を受け取って、主に2次元情報を表示する機能を有する。3Dクライアントは、共有サーバ12から受け取った情報内にURLが含まれている場合、2Dクライアントに、URLへのアクセスを要求する。2Dクライアントは、この要求に基づいてURL(WWWサーバ10)にアクセスし、そこからデータ(例えばオブジェクトの形状データ)をダウンロードして、3Dクライアントに転送する。
【0025】
インターネット7とルータ8を介して接続されたLAN(Local Area Network)9には、WWWサーバ10、WLS(World Location Server)11、共有サーバ12、AO(Application Object)サーバ13,14、メールサーバ15、およびコミュニケーションサーバ16が接続されている。これらの各サーバ10乃至16には、ハードディスク(HDD)10a,10b,11a乃至16aが、各々設けられている。
【0026】
なお、AOサーバ13は、共有サーバ12と通信するプログラムを有し、例えば仮想空間内において、自律的に動作するロボットや電子ペットなどのアプリケーションオブジェクト(AO)を提供する。AOサーバ13は、3Dクライアントと同様に、共有サーバ12と通信し、自分自身の情報を通知したり、他の3Dオブジェクトの共有情報を受信したりする。
【0027】
コミュニケーションサーバ16は、公衆電話回線網17を介して電話機18やファクシミリ19と接続され、また、PHS(Personal Handyphone System)サービスプロバイダ20を介してPHS端末23に無線接続され、さらに、ポケットベルサービスプロバイダー21を介してポケットベル端末24に無線接続されている。
【0028】
図2はクライアントPC1のハードウェアの構成例を示すブロック図である。この例において、CPU30は、ROM34に記録されているプログラムに従って各種の処理を実行するようになされており、HDD31はVRML 2.0ファイルや、Java(米国 Sun Microsystems社の商標)により記述された所定のスクリプトプログラム等からなるVRMLコンテンツなどが格納されている。CD-ROMドライブ32は、CD−ROMディスク33に格納されたVRMLコンテンツ等の情報を読み取るようになされている。
【0029】
サウンド処理回路35は、マイクロフォン36と左右のスピーカ37,38が接続されており、マイクロフォン36からの音声を入力し、または、音楽や効果音等をスピーカ37,38から出力する。モデム39は、インターネット7に接続され、データを授受するようになされている。I/O(入出力)インタフェース40はマウス41とキーボード42からの操作信号を受け付けるようになされている。グラフィックス回路43は、VRAM44が内蔵されており、各種の処理を施した画像データをVRAM44に格納し、VRAM44から読み出した画像データを、CRTモニタ45に表示させる。
【0030】
RAM46には、実行時に、例えば、Windows95(米国Micro Soft社の商標) の上で動作するWWWブラウザであるNetscape Navigator、Javaインタプリタ、および、本出願人であるソニー株式会社によって開発されたVRML2.0ブラウザであるCommunity Place Browserが読み込まれて、CPU30によって実行される状態とされている。
【0031】
VRML2.0ブラウザには、米国シリコングラフィクス社によって開発され、無償公開されているVRMLの構文解釈用ライブラリ(パーサ)であるQvLibと、英国Criterion Software Ltd.のソフトウエアレンダラであるRenderWare等、もしくはこれらと同等の機能を有するパーサやレンダラが実装されている。
【0032】
そして、 Community Place Browserは、図1に示すように、WWWブラウザとしてのNetscape Navigatorとの間において、NCAPI(Netscape Client Application Programing Interface)(商標)に基づいて各種データの授受を行う。
【0033】
Netscape Navigatorは、インターネット7を介してWWWサーバ10よりHTMLファイルとVRMLコンテンツ(VRMLファイルとJavaによるスクリプトプログラムとを含む)の供給を受けると、これらをローカルのHDD31にそれぞれ記憶させる。Netscape Navigatorは、このうちのHTMLファイルを処理してテキストや画像をCRTモニタ45に表示する一方、 Community Place BrowserはVRMLファイルを処理して3次元仮想空間をCRTモニタ45に表示させるとともに、Javaインタプリタによるスクリプトプログラムの処理結果に応じて、3次元仮想空間内のオブジェクトの挙動、その他の表示状態を変化させる。
【0034】
なお、図示は省略するが、他のクライアントPC2やクライアントPC3も、クライアントPC1と同様に構成されている。
【0035】
次に上述した一実施の形態の動作について、図3乃至5を参照して説明する。図3において、番号1で示すように、最初に、WWWブラウザを用いて、VRMLコンテンツを提供しているWebサイトのホームページを閲覧する。この例では、 「http://pc.sony.co.jp/sapari/」を閲覧している。次に、番号2で示すように、クライアントPC1またはクライアントPC2のユーザは、VRML2.0ファイルと、VRML空間内での自律的な動きを実現するためのスクリプトプログラム(Javaによるスクリプトプログラム)とからなるVRMLコンテンツを、それぞれダウンロードする。
【0036】
勿論、 CD-ROMディスク33で提供されるVRMLコンテンツをCD−ROMドライブ32で読み込んでも良い。
【0037】
次に、図4に示すように、クライアントPC1またはクライアントPC2では、それぞれにダウンロードされ、一旦ローカルのHDD31に格納されたVRML2.0ファイルを、VRML2.0ブラウザであるCommunity Place Browserが解釈するとともに実行し、さらに番号3で示すように、VSCP(Virtual Society Server Client Protocol)に基づいて、WLS11に対して共有サーバ12のURLを問い合わせる。このとき番号4で示すように、WLS11は、HDD11aに格納された共有サーバURL管理テーブルを参照して、クライアントPC1またはクライアントPC2に対して、共有サーバ12のURLを通知する。
【0038】
このURLを用いて、図5に示すように、クライアントPC1とクライアントPC2が、共有サーバ12に接続する。その結果、番号5で示すように、この共有サーバ12を介して共有3Dオブジェクトの位置や動きなどに関する共有メッセージの送信が行われ、番号6で示すように、その転送が行われ、マルチユーザ環境が実現される。
【0039】
なお、以上の接続手順の詳しい説明については、特開平9-81781号公報を参照されたい。
【0040】
また、ここでは、3次元仮想空間を、マルチユーザ環境で使用することとしているが、マルチユーザ環境で使用しないこと(以下、適宜、シングルユーザ環境という)、即ち、自身以外の他のユーザのアバタ(ドローンアバタ)を登場させないようにするとともに、自身のアバタ(パイロットアバタ)を、他のユーザのクライアントの3次元仮想空間に登場させないようにすることも可能である。これは、上述した番号3乃至6で表した処理を行わないようにすることで実現することができる。
【0041】
次に、図6を参照して、オーラについて説明する。同図に示すように、パイロットアバタ51の周囲には、パイロットアバタ51を中心とする所定の半径を有する球よりなるオーラ52が形成される。パイロットアバタ51は、オーラ52の内部に位置する他のオブジェクトからの情報を受信することができる。具体的には、図6に示すように、パイロットアバタ51は、オーラ52内に位置するドローンアバタ53−1とオブジェクト(AO)54−1を視認することができる(それらの画像がパイロットアバタ51のクライアントPCのCRTモニタに表示される)が、オーラ52の外部に位置するドローンアバタ53−2やオブジェクト54−2を視認することができない(ドローンアバタ53−2やオブジェクト(AO)54−2の画像は、パイロットアバタ51のクライアントPCのCRTモニタには表示されない)。
【0042】
他のドローンアバタ53−1,53−2、オブジェクト54−1,54−2にも同様にオーラが設定される。なお、このシステムにおいては、各クライアントPCが対応するアバタのオーラは同一の大きさとされるが、AOのオーラは、必要に応じてアバタのオーラとは異なる範囲に設定される。
【0043】
このように、オーラ52を規定することで、パイロットアバタ51は、ドローンアバタ53−1とオブジェクト54−1からの情報を受け取る必要があるが、オーラ52の外部に位置するドローンアバタ53−2またはオブジェクト54−2からの情報は受信する必要がないので、受信する情報量を制限することが可能となる。
【0044】
すなわち、例えば、図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を視認することができる。
【0045】
しかしながら、ワールド内に位置するオブジェクトの数が増加してくると、オーラ52内に位置するオブジェクトの数も増加してくる。そこで、必要以上に受信する情報量が増加しないように、オーラ内においてそのアバタが視認可能なオブジェクトの最大値が予め設定され、共有サーバ12により管理される。その結果、オーラ52内に位置するオブジェクトのうち、視認可能なオブジェクトの最大値が例えば2と設定されている場合、オーラ52内に3個以上のオブジェクトが存在したとしても、アバタ51により視認可能なオブジェクトは、時間的に最も早くオーラ52内に位置してきた2つのオブジェクトだけとなる。すなわち、3個目以降のオブジェクトがオーラ52内に進入してきたとしても、そのことはアバタ51には通知されない。この最大値は、アバタ51が対応するクライアントPCのリソースの制限や、クライアントPCと共有サーバ12の間のネットワークの通信帯域の制限などに対応して、所定の値に設定される。
【0046】
但し、オーラ52内において視認可能なオブジェクトの数が最大値に達しているか否かを判断する場合におけるオブジェクトには、ワールド内において、自律的に行動するAO(アプリケーションオブジェクト)は含まれないものとされる。これにより、アバタ51のオーラ52内に、最大値と等しいオブジェクトが既に存在していたとしても、アバタ51は、AOを視認することが可能となる。
【0047】
ところで、このように、各アバタが視認可能なオブジェクトの数の最大値を設定するようにすると、一方のアバタからは視認可能であるにもかかわらず、他方のアバタからは視認できないような不整合が発生する可能性がある。
【0048】
例えば、図8に示すように、アバタ61のオーラ62内に、アバタ63とアバタ64が既に位置している状態において、後からオーラ62内にアバタ51が進入してきたような場合、アバタ51のオーラ52内には、1つのアバタ61のみが存在するので、アバタ51には、アバタ61が視認されるようになされるが、アバタ61のオーラ62内には、既に2つのアバタ63,64が位置しているため、最大値を越える3つ目のアバタ51が新たに進入してきたとしても、アバタ61は、アバタ51を視認することができなくなる。その結果、アバタ51は、アバタ61を視認することができるにもかかわらず、アバタ61は、アバタ51を視認することができないので、例えばアバタ51がアバタ61にチャットを申し込むことが可能であるが、アバタ61は、アバタ51からのチャットの申し込みを受け付けることができない。
【0049】
このような不整合を回避するため、このシステムにおいては、一方のアバタ51から他方のアバタ61を視認することができる場合には、他方のアバタ61が既に最大値のアバタを視認している状態であったとしても、新たなアバタ51を視認することができるようになされている。これにより、一方のアバタからは視認可能であるにもかかわらず、他方のアバタからは視認できなくなるような不整合の発生が防止される。
【0050】
以下、上記したような不整合の発生を防止するための構成についてさらに説明する。いま、図9に示すように、所定の範囲のオーラを有するオブジェクトAが移動し、その移動メッセージを共有サーバ12に送信したとき、共有サーバ12は、オブジェクトAのオーラ内に新たなオブジェクトが位置するか否かの判定を行う。この判定を行うに際し、共有サーバ12は、各オブジェクト毎に、図10に示すような情報を管理している。
【0051】
すなわち、第1の情報は、オブジェクトAが知覚されている相手のオブジェクトのリストLKNOWNである。このオブジェクトAが、例えば図8に示すアバタ61である場合、そのリストLKNOWNには、アバタ63を識別するためのIDであるID63と、アバタ64のIDであるID64が記憶されている。これは、アバタ61がアバタ63とアバタ64から知覚されている(アバタ51にはまだ知覚されていない)ことを示している。
【0052】
第2の情報は、オブジェクトA自身が知覚している相手のオブジェクトのリストLKNOWである。例えば図8の例の場合、オブジェクトAがアバタ61であるとき、アバタ61がオーラ62内に位置し、視認しているアバタは、アバタ63とアバタ64であるから、このリストLKNOWには、ID63とID64が記述される。
【0053】
第3の情報は、オブジェクトAが知覚しているオブジェクトの数Nである。すなわち、リストLKNOWに記述されているIDの数がここに記述される。いまの場合、この数Nには2が設定される。
【0054】
第4の情報は、オブジェクトAがオーラ内に位置するオブジェクトのうち、知覚可能なオブジェクトの最大値Mである。この例においては、最大値Mは2とされている。すなわち、この場合、オブジェクトAは、オーラ内に位置するオブジェクトのうち、2個までのオブジェクトが知覚可能とされる。
【0055】
次に、図11のフローチャートを参照して、オブジェクトAが新たな位置に移動してきたことを共有サーバ12に通知してきたとき、共有サーバ12が行う処理について説明する。最初に、ステップS1において、共有サーバ12は、3次元仮想空間(ワールド)に存在するオブジェクトを1つ選択する。そして、選択したオブジェクトをXとする。ステップS2において、共有サーバ12は、仮想空間内に位置する全てのオブジェクトについて、以下のチェックを行ったか否かを判定し、そのチェックを既に完了している場合には、処理を終了し、まだチェックしていないオブジェクトが残っている場合には、ステップS3に進む。
【0056】
ステップS3において、共有サーバ12は、ステップS1で選択したオブジェクトは、オブジェクトAであるか否か、すなわち、自分自身であるか否かを判定する。選択したオブジェクトが自分自身である場合には、ステップS1に戻り、それ以降の処理が繰り返し実行される。ステップS3において、ステップS1で選択したオブジェクトXが自分自身ではないと判定された場合、ステップS4に進み、共有サーバ12は、オブジェクトAが知覚しているオブジェクトの数Nが、オブジェクトAが知覚可能なオブジェクトの最大値M以上であるか否かを判定する。
【0057】
オブジェクトAが既に知覚しているオブジェクトの数Nが最大値Mより小さい場合には、ステップS6に進み、共有サーバ12は、オブジェクトAのリストLKNOWにオブジェクトXが記述されておらず、かつ、オブジェクトAのオーラにオブジェクトXが位置するか否かを判定する。オブジェクトAのリストLKNOWにオブジェクトXのIDが記述されていないということは、オブジェクトAは、まだオブジェクトXを知覚していないということになる。そこで、この場合、オブジェクトXがオブジェクトAのオーラに入っているのであれば、ステップS7に進み、オブジェクトAのリストLKNOWにオブジェクトXのIDを付加する。すなわち、これにより、オブジェクトAがオブジェクトXを知覚したことになる。そこで、オブジェクトAが知覚しているオブジェクトの数Nの値が1だけインクリメントされる。そして、さらに、オブジェクトXのリストLKNOWNにオブジェクトAのIDが付加される。このようにして、オブジェクトAにおいてオブジェクトXが知覚されたことが登録されるとともに、オブジェクトXにおいて、オブジェクトAにより知覚されたことが登録される。
【0058】
ステップS6において、オブジェクトAのリストLKNOWにオブジェクトXが記述されていると判定された場合、オブジェクトXは、オブジェクトAに既に知覚されているので新たに登録する必要はない。また、オブジェクトAのオーラにオブジェクトXが位置していない場合にも、オブジェクトAにオブジェクトXを知覚させる必要はない。そこで、このような場合には、ステップS7の処理はスキップされ、ステップS8に進む。
【0059】
ステップS8において、共有サーバ12は、オブジェクトXが知覚しているオブジェクトの数Nが最大値M以上であるか否かを判定する。オブジェクトXが知覚しているオブジェクトの数Nが最大値Mより小さい場合には、ステップS10に進み、オブジェクトXのリストLKNOWにオブジェクトAのIDが登録されておらず、かつ、オブジェクトXのオーラにオブジェクトAが位置しているか否かが判定される。オブジェクトXのリストLKNOWにオブジェクトAのIDがまだ登録されておらず、かつ、オブジェクトXのオーラにオブジェクトAが位置している場合には、ステップS11に進み、オブジェクトXのリストLKNOWにオブジェクトAのIDが付加され、オブジェクトXが知覚しているオブジェクトの数Nの値が1だけインクリメントされる。さらに、オブジェクトAのリストLKNOWNにオブジェクトXのIDが付加される。このようにして、オブジェクトXにおいてオブジェクトAが知覚されたことが登録されるとともに、オブジェクトAにおいてオブジェクトXにより知覚されたことが登録される。
【0060】
ステップS10において、オブジェクトXのリストLKNOWにオブジェクトAのIDが既に登録されていると判定された場合、オブジェクトAは既にオブジェクトXにより知覚されているので、新たに登録する必要はない。また、オブジェクトXのオーラにオブジェクトAが入っていない場合には、オブジェクトAをオブジェクトXに知覚させる必要がない。そこで、このような場合には、ステップS11の処理はスキップされる。そして、ステップS1に戻り、それ以降の処理が繰り返し実行される。
【0061】
但し、以上の処理では、上述した不整合が発生する場合がある。そこで、このフローチャートの処理では、ステップS4において、オブジェクトAが知覚しているオブジェクトの数Nが最大値Mと等しいか、それより大きいと判定された場合、ステップS5に進み、オブジェクトAのリストLKNOWNにオブジェクトXのIDが既に登録されているか否かが判定される。オブジェクトAのリストLKNOWNにオブジェクトXのIDがまだ登録されていない場合には、オブジェクトAは、オブジェクトXにまだ知覚されていないので、知覚オブジェクト数Nが既に最大値Mに達しているオブジェクトAがオブジェクトXを新たに知覚する必要はない。そこで、この場合には、ステップS6,ステップS7の処理は実行されず、ステップS8に進み、それ以降の処理が実行される。
【0062】
これに対して、ステップS5において、オブジェクトAのリストLKNOWNにオブジェクトXのIDが既に登録されていると判定された場合、オブジェクトAは、オブジェクトXに既に知覚されているので、オブジェクトAが最大値M以上のオブジェクトを既に知覚していたとしても、オブジェクトXをオブジェクトAに知覚させないと、オブジェクトXはオブジェクトAを知覚しているにもかかわらず、オブジェクトAはオブジェクトXを知覚していないという不整合が発生してしまうことになる。そこで、この場合には、最大値Mによる制限を例外的に無視して、ステップS6に進み、所定の条件が満たされれば、ステップS7において、オブジェクトAにオブジェクトXを知覚させる処理が行われる。
【0063】
同様に、ステップS8において、オブジェクトXが知覚しているオブジェクトの数Nが最大値Mと等しいか、それより大きいと判定された場合、ステップS9に進み、オブジェクトXのリストLKNOWNにオブジェクトXのIDが記述されているか否かが判定される。オブジェクトXのリストLKNOWNにオブジェクトAのIDが記述されている場合には、オブジェクトXによりオブジェクトAが既に知覚されていることになるので、最大値Mの制限を例外的に無視して、ステップS10に進み、所定の条件が満足されれば、ステップS11にさらに進んで、オブジェクトXにオブジェクトAを知覚させる。これにより、不整合の発生が防止される。
【0064】
ステップS9において、オブジェクトXのリストLKNOWNにオブジェクトAのIDが記述されていないと判定された場合、オブジェクトAは、オブジェクトXにまだ知覚されていないので、オブジェクトAにおいても、オブジェクトXを知覚しなくても、不整合は発生しない。そこで、この場合には、ステップS10とステップS11の処理はスキップされる。
【0065】
図11の処理は、各オブジェクトが有するオーラの半径が異なる場合でも実現可能であるが、各オブジェクトが有するオーラの半径が等しい場合には、図11のアルゴリズムは、図12のフローチャートに示すように簡略化することができる。
【0066】
すなわち、図12の例においては、ステップS21において、仮想空間に存在するオブジェクトが1つ選択され、Xとされる。ステップS22においては、全てのオブジェクトについて以下のチェックが完了されているか否かが判定され、全てのオブジェクトについて以下の処理が完了していると判定された場合、処理は終了されるが、まだチェックしていないオブジェクトが存在する場合には、ステップS23に進み、ステップS21で選択したオブジェクトXは、オブジェクトA自身であるか否かが判定される。ステップS21で選択したオブジェクトXが自分自身であると判定された場合、ステップS21に戻り、それ以降の処理が繰り返し実行される。
【0067】
ステップS23において、ステップS21で選択したオブジェクトXが自分自身ではないと判定された場合、ステップS24に進み、オブジェクトAが知覚しているオブジェクトの数Nが最大値Mと等しいか、それ以上であるか否かが判定される。オブジェクトAが知覚しているオブジェクトの数Nが最大値Mより小さい場合には、ステップS25に進み、オブジェクトXが知覚しているオブジェクトの数Nが最大値Mと等しいか、それ以上であるか否かが判定される。ステップS24において、オブジェクトAが知覚しているオブジェクトの数Nが最大値Mと等しいか、それより大きいと判定された場合、並びに、ステップS25において、オブジェクトXが知覚しているオブジェクトの数Nが最大値Mと等しいか、それより大きいと判定された場合、ステップS21に戻り、それ以降の処理が繰り返し実行される。
【0068】
このように、図12の処理例においては、オブジェクトAとオブジェクトXのうち、少なくとも一方において知覚されているオブジェクトの数Nが、最大値M以上となっている場合には、他方が最大値未満であったとしても相互に他方のオブジェクトを知覚できないようになされている。この点、図11のフローチャートに示す処理においては、一方のオブジェクトが知覚可能である場合には、他方のオブジェクトが既に最大値以上のオブジェクトを知覚していたとしても、さらに新たなオブジェクトを知覚させるのと異なっている。図11の処理例においては、これにより、より大きな径のオーラを有するオブジェクトが、内部に位置するオブジェクトの数が既に最大値に達している小さな径のオーラを有するオブジェクトを知覚している状態において、両者が近づいてきて、小さな径のオーラ内に、大きな径のオーラを有するオブジェクトが位置するようになった瞬間に、大きな径のオーラを有するオブジェクトが、内部に位置するオブジェクトの数が既に最大値に達している小さな径のオーラを有するオブジェクトを知覚できなくなってしまうような事態が発生するのが防止される。
【0069】
これに対して、図12のフローチャートの処理は、各オブジェクトのオーラの径が同一であることが前提とされているため、基本的に、一方のオブジェクトから他方のオブジェクトが知覚可能で、かつ、他方のオブジェクトからは一方のオブジェクトを知覚できないような状態は発生しないので、少なくとも一方のオブジェクトが知覚しているオブジェクトの数Nが、既に最大値Mに達しているときは、いずれのオブジェクトも知覚できないようになされる。
【0070】
ステップS25において、オブジェクトXが知覚しているオブジェクトの数Nが最大値Mより小さいと判定された場合、ステップS26に進み、オブジェクトAのリストLKNOWにオブジェクトXのIDが登録されておらず、かつ、オブジェクトAのオーラ内にオブジェクトXが位置しているか否が判定される。オブジェクトAのリストLKNOWにオブジェクトXが登録されておらず、かつ、オブジェクトAのオーラ内にオブジェクトXが位置する場合には、ステップS27に進み、オブジェクトAのリストLKNOWにオブジェクトXのIDが付加され、オブジェクトAが知覚しているオブジェクトの数Nが1だけインクリメントされる。さらに、オブジェクトXのリストLKNOWNにオブジェクトAのIDが付加される。これにより、オブジェクトAにおいてオブジェクトXが知覚されたことが登録されるとともに、オブジェクトXにおいてオブジェクトAにより知覚されたことが登録される。
【0071】
ステップS26において、オブジェクトAのリストLKNOWにオブジェクトXのIDが登録されていると判定された場合、オブジェクトXは既に登録されているのであるから、新たに登録する必要はない。また、オブジェクトAのオーラ内にオブジェクトXが位置していない場合にも、オブジェクトXを登録する必要はない。従って、この場合には、ステップS27の処理はスキップされ、ステップS28に進む。
【0072】
ステップS28において、オブジェクトXのリストLKNOWにオブジェクトAのIDが登録されておらず、かつ、オブジェクトXのオーラ内にオブジェクトAが位置するか否かが判定される。オブジェクトXのリストLKNOWにオブジェクトAがまだ登録されていない場合には、オブジェクトXのオーラ内にオブジェクトAが位置しているのであれば、ステップS29に進み、オブジェクトXのリストLKNOWにオブジェクトAのIDが付加され、オブジェクトXが知覚しているオブジェクトの数Nが1だけインクリメントされる。さらに、オブジェクトAのリストLKNOWNにオブジェクトXのIDが付加される。このようにして、オブジェクトXにおいて、オブジェクトAが知覚されたことが登録されるとともに、オブジェクトAにおいて、オブジェクトXにより知覚されたことが登録される。
【0073】
ステップS28において、オブジェクトXのリストLKNOWにオブジェクトAが登録されていると判定された場合、既に登録がなされているのであるから、新たに登録をする必要がない。また、オブジェクトXのオーラ内にオブジェクトAが位置していない場合にも、オブジェクトXにオブジェクトAを知覚させる必要がない。従って、この場合には、ステップS29の処理はスキップされ、ステップS21に戻り、それ以降の処理が繰り返し実行される。
【0074】
以上の実施の形態においては、すべてのオブジェクトが所定の径のオーラを有し、そのオーラ内に位置するオブジェクトからの情報だけが、そのオーラを有するオブジェクトに受信されることになる。ところで、例えば、オブジェクトのうち、アプリケーションオブジェクトは、通常、ワールド内において共有される電子ペット、あるいは、時計台といったようなワールドに参加するアバタに対して共有されるオブジェクトである。従って、このようなアプリケーションオブジェクトからの情報は、各アバタに確実に提供されるようにするのが好ましい。このようにする場合、共有サーバ12は、各オブジェクトに関し、図13に示すような情報を管理する。
【0075】
図13における第1乃至第4の情報は、図10に示した場合と同様の情報である。第5の情報は、そのオブジェクトが、アプリケーションオブジェクトであるか否かを表す情報であり、その値が1であるとき、そのオブジェクトは、アプリケーションオブジェクト(AO)であることを表し、その値が0であるとき、そのオブジェクトは、AOではないことを表す。第6の情報のフラグaura-funcは、そのオブジェクトがAOである場合において、そのオブジェクトが他のオブジェクトのオーラ内に進入したとき、そのオーラ内において知覚可能なオブジェクトの最大値Mに達したか否かを判定するために計数するオブジェクトの対象とされるか否かを表している。フラグaura-funcの0は、そのオブジェクトは、知覚可能なオブジェクトの最大値Mを判定する場合におけるオブジェクトとしては対象とされないことを表し、その値の1は、その対象とされることを表す。すなわち、その値が1であるとき、そのオブジェクトは、通常のオブジェクトと同様のオブジェクトとなる。
【0076】
図13に示すような管理情報を基にして、オブジェクトAが移動した場合における共有サーバ12の処理例について、図14のフローチャートを参照して説明する。ステップS41乃至ステップS43の処理は、図12におけるステップS21乃至ステップS23の処理と同様の処理となる。すなわち、最初に、ステップS41において、共有サーバ12は、ワールドに存在するオブジェクトを1つ選択し、選択したオブジェクトをXとする。ステップS42において、共有サーバ12は、ワールド内に位置するすべてのオブジェクトについて、以下のチェックを行ったか否かを判定し、そのチェックを既に完了している場合には処理を終了し、まだチェックしていないオブジェクトが残っている場合には、ステップS43に進む。
【0077】
ステップS43において、共有サーバ12は、ステップS41で選択したオブジェクトがオブジェクトAであるか否か、すなわち、自分自身であるか否かを判定する。選択したオブジェクトが自分自身である場合には、ステップS41に戻り、それ以降の処理が繰り返し実行される。ステップS43において、ステップS41で選択したオブジェクトXが自分自身ではないと判定された場合、ステップS44に進み、共有サーバ12は、オブジェクトXがAOであり、かつフラグaura-funcが0であるか否か、すなわち、オブジェクトXがAOであり、かつオーラ内におけるオブジェクトの最大値Mを計数する場合において計数対象となるオブジェクトであるか否かが判定される。
【0078】
オブジェクトXがAOではないか、またはフラグaura-funcが1であると判定された場合、ステップS45に進み、今度は、オブジェクトAがAOであり、かつフラグaura-funcが0であるか否かが判定される。オブジェクトAがAOではないか、またはフラグaura-funcが1であると判定された場合、ステップS46に進み、それ以降の処理が実行される。以下のステップS46乃至ステップS51の処理は、図12におけるステップS24乃至ステップS29の処理と同様の処理である。すなわち、これらの処理により、オブジェクトAとオブジェクトXのうち、少なくとも一方が、そのオーラ内に、既に最大値M以上のオブジェクトを有している場合には、オブジェクトAとオブジェクトXに、それぞれ相手方を知覚させる処理は行われない。
【0079】
これに対して、ステップS44において、オブジェクトXがAOであり、かつ計数対象のオブジェクトであると判定された場合、ステップS46とステップS47の処理はスキップされ、ステップS48以降の処理が実行される。ステップS45において、オブジェクトAがAOであり、かつ計数対象となるオブジェクトであると判定された場合も同様となる。
【0080】
すなわち、これらの場合には、ステップS48以降の処理で、所定の条件が満たされている場合には、相互に相手方を知覚させる処理が実行される。その結果、オブジェクトAまたはオブジェクトXのオーラ内に位置するオブジェクトの数が、既に最大値Mに達していたとしても、オブジェクトXまたはオブジェクトAは、それぞれ相手側に知覚される。その結果、アプリケーションオブジェクト(フラグaura-funcが0であるオブジェクト)は、オーラ内に位置するすべての他のオブジェクトを知覚することができ、かつ、アプリケーションオブジェクト(フラグaura-funcが0であるオブジェクト)以外のオブジェクトは、アプリケーションオブジェクト(フラグaura-funcが0であるオブジェクト)がオーラ内に位置するとき、オーラ内に位置するオブジェクトの数にかかわらず、そのアプリケーションオブジェクト(フラグaura-funcが0であるオブジェクト)を知覚することができる。
【0081】
例えば、図15に示すように、アバタ51−1のオーラ52−1内に、アバタ51−2とアバタ51−3が、既に位置している状態において、アバタ51−1が新たな位置に移動した結果、そのオーラ52−1内に、アプリケーションオブジェクト91−1(フラグaura-funcが0であるオブジェクト)が位置するようになったとき、オーラ52−1内には、既に最大値M(=2)のオブジェクトが存在しているが、アバタ51−1は、アプリケーションオブジェクト91−1を知覚することができ、アプリケーションオブジェクト91−1もまた、アバタ51−1を知覚する。
【0082】
また、アプリケーションオブジェクト91−1は、そのオーラ92−2内に位置するすべてのオブジェクトを知覚することが可能であるため、図15の例の場合、アバタ51−1,51−2,51−4が、アプリケーションオブジェクト91−1により知覚される。アバタ51−3は、オーラ92−2の外側に位置するため、アプリケーションオブジェクト91−1には知覚されない。
【0083】
図14の処理は、ステップS44とステップS45の処理がある点を除き、図12のフローチャートに示す処理と同様の処理であるため、オブジェクトがアプリケーションオブジェクトではない場合には(フラグaura-funcが1である場合には)、図12のフローチャートに示した場合と同様の処理が実行される。
【0084】
なお、図13における管理情報のうち、アプリケーションオブジェクトであるか否かを表す情報とフラグaura-funcは、実質的に同一の機能を果たすものとなるため、その一方を省略するようにしてもよい。
【0085】
なお、上記したオブジェクトが知覚可能なオブジェクトの最大値Mの値は、必要に応じて、動的に変動させるようにしてもよい。また、オーラは、視線方向により広い範囲を規定するようにしてもよい。例えば、図16に示す例では、アバタ51の視線方向(図中右方向)が、その反対方向(図中左方向)に較べてより広くなるようにオーラ52が規定されている。このようにすれば、より現実に近い感覚で知覚動作を行うことが可能となる。
【0086】
さらに、オーラは、上記実施の形態では球形としたが、図17に示すように、立方体形状とすることも可能である。
【0087】
また、オーラは、1つのオブジェクトに対して1つとしたが、複数のオブジェクト(アバタ)に1つのオーラを共有させるようにすることも可能である。このようにすれば、複数のアバタが、あたかも同一人であるかのごとき知覚動作を行うことが可能となる。
【0088】
さらに、オーラは、1つのオブジェクトに対して、複数の範囲について規定するようにしてもよい。
【0089】
なお、上記各種の処理を行うコンピュータプログラムは、光ディスク、光磁気ディスク、またはフロッピーディスクなどの記録媒体を介してユーザに提供したり、ネットワークなどの提供媒体を介してユーザに提供し、必要に応じて内蔵するRAMやハードディスクなどに記録して利用させるようにすることができる。
【0090】
【発明の効果】
請求項1に記載の情報処理装置、請求項4に記載の情報処理方法、および請求項5に記載の記録媒体のプログラムによれば、仮想現実空間内におけるオブジェクトの数が増加した場合においても、受信する情報量を制限することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した共有仮想空間提供システムの構成例を示すブロック図である。
【図2】図1のクライアントPC1の構成例を示すブロック図である。
【図3】図1のシステムの動作を説明する図である。
【図4】図1のシステムの動作を説明する図である。
【図5】図1のシステムの動作を説明する図である。
【図6】オーラを説明する図である。
【図7】アバタが移動した場合のオブジェクトの知覚を説明する図である。
【図8】アバタの知覚の不整合を説明する図である。
【図9】オブジェクトが移動した場合の新たなオブジェクトの知覚を説明する図である。
【図10】図1の共有サーバ12が有するオブジェクトの管理情報を説明する図である。
【図11】図1の共有サーバ12の動作を説明するフローチャートである。
【図12】図1の共有サーバ12の他の動作を説明するフローチャートである。
【図13】図1の共有サーバ12が有するオブジェクトの他の管理情報を説明する図である。
【図14】図1の共有サーバ12の動作を説明するフローチャートである。
【図15】オブジェクトとオーラの関係を説明する図である。
【図16】オーラの他の例を示す図である。
【図17】オーラのさらに他の例を示す図である。
【符号の説明】
1乃至3 クライアントPC, 7 インターネット, 10 WWWサーバ,12 共有サーバ, 30 CPU, 31 ハードディスク, 39 モデム, 45 CRTモニタ, 46 RAM, 51 パイロットアバタ, 52 オーラ, 53−1,53−2 ドローンアバタ, 54−1,54−2 オブジェクト, 61 アバタ, 62 オーラ, 63,64 アバタ
Claims (5)
- 3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定手段と、
前記規定手段により規定された前記範囲内に位置する前記他のオブジェクトからの情報の受信を制限する制限条件として、前記規定手段により規定された前記範囲内に位置する前記他のオブジェクトの知覚可能な最大値を設定する設定手段と、
前記オブジェクトが前記他のオブジェクトにより知覚されているか否かを判断する判断手段と、
前記規定手段により規定された前記範囲内に、前記設定手段により設定された前記制限条件としての知覚可能な最大値以上の数の前記他のオブジェクトが位置し、前記判断手段の判断結果が、前記オブジェクトが前記他のオブジェクトにより知覚されているものである場合、前記オブジェクトが前記他のオブジェクトを知覚している状態とし、前記他のオブジェクトからの情報の受信を制御する制御手段と
を備え、
前記制御手段は、前記オブジェクトと前記他のオブジェクトの少なくとも一方が、前記制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の前記範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、前記制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる
情報処理装置。 - 前記規定手段は、前記オブジェクトの位置を中心として、前記他のオブジェクトからの情報を受信する範囲を規定する
請求項1に記載の情報処理装置。 - 前記規定手段は、前記オブジェクトの位置から所定の距離だけオフセットした位置を中心として、前記他のオブジェクトからの情報を受信する範囲を規定する
請求項1に記載の情報処理装置。 - 3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定ステップと、
前記規定ステップで規定された前記範囲内に位置する前記他のオブジェクトからの情報の受信を制限する制限条件として、前記規定ステップで規定された前記範囲内に位置する前記他のオブジェクトの知覚可能な最大値を設定する設定ステップと、
前記オブジェクトが前記他のオブジェクトにより知覚されているか否かを判断する判断ステップと、
前記規定ステップで規定された前記範囲内に、前記設定ステップで設定された前記制限条件としての知覚可能な最大値以上の数の前記他のオブジェクトが位置し、前記判断ステップの処理における判断結果が、前記オブジェクトが前記他のオブジェクトにより知覚されているものである場合、前記オブジェクトが前記他のオブジェクトを知覚している状態とし、前記他のオブジェクトからの情報の受信を制御する制御ステップと
を含み、
前記オブジェクトと前記他のオブジェクトの少なくとも一方が、前記制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の前記範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、前記制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる
情報処理方法。 - 3次元仮想空間におかれたオブジェクトの周囲に、他のオブジェクトからの情報を受信する範囲を規定する規定ステップと、
前記規定ステップで規定された前記範囲内に位置する前記他のオブジェクトからの情報の受信を制限する制限条件として、前記規定ステップで規定された前記範囲内に位置する前記他のオブジェクトの知覚可能な最大値を設定する設定ステップと、
前記オブジェクトが前記他のオブジェクトにより知覚されているか否かを判断する判断ステップと、
前記規定ステップで規定された前記範囲内に、前記設定ステップで設定された前記制限条件としての知覚可能な最大値以上の数の前記他のオブジェクトが位置し、前記判断ステップの処理における判断結果が、前記オブジェクトが前記他のオブジェクトにより知覚されているものである場合、前記オブジェクトが前記他のオブジェクトを知覚している状態とし、前記他のオブジェクトからの情報の受信を制御する制御ステップと
を含み、
前記オブジェクトと前記他のオブジェクトの少なくとも一方が、前記制限条件としての知覚可能な最大値以上の数のオブジェクトが自身の前記範囲内に位置し、他方のオブジェクトにより知覚されている状態にある場合、前記制限条件に拘わらず、いずれのオブジェクトにも他方のオブジェクトを知覚させる
コンピュータが読み取り可能なプログラムが記録されている記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27706198A JP4232231B2 (ja) | 1998-09-30 | 1998-09-30 | 情報処理装置および方法、並びに記録媒体 |
US09/389,801 US6577306B2 (en) | 1998-09-30 | 1999-09-03 | Method apparatus and presentation medium for avoiding a mismatch state in a 3-dimensional virtual shared space |
EP99307726A EP0990461A2 (en) | 1998-09-30 | 1999-09-30 | Method, apparatus and presentation medium for avoiding a mismatch state in a 3-dimensional virtual shared space |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27706198A JP4232231B2 (ja) | 1998-09-30 | 1998-09-30 | 情報処理装置および方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000113218A JP2000113218A (ja) | 2000-04-21 |
JP4232231B2 true JP4232231B2 (ja) | 2009-03-04 |
Family
ID=17578249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27706198A Expired - Lifetime JP4232231B2 (ja) | 1998-09-30 | 1998-09-30 | 情報処理装置および方法、並びに記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6577306B2 (ja) |
EP (1) | EP0990461A2 (ja) |
JP (1) | JP4232231B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001085293A1 (en) * | 2000-05-10 | 2001-11-15 | Simation, Inc. | Method and system for providing a dynamic virtual environment using data streaming |
US20010037367A1 (en) * | 2000-06-14 | 2001-11-01 | Iyer Sridhar V. | System and method for sharing information via a virtual shared area in a communication network |
US7788323B2 (en) * | 2000-09-21 | 2010-08-31 | International Business Machines Corporation | Method and apparatus for sharing information in a virtual environment |
FR2833101B1 (fr) * | 2001-12-03 | 2004-07-02 | Dotvision | Procede de creation et de gestion d'univers virtuel |
JP2004348647A (ja) * | 2003-05-26 | 2004-12-09 | Hitachi Ltd | ヒューマン・コミュニケーション・システム |
US20050114204A1 (en) * | 2003-11-20 | 2005-05-26 | Jong-Kyung Kim | Advertisement providing system using video chatting service and the method thereof |
US7814153B2 (en) * | 2004-03-12 | 2010-10-12 | Prototerra, Inc. | System and method for client side managed data prioritization and connections |
JP2006025281A (ja) * | 2004-07-09 | 2006-01-26 | Hitachi Ltd | 情報源選択システム、および方法 |
JP4125762B2 (ja) | 2006-07-06 | 2008-07-30 | 株式会社スクウェア・エニックス | オンラインビデオゲーム制御サーバ |
US8167724B2 (en) * | 2007-12-10 | 2012-05-01 | Gary Stephen Shuster | Guest management in an online multi-player virtual reality game |
US8315409B2 (en) | 2008-09-16 | 2012-11-20 | International Business Machines Corporation | Modifications of audio communications in an online environment |
US20100169799A1 (en) * | 2008-12-30 | 2010-07-01 | Nortel Networks Limited | Method and Apparatus for Enabling Presentations to Large Numbers of Users in a Virtual Environment |
KR20100138700A (ko) * | 2009-06-25 | 2010-12-31 | 삼성전자주식회사 | 가상 세계 처리 장치 및 방법 |
US10521520B2 (en) * | 2013-02-14 | 2019-12-31 | Nocturnal Innovations LLC | Highly scalable cluster engine for hosting simulations of objects interacting within a space |
IL305162A (en) * | 2013-11-27 | 2023-10-01 | Magic Leap Inc | Virtual and augmented reality systems and methods |
US10838502B2 (en) | 2016-03-29 | 2020-11-17 | Microsoft Technology Licensing, Llc | Sharing across environments |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6057856A (en) * | 1996-09-30 | 2000-05-02 | Sony Corporation | 3D virtual reality multi-user interaction with superimposed positional information display for each user |
-
1998
- 1998-09-30 JP JP27706198A patent/JP4232231B2/ja not_active Expired - Lifetime
-
1999
- 1999-09-03 US US09/389,801 patent/US6577306B2/en not_active Expired - Lifetime
- 1999-09-30 EP EP99307726A patent/EP0990461A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0990461A2 (en) | 2000-04-05 |
US6577306B2 (en) | 2003-06-10 |
US20020118186A1 (en) | 2002-08-29 |
JP2000113218A (ja) | 2000-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4232232B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
US6532007B1 (en) | Method, apparatus and presentation medium for multiple auras in a virtual shared space | |
JP4479051B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP4232231B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP4441979B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
US20220266132A1 (en) | Virtual environment for computer game | |
US8655980B2 (en) | Networked computer system for communicating and operating in a virtual reality environment | |
US8196050B2 (en) | System and method for embedding a view of a virtual space in a banner ad and enabling user interaction with the virtual space within the banner ad | |
JP3928229B2 (ja) | 表示制御装置および表示制御方法、並びに記録媒体 | |
US9550125B2 (en) | Dynamic and scalable topology for virtual world environments | |
US6982709B2 (en) | Information processing method | |
JP2001236291A (ja) | 情報処理装置および方法、情報処理システム、並びに記録媒体 | |
US6496207B1 (en) | Collision detection apparatus and method for avatars in a three-dimensional virtual space | |
JP4487159B2 (ja) | 情報処理装置および方法、並びに格納媒体 | |
JP2001148033A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JP2000149063A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2000268192A (ja) | 近接判定方法及びプログラム提供媒体、並びに情報処理装置 | |
JP2000113223A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2001312744A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000149068A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2000148342A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2000194879A (ja) | 情報処理装置および方法、並びに記録媒体 | |
JPH11259683A (ja) | 3次元仮想空間情報処理装置および方法、並びに提供媒体 | |
JP2000207578A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2001307137A (ja) | 情報処理装置および方法、並びに格納媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050921 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081002 |
|
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: 20081118 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |