JP3932462B2 - クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 - Google Patents
クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP3932462B2 JP3932462B2 JP15283997A JP15283997A JP3932462B2 JP 3932462 B2 JP3932462 B2 JP 3932462B2 JP 15283997 A JP15283997 A JP 15283997A JP 15283997 A JP15283997 A JP 15283997A JP 3932462 B2 JP3932462 B2 JP 3932462B2
- Authority
- JP
- Japan
- Prior art keywords
- life object
- virtual life
- virtual
- growth
- parameter
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/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/8058—Virtual breeding, e.g. tamagotchi
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
- Processing Or Creating Images (AREA)
- Computer And Data Communications (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、クライアント装置、表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体に関し、特に、より現実に近い成長過程で、仮想生物オブジェクトを成長させることができるようにしたクライアント装置、表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体に関するものである。
【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次元グラフィクス・データの記述言語を利用することによって実現されている。また、ユーザの代理となるアバタを用いてチャットを行う種々のサイバースペースの考察に関しては、日経エレクトロニクス1996.9.9(no.670)の第151頁乃至159頁に記載されている。
【0006】
一方、近年、パーソナルコンピュータ用のソフトウェア・プログラムとして、熱帯魚を育てる飼育シミュレーション・ゲームや、仮想世界に住んでいる人工知能をもった仮想生物を育てる飼育シミュレーション・ゲームなどが知られている。また、電子手帳に犬や猫等の疑似ペットを表示して、その成長過程を楽しめるようにした製品も知られている(日経エレクトロニクス1997.4.7(no.686)の第131頁乃至134頁参照)。さらには、この種の飼育シミュレーション・ゲーム・プログラムを組込んだ、たまご大の携帯電子ペットとして、バンダイ株式会社が開発・製品化した「たまごっち(商標)」が広く知られている。
【0007】
この種の携帯電子ペットは、1チップのLSI(大規模集積回路)にCPU(中央処理装置)やROM、RAM等が内蔵されており、そのROM内に飼育シミュレーション・ゲーム・プログラムが格納され、さらにLCD(液晶表示装置)によって仮想的なペットの姿や状態が表示されるようになっている。ユーザは、操作ボタンを操作して、「食事を与える」、「掃除をする」など、ペットとしての仮想生物を飼育するのに必要な指示を与える。この結果として、LCDで表示される仮想生物が成長し、その成長の過程で、仮想生物の外観が、例えば、たまご、ひよこ、成鳥へと段階的に変化していく。
【0008】
また、ユーザのボタン操作に応じて、その指示が適切ならば順調に仮想生物が成長し、不適切ならば、病気になったり死亡してしまうようにプログラムされている。さらに、内部に組込まれているカレンダ・タイマーによって得られる仮想生物の誕生時点からの経過時間に基づいて、仮想生物側より各種の要求が行われるようにプログラムされている。例えば夜間の時間帯では仮想生物より睡眠の要求がなされ、食事の時間帯には食事の要求があり、またランダムにおやつや遊びの要求がなされる。これらの要求にユーザが適切に対応しない場合、仮想生物の成長が遅れたり、性格が悪化したりする。一方、ユーザが適切に対応した場合には、仮想生物の寿命が伸びるようにプログラムされている。
【0009】
ここで、例えば、特開平07-160853号公報には、電子手帳などに適用され、動物や植物等の生物の成長過程に応じた画像を表示する技術が開示されている。すなわち、植物キヤラクタの成長過程の各段階のビットマップ画像をROMに格納しておき、成長度に応じた植物キャラクタをLCDに表示させると共に、予めROMに記憶されている植物成長要素(水、光、肥料)の各キヤラクタを表示させ、それら各成長要素の投与量をキー入力することで、その投与量に応じた各成長要素の値がRAM内の水量レジスタ、光量レジスタ、肥料量レジスタに各々セツトされ、これらの各レジスタの値に基づいて、新たな成長度が算出され、その算出された成長度に対応した植物キヤラクタがROMから読み出されてLCDに表示される。これにより、ユーザの飼育状況に応じた植物の成長過程が表示される。
【0010】
【発明が解決しようとする課題】
ところで、上述した携帯電子ペットにおいては、予めプログラムされた仮想生物が1つの個体として扱われ、飼い主であるその携帯電子ペットの所有者と仮想生物とは一対一の関係で飼育シミュレーション・ゲームが進行する。従って、所有者以外の遠隔地のユーザが仮想生物を飼育したり、その成長過程を観察することが出来ず、また、複数のユーザで単一の仮想生物を共有して飼育することが出来ないという問題があった。
【0011】
すなわち、上述した携帯電子ペットによる仮想生物と、現実世界の生物とを比較すると、携帯電子ペットは、他のユーザとのコミュニケーションが無く、現実世界の生物のように、複数の人間とのコミュニケーションによる性格形成を行う環境にはなく、現実世界の生物とはかなり成長過程が異なることとなる。
【0012】
また、上述した携帯電子ペットや、特開平07-160853号公報に記載された仮想生物の画像表示方法においては、予め仮想生物のキヤラクタの成長過程の各段階のビットマップ画像をROMに格納しておき、成長度に応じて段階的に仮想生物キャラクタを変更し、その成長を表現しているため、段階的な成長過程しか表示出来ず、現実の生物とは異なり、したがって、例えば、成長経過に応じた身長や体重の変化に伴って、その体格を動的に変化させるようなことは出来ず、仮に、実現し得たとしても、莫大な容量のビットマップ画像を予め用意しておかなければならず、現実的ではなかった。
【0013】
そこで、本発明はこのような実情に鑑み、複数のユーザが仮想生物を共有してコミュニケーションを図りつつ飼育することによって、その性格形成に影響を与えることができ、さらに、成長過程に伴って外観や挙動を動的に変化させることによって、現実の生物に近い成長過程を表現する事ができる共有仮想空間提供システムを提供することを目的としている。
【0014】
【課題を解決するための手段】
請求項1に記載のクライアント装置は、成長パラメータは、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、サーバに送信する送信手段と、サーバより伝送されてくる、所定イベントの発生に応じて変化する、仮想生命オブジェクトの成長パラメータを受信する受信手段と、受信手段により受信された成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える仮想生命オブジェクトの外観、又は成長パラメータのうちのメンタルパラメータが影響を与える仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された仮想生命オブジェクトを表示させるように表示を制御する表示制御手段とを備えることを特徴とする。
【0015】
請求項2に記載の表示制御方法は、成長パラメータは、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、送信手段が仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、サーバに送信する送信ステップと、受信手段がサーバより伝送されてくる、所定イベントの発生に応じて変化する、仮想生命オブジェクトの成長パラメータを受信する受信ステップと、表示制御手段が受信ステップの処理において受信された成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える仮想生命オブジェクトの外観、又は成長パラメータのうちのメンタルパラメータが影響を与える仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された仮想生命オブジェクトを表示させるように表示を制御する表示制御ステップとを含むことを特徴とする。
【0016】
請求項3に記載の記録媒体に記録されているプログラムは、成長パラメータは、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、送信手段が仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、サーバに送信する送信ステップと、受信手段がサーバより伝送されてくる、所定イベントの発生に応じて変化する、仮想生命オブジェクトの成長パラメータを受信する受信ステップと、表示制御手段が受信ステップの処理において受信された成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える仮想生命オブジェクトの外観、又は成長パラメータのうちのメンタルパラメータが影響を与える仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された仮想生命オブジェクトを表示させるように表示を制御する表示制御ステップとをクライアント装置に実行させることを特徴とする。
【0017】
請求項7に記載の共有仮想空間提供装置は、共有仮想空間に存在し、ネットワークに接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理する管理手段と、クライアント装置からの要求または所定イベントの発生に応じて、管理手段により読み出された成長パラメータを、要求元のクライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送手段と、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、ネットワークを介してクライアント装置に送信する送信手段とを備えることを特徴とする。
【0018】
請求項8に記載の共有仮想空間提供方法は、管理手段が共有仮想空間に存在し、ネットワークを介して接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを成長パラメータ管理テーブルで管理する管理ステップと、転送手段がクライアント装置からの要求または所定イベントの発生に応じて、管理ステップの処理により読み出された成長パラメータを、要求元のクライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送ステップと、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段がネットワークを介してクライアント装置に送信する送信ステップとを含むことを特徴とする。
【0019】
請求項9に記載の記録媒体に記録されているプログラムは、管理手段が共有仮想空間に存在し、ネットワークを介して接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを成長パラメータ管理テーブルで管理する管理ステップと、転送手段がクライアント装置からの要求または所定イベントの発生に応じて、管理ステップの処理により読み出された成長パラメータを、要求元のクライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送ステップと、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段がネットワークを介してクライアント装置に送信する送信ステップとを共有仮想空間提供装置に実行させることを特徴とする。
【0020】
請求項1に記載のクライアント装置、請求項2に記載の表示制御方法、および、請求項3に記載の記録媒体においては、成長パラメータは、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、仮想生命オブジェクトに対する、ユーザの操作に起因するイベントが、サーバに送信され、サーバより伝送されてくる、所定イベントの発生に応じて変化する、仮想生命オブジェクトの成長パラメータが受信され、受信された成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える仮想生命オブジェクトの外観、又は成長パラメータのうちのメンタルパラメータが影響を与える仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトが解釈実行されることによって、仮想生命オブジェクトを構成する各ノードのフィールドの値が変更され、その変更されたフィールドの値が反映された仮想生命オブジェクトが表示されるように表示が制御される。
【0021】
請求項7に記載の共有仮想空間提供装置、請求項8に記載の共有仮想空間提供方法、および、請求項9に記載の記録媒体においては、共有仮想空間に存在し、ネットワークに接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとが管理され、クライアント装置からの要求または所定イベントの発生に応じて、読み出された成長パラメータが、要求元のクライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に伝送され、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトが、ネットワークを介してクライアント装置に送信される。
【0022】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【0023】
説明に先立ち、世界的規模で構築されたコンピュータネットワークであるインターネット(The Internet)において、様々な情報を提供するWWW(world wide web)の枠組みを利用して3次元的な情報を統一的に扱うことができる記述言語であるVRML(virtual reality modeling language)について説明する。
【0024】
ここで、インターネットで利用できる情報提供システムとして、スイスのCERN(European Center for Nuclear Research:欧州核物理学研究所)が開発したWWWが知られている。これは、テキスト、画像、音声などの情報をハイパーテキスト形式で閲覧できるようにしたもので、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルに基づいて、WWWサーバに格納された情報をパーソナルコンピュータなどの端末に非同期転送するものである。
【0025】
WWWサーバは、HTTPデーモン(HTTP:HyperText Transfer Protocol、ハイパーテキスト転送プロトコル)と呼ばれるサーバ・ソフトウエアとハイパーテキスト情報が格納されるHTMLファイルによって構成される。なお、デーモンとは、UNIX上で作業を行う場合、バックグラウンドで管理や処理を実行するプログラムを意味する。ハイパーテキスト情報は、HTML(HyperText Markup Language、ハイパーテキスト記述言語)と呼ばれる記述言語によって表現される。HTMLによるハイパーテキストの記述は、「<」と「>」で囲まれたタグと呼ばれる書式指定によって文章の論理的な構造が表現される。他の情報とのリンクについての記述は、アンカーと呼ばれるリンク情報によって行われる。アンカーによって情報が存在する所を指定する際には、URL(Uniform Resource Locator)が用いられる。
【0026】
HTMLで記述されたファイルを、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク上において転送するためのプロトコルがHTTPである。クライアントからの情報の要求をWWWサーバに伝え、HTMLファイルのハイパーテキスト情報をクライアントに転送する機能をもっている。
【0027】
WWWを利用する環境として多く利用されているのが、WWWブラウザ(ブラウザとは閲覧するという意味)と呼ばれる、Netscape Navigator(米国Netscape Communications社の商標)をはじめとするクライアント・ソフトウエアである。
【0028】
このWWWブラウザを用いて、URLに対応する世界規模で広がるインターネット上のWWWサーバ上のファイル、いわゆるホームページを閲覧することができ、いわゆるネットサーフィンと呼ばれるように、リンクが張られたホームページを次々と辿って、多種多様なWWWの情報ソースにアクセスすることができる。
【0029】
近年、このWWWをさらに拡張し、3次元空間の記述や、3次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらWWWサーバを次々とアクセスできるようにしたVRMLと呼ばれる3次元グラフィックス記述言語で記述された3次元空間を表示するVRMLブラウザが開発されている。
【0030】
この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〕」等の文献に記載されている。
【0031】
また、 August 4, 1996における The Virtual Reality Modeling Language Version 2.0, ISO/IEC CD 14772の公式かつ完全な仕様書は、http://webspace.sgi.com/moving-worlds/spec/index.htmlで公開されており、その日本語版は、http://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spec-jp/index.htmlで公開されている。
【0032】
さらに、VRML2.0用ブラウザおよび共有サーバ用ソフトウェアとしては、例えば、本出願人であるソニー株式会社が「Community Place Browser / Bureau(商標)」として開発し、製品化しており、そのβ版(試供版)を、インターネット上のホームページhttp://vs.sony co.jpからダウンロード可能としている。
【0033】
このようなVRML2.0を用いて3次元的な仮想空間を構築しようとする場合、まず、VRMLにより仮想空間内の物体(モデル)の形、動きおよび位置等を示す図形データの作成(モデル作成)、ユーザが画面表示された仮想空間内のモデルを、例えば、マウスでクリックしてポインティングした場合にイベントを発生させるスイッチ(センサ)のモデルへの付加(センサ付加)、センサへのポインティングに応じて発生するイベントを実現するスクリプトのプログラミング(スクリプト作成)、センサーに対する操作とスクリプトの起動等、図形データおよびスクリプト(以下、図形データ、スクリプトおよびVRMLに規定されているライト等のコモンノード等を総称してノードとも記す)の間の対応付け(ルーティング)などによって所望のコンテンツを表現するVRMLファイルを作成する。
【0034】
例えば、http://www.ses.co.jp/SES/STAFF/kan/howto/howto1.htmlには、VRML2.0の書き方、サンプルデータなど、丁寧に解説されている。その一部を紹介すると、以下の通りである。
【0035】
HTML形式で書かれたデータを見るためにHTMLブラウザが必要なように、VRML2.0形式で書かれたデータを見るためにはVRML2.0に対応したVRMLブラウザが必要となる。尚、このページで作成したVRML2.0のデータは全てSONY社製のCommunity Place Browserで行なわれている。
また、ファイルがVRMLで書かれたことを表すためにファイルの拡張子を*.wrl(ワールドの意)に、更にVRML2.0で書かれたことを表すためにファイルの1行目に
#VRML V2.0 utf8
と書くことが必要である。
【0036】
2.VRML2.0データの基本構造
VRML2.0のデータはノード(Node)とフィールド(Field)で構成されていて、基本的に次のような形で書かれている。
Node { Field(s) }
この中でFieldsは省略することができるが、Nodeと中かっこ'{','}'は省略することができない。
フィールドはノードに変数を渡し、ノードのパラメータを指定します。フィールドを省略した場合、デフォルト値が用いられる。また、フィールドには単一の値しか持たない「単一値フィールド(SF)」と複数の値を持つ「複値フィールド(MF)」があり、単一値フィールドの名前は"SF"で、複値フィールドは"MF"で始まるようになっている。
【0037】
3.球の書き方
VRML2.0では球や直方体、円柱、円錐などの基本図形を描くためのノードが用意されている。前にも書いているが、それぞれのノードはパラメータを指定するためのフィールドを持っている。例えば、球を描くためのSphereノードは半径を指定するためのradiusというフィールドを持っており、次のように書くことで半径1の球を表示する。尚、radiusフィールドのデータタイプは、SFFloatですから、1つの浮動小数点数の値をとる。
【0038】
Sample1
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: geometry Sphere { radius 1 }
6: }
7: ]
8: }
【0039】
実は2,3行目、7,8行目は書かなくてもかまいません。1行目と4行目乃至6行目だけで、きちんと半径1の球を表示できる。
Transformノードは、Groupノードという種類のノードの1つで、文字通りノードのグループ化を行うためのノードである。Transformノードを含めて、以後でてくる他のノードの詳しい機能やフィールドなどは「Appendix1:VRML2.0
Node List」を参照されたい。
球を書くためのノードはSphereであるが、このノードはGeometryノードを呼ばれるノードの1つである。
Geometryノードは、見え方と形状を定義するShapeノードのgeometryフィールドに書く必要がある。
【0040】
4.球に色を付ける
先ほどの球に色を付けるには次のように書く。
Sample2
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: appearance Appearance {
6: material Material { diffuseColor 1 0 0 }
7: }
8: geometry Sphere { radius 1 }
9: }
10: ]
11: }
【0041】
この球は赤色で表示される。追加されたのは5行目乃至7行目までである。diffuseColorフィールドのデータタイプは、SFColorであるから、RGBカラーを表す3つの単精度浮動小数点数の組を1つだけ持つ。見え方を定義するMaterialノードはAppearanceノードのmaterialフィールドに書くことになっています。また、AppearanceノードはShapeノードのappearanceフィールドに書くことになっている。このためこのような一見複雑な構造になっている。
【0042】
5.テクスチャの張り付け
オブジェクトに色を付けるだけではなくて画像ファイルを張り付けることもできる。VRML2.0でテクスチャとして利用できるファイルフォーマットはJPEG,GIF,PNGである。ここでは予め用意したGIFイメージを使っている。
Sample3
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: appearance Appearance {
6: texture ImageTexture { url "image.gif" }
7: }
8: geometry Box {}
9: }
10: ]
11: }
【0043】
テクスチャを張り付けているのは6行目である。ImageTexureノードはAppearanceノードのtextureフィールドに書くことになっているため、このような書き方になる。尚、8行目のBoxノードは直方体を描くためのノードである。
【0044】
6.物体の位置を移動させる
次にこの赤色の球を右に移動させる。
Sample4
1: #VRML V2.0 utf8
2: Transform {
3: translation 2 0 0
4: children [
5: Shape {
6: appearance Appearance {
7: material Material { diffuseColor 1 0 0 }
8: }
9: geometry Sphere { radius 1 }
10: }
11: ]
12: }
【0045】
3行目に追加したtranslationフィールドで物体を平行移動させる。translationフィールドは、
translation x y z
で、それぞれx軸、y軸、z軸の移動量を指定する。ブラウザ上ではx軸は左右(右方向に+)、y軸は上下(上方向に+)、z軸は奥行き(手前に向かって+)を表す。従って、
translation 2 0 0
は右方向に2だけ平行移動することになる。
【0046】
7.物体の追加
赤い球の左に緑の円錐を追加する。
Sample5
1: #VRML V2.0 utf8
2: Transform {
3: translation 2 0 0
4: children [
5: Shape {
6: appearance Appearance {
7: material Material { diffuseColor 1 0 0 }
8: }
9: geometry Sphere { radius 1 }
10: }
11: ]
12: }
13: Transform {
14: translation -2 0 0
15: children [
16: Shape {
17: appearance Appearance {
18: material Material { diffuseColor 0 1 0 }
19: }
20: geometry Cylinder {}
21: }
22: ]
23: }
【0047】
13行目以降に追加したソースは12行目以前のものと構造は同じである。物体が球から円錐へ、色が赤から緑へ、そして位置が左に移動している点が12行目以前のものと異なる。
【0048】
8.ポリゴンで書く
上述した「VRML2.0の書き方」ではプリミティブな図形を使ったが、複雑な図形を書くときにはポリゴンを使用する。ポリゴンで表示するためにIndexedLineSet,IndexedFaceSetの2つのノードが用意されている。IndexedLineSetは線を、IndexedFaceSetは面を表現する。
Sample6
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: geometry IndexedFaceSet {
6: coord Coordinate {
7: point [
8: 0 0 0,
9: 1 0 0,
10: 1 0 1,
11: 0 0 1,
12: 0 1 0,
13: 1 1 0,
14: 1 1 1,
15: 0 1 1
16: ]
17: }
18: coordIndex [
19: 0, 1, 2, 3,-1,
20: 0, 1, 5, 4,-1,
21: 1, 2, 6, 5,-1,
22: 2, 3, 7, 6,-1,
23: 3, 0, 4, 7,-1,
24: 4, 5, 6, 7,-1
25: ]
26: solid FALSE
27: }
28: }
29: }
30: ]
31: }
【0049】
このサンプルは6つの面で立方体を表している。ポリゴンで表すためにはまず、頂点となる座標を決める(7行目乃至16行目)。この座標は上から0,1,2,と番号が振られる。即ち、10行目の「1 0 1」は「2」番の座標ということになる。次に何番の座標と何番の座標で面を構成するのかを決める(18行目乃至25行目)。19行目の「0, 1, 2, 3, -1」は「0番、1番、2番、3番の座標で面を作る」ことを表している。
【0050】
9.ノードに名前を付ける
既に定義されているノードを再利用するためにDEFとUSEという機能がある。例えば、半径2の青の球を2つ描くとする。これまでの書き方で書くならば次のようになる。
Sample7
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: appearance Appearance {
6: material Material { diffuseColor 0 0 1 }
7: }
8: geometry Sphere { radius 2 }
9: }
10: ]
11: }
12: Transform {
13: translation 0 5 0
14: children [
15: Shape {
16: appearance Appearance {
17: material Material { diffuseColor 0 0 1 }
18: }
19: geometry Sphere { radius 2 }
20: }
21: ]
22: }
【0051】
12行目以降は13行目の座標移動の部分を除いて11行目以前と全く同じである。1度定義されている「半径2で青い球」を再び同じように記述するのははっきり言って無駄である。そこで次のようにする。
【0052】
Sample7改
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: DEF BlueSphere Shape {
5: appearance Appearance {
6: material Material { diffuseColor 0 0 1 }
7: }
8: geometry Sphere { radius 2 }
9: }
10: ]
11: }
12: Transform {
13: translation 0 5 0
14: children [
15: USE BlueSphere
16: }
17: ]
18: }
4行目を見ると
DEF BlueSphere Shape
となっている。これは「Shape{……}を「BlueSphere」という名前にします。」という意味で、これ以降
USE BlueSphere
と書くだけでShape{……}と同じ内容を表す。
【0053】
10.WRLファイルの読み込み
大きなVRMLデータをつくるときに1つのファイルにすべての記述を行うのはあまりいい方法ではない。部品ごとに分けて必要に応じて呼び出せるようにしておく方が便利である。このような場合、Inlineノードを使う。例えば1.でつくったSample1.wrlを読み込んで表示する。
Sample8
1: #VRML V2.0 utf8
2: Inline {
3: url [
4: sample1.wrl
5: ]
6: }
【0054】
11.リンクを張る
オブジェクトにリンクを張り、オブジェクトをクリックしたときに別のページにジャンプさせることもできる。
Sample9
1: #VRML V2.0 utf8
2: Anchor {
3: children [
4: Shape {
5: geometry Sphere { radius 2 }
6: }
7: ]
8: url "test.html"
9: description "LINK to test.html"
10: }
【0055】
リンクを張るオブジェクトを子ノードにしてAnchorノードで括る。AnchorノードはGroupノードの1つである。リンク先のファイルをurlフィールドに書く。descriptionフィールドに書いた文字列はマウスポインタがオブジェクトに触れている間表示される。
【0056】
12.ライトの設定
VRML2.0ではワールドに光を設定するためにDirectionalLight(平行光)、PointLigt(点光源)、SpotLight(スポットライト)3つのノードが用意されている。ここではPointLigtノードを例に挙げて説明する。光の当たり方がわかりやすいように3行目でオブジェクトを回転させている。
Sample10
1: #VRML V2.0 utf8
2: Transform {
3: rotation 1 0 0 0.75
4: children [
5: PointLight {
6: location 0 0 2 #オブジェクトの前
7: }
8: Shape {
9: geometry Cylinder {}
10: }
11: ]
12: }
【0057】
6行目の光源の位置によってオブジェクトの見え方が異なる。このサンプルではオブジェクトの前に光源を置いている。
【0058】
13.ワールド環境(1)
これまでは主にオブジェクトの作成に関しての解説であったが、今回はオブジェクト作成以外のノードの使い方について触れる。ワールド環境などと勝手に命名しているが、こういう言い方が一般的かどうかは分からない。
まず、ブラウザでデフォルトで用意されている HeadLight を消してみる。HeadLight の ON・OFF はブラウザのOption で変更できるが、ファイル内に書くことによっても設定できる。
Sample11
1: #VRML V2.0 utf8
2: NavigationInfo {
3: headlight FALSE
4: }
5: Transform{
6: children [
7: Shape {
8: appearance Appearance {
9: material Material { diffuseColor 1 0 0 }
10: }
11: geometry Sphere {}
12: }
13: ]
14: }
【0059】
このサンプルでブラウザの Option を見ると、Headlight のチェックがはずれている。このサンプルでは今までのサンプルに比べて極端に暗くなっているのが分かる。HeadLight は常にユーザの見ている方向に照らされるライトで、これがないとこのように見える。
新たに加えたのは 2 行目から 4 行目の NavigationInfo ノードである。このノードの headlight フィールドをTRUE か FALSE にすることで HeadLight を ON・OFF する。HeadLight を消して任意のライトを設定することで効果的に明るさを設定できる。
【0060】
14.ワールド環境(2)
NavigationInfo ノードには他にも幾つかのフィールドが用意されている。その中の type フィールドでナビゲーション方法を変更することができる。
デフォルトでは WALK に設定されている ナビゲーション方法であるが、他にも重力を無視して移動できる FLY、自分が動くことなくオブジェクトを動かす EXAMINE、何もコントロールできない NONE、がある。ちなみに WALKは重力の影響を受けながら移動するナビゲーション方法である。
【0061】
Sample12
1: #VRML V2.0 utf8
2: NavigationInfo {
3: type EXAMINE
4: }
5: Transform{
6: children [
7: Shape {
8: appearance Appearance {
9: material Material { diffuseColor 1 0 0 }
10: }
11: geometry Box {}
12: }
13: ]
14: }
このサンプルでは EXAMINE にしている。オブジェクトをマウスでドラッグするとオブジェクトが回転する。
【0062】
15.シーンにタイトルを付ける
HTML では <title> タグで囲むことによってタイトルを付けることができる。もしこのタグを指定しないとタイトルが [http://ryo1.is.kochi-u…howto3.html] のようにパスが表示される。VRML でもこれと同じことが起こる。これまでのサンプルではタイトルを指定していないためパスが表示されている。VRML
でタイトルを指定するには WorldInfo ノードを使用する。
【0063】
Sample13
1: #VRML V2.0 utf8
2: WorldInfo {
3: title "Spin Box"
4: info["Autor H.Kan","http://ryo1.is.kochi-u.ac.jp/"]
5: }
2: NavigationInfo {
3: type EXAMINE
4: }
5: Transform{
6: children [
7: Shape {
8: appearance Appearance {
9: material Material { diffuseColor 1 0 0 }
10: }
11: geometry Box {}
12: }
13: ]
14: }
【0064】
2 行目乃至 5 行目までに WorldInfo ノードを追加した。このサンプルでは前のサンプルに "Spin Box" というタイトルを付けた(Plugin 版では表示されなかった)。尚、info フィールドにはタイトル以外の情報を書くが、ブラウザ上には何の変化も与えない。
【0065】
16.視点の位置を変える
デフォルトでは視点は最初 z 軸上のどこか(オブジェクトの配置によって異なる)にいる。ここでは最初の視点位置を任意の場所に変更できるようにする。
【0066】
Sample14
1: #VRML V2.0 utf8
2: Viewpoint{ position x y z }
3: Transform {
4: children [
5: Shape {
6: appearance Appearance {
7: material Material { diffuseColor 1 0 0 }
8: }
9: geometry Sphere {}
10: }
11: ]
12: }
13: Transform {
14: translation -3 0 0
15: children [
16: Shape {
17: appearance Appearance {
18: material Material { diffuseColor 0 1 0 }
19: }
20: geometry Sphere {}
21: }
22: ]
23: }
24: Transform {
25: translation 3 0 0
26: children [
27: Shape {
28: appearance Appearance {
29: material Material { diffuseColor 0 0 1 }
30: }
31: geometry Sphere {}
32: }
33: ]
34: }
【0067】
(0, 0, 0)に赤、(-3, 0 , 0)に緑、(3, 0, 0)に青の球がある。2 行目の Viewpoint ノードの position フィールドに具体的な座標を指定すると、そこが最初の視点になる。ただし視線方向は常に z 軸の方向である。
【0068】
17.視線の方向を変える
sample14 では視点の座標のみを変更したが、もちろん視線方向も指定できる。方向を指定するときも Viewpoint ノードを使うが、 フィールドは orientation フィールドを使う。orientation フィールドは SFRotation 型のフィールドで、加点軸と回転角を値として持つ。
【0069】
18.センサをつける
VRML2.0 のノードの中には Sensor ノードと呼ばれるノードがある。シーン内での様々なことを感知、判定するためのノードで、全部で7種類用意されている。このWebページで動作確認を行っている Community Place Browser では、幾つかの Sensor ノードがまだサポートされていない。ここではオブジェクトにマウスがヒットしたかどうかを感知する TouchSensor をオブジェクトにつけてみる。
【0070】
Sample15
1: #VRML V2.0 utf8
2: Transform{
3: children [
4: DEF TS TouchSensor {}
5: Shape {
6: geometry Box {}
7: }
8: ]
9: }
【0071】
これまでのサンプルと異なるのは4行目だけである。ここでは TS という名前を付けた TouchSensor を Box につけている。Box にマウスカーソルが触れると(あなたが使っているブラウザが Community Place Browser ならば)手の形に変わるはずである(他のブラウザの中にはカーソルが変わらないものもある)。ちなみにクリックしても何も起きない。
【0072】
19.動きをつける(1)
VRML2.0 が VRML1.0 と大きく異なる点はシーンに動きをつけられるという点である。 動きをつけるには Java や VRMLScript(JavaScript) などのスクリプトを用いる方法と、Interplator ノードを用いる方法がある。
まずは Interplator ノードを用いる方法から見ていく。Interplate とは、「差し挟む」とか「内挿する」といった意味である。Interpolator ノードで数値、位置、3D座標、方向、法線、色の値を変えることによってシーンに動きをつけることができる。ここでは方向を内挿する OrientationInterpolator ノードを用いてオブジェクトを回転させてみる。
【0073】
Sample16
1: #VRML V2.0 utf8
2: DEF OBJ Transform{
3: children [
4: Shape {
5: geometry Box { size 2 3 1 }
6: }
7: ]
8: }
9: DEF TS TimeSensor{
10: cycleInterval 1
11: loop TRUE
12: stopTime -1
13: }
14: DEF OI OrientationInterpolator{
15: key [0, 0.125, 0.25,0.375, 0.5,
16: 0.625, 0.75, 0.875, 1,]
17: keyValue [0 1 0 0, 0 1 0 0.785, 0 1 0 1.57,
18: 0 1 0 2.355, 0 1 0 3.14, 0 1 0 -2.355,
19: 0 1 0 -1.57, 0 1 0 -0.785, 0 1 0 0]
20: }
21: ROUTE TS.fraction_changed TO OI.set_fraction
22: ROUTE OI.value_changed TO OBJ.set_rotation
【0074】
まず、幾つかのノードに名前を付けておく。2,9,14 行目にそれぞれ、OBJ,TS,OI と定義している。これは後述するがイベントの受け渡しをするときに必要になる。
9 行目乃至 13 行目を見ます。TouchSensor は時間の経過を感知するノードで、時間の経過に伴って一定の間隔でイベントを生成することができる。loop フィールドは TRUE か FALSE をとる SFBool フィールドで、TRUE なら stopTime になるまで続く。ここでは stopTime -1 と startTime(デフォルトは0)と startTime より小さな値になっているので永久に継続されることになる。回転する動きをもっと遅くするときには cycleInterval の値をもっと大きくする。
【0075】
14 行目乃至 20 行目までが OrientationInterpolator ノードである。Interpolator ノードはすべて key と keyValue の2つのフィールドを持っている。key はアニメーション時間の間隔を 0 から 1 の間で設定する。
keyValue は key で設定した間隔に具体的なフィールド値(ここでは MFRotation )を設定する。ここではアニメーション時間の間隔を9等分して、y軸を中心に回転角を設定している。
【0076】
しかしこれだけではシーンに動きをつけることはできない。TimeSensorノードの生成したイベントを OrientationInterpolator ノードに渡してやる必要がある。21,22行目を見ます。この ROUTE というキーワードで始まる行で イベントを受け渡しを行う。
TimeSensor TS が起動すると fraction_changed がイベントアウトされる。fraction_changed がイベントアウトされると、OrientationInterplator OIの set_fraction にイベントインされる。ここまでが21 行目の ROUTE の動作である。22 行目はイベントインされた set_fraction 値から OrientationInterplator OI が値を内挿し、それを Transform OBJ の translation フィールドに value_changed としてイベントアウトする。
もう1つサンプルをあげてみる。
【0077】
20.動きをつける(2)
今度はマウスでオブジェクトをクリックすると移動するサンプルである。移動するには位置を内挿する PositionInterpolator ノードを使用する。
Sample17
1: #VRML V2.0 utf8
2: DEF OBJ Transform {
3: children [
4: DEF TS TouchSensor {}
5: Shape {
6: appearance Appearance {
7: material Material { diffuseColor 1 0 0 }
8: }
9: geometry Box {}
10: }
11: ]
12: }
13: DEF TIS TimeSensor { cycleInterval 5 }
14: DEF PI PositionInterpolator {
15: key [0, 0.2, 0.4, 0.6, 0.8, 1.0]
16: keyValue[0 0 0 , 0 0 -2 , 0 2 -4 , 0 4 -6 , 2 4 -6, 4 2 -6]
17: }
18: ROUTE TS.touchTime TO TIS.set_startTime
19: ROUTE TIS.fraction_changed TO PI.set_fraction
20: ROUTE PI.value_changed TO OBJ.set_translation
【0078】
今度は、OBJ という名前の赤い立方体に TouchSenor TS をつけている。オブジェクトがクリックされると、TouchSenor TS の touchTime が TimeSensor TIS の startTime にイベントアウトされる。サンプルのソースには TimeSensoe ノードの中に startTime フィールドは書いてないが、デフォルトで startTime 0 となっている。あとは前のサンプルと同じである。
これらの ROUTE によってオブジェクトが移動する。
【0079】
ここで、第1世代のVRML1.0に対し、第2世代のVRML2.0で新たに加わった機能であるVRML仮想空間内における自律的な動き(Behavior)を実現するためのメカニズムについて概説する。
【0080】
VRML2.0においては、3次元仮想現実空間内に配置されたオブジェクトに対する操作に伴って生じるイベントや、予め設定された時間が経過した時点で生じるタイマーイベントに応じて、オブジェクトの自律的な動きを実現することができる。このBehaviorのメカニズムは、センサー、ルーティング、スクリプトの3つの要素の連携動作によって実現される。
【0081】
すなわち、
▲1▼予め3次元仮想現実空間内に配置されたオブジェクトなどのノードに対して関係付けられて、VRMLファイルとして記述されたセンサーノードが、そのフィールドの値の変化に基づいて、外部イベントを感知し、VRMLシーン内にイベントを発生する。
▲2▼発生したイベントは、 VRMLファイルとして記述されたルーティングに基づいて、オブジェクトの挙動を規定するプログラムである外部のスクリプトに対して、伝達される。
▲3▼外部のスクリプトには予め特定のイベントが到来した時点で呼び出されるメソッドが記述されており、ルーティングによって伝達されたイベントを受け取った外部のスクリプトは、その記述に基づく処理を実行した後、その処理結果と、ルーティングの記述に基づいて、VRMLシーン内の該当するノードのフィールドの値を変更する。
【0082】
VRML2.0においては、センサーノードとしては、例えば、指定されたオブジェクト上をポインティングデバイスが通過したり、ユーザによってクリックされた場合にイベントを発生するTouchSensorや、指定された領域内にViewPoint(ユーザの視点)が侵入した場合にイベントを発生するProximitySensorや、与えられた時刻となったり、予め指定された時間間隔が経過する毎に発生するTimeSensorなどが定義されている。
【0083】
もう少し詳しく、Behaviorの仕組みを説明する。先にも述べたように、Behaviorの仕組みは、センサー、イベント、ルーティングおよびスクリプトから構成されている。
【0084】
センサーは、2つの機能に分けられる。
・ユーザの操作を感知するタイプ
・システムの変化を感知するタイプ
【0085】
ユーザの操作を感知するタイプのセンサーは、3次元仮想空間内に配置された物体などに関係付けられたソフトウエアによるスイッチとなる。システムの変化を感知するタイプのセンサーは、作動させる時間を事前に設定しておいたタイマーが作動することになる。センサーの働きは、これらの外部イベントを検出して、それをVRML内部のイベントに変換することである。
【0086】
イベントは、VRMLの内部の関連するノード間で、情報を伝えるためのデータのことを指す。実際には、VRMLファイルの中に記述されたフィールド値の変化がイベントとして伝達される。
【0087】
ルーティングは、センサー機能で検出されたイベントをどのノードに伝えるかを指定するための仕組みで、イベントによる情報の伝達経路を指定することになる。
【0088】
スクリプトはイベントの入出力口で、入力されたイベントから何らかの計算を行い、その結果をイベントとして出力することができるものである。スクリプトは特定の言語のみに制限されるものではなく、現段階では、インターネット界で注目を浴びているJavaやJavaScript、通常のシステムでよく利用されているC言語、UNIXでよく利用されているTcl/TkやPERL、マイクロソフト社の提供しているVisual Basic言語などが対応している。このようにVRML2.0では特定のスクリプト言語に依存しない仕様になっている(VRML2.0仕様検討中、一時特定の言語仕様としてVRMLScriptが採用されようとしたこともあるが、この構想は取り止めなった)。
【0089】
次に、Behaviorの処理手段に関して、図1を参照して説明する。Behaviorの処理を図式化すると、図1のようになる。以下、各部に分けて、処理信号の流れを説明する。
【0090】
▲1▼センサーノード
前にも述べたように、センサーノードには、大きく分類して2系統がある。ユーザの操作を感知するタイプと、システムの変化を感知するタイプのセンサーである。
【0091】
前者のセンサーには、3次元物体やその平面をマウスクリックしたり、通過したりしたときに感知するTouchSensorやPlaneSensorなどのセンサーノードがあり、後者のセンサーとしては、設定した時間が来るとイベントを発生させる仕組みになっているTimeSensorが用意されている。
【0092】
この図1の例では、球にTouchSensorが付けられているものとする。このとき、ユーザが球をマウスクリックすると、このイベントをTouchSensorが検出する。このイベントは、TouchSensorのeventOutフィールドのフィールド値が変化することで検出される。通常1回のマウスクリックで2つのイベントを発生する。それは、マウスボタンが押されたタイミングと、離されたタイミングである。
【0093】
次に、このイベントは、ルーティング記述部分によって、ルーティングされることになる。
【0094】
▲2▼ルーティング
このイベントのルーティングを指定するのが、図2に示すような「Route」である。
【0095】
センサー記述部分で発生したイベントがRouteのeventOutフィールドに伝達され、さらに、次に述べるスクリプトノードに伝えられることにより、外部ファイルにイベントが渡され、Behavior機能が実行される。
【0096】
▲3▼スクリプトノード
このノードは、VRMLファイルと外部のスクリプトとを連動させる仲介をするノードである。スクリプトノードの記述書式に従って、どのような言語で記述されているかとか、ファイル名を指定したり、外部スクリプトファイルとの間でイベントのやり取りをするために、eventInフィールドとeventOutフィールドを規定する。このとき、使用できるスクリプトファイルは、Java、JavaScript、C言語、Tcl/Tk、PERL、およびVisual Basic言語など多岐に渡る。
【0097】
実際の処理手段としては、ルーティングされたイベントがスクリプトノードに記述されているスクリプトファイルに処理が伝達され、外部のスクリプトファイルが実行される。外部のスクリプトファイルは、その中で定義されているeventIn(イベントの入口)で受け取り、そのファイル内に記述された処理を実行する。その処理が終了した後、eventOut(イベントの出口)から結果をVRMLファイルのルーティングへ返す。VRMLファイルは、その返された結果を実行して、一連のBehavior処理は終了する。
【0098】
このような、センサー、ルーティング、スクリプトの連携動作によって実現されるBehaviorのメカニズムを利用することによって、例えば、3次元仮想現実空間内に配置されたスイッチを模したオブジェクトをマウスでクリックすることによって、同じ空間内に配置された他のオブジェクトの外観(形状、姿勢、サイズ、色等)であるとか、挙動シーケンスなどを動的に変更する事ができる。
【0099】
このBehaviorのメカニズムの詳細な説明については、http://webspace.sgi.com/moving-worlds/spec/part1/concepts.htmlおよび、その日本語版であるhttp://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spec-jp/part1/concepts.html で公開されている、August 4, 1996における The Virtual Reality Modeling Language Version 2.0, ISO/IEC CD 14772の仕様書、4.概念の節に開示されている。この節には、 VRML仕様書を利用するにあたりキーとなる概念が記述されている。ノードをシーングラフに結合する方法、ノードがイベントを生成したり受け取ったりする方法、プロトタイプによるノードタイプの作成方法、VRMLにノードタイプを追加して外部から使用できるようにエクスポートする方法、VRMLファイルにプログラムとして動作するスクリプトを組み込む方法など、様々なノードに関する一般的な項目が記載されている。
【0100】
次に、このようなVRML2.0の自律的な動き(Behavior)を実現するメカニズムを応用して、共有仮想空間内に、仮想生命オブジェクトを誕生させ、ユーザの操作や時間経過に伴う所定のイベントの発生に応じて変化する成長パラメータ(外観的成長又は内面的成長(個性))をサーバで管理し、このサーバから転送された成長パラメータに基づいて、仮想生命オブジェクトの外観(形状、姿勢、サイズ、色等)又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するためのスクリプトプログラムを解釈、実行することで、成長パラメータに応じた仮想生命オブジェクトを表示する技術について、以下に詳述する。
【0101】
図3は本発明の一実施の形態の全体のシステム構成図である。
【0102】
図3において、1,2,3は、VRMLブラウザ及びWWWブラウザがインストールされ、これらが動作しているクライアントPC(パーソナルコンピュータ)であり、IP(インターネット接続サービスプロバイダ)4,5,6を介してインターネット7と接続されている。
【0103】
インターネット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が、各々設けられている。
【0104】
コミュニケーションサーバ16は、公衆電話回線網17を介して電話機18やファクシミリ19と接続され、さらに、PHS(Personal Handyphone System)サービスプロバイダ20を介してPHS端末23に無線接続され、ポケットベルサービスプロバイダー21を介してポケットベル端末24に無線接続されている。
【0105】
図4はクライアントPC1のハードウェア構成を示すブロック図である。
【0106】
図4において、30は各部を制御するCPU、31はVRML 2.0 fileや、Java(米国 Sun Microsystems社の商標)による共有仮想生命の成長スクリプトプログラム等からなるVRMLコンテンツ、および飼い主データが格納されたHDD、32はCD−ROMディスク33に格納されたVRMLコンテンツを読み取るCD−ROMドライブ、34はBIOS(Basic Input Output Systems)等が格納されたROM、35はマイクロフォン36と左右のスピーカ37,38が接続されたサウンド処理回路、39はインターネット7に接続するためのMODEM、40はマウス41とキーボード42が接続されたI/O(入出力)インターフェイス、43はVRAM44が内蔵されたグラフィックス処理回路、45はCRTモニタ、46はRAMである。
【0107】
このRAM46には、実行時に、Windows95(米国Micro Soft社の商標) の上で動作するWWWブラウザであるNetscape Navigatorと、Javaインタプリタと、ソニー株式会社によって開発されたVRML2.0ブラウザであるCommunity Place Browserが読み込まれて、CPU30によって実行される状態となっている。
【0108】
VRML2.0ブラウザには、米国シリコングラフィクス社によって開発され、無償公開されているVRMLの構文解釈用ライブラリ(パーサ)であるQvLibと、英国Criterion Software Ltd.のソフトウエア・レンダラであるRenderWare等、もしくはこれらと同等の機能を有するパーサやレンダラが実装されている。
【0109】
そして、 Community Place Browserは、図3に示すように、WWWブラウザとしてのNetscape Navigatorとの間において、NCAPI(Netscape Client Application Programing Interface)(商標)に基づいて各種データの授受を行う。
【0110】
Netscape Navigatorは、インターネット7を介してWWWサーバ10よりHTMLファイルとVRMLコンテンツ(VRMLファイルとJavaによるスクリプトプログラムとを含む)の供給を受けると、これらをローカルのHDD31にそれぞれ記憶させる。Netscape Navigatorは、このうちのHTMLファイルを処理してテキストや画像をCRTモニタに表示する一方、 Community Place BrowserはVRMLファイルを処理して3次元仮想空間をCRTモニタに表示するとともに、Javaインタプリタによるスクリプトプログラムの処理結果に応じて、3次元仮想空間内のオブジェクトの挙動を変化させる。
【0111】
なお、図示は省略するが、他のクライアントPC2やクライアントPC3も、クライアントPC1と同様に構成されている。
【0112】
次に上述した一実施の形態の動作について説明する。
【0113】
まず、実際にVRMLコンテンツをインターネット経由でダウンロードしてから、1つの仮想空間を複数のユーザで共有するマルチユーザ環境とするまでの手順を図5乃至図7を参照して説明する。
【0114】
図5において、番号1で示すように、最初に、WWWブラウザを用いて、VRMLコンテンツを提供しているWebサイトのホームページを閲覧する。この例では、 http://pc.sony.co.jp/sapari/ を閲覧している。次に、番号2で示すように、クライアントPC1とクライアントPC2のユーザは、VRML 2.0fileと、VRML空間内での自律的な動き(Behavior)を実現するためのスクリプトプログラム(Javaによる成長スクリプトプログラム)とからなるVRMLコンテンツを、それぞれダウンロードする。
【0115】
勿論、 CD−ROMディスク33で提供されるVRMLコンテンツをCD−ROMドライブ32で読み込んでも良い。
【0116】
次に、図6に示すように、クライアントPC1及びクライアントPC2は、それぞれにダウンロードされ、一旦ローカルのHDD31に格納されたVRML 2.0fileを、VRML2.0ブラウザであるCommunity Place Browserが解釈・実行し、さらに番号3で示すように、VSCP(Virtual Society Server Client Protocol)に基づいて、WLS11に対して共有サーバ12のURLを問い合わせる。このとき番号4で示すように、WLS11はHDD11aに格納された共有サーバURL管理テーブルを参照して、クライアントPC1及びクライアントPC2に対して、共有サーバ12のURLを通知する。
【0117】
このURLを用いて、図7に示すように、クライアントPC1とクライアントPC2が、共有サーバ12に接続する。その結果、番号5で示すように、この共有サーバ12を介して共有3Dオブジェクトの位置や動きなどに関する共有メッセージの送信が行われ、番号6で示すように、その転送が行われ、マルチユーザ環境が実現される。
【0118】
なお、以上の接続手順の詳しい説明については、特開平9-81781号公報を参照されたい。
【0119】
次に、共有仮想空間内に存在する仮想生命オブジェクトの挙動を管理するAOサーバ13について説明する。AOサーバ13はVSAPに基づいて共有サーバ12と仮想生命オブジェクトに関するデータのやり取りを行なう。また、そのHDD 13aには、図7に示すように、仮想生命オブジェクトの成長パラメータ管理テーブルが格納されている。
【0120】
図8に示すように、成長パラメータ管理テーブルの仮想生命オブジェクトに関するデータは、仮想生命データと、飼い主データに大別される。
【0121】
仮想生命データは、1つの共有仮想空間内において3Dオブジェクトを一意に特定するための3DオブジェクトID、共有仮想空間内での仮想生命オブジェクトの3次元座標値、飼い主によって選ばれた猿や猫などの生物の種類、その性別、飼い主によって付与されたニックネーム、飼い主によって初期設定された日時、すなわちその仮想生命オブジェクトの誕生日時、誕生した仮想空間に付与されているワールド名(本籍ワールド名)と、仮想生命オブジェクトの成長パラメータとからなる。
【0122】
成長パラメータは、仮想生命の外観的成長を規定するフィジカルパラメータと、性格等が反映された内面的成長を規定するためのメンタルパラメータに大別される。
【0123】
フィジカルパラメータは、身長(単位cm)、体重(単位Kg)、体格指数、食欲指数、健康度指数、および寿命残時間(単位時間)とからなる。
【0124】
メンタルパラメータは、知能指数、言語能力指数、社交性指数、自主性指数、活発性指数、および機嫌指数により構成されている。
【0125】
これらのパラメータは、飼い主によって最初に初期設定された誕生日時からの経過時間に伴って発生するタイマーイベントと、クライアントPCからのコールメッセージや操作メッセージに伴って発生するアクセスイベントや操作イベントに基づき、所定の成長パラメータ算出式によって算出された値に順次更新される。
【0126】
図9は、クライアントPC1のCRTモニタ45の画面上のVRMLブラウザのメインウインドウに隣接して表示されるアクションパネルの機能を示している。
【0127】
この図において、(Active)と表記されているAは「呼ぶボタン」であり、仮想ペットを呼んだり、寝ている仮想ペットを起こす際にクリックされる。
【0128】
(Sleep)と表記されているBは「寝かすボタン」であり、仮想ペットを寝かす際にクリックされる。
【0129】
Cは「食事ボタン」であり、仮想ペットに食事を与える際にクリックされるボタンである。
【0130】
Dは「ほめるボタン」であり、仮想ペットに笑いかけて褒めてあげる際にクリックされるボタンである。
【0131】
Eは「あそぶボタン」であり、飼い主が鬼になって逃げ回る仮想ペットを追いかけて、壁にぶつかって逃げれない仮想ペットにぶつかるまで追いつめて遊ぶ、いわゆる鬼ごっこで遊ぶ際にクリックされるボタンである。
【0132】
Fは「しかるボタン」であり、言う事を聞かない仮想ペットを叱り付けて、しつけを行なう際にクリックされるボタンである。
【0133】
Gは「きれいにするボタン」であり、仮想ペットをブラッシングしてきれいにする際にクリックされるボタンである。
【0134】
そして、例えば、図10に示すように、自分のクライアントPC1において、「呼ぶボタン」Aがクリックされ(アクションパネルが操作され)、そのコールメッセージが共有サーバ12を介してAOサーバ13へ送信されると(ステップS1)、そのアクセスイベントに基づいて成長パラメータ管理テーブルの成長パラメータ更新処理が実行される(ステップS3)。このアクセスイベントに基づいて、食欲指数、健康度指数、機嫌指数が、1/10から10/10まで、0.1ポイントづつインクリメントされる。
【0135】
また、例えば、「食事ボタン」Cがクリックされ、その操作メッセージがAOサーバ13へ送信され(ステップS2)、操作イベントが発生する毎に、成長パラメータの体重が増加し、それに伴って、体格指数が、1/10から10/10まで、0.1ポイントづつインクリメントされる(ステップS3)。
【0136】
その後、時間経過に伴うタイマーイベントが発生すると、成長パラメータの体重が減少し、それに伴って、体格指数が0.1ポイントづつデクリメントされる(ステップS3)。
【0137】
例えば、この体格指数を含む成長パラメータは、更新される毎に、共有サーバ12のマルチキャスト処理(ステップS5)により、元の飼い主のクライアントPC1と、仮想空間を共有しているその他のクライアントPC2へ転送される(ステップS4)。
【0138】
クライアントPC1では、返送されてきた成長パラメータに基づいて、仮想ペットの成長に伴う自律的な挙動を制御するための処理手順が記述された成長スクリプトプログラムが実行され(ステップS6)、VRMLファイルの仮想ペットを表現するための3Dオブジェクトを構成する各ノードのフィールドの値が変更され(ステップS7)、この変更されたフィールドの値が反映された仮想ペットがレンダリングされ(ステップS8)、クライアントPC1のCRTモニタ45の画面上のVRMLブラウザのメインウインドウ上に表示される。
【0139】
このクライアントPC1と同じ処理が、仮想空間を共有しているその他のクライアントPC2においても実行され、これにより仮想ペットの成長に伴って変更されたフィールドの値が反映された仮想ペットがレンダリングされ、他のクライアントPC2のCRTモニタ画面上のVRMLブラウザのメインウインドウ上にも表示されることになる。
【0140】
図11及び図12に、VRMLファイルの仮想ペットを表現するための3Dオブジェクトを構成する各ノードに対応したpart0乃至part5の関係(図11)と、その表示例(図12)を示す。part0が仮想ペットの頭部に相当し、part1が仮想ペットの胴体に相当し、part2とpart3が仮想ペットの右腕と左腕に相当し、part4とpart5が仮想ペットの右足と左足に相当する。
【0141】
これらの各part0乃至part5に対応する各ノードのフィールドの値を変更することで、仮想ペットの各部の外観(形状、姿勢(向き)、サイズ、色等)、及び各部の挙動シーケンスを動的に変更する事が出来る。こらは全て、成長パラメータに基づく成長スクリプトプログラムの処理で実現される。すなわち、VRML2.0で定義されたセンサー、ルーティング、スクリプトの連携動作によって実現されるBehaviorのメカニズムを利用することによって実現される。
【0142】
従って、従来の携帯電子ペットの仮想生物の画像表示方法のように、予め仮想生物のキヤラクタの成長過程の各段階のビットマップ画像をROMに格納しておく必要はなく、例えば、仮想ペットの成長経過に応じてその体格や挙動を連続的かつ動的に変化させる事が出来る。
【0143】
図13は、仮想ペットの成長と体格指数の遷移に伴って仮想ペットの体格を動的に変更して表示する概念図を示している。加齢に伴って、顔が大人の顔となり、体格も大きくなるが、体格指数が小さいと、やせた身体となり、大きいと、大きな身体となる。
【0144】
図14は、仮想ペットの機嫌指数の遷移に伴って仮想ペットの表情を動的に変更して表示する概念図を示している。機嫌指数が大きいと、笑い顔となり、小さいと、怒った顔になる。
【0145】
図15は、仮想ペットの活発性指数の遷移に伴って仮想ペットの各部の挙動シーケンスを動的に変更して表示する概念図を示している。活発性指数が小さいと、足の屈伸程度の動きしかできないが、大きくなると、手を振ったり、頭を振ったりすることができる。
【0146】
図16は、仮想ペットの知能指数の遷移に伴って仮想ペットへ頭髪を付加したり眼鏡を付加して表示する概念図を示している。
【0147】
成長パラメータの知能指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントに基づいて、0.1ポイントづつインクリメントされ、図16に示すように仮想ペットの外観に影響を与える。
【0148】
言語指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントやタイマーイベントに基づく仮想ペットの年齢に応じて0.1ポイントづつインクリメントされ、仮想ペットの年齢増加に応じて、テキストベースでのチャットの文章自動生成処理を実行するに際し、そのテキストの文体に影響を与える。例えばポイントの小さい仮想ペットのチャットは、ひらがなまたはカタカナで行われ、ポイントの大きな仮想ペットのチャットは、漢字の入った文字で行われる。
【0149】
社交性指数は、飼い主とのチャットの頻度に応じて0.1ポイントづつインクリメント又はデクリメントされ、頻度が多ければ外向的な振る舞い、頻度が少なくなれば内向的な振る舞い、となるように仮想ペットの振る舞いに影響を与える。社交的で明るく、積極的な性格の仮想ペットは、姿勢も顔色も良くなり、逆に、内向的で暗く、消極的な性格の仮想ペットは、姿勢も顔色も悪くなる。
【0150】
自主性指数は、タイマーイベントに基づく仮想ペットの年齢増加に応じて、0.1ポイントづつインクリメントされ、次第に飼い主の言う事を聞かなくなるなどの仮想ペットの振る舞いに影響を与える。
【0151】
活発性指数は、年齢、食欲指数、健康度指数などに基づいて決定され、図15に示すように、仮想ペットの振る舞いに影響を与える。また、図9に示す「あそぶボタン」Eの操作に伴う操作イベントの発生に基づいて、活発性指数が0.1ポイントづつインクリメントされ、次第に逃げ足が早くなるなどの仮想ペットの振る舞いに影響を与えたり、仮想ペットの体重を減らして体格指数をデクリメントして図13に示すようにその外観に動的な変更を与える。
【0152】
機嫌指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントやタイマーイベントに基づくアクセス頻度などに基づいて決定され、図14に示すように、仮想ペットの表情に影響を与える。
【0153】
一方、図8に示す成長パラメータ管理テーブルの飼い主データは、飼い主の氏名、飼い主への連絡手段(連絡方法)、および、その連絡先からなる。
【0154】
連絡手段が0の場合、飼い主への連絡は、インターネット7経由の電子メールによるメッセージ文によって行われる。連絡手段が1の場合は通常のアナログ音声の電話機18に対して、コミュニケーションサーバ16でメッセージ文のテキストデータを自動読み上げツールで音声に変換して通知する。連絡手段が2の場合は、PIAFS(PHSインターネットアクセスフォーラム標準)のデータ伝送方式に準拠した電子メールサービスを利用し、メッセージ文によってPHS端末23へ通知する。連絡手段が3の場合は、ファクシミリ19に対して文書で通知する。連絡手段が4の場合は、ポケットベル端末24に対してメッセージ文で通知する。
【0155】
このような飼い主データを管理するのは、後述する既存の通信インフラストラクチャを利用した飼い主への通知機能や、既存の通信インフラストラクチャを利用した仮想ペットへの簡易的な操作機能を実現する為である。
【0156】
以上のシステムをまとめると、次のようになる。すなわち、共有仮想空間内に存在する仮想生命オブジェクトの、所定イベント(ユーザの操作又は時間経過に伴うイベント)の発生に応じて変化する成長パラメータ(外観的成長または内面的成長(個性))をAOサーバ13で管理し、このAOサーバ13から転送された成長パラメータに基づいて、クライアントPC1,2で、仮想生命オブジェクトの外観(形状、姿勢、サイズまたは色)又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプト(プログラム)を解釈し、成長パラメータに応じた仮想生命オブジェクトを表示する。
【0157】
共有仮想空間内に存在する仮想生命オブジェクトの自律的な挙動を管理するAOサーバ13に、仮想生命オブジェクトの、所定イベント(ユーザの操作又は時間経過に伴うイベント)の発生に応じて変化する成長パラメータを管理する管理テーブルを設け、クライアントからの要求または所定イベントの発生に応じて管理テーブルから読み出した成長パラメータを、要求元またはその他のクライアントの内の何れか一方もしくは双方のクライアントへ返送する。
【0158】
成長パラメータは、上述したように、仮想生命オブジェクトの誕生からの所定イベント(ユーザの操作又は時間経過に伴うイベント)の発生に基づいて算出される、外観的な成長度合いを示す値である。従って、例えば、よちよち歩きの赤ん坊から立派な大人を経て老人になるまでの年齢に応じた仮想生物や仮想ペット(AO)の外観上の変化が外観的成長パラメータで規定される。
【0159】
成長パラメータは、仮想生命オブジェクトに対する所定イベント(ユーザの操作又は時間経過に伴うイベント)の発生に起因して算出される、内面的成長度合い(性格)を示す値でもある。例えば、社交的で明るく積極的な性格の仮想生命オブジェクトは姿勢も顔色も良くなり、逆に内向的で暗く消極的な性格の仮想生命オブジェクトは姿勢も顔色も悪くなるなどの性格に応じた仮想生物や仮想ペット(AO)の変化が内面的成長パラメータで規定される。
【0160】
内面的成長パラメータは、仮想生命オブジェクトに対するイベントの種類に応じて異なる値が算出され、内面的成長度合いの値が更新される。AOサーバ13側で仮想ペットなどの性格を管理する場合、各クライアントから伝送されて来るメッセージの種類に応じて、例えば、チャットで話かけられる毎に成長パラメータの所定の指数が0.1ポイント加算され、「ほめるボタン」Dが押されてほめられる毎に0.2ポイント加算され、「しかるボタン」Fが押されて叱り付けられる毎に0.2ポイント減算される等の所定の加減剰余の成長計算式に基づいて算出される。
【0161】
共有仮想空間内における仮想生命オブジェクトの自律的な挙動を管理するAOサーバ13に、各仮想生命オブジェクトの成長度合い示す成長パラメータ管理テーブルを設け、各仮想生命オブジェクトの誕生日時を保持し、この時点からの経過時間に基づいて、各仮想生命オブジェクトの年齢に応じた成長パラメータを算出し、管理テーブルを更新する。
【0162】
共有仮想空間内における複数の仮想生命オブジェクトの自律的な挙動を各々独立して管理するAOサーバ13(単一のAOサーバ13で複数の成長パラメータ管理テーブルを管理してもよく、複数のAOサーバ13,14で各々管理しても良い)を設け、それぞれの仮想生命オブジェクトの成長度合い示す成長パラメータ管理テーブルを各々別個に設けて、各仮想生命オブジェクトの成長パラメータを独立して管理することができる。
【0163】
その他、種々の応用例が考えられる。
【0164】
例えば、共有仮想空間における仮想生命オブジェクトの自律的な挙動を管理するAOサーバ13に、各仮想生命オブジェクトにアクセスしたクライアントのID(ユーザが設定した仮想生命オブジェクトのニックネーム等)を管理する管理テーブル(成長管理テーブルに、そのような管理項目を追加してもよいし、独立した管理テーブルとしてもよい。以下同様)を設け、このIDのクライアントからのアクセスに応じて親密な感情表現を示すイベントを起動するようにしてもよい。このように、AOサーバ13側で親密度(アクセスの回数とその内容)を保持しておくことにより、飼い主がワールド(共有仮想空間)に入るとそばに近寄ってくるペット(仮想生命)オブジェクトを実現することができる。
【0165】
仮想生命オブジェクトをセットまたはリセットしたクライアントのIDを、その仮想生命オブジェクトの飼い主として、成長パラメータ管理テーブルに格納し、仮想生命オブジェクトの寿命が尽きるまで、IDの更新を不可とすると共に、寿命が尽きた時点でIDを消去するようにしてもよい。これにより、仮想生命オブジェクトを誕生(セット)させた飼い主に忠誠を尽くす誠実型ペットを実現することができる。さらに、寿命が尽きた(リセットされた)時点で、自動的にその仮想生命オブジェクトの子供を誕生させ、その子供に同じ飼い主のIDを飼い主として初期設定させるようにしても良い。これにより、その仮想ペットの子孫も先祖の飼い主になつくことになる。
【0166】
仮想生命オブジェクトをセットまたはリセットしたクライアントの履歴を管理する履歴管理テーブルをAOサーバ13に設け、クライアントからのアクセス頻度に応じて、アクセス頻度の高いクライアント程、より親密な感情表現を示す挙動シーケンスを起動させることができる。逆に、アクセス頻度が少ないと、親密度が薄れ、アクセス頻度で親密度が変化する浮気型ペットが実現される。
【0167】
共有仮想空間内でのクライアントの位置に対応して仮想生命オブジェクトの移動を制御すれば、共有仮想空間にクライアント(飼い主)が入ってきたとき、仮想生命オブジェクトがその目の前にすぐに現れ、飼い主についてまわる仮想生命オブジェクトを実現することができる。
【0168】
共有仮想空間内でのイベント(例えば、他のクライアントから食事を与えられたという体験)を、仮想生命オブジェクトからテキストベースでのチャットウィンドウを介してクライアントへ体験報告させるようにすることで、親密な感情表現を行うことができる。
【0169】
共有仮想空間内でのイベントを、仮想生命オブジェクトから音声チャットを介してクライアントへ体験報告することで、親密な感情表現を行うようにしてもよい。テキスト読み上げソフトによるテキスト/音声変換によりアナログ音声メッセージとして音声チャット機能を介して通知してもよく、また、予め何種類かの音声メッセージをサンプリングし、圧縮してディジタル音声圧縮データとしてHDD(AOサーバ13側またはクライアントPC1側のいずれでもよい)に格納しておいて、複数の音声メッセージの中から適切な音声メッセージを選択的にHDDから読み出して、伸張した後、音声チャット機能を介してアナログ音声メッセージとして通知するようにしてもよい。このようなテキストと音声の変換については、例えば特開平7−105848号公報に開示されている技術を用いることができる。
【0170】
次に、既存の通信インフラストラクチャを利用した飼い主への通知機能や、既存の通信インフラストラクチャを利用した仮想ペットへの簡易的な操作機能について説明する。
【0171】
例えば、仮想生命オブジェクトの食欲指数が高まった場合や、寿命残時間が所定値以下になった時点で、仮想生命オブジェクト(AOサーバ13)は、成長パラメータ管理テーブルに予め設定されている連絡手段(図8)を用いて、飼い主の連絡先へ、その状態が変化した旨を、メールサーバ15またはコミュニケーションサーバ16を介して通知する。これにより、飼い主は、屋外へ外出中でるあるとか、パーソナルコンピュータがうまく動作しないなど、即座にパーソナルコンピュータにアクセスできない状況下であっても、自分が育てている仮想ペットの要求を確認し、コミュニケーションを図ることが可能となる。
【0172】
一方、この種の仮想ペットを飼育するサービスを提供することによって、利益を得るサービスプロバイダにとっては、ユーザに対して、そろそろアクセスしなければならないと言う一種の動機付けを喚起することができ、定常的なアクセスを確保することで、より健全な経営状態を維持することが可能となるといった副次的な効果も得られる。
【0173】
既存の通信インフラストラクチャを利用した飼い主への通知機能を実現するための具体例は以下の通りである。
【0174】
共有仮想空間における仮想生命オブジェクトの自律的な挙動を管理するサーバのうち、コミュニケーションサーバ16に、各仮想生命オブジェクトの飼い主である各ユーザへのメッセージ通知手段(通知方法)の種類と、その通知先を管理するためのコミュニケーション管理テーブル(図8の成長パラメータ管理テーブルの飼い主データに対応するテーブル)を設け、仮想生命オブジェクトの状態遷移(AOサーバ13からコミュニケーションサーバ16に通知される)に応じて、コミュニケーション管理テーブルに予め登録されている通知手段を用いて、その通知先へメッセージを送信する。これにより、共有仮想世界から、現実世界に実際に連絡が行われる。
【0175】
このコミュニケーション管理テーブルで、各仮想生命オブジェクトの飼い主である各ユーザを特定するためのIDと、そのIDのユーザからのアクセス履歴を管理し、各ユーザからのアクセス履歴に基づいて、一定期間以上アクセスのないユーザに対して、例えば、「近ごろ、会いに来てくれないので、さみしい....。」などのメッセージを送信することができる。
【0176】
さらに、各ユーザからのアクセス履歴に基づいて、複数のメッセージ文例の中から適切なメッセージ文を選択し、この選択したメッセージを送信するようにしてもよい。ユーザからのアクセスがあった翌日には、仮想生命オブジェクトからユーザに、「昨日は、遊んでくれてどうもありがとう。また遊ぼうね。」などのメッセージを送り、1週間アクセスがないと、「忙しいですか?たまには、遊びに来て下さい。」などのメッセージを送る。
【0177】
仮想生命オブジェクトの状態遷移を、成長パラメータ管理テーブルの更新内容に基づいて検出し、複数のメッセージ文例の中から適切なメッセージ文を選択し、この選択したメッセージを送信することができる。例えば、食事が沢山与えられた翌日には、「まだ、おなかがいっぱいだよ〜。」などのメッセージを送り、1週間アクセスがないと、「おなかが空いて死にそうだよ〜。」などのメッセージを送る。1週間で1歳年を取るシナリオとした場合は、毎週、誕生日が来て年を取る毎に、「私は今日で10歳になりました。成長した姿をみに来て下さい。」などのメッセージを送り、寿命が残り少なくなると、「そろそろ遠い所へ旅立たなければなりません、最後を見とどけに来てください。」などのメッセージを送る。
【0178】
コミュニケーション管理テーブルのうち、電子メールに関する部分のテーブルをメールサーバ15に設け、メールサーバ15のコミュニケーション管理テーブルで、各仮想生命オブジェクトの飼い主である各ユーザの電子メールアドレス(ユーザを特定するIDも兼ねる)に対してテキストによるメッセージを送信することができる。
【0179】
インターネット7を経由する電子メール以外に、PIAFS(PHS Internet Access Forum Standard)方式や、αDATA32方式対応PHSで電子メールサービスを受けられるPHS端末23や、ページャ(ポケットベル端末24)などに対して、コミュニケーションサーバ16から公衆電話回線網17を介してメッセージを通知し、それらのLCD上にメッセージを表示させるようにしてもよい。
【0180】
あるいは、コミュニケーション管理テーブルで、各仮想生命オブジェクトの飼い主である各ユーザの通知先電話番号(ユーザを特定するIDも兼ねる)を管理し、コミュニケーションサーバ16からこの電話番号に対して自動発信して、音声によるメッセージを送信することもできる。この場合、テキスト読み上げソフトによるテキスト/音声変換によりアナログ音声メッセージとして通常の電話機8や携帯電話機(PHS端末23)を介して通知してもよく、また、予め何種類かの音声メッセージをサンプリングし、圧縮してディジタル音声圧縮データとしてHDDに格納しておいて、複数の音声メッセージの中から適切な音声メッセージを選択的にHDDから読み出して、伸張した後、アナログ音声メッセージとして通知するようにしてもよい。
【0181】
コミュニケーション管理テーブルで、各仮想生命オブジェクトの飼い主である各ユーザの通知先ファクシミリ電話番号(ユーザを特定するIDも兼ねる)を管理し、コミュニケーションサーバ16からこの電話番号に対して自動発信して、ファクシミリ19にメッセージを送信してもい。
【0182】
さらに、上述した仮想ペットからのメッセージの通知を受けた電話機18等の端末を用いて、この端末から、自分の仮想ペットに対して、簡易的な操作を行なうことで、双方向のコミュニケーションを図ることが可能となる。
【0183】
既存の通信インフラストラクチャを利用して、仮想ペットへの簡易的な操作機能を実現するための具体例は以下の通りである。
【0184】
例えば、共有サーバ12は、ユーザからPHS端末23、電話機18などを介してユーザを特定するIDを伴って(CallerID等)返送されてくる操作コマンドを解釈し、対応する仮想生命オブジェクトへのメッセージとして認識し、AOサーバ13に通知して、仮想生命オブジェクトの状態遷移(成長パラメータの更新)へ反映させることができる。
【0185】
この返信されてくる操作コマンドとしては、例えば、電話機18のプッシュボタンが操作されることで発信されるDTMF(Dual-tone Multifrequency)信号を利用することができる。
【0186】
この他、例えばデネットフォニックコミュニケーションズ社の音声ブラウザWeb-On-Callを用いて、仮想ペットに対して各種の通知を行うようにすることもできる。この音声ブラウザによれば、通常の電話機18から音声によってサーバにアクセスすることができる。また、この音声ブラウザは、テキスト読み上げ機能を有しているので、仮想ペットからのメールを音声で聴くことも可能である。さらに、テキストをファックスや電子メールで送ることもできる。
【0187】
なお、共有サーバ12、AOサーバ13,14、メールサーバ15、およびコミュニケーションサーバ16は、各種の機能を分担し、全体的なシステムとして、各クライアントPCに共有仮想空間を提供するサービスを実現している。
【0188】
次に、この共有仮想空間におけるチャットについて説明する。チャットには、パブリックチャットとパーソナルチャットがある。パブリックチャットにおいては、共有仮想空間内の所定の位置に位置する1人のクライアント(ユーザ)が発生したチャットの内容が、近傍の他のクライアント(他のユーザ)へ伝達される。
【0189】
これに対して、パーソナルチャットにおいては、対象とされる相手が指定される。この指定操作は、例えば、所定の仮想生命オブジェクトをキーボード42のシフトキーを押しながらマウスのボタンをクリックすることで行われる。このように、相手が指定された場合には、そのクリック操作を行ったクライアントが発生するチャットが、その指定した仮想生命オブジェクトのユーザに対してのみ伝送される。
【0190】
チャットの内容は、ボイスチャットの場合、音声信号により伝送され、テキストチャットの場合、テキストにより伝送される。ボイスチャットの場合は、マイクロホン36を介して取り込んだ音声データが、近傍または指定した仮想生命オブジェクトのクライアント(ユーザ)に伝送され、そのクライアントPCの有するスピーカ37,38から出力される。
【0191】
これに対して、テキストチャットの場合は、キーボード42を操作することで入力されたテキストが、やはり近傍または指定した仮想生命オブジェクトのクライアントのクライアントPCに伝送される。そして、そのテキストは、そのクライアントPCのCRTモニタ45上に表示される。
【0192】
ボイスチャットとテキストチャットのいずれを行うかは、ユーザが選択することができる。
【0193】
次に、クライアントPCのCRTモニタに表示される具体的な表示例について説明する。図17は、例えばクライアントPC1から共有サーバ12にアクセスした場合のCRTモニタ45上の表示例を表している。この表示例においては、「Community Place Bureauに接続しました」のメッセージが3次元共有仮想空間の画像に重畳表示されている。なお、この画面の右側には、チャットの内容を表示する領域「Chat Log:」と、各種のアクションボタンが表示されている。
【0194】
ユーザは、自分が共有仮想空間内において飼育しようとするペットを選択するとき、表示画面中の「MultiUser」の項目をクリックする。このとき、図18に示すように、メニューバーが表示される。ユーザは、この中から「Select Pet」を選択する。すると、図19に示すように、「View Pet」のウインドウが表示され、このウインドウに各種のペットの画像が表示される。ユーザは、このペットの中から所望のペットを選択する。なお、このとき表示されるペットの画像は、初期状態の画像、すなわち、誕生するときの画像とされる。上述したように、このペットの画像は、成長に伴って徐々に変化していく。そして、選択が完了したとき、ユーザは、「SELECT」のボタンをマウス41を操作してオンする。
【0195】
このようにして、ペットの選択が完了すると、図20に示すように、ペットに関する情報を登録する「Registration」のウインドウが表示される。ユーザは、ここで、ペットの名称「Pet nickname」、自分自身(飼い主)の名称「Owner name」、およびアドレスと電話番号「Address/TelephoneNo.」をキーボード42を操作して入力する。
【0196】
さらに、上述した連絡手段または通知手段としてのコミュニケーションツール「Communication tool」を、E-mail,Telephone,PHS-mail,Facsimile,Pocket
bellの中から、選択、指定する。
【0197】
図21は、このようにして、仮想ペットとして、例えば猿が選択された場合の表示例を表している。この仮想ペット(猿)は、上述したように、各種のイベントに対応して更新される成長パラメータに基づいて成長する。図22は、図21に示した場合より成長した状態を表している。図21に示す場合より図22に示す場合の方が、身体が全体的に大きくなっており、顔もより大人の顔に変化している。
【0198】
このようにして、より現実に近い変化を共有仮想空間において楽しむことができる。
【0199】
以上説明したように、複数のユーザが仮想生物を共有してコミュニケーションを図りつつ飼育することによって、その性格形成に影響を与えることができ、さらに、成長過程に伴って外観や挙動を動的に変化させることによって、現実の生物に近い成長過程を表現することができる共有仮想空間提供システムを実現することができる。
【0200】
なお、以上の各種の処理を実行するプログラムは、フロッピーディスク、CD-ROMディスク、その他の記録媒体に記録して提供したり、インターネット、その他のネットワークを介して伝送することで提供することができる。
【0201】
【発明の効果】
以上の如く、請求項1に記載のクライアント装置、請求項2に記載の表示制御方法、および、請求項3に記載の記録媒体によれば、成長パラメータは、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、サーバに送信し、サーバから伝送されてくる、仮想生命オブジェクトの成長パラメータを受信し、受信した成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える仮想生命オブジェクトの外観、又は成長パラメータのうちのメンタルパラメータが影響を与える仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された仮想生命オブジェクトを表示させるように表示を制御するようにした。
また、請求項7に記載の共有仮想空間提供装置、請求項8に記載の共有仮想空間提供方法、および、請求項9に記載の記録媒体によれば、共有仮想空間に存在し、ネットワークに接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理するとともに、クライアント装置からの要求または所定イベントの発生に応じて、読み出した成長パラメータを、要求元のクライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に伝送し、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、ネットワークを介してクライアント装置に送信するようにした。従って、複数のユーザが仮想生物を共有してコミュニケーションを図りつつ、飼育し、相互にその性格形成に影響を与えることができる。また、その成長過程に伴って、外観や挙動を動的に変化させることができ、より現実の生物に近い成長過程を実現することが可能となる。
【図面の簡単な説明】
【図1】センサー、イベント、ルーティング、およびスクリプトの関係を説明する図である。
【図2】ルーティングを説明する図である。
【図3】本発明を適用した共有仮想空間提供システムの構成例を示すブロック図である。
【図4】図1のクライアントPC1の構成例を示すブロック図である。
【図5】図3のシステムの動作を説明するディスプレイの写真である。
【図6】図3のシステムの動作を説明するディスプレイの写真である。
【図7】図3のシステムの動作を説明するディスプレイの写真である。
【図8】成長パラメータ管理テーブルの例を示す図である。
【図9】アクションパネルを説明するディスプレイの写真である。
【図10】成長パラメータの授受を説明する図である。
【図11】3Dオブジェクトを構成する仮想生命オブジェクトのノードを説明する図である。
【図12】図11に示したノードに対応する表示例を示すディスプレイの写真である。
【図13】仮想生命オブジェクトの体格指数を説明する図である。
【図14】仮想生命オブジェクトの機嫌指数を説明する図である。
【図15】仮想生命オブジェクトの活発性指数を説明する図である。
【図16】仮想生命オブジェクトの知能指数を説明する図である。
【図17】共有仮想空間のディスプレイの表示例を示す写真である。
【図18】共有仮想空間のディスプレイの表示例を示す写真である。
【図19】共有仮想空間のディスプレイの表示例を示す写真である。
【図20】共有仮想空間のディスプレイの表示例を示す写真である。
【図21】共有仮想空間のディスプレイの表示例を示す写真である。
【図22】共有仮想空間のディスプレイの表示例を示す写真である。
【符号の説明】
1乃至3 クライアントPC, 7 インターネット, 10 WWWサーバ,12 共有サーバ, 13,14 AOサーバ, 15 メールサーバ, 16 コミュニケーションサーバ, 18 電話機, 19 ファクシミリ, 23 PHS端末, 24 ポケットベル端末, 30 CPU, 31 ハードディスク, 39 モデム, 45 CRTモニタ, 46 RAM
Claims (18)
- 複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理するサーバに、ネットワークを介して接続され、前記仮想生命オブジェクトを含む共有仮想空間の提供を受けるクライアント装置において、
前記成長パラメータは、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、
前記仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、前記サーバに送信する送信手段と、
前記サーバより伝送されてくる、前記所定イベントの発生に応じて変化する、前記仮想生命オブジェクトの成長パラメータを受信する受信手段と、
前記受信手段により受信された前記成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの外観、又は前記成長パラメータのうちの前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記仮想生命オブジェクトを表示させるように表示を制御する表示制御手段と
を備えることを特徴とするクライアント装置。 - 複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理するサーバに、ネットワークを介して接続され、前記仮想生命オブジェクトを含む共有仮想空間の提供を受けるクライアント装置の表示制御方法において、
前記成長パラメータは、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、
送信手段が前記仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、前記サーバに送信する送信ステップと、
受信手段が前記サーバより伝送されてくる、前記所定イベントの発生に応じて変化する、前記仮想生命オブジェクトの成長パラメータを受信する受信ステップと、
表示制御手段が前記受信ステップの処理において受信された前記成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの外観、又は前記成長パラメータのうちの前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記仮想生命オブジェクトを表示させるように表示を制御する表示制御ステップと
を含むことを特徴とする表示制御方法。 - 複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理するサーバに、ネットワークを介して接続され、前記仮想生命オブジェクトを含む共有仮想空間の提供を受けるクライアント装置に、
前記成長パラメータは、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成され、
送信手段が前記仮想生命オブジェクトに対する、ユーザの操作に起因するイベントを、前記サーバに送信する送信ステップと、
受信手段が前記サーバより伝送されてくる、前記所定イベントの発生に応じて変化する、前記仮想生命オブジェクトの成長パラメータを受信する受信ステップと、
表示制御手段が前記受信ステップの処理において受信された前記成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの外観、又は前記成長パラメータのうちの前記メンタルパラメータが影響を与える前記仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記仮想生命オブジェクトを表示させるように表示を制御する表示制御ステップと
を実行させることを特徴とするプログラムが記録されている記録媒体。 - 前記成長パラメータは、前記仮想生命オブジェクトの誕生からの所定イベントの発生に基づいて算出される、外観的な成長度合いを示す値を含む
ことを特徴とするプログラムが記録されている請求項3に記載の記録媒体。 - 前記成長パラメータは、前記仮想生命オブジェクトに対する所定イベントの発生に起因して算出される、内面的成長度合いを示す値を含む
ことを特徴とするプログラムが記録されている請求項3に記載の記録媒体。 - 前記内面的成長度合いの値は、前記仮想生命オブジェクトに対するイベントの種類に応じて異なる値が算出され、更新される
ことを特徴とするプログラムが記録されている請求項5に記載の記録媒体。 - ネットワークを介して接続されている複数のクライアント装置に共有仮想空間を提供する共有仮想空間提供装置において、
前記共有仮想空間に存在し、前記ネットワークに接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、前記仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを管理する管理手段と、
前記クライアント装置からの要求または所定イベントの発生に応じて、前記管理手段により読み出された前記成長パラメータを、要求元の前記クライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送手段と、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、前記ネットワークを介して前記クライアント装置に送信する送信手段と
を備えることを特徴とする共有仮想空間提供装置。 - ネットワークを介して接続されている複数のクライアント装置に共有仮想空間を提供する共有仮想空間提供装置の共有仮想空間提供方法において、
管理手段が前記共有仮想空間に存在し、前記ネットワークを介して接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、前記仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを成長パラメータ管理テーブルで管理する管理ステップと、
転送手段が前記クライアント装置からの要求または所定イベントの発生に応じて、前記管理ステップの処理により読み出された前記成長パラメータを、要求元の前記クライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送ステップと、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段が前記ネットワークを介して前記クライアント装置に送信する送信ステップと
を含むことを特徴とする共有仮想空間提供方法。 - ネットワークを介して接続されている複数のクライアント装置に共有仮想空間を提供する共有仮想空間提供装置に、
管理手段が前記共有仮想空間に存在し、前記ネットワークを介して接続された複数のクライアント装置のユーザによって共有される仮想生命オブジェクトを一意に特定するIDと、それぞれのユーザの操作に起因するイベントを含む所定のイベントの発生に応じて変化し、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外観に影響を与えるフィジカルパラメータと、内面的成長を規定し、前記仮想生命オブジェクトの外観および挙動シーケンスに影響を与えるメンタルパラメータとから構成され、前記仮想生命オブジェクトの自律的な挙動を規定する成長パラメータとを成長パラメータ管
理テーブルで管理する管理ステップと、
転送手段が前記クライアント装置からの要求または所定イベントの発生に応じて、前記管理ステップの処理により読み出された前記成長パラメータを、要求元の前記クライアント装置またはその他のクライアント装置のうちの何れか一方もしくは双方に転送する転送ステップと、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段が前記ネットワークを介して前記クライアント装置に送信する送信ステップと
を実行させることを特徴とするプログラムが記録されている記録媒体。 - 更新手段が前記クライアント装置からの要求または所定イベントの発生に応じて、前記成長パラメータ管理テーブルの前記成長パラメータを更新する更新ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 前記成長パラメータ管理テーブルは、前記仮想生命オブジェクトの誕生日時も保持し、前記更新ステップの処理では、前記更新手段が前記誕生日からの経過時間に基づいて、前記仮想生命オブジェクトの年齢に応じた成長パラメータを算出することでも、前記成長パラメータ管理テーブルの前記成長パラメータを更新する
ことを特徴とするプログラムが記録されている請求項10に記載の記録媒体。 - クライアント管理テーブル管理手段が前記仮想生命オブジェクトにアクセスした前記クライアント装置のユーザのIDを、クライアントID管理テーブルに登録して管理するクライアント管理テーブル管理ステップと、
起動手段が前記クライアント管理テーブルで管理されているIDのクライアント装置のユーザからのアクセスに応じて、親密な感情表現を示すイベントを起動する起動ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 飼い主管理テーブル管理手段が前記仮想生命オブジェクトをセットまたはリセットした前記クライアント装置のユーザのIDを飼い主として飼い主管理テーブルに登録して管理し、前記仮想生命オブジェクトの寿命が尽きるまで、前記クライアント装置のユーザのIDの更新を不可とすると共に、寿命が尽きた時点で、前記クライアント装置のユーザのIDを消去する飼い主管理テーブル管理ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 前記飼い主管理テーブル管理ステップでは、前記飼い主管理テーブル管理手段が前記仮想生命オブジェクトの寿命が尽きた時点で、前記仮想生命オブジェクトの子供を誕生させ、その子供に同じ飼い主のIDを初期設定させる
ことを特徴とするプログラムが記録されている請求項13に記載の記録媒体。 - 履歴管理テーブル管理手段が前記仮想生命オブジェクトをセットまたはリセットした前記クライアント装置のユーザの履歴を履歴管理テーブルに記録し、管理する履歴管理テーブル管理ステップと、
起動手段が前記履歴管理テーブルで管理されているクライアント装置のユーザからのアクセス頻度に対応する親密度の感情表現を示す挙動シーケンスを起動する起動ステップと
をさらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 挙動制御手段が前記共有仮想空間内における前記クライアント装置のユーザの視点の位置に応じて前記仮想生命オブジェクトの前記共有仮想空間内での位置を制御する挙動制御ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 報告手段が前記共有仮想空間内でのイベントを、前記仮想生命オブジェクトからテキストベースでのチャットウィンドウを介して前記クライアント装置へ報告する報告ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。 - 報告手段が前記共有仮想空間内でのイベントを、前記仮想生命オブジェクトから音声チャットを介して前記クライアント装置へ報告する報告ステップを
さらに実行させることを特徴とするプログラムが記録されている請求項9に記載の記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15283997A JP3932462B2 (ja) | 1997-05-27 | 1997-05-27 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
US09/084,515 US6253167B1 (en) | 1997-05-27 | 1998-05-26 | Client apparatus, image display controlling method, shared virtual space providing apparatus and method, and program providing medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15283997A JP3932462B2 (ja) | 1997-05-27 | 1997-05-27 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10333542A JPH10333542A (ja) | 1998-12-18 |
JP3932462B2 true JP3932462B2 (ja) | 2007-06-20 |
Family
ID=15549267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15283997A Expired - Fee Related JP3932462B2 (ja) | 1997-05-27 | 1997-05-27 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6253167B1 (ja) |
JP (1) | JP3932462B2 (ja) |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000064773A (ko) * | 1997-01-24 | 2000-11-06 | 이데이 노부유끼 | 도형 데이터 생성 장치, 도형 데이터 생성 방법 및 그 매체 |
JP3855430B2 (ja) | 1998-01-23 | 2006-12-13 | ソニー株式会社 | 情報処理装置および方法、情報処理システム、並びに記録媒体 |
JPH11212934A (ja) * | 1998-01-23 | 1999-08-06 | Sony Corp | 情報処理装置および方法、並びに提供媒体 |
US7143358B1 (en) * | 1998-12-23 | 2006-11-28 | Yuen Henry C | Virtual world internet web site using common and user-specific metrics |
JP2000237450A (ja) | 1999-02-17 | 2000-09-05 | Namco Ltd | ゲームシステム及び情報記憶媒体 |
KR20010053322A (ko) | 1999-04-30 | 2001-06-25 | 이데이 노부유끼 | 전자 페트 시스템, 네트워크 시스템, 로봇, 및 기억 매체 |
US6445978B1 (en) | 1999-05-10 | 2002-09-03 | Sony Corporation | Robot device and method for controlling the same |
US7133812B1 (en) | 1999-08-30 | 2006-11-07 | Ford Global Technologies, Llc | Method of parametic design of an instrument panel support structure |
US6944586B1 (en) * | 1999-11-09 | 2005-09-13 | Interactive Drama, Inc. | Interactive simulated dialogue system and method for a computer network |
KR20010047825A (ko) * | 1999-11-23 | 2001-06-15 | 장수진 | 인터넷 상에서 가상활동을 현실로 연계하는 서비스 방법 |
KR20010101883A (ko) * | 1999-11-30 | 2001-11-15 | 이데이 노부유끼 | 로봇 장치와 그 제어 방법, 및 로봇 장치의 성격 판별 방법 |
JP4573422B2 (ja) * | 1999-11-30 | 2010-11-04 | シャープ株式会社 | データ通信装置、データ通信システムおよびデータ通信方法を実現するプログラムを記録した機械読取可能な記録媒体 |
US6755743B1 (en) * | 1999-12-08 | 2004-06-29 | Kabushiki Kaisha Sega Enterprises | Communication game system and processing method thereof |
US6760693B1 (en) | 2000-03-29 | 2004-07-06 | Ford Global Technologies, Llc | Method of integrating computer visualization for the design of a vehicle |
US7158923B1 (en) | 2000-03-29 | 2007-01-02 | Ford Global Technologies, Llc | Method of integrating product information management with vehicle design |
US7761269B1 (en) * | 2000-04-14 | 2010-07-20 | Ford Global Technologies, Llc | System and method of subjective evaluation of a vehicle design within a virtual environment using a virtual reality |
KR100382854B1 (ko) * | 2000-05-04 | 2003-05-09 | 주식회사 쿼터뷰 | 아바타행위 기록/재생을 이용한 메시지전달 시스템 및 방법 |
US6951516B1 (en) | 2001-08-21 | 2005-10-04 | Nintendo Co., Ltd. | Method and apparatus for multi-user communications using discrete video game platforms |
US7285051B2 (en) * | 2000-05-25 | 2007-10-23 | Nintendo Co., Ltd. | Game information storage medium and game system using the same |
US6847976B1 (en) * | 2000-06-15 | 2005-01-25 | Terrence B. Peace | Method and apparatus for significance testing and confidence interval construction based on user-specified distribution |
US20040172401A1 (en) * | 2000-06-15 | 2004-09-02 | Peace Terrence B. | Significance testing and confidence interval construction based on user-specified distributions |
JP2002018146A (ja) * | 2000-07-04 | 2002-01-22 | Tomy Co Ltd | 対話型玩具、反応行動パターン生成装置および反応行動パターン生成方法 |
WO2002005132A1 (fr) | 2000-07-07 | 2002-01-17 | Sharp Kabushiki Kaisha | Appareil fournissant des informations |
JP2002032009A (ja) * | 2000-07-14 | 2002-01-31 | Sharp Corp | 仮想キャラクタ育成サーバ、仮想キャラクタ育成方法およびその方法を実現するプログラムを記録した機械読取可能な記録媒体 |
KR100396753B1 (ko) * | 2000-08-18 | 2003-09-02 | 엘지전자 주식회사 | 싸이버 공동체를 이용한 완구 학습 장치 및 방법 |
US7788323B2 (en) * | 2000-09-21 | 2010-08-31 | International Business Machines Corporation | Method and apparatus for sharing information in a virtual environment |
US6975988B1 (en) * | 2000-11-10 | 2005-12-13 | Adam Roth | Electronic mail method and system using associated audio and visual techniques |
GB0029025D0 (en) * | 2000-11-29 | 2001-01-10 | Hewlett Packard Co | Enhancement of communication capabilities |
US6917907B2 (en) | 2000-11-29 | 2005-07-12 | Visteon Global Technologies, Inc. | Method of power steering hose assembly design and analysis |
US6910186B2 (en) | 2000-12-08 | 2005-06-21 | Kyunam Kim | Graphic chatting with organizational avatars |
US7127720B2 (en) | 2000-12-18 | 2006-10-24 | Charles E Cano | Storing state in a dynamic content routing network |
US8505024B2 (en) | 2000-12-18 | 2013-08-06 | Shaw Parsing Llc | Storing state in a dynamic content routing network |
US7051070B2 (en) * | 2000-12-18 | 2006-05-23 | Timothy Tuttle | Asynchronous messaging using a node specialization architecture in the dynamic routing network |
US7043525B2 (en) * | 2000-12-18 | 2006-05-09 | Bang Networks, Inc. | Techniques for updating live objects at clients using a dynamic routing network |
US20060129933A1 (en) * | 2000-12-19 | 2006-06-15 | Sparkpoint Software, Inc. | System and method for multimedia authoring and playback |
US20020082077A1 (en) * | 2000-12-26 | 2002-06-27 | Johnson Douglas R. | Interactive video game system with characters that evolve physical and cognitive traits |
US20020082065A1 (en) * | 2000-12-26 | 2002-06-27 | Fogel David B. | Video game characters having evolving traits |
WO2002054327A1 (en) * | 2001-01-04 | 2002-07-11 | Noks-Com Ltd. | Method and system for a set of interrelated activities converging on a series of collectible virtual objects |
JP2002210238A (ja) * | 2001-01-24 | 2002-07-30 | Sony Computer Entertainment Inc | 記録媒体、プログラム、プログラム実行システム及びプログラム実行装置 |
US20020138246A1 (en) * | 2001-03-08 | 2002-09-26 | Czora Gregory J. | System and method for simulating conciousness |
US6801187B2 (en) | 2001-06-22 | 2004-10-05 | Ford Global Technologies, Llc | System and method of interactive evaluation and manipulation of a geometric model |
JP2003033580A (ja) * | 2001-07-25 | 2003-02-04 | Sony Corp | ネットワークシステム、情報提供装置及び情報提供方法 |
WO2003019917A2 (en) * | 2001-08-28 | 2003-03-06 | Zow Ltd. | Method and system of caller interaction with an entertainment system over a voice network |
JP2003210846A (ja) * | 2001-11-15 | 2003-07-29 | Square Co Ltd | ゲームシステム、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム |
US7069202B2 (en) | 2002-01-11 | 2006-06-27 | Ford Global Technologies, Llc | System and method for virtual interactive design and evaluation and manipulation of vehicle mechanisms |
US8612196B2 (en) * | 2002-04-11 | 2013-12-17 | Linden Research, Inc. | System and method for distributed simulation in which different simulation servers simulate different regions of a simulation space |
US7174280B2 (en) * | 2002-04-23 | 2007-02-06 | Ford Global Technologies, Llc | System and method for replacing parametrically described surface features with independent surface patches |
US7480697B2 (en) * | 2002-05-28 | 2009-01-20 | International Business Machines Corporation | Method and apparatus using attached hardware subsystem to communicate between attached hosts |
US20040225640A1 (en) * | 2002-06-27 | 2004-11-11 | International Business Machines Corporation | Context searchable communications |
US7137070B2 (en) * | 2002-06-27 | 2006-11-14 | International Business Machines Corporation | Sampling responses to communication content for use in analyzing reaction responses to other communications |
US8495503B2 (en) | 2002-06-27 | 2013-07-23 | International Business Machines Corporation | Indicating the context of a communication |
JP2004135051A (ja) * | 2002-10-10 | 2004-04-30 | Sony Corp | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム |
KR100932483B1 (ko) * | 2002-11-20 | 2009-12-17 | 엘지전자 주식회사 | 이동통신 단말기 및 이것을 이용한 아바타 원격 제어 방법 |
US8095409B2 (en) * | 2002-12-06 | 2012-01-10 | Insors Integrated Communications | Methods and program products for organizing virtual meetings |
US7571210B2 (en) * | 2002-12-06 | 2009-08-04 | Insors Integrated Communications | Methods and systems for linking virtual meeting attendees over a network |
JP2004287558A (ja) * | 2003-03-19 | 2004-10-14 | Matsushita Electric Ind Co Ltd | テレビ電話端末、並びに、仮想キャラ生成装置および仮想キャラ動作制御装置 |
GB0306875D0 (en) * | 2003-03-25 | 2003-04-30 | British Telecomm | Apparatus and method for generating behavior in an object |
EA008493B1 (ru) * | 2003-04-07 | 2007-06-29 | Андрей Станиславович Заславский | Способ игры с использованием игрового процессора, программного обеспечения и монитора |
US7613137B2 (en) * | 2003-05-22 | 2009-11-03 | Insors Integrated Communications | Data stream communication |
US7949116B2 (en) * | 2003-05-22 | 2011-05-24 | Insors Integrated Communications | Primary data stream communication |
US7862428B2 (en) * | 2003-07-02 | 2011-01-04 | Ganz | Interactive action figures for gaming systems |
US9144737B2 (en) * | 2003-08-01 | 2015-09-29 | Turbine, Inc. | Securing goal-activated game content |
US8751950B2 (en) * | 2004-08-17 | 2014-06-10 | Ice Edge Business Solutions Ltd. | Capturing a user's intent in design software |
US20050071135A1 (en) | 2003-09-30 | 2005-03-31 | Vredenburgh David W. | Knowledge management system for computer-aided design modeling |
US7677948B2 (en) * | 2003-12-31 | 2010-03-16 | Ganz | System and method for toy adoption and marketing |
US7534157B2 (en) | 2003-12-31 | 2009-05-19 | Ganz | System and method for toy adoption and marketing |
JP4529528B2 (ja) * | 2004-04-26 | 2010-08-25 | ヤマハ株式会社 | 音像定位端末 |
US20050255913A1 (en) * | 2004-05-13 | 2005-11-17 | Eastman Kodak Company | Collectible display device |
CN1319008C (zh) * | 2004-06-18 | 2007-05-30 | 华为技术有限公司 | 游戏虚拟物品数据处理方法及游戏平台系统和游戏系统 |
WO2006023459A1 (en) * | 2004-08-17 | 2006-03-02 | Shaw Parsing Llc | Techniques for delivering personalized content with a real-time routing network |
CN101189852B (zh) * | 2004-08-17 | 2012-10-03 | 肖分析有限公司 | 用于上游故障检测和故障恢复的技术 |
JP2008510259A (ja) * | 2004-08-17 | 2008-04-03 | ショー パーシング リミティド ライアビリティ カンパニー | モジュラー型のイベントドリブン処理 |
JP3926819B2 (ja) | 2004-11-15 | 2007-06-06 | 株式会社コナミデジタルエンタテインメント | ゲームシステム及びその制御方法、ゲームサーバ装置、並びにゲーム装置 |
US20070026945A1 (en) * | 2005-07-29 | 2007-02-01 | Microsoft Corporation | Enhancing the game console experience through the PC |
JP3968758B2 (ja) * | 2005-09-08 | 2007-08-29 | 株式会社光栄 | ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体 |
WO2007063598A1 (ja) * | 2005-12-01 | 2007-06-07 | Fujitsu Limited | 仮想キャラクタ育成装置 |
US8762941B2 (en) * | 2006-02-16 | 2014-06-24 | Dirtt Environmental Solutions, Ltd. | Rendering and modifying CAD design entities in object-oriented applications |
US8128450B2 (en) * | 2006-05-04 | 2012-03-06 | Mattel, Inc. | Thermochromic transformable toy |
US9205329B2 (en) | 2006-07-25 | 2015-12-08 | Mga Entertainment, Inc. | Virtual world electronic game |
JP2008043642A (ja) * | 2006-08-21 | 2008-02-28 | Square Enix Co Ltd | ネットワーク育成ゲームシステム、育成ゲーム用サーバ装置及び育成ゲーム用端末装置、キャラクタ表示方法、並びにプログラム及び記録媒体 |
WO2008063579A2 (en) | 2006-11-17 | 2008-05-29 | Nintendo Co., Ltd. | Systems and methods for downloading video game programs |
NZ564006A (en) | 2006-12-06 | 2009-03-31 | 2121200 Ontario Inc | System and method for product marketing using feature codes |
JP5551938B2 (ja) * | 2007-02-09 | 2014-07-16 | ノキア コーポレイション | クライアントデバイスに表示する情報コンテンツを提供する方法及び装置 |
US8086551B2 (en) | 2007-04-16 | 2011-12-27 | Blue Oak Mountain Technologies, Inc. | Electronic system with simulated sense perception and method of providing simulated sense perception |
US20080274806A1 (en) * | 2007-05-02 | 2008-11-06 | S.H. Ganz Holdings Inc. And 816877 Ontario Limited | Character development and exchange |
US8272951B2 (en) * | 2007-05-02 | 2012-09-25 | Ganz | Attribute building for characters in a virtual environment |
US8128500B1 (en) * | 2007-07-13 | 2012-03-06 | Ganz | System and method for generating a virtual environment for land-based and underwater virtual characters |
US20090167767A1 (en) * | 2007-12-31 | 2009-07-02 | Shoval Dror | Growing and caring for a virtual character on a mobile device |
EP2252951B1 (en) | 2008-03-11 | 2021-05-05 | Ice Edge Business Solutions, Ltd. | Automatically creating and modifying furniture layouts in design software |
US20090265667A1 (en) * | 2008-04-22 | 2009-10-22 | Josef Reisinger | Techniques for Providing Three-Dimensional Virtual-World Presentations |
US8028021B2 (en) * | 2008-04-23 | 2011-09-27 | International Business Machines Corporation | Techniques for providing presentation material in an on-going virtual meeting |
CN102186545B (zh) * | 2008-08-15 | 2013-05-08 | 美泰有限公司 | 电子玩具及与其交互的方法 |
US20100217883A1 (en) * | 2009-02-20 | 2010-08-26 | Drew Goya | Intelligent software agents for multiple platforms |
US20100306120A1 (en) * | 2009-05-28 | 2010-12-02 | Yunus Ciptawilangga | Online merchandising and ecommerce with virtual reality simulation of an actual retail location |
US20100306084A1 (en) * | 2009-05-28 | 2010-12-02 | Yunus Ciptawilangga | Need-based online virtual reality ecommerce system |
US8638332B2 (en) * | 2009-08-28 | 2014-01-28 | International Business Machines Corporation | Teleport preview provisioning in virtual environments |
WO2011022841A1 (en) * | 2009-08-31 | 2011-03-03 | Ganz | System and method for limiting the number of characters displayed in a common area |
US8795072B2 (en) | 2009-10-13 | 2014-08-05 | Ganz | Method and system for providing a virtual presentation including a virtual companion and virtual photography |
US9245064B2 (en) * | 2009-11-24 | 2016-01-26 | Ice Edge Business Solutions | Securely sharing design renderings over a network |
US20110165939A1 (en) * | 2010-01-05 | 2011-07-07 | Ganz | Method and system for providing a 3d activity in a virtual presentation |
US20110256931A1 (en) * | 2010-04-14 | 2011-10-20 | Yazici Emre | Player contributed dynamic network games |
US8836719B2 (en) | 2010-04-23 | 2014-09-16 | Ganz | Crafting system in a virtual environment |
US8898233B2 (en) | 2010-04-23 | 2014-11-25 | Ganz | Matchmaking system for virtual social environment |
JP5625692B2 (ja) * | 2010-09-30 | 2014-11-19 | セイコーエプソン株式会社 | 生体運動情報表示処理装置、生体運動情報処理システム、生体情報処理用のサーバー装置、生体運動情報表示装置、及びプログラム |
US9022868B2 (en) | 2011-02-10 | 2015-05-05 | Ganz | Method and system for creating a virtual world where user-controlled characters interact with non-player characters |
US9186575B1 (en) * | 2011-03-16 | 2015-11-17 | Zynga Inc. | Online game with animal-breeding mechanic |
US8314790B1 (en) * | 2011-03-29 | 2012-11-20 | Google Inc. | Layer opacity adjustment for a three-dimensional object |
WO2012173741A2 (en) | 2011-06-11 | 2012-12-20 | Dirtt Environmental Solutions Inc. | Automated re-use of structural components |
JP5468704B1 (ja) * | 2013-09-13 | 2014-04-09 | 株式会社 ディー・エヌ・エー | ゲーム管理サーバ装置 |
CN109032454A (zh) * | 2018-08-30 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 虚拟宠物的信息展示方法、装置、设备及存储介质 |
US10682575B1 (en) | 2019-10-03 | 2020-06-16 | Mythical, Inc. | Systems and methods for generating in-game assets for a gaming platform based on inheriting characteristics from other in-game assets |
US11389735B2 (en) * | 2019-10-23 | 2022-07-19 | Ganz | Virtual pet system |
US11358059B2 (en) | 2020-05-27 | 2022-06-14 | Ganz | Live toy system |
US11192034B1 (en) * | 2020-07-08 | 2021-12-07 | Mythical, Inc. | Systems and methods for determining how much of a created character is inherited from other characters |
CN115686887B (zh) * | 2022-12-27 | 2023-06-20 | 蔚来汽车科技(安徽)有限公司 | 针对智能座舱的输入事件分发方法、系统和车辆 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105848B2 (ja) | 1986-09-30 | 1995-11-13 | 株式会社東芝 | メデイア変換方式 |
US5393070A (en) * | 1990-11-14 | 1995-02-28 | Best; Robert M. | Talking video games with parallel montage |
JP2848219B2 (ja) | 1993-12-13 | 1999-01-20 | カシオ計算機株式会社 | 画像表示装置及び画像表示方法 |
JP3859018B2 (ja) | 1995-07-12 | 2006-12-20 | ソニー株式会社 | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、アドレス管理方法、並びにアドレス管理サーバ端末 |
US5880731A (en) * | 1995-12-14 | 1999-03-09 | Microsoft Corporation | Use of avatars with automatic gesturing and bounded interaction in on-line chat session |
JP3651508B2 (ja) | 1996-01-31 | 2005-05-25 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US5795228A (en) | 1996-07-03 | 1998-08-18 | Ridefilm Corporation | Interactive computer-based entertainment system |
JP3685877B2 (ja) * | 1996-07-19 | 2005-08-24 | 富士通株式会社 | 通信装置 |
US5802296A (en) * | 1996-08-02 | 1998-09-01 | Fujitsu Software Corporation | Supervisory powers that provide additional control over images on computers system displays to users interactings via computer systems |
US5812126A (en) * | 1996-12-31 | 1998-09-22 | Intel Corporation | Method and apparatus for masquerading online |
US5941770A (en) * | 1997-05-05 | 1999-08-24 | Gamecraft, Inc. | Computer gaming system |
US5964660A (en) | 1997-06-18 | 1999-10-12 | Vr-1, Inc. | Network multiplayer game |
-
1997
- 1997-05-27 JP JP15283997A patent/JP3932462B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-26 US US09/084,515 patent/US6253167B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6253167B1 (en) | 2001-06-26 |
JPH10333542A (ja) | 1998-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3932462B2 (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 | |
JP3799134B2 (ja) | システムおよび通知方法 | |
JP3855430B2 (ja) | 情報処理装置および方法、情報処理システム、並びに記録媒体 | |
JP3932461B2 (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 | |
JPH11212934A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JPH11213179A (ja) | 共有仮想空間提供装置および方法、並びに提供媒体 | |
JPH11203009A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP4006873B2 (ja) | 情報処理システム、情報処理方法及び装置、並びに情報提供媒体 | |
JPH11120375A (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに伝送媒体 | |
JP3928229B2 (ja) | 表示制御装置および表示制御方法、並びに記録媒体 | |
EP0753835B1 (en) | A three-dimensional virtual reality space sharing method and system | |
US6734885B1 (en) | Information processing apparatus, method and computer program for virtual reality transparent avatars | |
CN1273656A (zh) | 虚拟环境视点控制 | |
CN118176484A (zh) | 虚拟对象结构和相互关系 | |
Yang et al. | A Human‐Computer Interaction System for Agricultural Tools Museum Based on Virtual Reality Technology | |
JPH11203499A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JPH10222698A (ja) | 3次元仮想空間の通信装置、および通信方法 | |
JPH0668063A (ja) | 仮想生物システム | |
JPH11219449A (ja) | 情報処理装置および方法、並びに提供媒体 | |
Matsuda | Evaluation of Personal Agent-Oriented Virtual Society—PAW | |
Shirbhate | Development of Methodology for Interactive Solid Modelling in Virtual Environment | |
KR20080022021A (ko) | 소프트웨어 로봇 메시지 전송 방법 | |
Nielsen et al. | Interactive information visualization in neuroimaging | |
KR20030008234A (ko) | 3차원 애니메이션 데이터의 제작 및 출력방법. | |
Sause | A coordinated reinforcement learning framework for multi-agent virtual environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060519 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070129 |
|
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: 20070222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070307 |
|
LAPS | Cancellation because of no payment of annual fees |