JP3932461B2 - クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 - Google Patents
クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP3932461B2 JP3932461B2 JP14719697A JP14719697A JP3932461B2 JP 3932461 B2 JP3932461 B2 JP 3932461B2 JP 14719697 A JP14719697 A JP 14719697A JP 14719697 A JP14719697 A JP 14719697A JP 3932461 B2 JP3932461 B2 JP 3932461B2
- Authority
- JP
- Japan
- Prior art keywords
- growth
- user
- life object
- virtual life
- client device
- 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]
-
- A63F13/12—
-
- 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
-
- 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
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
-
- 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/807—Role playing or strategy games
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Controls And Circuits For Display Device (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】
【発明が解決しようとする課題】
ところで、上述したサイバースペース内にユーザの分身として送り込まれるアバタは、ユーザによって好きな外見のオブジェクトに任意に選択可能であるものの、時間経過に伴って外見が成長したり、またユーザの操作によって独自の性格を形成して、その振る舞いを自律的に変更する機能は無く、現実世界の人間の振る舞いとは全く異なるものであった。
【0011】
ここで、仮に、上述した携帯電子ペットや、特開平07-160853号公報に記載された仮想生物の画像表示方法を利用してアバタの成長過程を表現しようとすると、次のような問題点が生じてしまう。すなわち、上述した特開平07-160853号公報等に記載された仮想生物の画像表示方法においては、予め仮想生物のキヤラクタの成長過程の各段階のビットマップ画像をROMに格納しておき、成長度に応じて段階的に仮想生物キャラクタを変更し、その成長を表現しているため、段階的な成長過程しか表示出来ず、現実の生物とは異なり、したがって、例えば、成長経過に応じた身長や体重の変化に伴って、その体格を動的に変化させるようなことは出来ず、仮に、実現し得たとしても莫大な容量のビットマップ画像を予め用意しておかなければならず、現実的ではなかった。
【0012】
そこで、本発明はこのような実情に鑑み、サイバースペース内にユーザの分身として送り込まれるアバタの外見を時間経過に伴って成長させたり、またユーザの操作によって独自の性格を形成して、その振る舞いを自律的に変更させることができ、現実の生物に近い成長過程を表現する事ができると共に、このアバタの成長表現機能を、最小限の画像情報リソースによって実現することが出来る共有仮想空間提供システムを実現することを目的としている。
【0013】
【課題を解決するための手段】
請求項1に記載のクライアント装置は、所定のイベントの発生に応じて、記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの成長パラメータであって、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される成長パラメータを更新する更新手段と、記憶手段に記憶された成長パラメータを、共有仮想空間を共有している他のユーザのクライアント装置へネットワークを介して転送する転送手段と、他のユーザのクライアント装置からネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの外見、又は転送されてきた成長パラメータのうちのメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御手段とを備えることを特徴とする。
【0014】
請求項8に記載の画像表示制御方法は、更新手段が所定のイベントの発生に応じて、記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの成長パラメータであって、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される成長パラメータを更新する更新ステップと、転送手段が記憶手段に記憶された成長パラメータを、共有仮想空間を共有している他のユーザのクライアント装置へネットワークを介して転送する転送ステップと、制御手段が他のユーザのクライアント装置からネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの外見、又は転送されてきた成長パラメータのうちのメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御ステップとを備えることを特徴とする。
【0015】
請求項9に記載の記録媒体は、更新手段が所定のイベントの発生に応じて、記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの成長パラメータであって、仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される成長パラメータを更新する更新ステップと、転送手段が記憶手段に記憶された成長パラメータを、共有仮想空間を共有している他のユーザのクライアント装置へネットワークを介して転送する転送ステップと、制御手段が他のユーザのクライアント装置からネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちのフィジカルパラメータおよびメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの外見、又は転送されてきた成長パラメータのうちのメンタルパラメータが影響を与える他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御ステップとをクライアント装置に実行させるためのコンピュータが読み取り可能なプログラムが記録されていることを特徴とする。
【0016】
請求項10に記載の共有仮想空間提供装置は、第1のクライアント装置が、共有仮想空間内に存在する第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、仮想生命オブジェクトの内面的成長を規定し、仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した成長パラメータを受信する受信手段と、受信手段が受信した成長パラメータを、ネットワークを介して第2のクライアント装置に転送する転送手段と、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、ネットワークを介して複数のクライアント装置に送信する送信手段とを備えることを特徴とする。
【0017】
請求項11に記載の共有仮想空間提供方法は、第1のクライアント装置が、共有仮想空間内に存在する第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、仮想生命オブジェクトの内面的成長を規定し、仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した成長パラメータを受信手段が受信する受信ステップと、受信ステップで受信した成長パラメータを、転送手段がネットワークを介して第2のクライアント装置に転送する転送ステップと、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段がネットワークを介して複数のクライアント装置に送信する送信ステップとを備えることを特徴とする。
【0018】
請求項12に記載の記録媒体は、第1のクライアント装置が、共有仮想空間内に存在する第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、仮想生命オブジェクトの外観的成長を規定し、仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、仮想生命オブジェクトの内面的成長を規定し、仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した成長パラメータを受信手段が受信する受信ステップと、受信ステップで受信した成長パラメータを、転送手段がネットワークを介して第2のクライアント装置に転送する転送ステップと、成長パラメータに基づいて、仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段がネットワークを介して複数のクライアント装置に送信する送信ステップとを共有空間提供装置に実行させるためのコンピュータが読み取り可能なプログラムが記録されていることを特徴とする。
【0019】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【0020】
説明に先立ち、世界的規模で構築されたコンピュータネットワークであるインターネット(The Internet)において、様々な情報を提供するWWW(world wide web)の枠組みを利用して3次元的な情報を統一的に扱うことができる記述言語であるVRML(virtual reality modeling language)について説明する。
【0021】
ここで、インターネットで利用できる情報提供システムとして、スイスのCERN(European Center for Nuclear Research:欧州核物理学研究所)が開発したWWWが知られている。これは、テキスト、画像、音声などの情報をハイパーテキスト形式で閲覧できるようにしたもので、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルに基づいて、WWWサーバに格納された情報をパーソナルコンピュータなどの端末に非同期転送するものである。
【0022】
WWWサーバは、HTTPデーモン(HTTP:HyperText Transfer Protocol、ハイパーテキスト転送プロトコル)と呼ばれるサーバ・ソフトウエアとハイパーテキスト情報が格納されるHTMLファイルによって構成される。なお、デーモンとは、UNIX上で作業を行う場合、バックグラウンドで管理や処理を実行するプログラムを意味する。ハイパーテキスト情報は、HTML(HyperText Markup Language、ハイパーテキスト記述言語)と呼ばれる記述言語によって表現される。HTMLによるハイパーテキストの記述は、「<」と「>」で囲まれたタグと呼ばれる書式指定によって文章の論理的な構造が表現される。他の情報とのリンクについての記述は、アンカーと呼ばれるリンク情報によって行われる。アンカーによって情報が存在する所を指定する際には、URL(Uniform Resource Locator)が用いられる。
【0023】
HTMLで記述されたファイルを、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク上において転送するためのプロトコルがHTTPである。クライアントからの情報の要求をWWWサーバに伝え、HTMLファイルのハイパーテキスト情報をクライアントに転送する機能をもっている。
【0024】
WWWを利用する環境として多く利用されているのが、WWWブラウザ(ブラウザとは閲覧するという意味)と呼ばれる、Netscape Navigator(米国Netscape Communications社の商標)をはじめとするクライアント・ソフトウエアである。
【0025】
このWWWブラウザを用いて、URLに対応する世界規模で広がるインターネット上のWWWサーバ上のファイル、いわゆるホームページを閲覧することができ、いわゆるネットサーフィンと呼ばれるように、リンクが張られたホームページを次々と辿って、多種多様なWWWの情報ソースにアクセスすることができる。
【0026】
近年、このWWWをさらに拡張し、3次元空間の記述や、3次元グラフィックスで描画されたオブジェクトに対してハイパーテキストのリンクの設定を可能とし、これらのリンクをたどりながらWWWサーバを次々とアクセスできるようにしたVRMLと呼ばれる3次元グラフィックス記述言語で記述された3次元空間を表示するVRMLブラウザが開発されている。
【0027】
この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〕」等の文献に記載されている。
【0028】
また、 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で公開されている。
【0029】
さらに、VRML2.0用ブラウザおよび共有サーバ用ソフトウェアとしては、例えば、本出願人であるソニー株式会社が「Community Place Browser / Bureau(商標)」として開発し、製品化しており、そのβ版(試供版)を、インターネット上のホームページhttp://vs.sony co.jpからダウンロード可能としている。
【0030】
このようなVRML2.0を用いて3次元的な仮想空間を構築しようとする場合、まず、VRMLにより仮想空間内の物体(モデル)の形、動きおよび位置等を示す図形データの作成(モデル作成)、ユーザが画面表示された仮想空間内のモデルを、例えば、マウスでクリックしてポインティングした場合にイベントを発生させるスイッチ(センサ)のモデルへの付加(センサ付加)、センサへのポインティングに応じて発生するイベントを実現するスクリプトのプログラミング(スクリプト作成)、センサーに対する操作とスクリプトの起動等、図形データおよびスクリプト(以下、図形データ、スクリプトおよびVRMLに規定されているライト等のコモンノード等を総称してノードとも記す)の間の対応付け(ルーティング)などによって所望のコンテンツを表現するVRMLファイルを作成する。
【0031】
例えば、http://www.ses.co.jp/SES/STAFF/kan/howto/howto1.htmlには、VRML2.0の書き方、サンプルデータなど、丁寧に解説されている。その一部を紹介すると、以下の通りである。
【0032】
1.VRML2.0で書かれたワールドを見るには
HTML形式で書かれたデータを見るためにHTMLブラウザが必要なように、VRML2.0形式で書かれたデータを見るためにはVRML2.0に対応したVRMLブラウザが必要となる。尚、このページで作成したVRML2.0のデータは全てSONY社製のCommunity Place Browserで行なわれている。
また、ファイルがVRMLで書かれたことを表すためにファイルの拡張子を*.wrl(ワールドの意)に、更にVRML2.0で書かれたことを表すためにファイルの1行目に
#VRML V2.0 utf8
と書くことが必要である。
【0033】
2.VRML2.0データの基本構造
VRML2.0のデータはノード(Node)とフィールド(Field)で構成されていて、基本的に次のような形で書かれている。
Node { Field(s) }
この中でFieldsは省略することができるが、Nodeと中かっこ'{','}'は省略することができない。
フィールドはノードに変数を渡し、ノードのパラメータを指定します。フィールドを省略した場合、デフォルト値が用いられる。また、フィールドには単一の値しか持たない「単一値フィールド(SF)」と複数の値を持つ「複値フィールド(MF)」があり、単一値フィールドの名前は"SF"で、複値フィールドは"MF"で始まるようになっている。
【0034】
3.球の書き方
VRML2.0では球や直方体、円柱、円錐などの基本図形を描くためのノードが用意されている。前にも書いているが、それぞれのノードはパラメータを指定するためのフィールドを持っている。例えば、球を描くためのSphereノードは半径を指定するためのradiusというフィールドを持っており、次のように書くことで半径1の球を表示する。尚、radiusフィールドのデータタイプは、SFFloatですから、1つの浮動小数点数の値をとる。
【0035】
Sample1
1: #VRML V2.0 utf8
2: Transform {
3: children [
4: Shape {
5: geometry Sphere { radius 1 }
6: }
7: ]
8: }
【0036】
実は2,3行目、7,8行目は書かなくてもかまいません。1行目と4行目乃至6行目だけで、きちんと半径1の球を表示できる。
Transformノードは、Groupノードという種類のノードの1つで、文字通りノードのグループ化を行うためのノードである。Transformノードを含めて、以後でてくる他のノードの詳しい機能やフィールドなどは「Appendix1:VRML2.0 Node List」を参照されたい。
球を書くためのノードはSphereであるが、このノードはGeometryノードを呼ばれるノードの1つである。
Geometryノードは、見え方と形状を定義するShapeノードのgeometryフィールドに書く必要がある。
【0037】
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: }
【0038】
この球は赤色で表示される。追加されたのは5行目乃至7行目までである。diffuseColorフィールドのデータタイプは、SFColorであるから、RGBカラーを表す3つの単精度浮動小数点数の組を1つだけ持つ。見え方を定義するMaterialノードはAppearanceノードのmaterialフィールドに書くことになっています。また、AppearanceノードはShapeノードのappearanceフィールドに書くことになっている。このためこのような一見複雑な構造になっている。
【0039】
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: }
【0040】
テクスチャを張り付けているのは6行目である。ImageTexureノードはAppearanceノードのtextureフィールドに書くことになっているため、このような書き方になる。尚、8行目のBoxノードは直方体を描くためのノードである。
【0041】
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: }
【0042】
3行目に追加したtranslationフィールドで物体を平行移動させる。translationフィールドは、
translation x y z
で、それぞれx軸、y軸、z軸の移動量を指定する。ブラウザ上ではx軸は左右(右方向に+)、y軸は上下(上方向に+)、z軸は奥行き(手前に向かって+)を表す。従って、
translation 2 0 0
は右方向に2だけ平行移動することになる。
【0043】
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: }
【0044】
13行目以降に追加したソースは12行目以前のものと構造は同じである。物体が球から円錐へ、色が赤から緑へ、そして位置が左に移動している点が12行目以前のものと異なる。
【0045】
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: }
【0046】
このサンプルは6つの面で立方体を表している。ポリゴンで表すためにはまず、頂点となる座標を決める(7行目乃至16行目)。この座標は上から0,1,2,と番号が振られる。即ち、10行目の「1 0 1」は「2」番の座標ということになる。次に何番の座標と何番の座標で面を構成するのかを決める(18行目乃至25行目)。19行目の「0, 1, 2, 3, -1」は「0番、1番、2番、3番の座標で面を作る」ことを表している。
【0047】
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: }
【0048】
12行目以降は13行目の座標移動の部分を除いて11行目以前と全く同じである。1度定義されている「半径2で青い球」を再び同じように記述するのははっきり言って無駄である。そこで次のようにする。
【0049】
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{……}と同じ内容を表す。
【0050】
10.WRLファイルの読み込み
大きなVRMLデータをつくるときに1つのファイルにすべての記述を行うのはあまりいい方法ではない。部品ごとに分けて必要に応じて呼び出せるようにしておく方が便利である。このような場合、Inlineノードを使う。例えば1.でつくったSample1.wrlを読み込んで表示する。
Sample8
1: #VRML V2.0 utf8
2: Inline {
3: url [
4: sample1.wrl
5: ]
6: }
【0051】
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: }
【0052】
リンクを張るオブジェクトを子ノードにしてAnchorノードで括る。AnchorノードはGroupノードの1つである。リンク先のファイルをurlフィールドに書く。descriptionフィールドに書いた文字列はマウスポインタがオブジェクトに触れている間表示される。
【0053】
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: }
【0054】
6行目の光源の位置によってオブジェクトの見え方が異なる。このサンプルではオブジェクトの前に光源を置いている。
【0055】
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: }
【0056】
このサンプルでブラウザの Option を見ると、Headlight のチェックがはずれている。このサンプルでは今までのサンプルに比べて極端に暗くなっているのが分かる。HeadLight は常にユーザの見ている方向に照らされるライトで、これがないとこのように見える。
新たに加えたのは 2 行目から 4 行目の NavigationInfo ノードである。このノードの headlight フィールドをTRUE か FALSE にすることで HeadLight を ON・OFF する。HeadLight を消して任意のライトを設定することで効果的に明るさを設定できる。
【0057】
14.ワールド環境(2)
NavigationInfo ノードには他にも幾つかのフィールドが用意されている。その中の type フィールドでナビゲーション方法を変更することができる。
デフォルトでは WALK に設定されている ナビゲーション方法であるが、他にも重力を無視して移動できる FLY、自分が動くことなくオブジェクトを動かす EXAMINE、何もコントロールできない NONE、がある。ちなみに WALKは重力の影響を受けながら移動するナビゲーション方法である。
【0058】
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 にしている。オブジェクトをマウスでドラッグするとオブジェクトが回転する。
【0059】
15.シーンにタイトルを付ける
HTML では <title> タグで囲むことによってタイトルを付けることができる。もしこのタグを指定しないとタイトルが [http://ryo1.is.kochi-u…howto3.html] のようにパスが表示される。VRML でもこれと同じことが起こる。これまでのサンプルではタイトルを指定していないためパスが表示されている。VRML
でタイトルを指定するには WorldInfo ノードを使用する。
【0060】
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: }
【0061】
2 行目乃至 5 行目までに WorldInfo ノードを追加した。このサンプルでは前のサンプルに "Spin Box" というタイトルを付けた(Plugin 版では表示されなかった)。尚、info フィールドにはタイトル以外の情報を書くが、ブラウザ上には何の変化も与えない。
【0062】
16.視点の位置を変える
デフォルトでは視点は最初 z 軸上のどこか(オブジェクトの配置によって異なる)にいる。ここでは最初の視点位置を任意の場所に変更できるようにする。
【0063】
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: }
【0064】
(0, 0, 0)に赤、(-3, 0 , 0)に緑、(3, 0, 0)に青の球がある。2 行目の Viewpoint ノードの position フィールドに具体的な座標を指定すると、そこが最初の視点になる。ただし視線方向は常に z 軸の方向である。
【0065】
17.視線の方向を変える
sample14 では視点の座標のみを変更したが、もちろん視線方向も指定できる。方向を指定するときも Viewpoint ノードを使うが、 フィールドは orientation フィールドを使う。orientation フィールドは SFRotation 型のフィールドで、加点軸と回転角を値として持つ。
【0066】
18.センサをつける
VRML2.0 のノードの中には Sensor ノードと呼ばれるノードがある。シーン内での様々なことを感知、判定するためのノードで、全部で7種類用意されている。このWebページで動作確認を行っている Community Place Browser では、幾つかの Sensor ノードがまだサポートされていない。ここではオブジェクトにマウスがヒットしたかどうかを感知する TouchSensor をオブジェクトにつけてみる。
【0067】
Sample15
1: #VRML V2.0 utf8
2: Transform{
3: children [
4: DEF TS TouchSensor {}
5: Shape {
6: geometry Box {}
7: }
8: ]
9: }
【0068】
これまでのサンプルと異なるのは4行目だけである。ここでは TS という名前を付けた TouchSensor を Box につけている。Box にマウスカーソルが触れると(あなたが使っているブラウザが Community Place Browser ならば)手の形に変わるはずである(他のブラウザの中にはカーソルが変わらないものもある)。ちなみにクリックしても何も起きない。
【0069】
19.動きをつける(1)
VRML2.0 が VRML1.0 と大きく異なる点はシーンに動きをつけられるという点である。 動きをつけるには Java や VRMLScript(JavaScript) などのスクリプトを用いる方法と、Interplator ノードを用いる方法がある。
まずは Interplator ノードを用いる方法から見ていく。Interplate とは、「差し挟む」とか「内挿する」といった意味である。Interpolator ノードで数値、位置、3D座標、方向、法線、色の値を変えることによってシーンに動きをつけることができる。ここでは方向を内挿する OrientationInterpolator ノードを用いてオブジェクトを回転させてみる。
【0070】
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
【0071】
まず、幾つかのノードに名前を付けておく。2,9,14 行目にそれぞれ、OBJ,TS,OI と定義している。これは後述するがイベントの受け渡しをするときに必要になる。
9 行目乃至 13 行目を見ます。TouchSensor は時間の経過を感知するノードで、時間の経過に伴って一定の間隔でイベントを生成することができる。loop フィールドは TRUE か FALSE をとる SFBool フィールドで、TRUE なら stopTime になるまで続く。ここでは stopTime -1 と startTime(デフォルトは0)と startTime より小さな値になっているので永久に継続されることになる。回転する動きをもっと遅くするときには cycleInterval の値をもっと大きくする。
【0072】
14 行目乃至 20 行目までが OrientationInterpolator ノードである。Interpolator ノードはすべて key と keyValue の2つのフィールドを持っている。key はアニメーション時間の間隔を 0 から 1 の間で設定する。
keyValue は key で設定した間隔に具体的なフィールド値(ここでは MFRotation )を設定する。ここではアニメーション時間の間隔を9等分して、y軸を中心に回転角を設定している。
【0073】
しかしこれだけではシーンに動きをつけることはできない。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つサンプルをあげてみる。
【0074】
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
【0075】
今度は、OBJ という名前の赤い立方体に TouchSenor TS をつけている。オブジェクトがクリックされると、TouchSenor TS の touchTime が TimeSensor TIS の startTime にイベントアウトされる。サンプルのソースには TimeSensoe ノードの中に startTime フィールドは書いてないが、デフォルトで startTime 0 となっている。あとは前のサンプルと同じである。
これらの ROUTE によってオブジェクトが移動する。
【0076】
ここで、第1世代のVRML1.0に対し、第2世代のVRML2.0で新たに加わった機能であるVRML仮想空間内における自律的な動き(Behavior)を実現するためのメカニズムについて概説する。
【0077】
VRML2.0においては、3次元仮想現実空間内に配置されたオブジェクトに対する操作に伴って生じるイベントや、予め設定された時間が経過した時点で生じるタイマーイベントに応じて、オブジェクトの自律的な動きを実現することができる。このBehaviorのメカニズムは、センサー、ルーティング、スクリプトの3つの要素の連携動作によって実現される。
【0078】
すなわち、
▲1▼予め3次元仮想現実空間内に配置されたオブジェクトなどのノードに対して関係付けられて、VRMLファイルとして記述されたセンサーノードが、そのフィールドの値の変化に基づいて、外部イベントを感知し、VRMLシーン内にイベントを発生する。
▲2▼発生したイベントは、 VRMLファイルとして記述されたルーティングに基づいて、オブジェクトの挙動を規定するプログラムである外部のスクリプトに対して、伝達される。
▲3▼外部のスクリプトには予め特定のイベントが到来した時点で呼び出されるメソッドが記述されており、ルーティングによって伝達されたイベントを受け取った外部のスクリプトは、その記述に基づく処理を実行した後、その処理結果と、ルーティングの記述に基づいて、VRMLシーン内の該当するノードのフィールドの値を変更する。
【0079】
VRML2.0においては、センサーノードとしては、例えば、指定されたオブジェクト上をポインティングデバイスが通過したり、ユーザによってクリックされた場合にイベントを発生するTouchSensorや、指定された領域内にViewPoint(ユーザの視点)が侵入した場合にイベントを発生するProximitySensorや、与えられた時刻となったり、予め指定された時間間隔が経過する毎に発生するTimeSensorなどが定義されている。
【0080】
もう少し詳しく、Behaviorの仕組みを説明する。先にも述べたように、Behaviorの仕組みは、センサー、イベント、ルーティングおよびスクリプトから構成されている。
【0081】
センサーは、2つの機能に分けられる。
・ユーザの操作を感知するタイプ
・システムの変化を感知するタイプ
【0082】
ユーザの操作を感知するタイプのセンサーは、3次元仮想空間内に配置された物体などに関係付けられたソフトウエアによるスイッチとなる。システムの変化を感知するタイプのセンサーは、作動させる時間を事前に設定しておいたタイマーが作動することになる。センサーの働きは、これらの外部イベントを検出して、それをVRML内部のイベントに変換することである。
【0083】
イベントは、VRMLの内部の関連するノード間で、情報を伝えるためのデータのことを指す。実際には、VRMLファイルの中に記述されたフィールド値の変化がイベントとして伝達される。
【0084】
ルーティングは、センサー機能で検出されたイベントをどのノードに伝えるかを指定するための仕組みで、イベントによる情報の伝達経路を指定することになる。
【0085】
スクリプトはイベントの入出力口で、入力されたイベントから何らかの計算を行い、その結果をイベントとして出力することができるものである。スクリプトは特定の言語のみに制限されるものではなく、現段階では、インターネット界で注目を浴びているJavaやJavaScript、通常のシステムでよく利用されているC言語、UNIXでよく利用されているTcl/TkやPERL、マイクロソフト社の提供しているVisual Basic言語などが対応している。このようにVRML2.0では特定のスクリプト言語に依存しない仕様になっている(VRML2.0仕様検討中、一時特定の言語仕様としてVRMLScriptが採用されようとしたこともあるが、この構想は取り止めなった)。
【0086】
次に、Behaviorの処理手段に関して、図1を参照して説明する。Behaviorの処理を図式化すると、図1のようになる。以下、各部に分けて、処理信号の流れを説明する。
【0087】
▲1▼センサーノード
前にも述べたように、センサーノードには、大きく分類して2系統がある。ユーザの操作を感知するタイプと、システムの変化を感知するタイプのセンサーである。
【0088】
前者のセンサーには、3次元物体やその平面をマウスクリックしたり、通過したりしたときに感知するTouchSensorやPlaneSensorなどのセンサーノードがあり、後者のセンサーとしては、設定した時間が来るとイベントを発生させる仕組みになっているTimeSensorが用意されている。
【0089】
この図1の例では、球にTouchSensorが付けられているものとする。このとき、ユーザが球をマウスクリックすると、このイベントをTouchSensorが検出する。このイベントは、TouchSensorのeventOutフィールドのフィールド値が変化することで検出される。通常1回のマウスクリックで2つのイベントを発生する。それは、マウスボタンが押されたタイミングと、離されたタイミングである。
【0090】
次に、このイベントは、ルーティング記述部分によって、ルーティングされることになる。
【0091】
▲2▼ルーティング
このイベントのルーティングを指定するのが、図2に示すような「Route」である。
【0092】
センサー記述部分で発生したイベントがRouteのeventOutフィールドに伝達され、さらに、次に述べるスクリプトノードに伝えられることにより、外部ファイルにイベントが渡され、Behavior機能が実行される。
【0093】
▲3▼スクリプトノード
このノードは、VRMLファイルと外部のスクリプトとを連動させる仲介をするノードである。スクリプトノードの記述書式に従って、どのような言語で記述されているかとか、ファイル名を指定したり、外部スクリプトファイルとの間でイベントのやり取りをするために、eventInフィールドとeventOutフィールドを規定する。このとき、使用できるスクリプトファイルは、Java、JavaScript、C言語、Tcl/Tk、PERL、およびVisual Basic言語など多岐に渡る。
【0094】
実際の処理手段としては、ルーティングされたイベントがスクリプトノードに記述されているスクリプトファイルに処理が伝達され、外部のスクリプトファイルが実行される。外部のスクリプトファイルは、その中で定義されているeventIn(イベントの入口)で受け取り、そのファイル内に記述された処理を実行する。その処理が終了した後、eventOut(イベントの出口)から結果をVRMLファイルのルーティングへ返す。VRMLファイルは、その返された結果を実行して、一連のBehavior処理は終了する。
【0095】
このような、センサー、ルーティング、スクリプトの連携動作によって実現されるBehaviorのメカニズムを利用することによって、例えば、3次元仮想現実空間内に配置されたスイッチを模したオブジェクトをマウスでクリックすることによって、同じ空間内に配置された他のオブジェクトの外観(形状、姿勢、サイズ、色等)であるとか、挙動シーケンスなどを動的に変更する事ができる。
【0096】
この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ファイルにプログラムとして動作するスクリプトを組み込む方法など、様々なノードに関する一般的な項目が記載されている。
【0097】
次に、このようなVRML2.0の自律的な動き(Behavior)を実現するメカニズムを応用して、共有仮想空間内に、仮想生命オブジェクトを誕生させ、ユーザの操作や時間経過に伴う所定のイベントの発生に応じて変化する成長パラメータ(外観的成長又は内面的成長(個性))をサーバで管理し、このサーバから転送された成長パラメータに基づいて、仮想生命オブジェクトの外観(形状、姿勢、サイズ、色等)又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するためのスクリプトプログラムを解釈、実行することで、成長パラメータに応じた仮想生命オブジェクトを表示する技術について、以下に詳述する。
【0098】
図3は本発明の一実施の形態の全体のシステム構成図である。
【0099】
図3において、1,2,3は、VRMLブラウザ及びWWWブラウザがインストールされ、これらが動作しているクライアントPC(パーソナルコンピュータ)であり、IP(インターネット接続サービスプロバイダ)4,5,6を介してインターネット7と接続されている。
【0100】
インターネット7とルータ8を介して接続されたLAN(Local Area Network)9には、WWWサーバ10、WLS(World Location Server)11、および共有サーバ12が接続されている。これらの各サーバ10乃至12には、ハードディスク(HDD)10a,10b,11a,12aが、各々設けられている。
【0101】
図4はクライアントPC1のハードウェア構成を示すブロック図である。
【0102】
図4において、30は各部を制御するCPU、31はVRML 2.0 fileや、Java(米国 Sun Microsystems社の商標)による共有仮想生命の成長スクリプトプログラム等からなるVRMLコンテンツと、各クライアントPCのユーザ(クライアント)の分身であるアバタ(仮想生命オブジェクト)の成長パラメータ管理テーブル(図8を用いて後述する)が格納された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である。
【0103】
このRAM46には、実行時に、Windows95(米国Micro Soft社の商標) の上で動作するWWWブラウザであるNetscape Navigatorと、Javaインタプリタと、ソニー株式会社によって開発されたVRML2.0ブラウザであるCommunity Place Browserが読み込まれて、CPU30によって実行される状態となっている。
【0104】
VRML2.0ブラウザには、米国シリコングラフィクス社によって開発され、無償公開されているVRMLの構文解釈用ライブラリ(パーサ)であるQvLibと、英国Criterion Software Ltd.のソフトウエア・レンダラであるRenderWare等、もしくはこれらと同等の機能を有するパーサやレンダラが実装されている。
【0105】
そして、 Community Place Browserは、図3に示すように、WWWブラウザとしてのNetscape Navigatorとの間において、NCAPI(Netscape Client Application Programing Interface)(商標)に基づいて各種データの授受を行う。
【0106】
Netscape Navigatorは、インターネット7を介してWWWサーバ10よりHTMLファイルとVRMLコンテンツ(VRMLファイルとJavaによるスクリプトプログラムとを含む)の供給を受けると、これらをローカルのHDD31にそれぞれ記憶させる。Netscape Navigatorは、このうちのHTMLファイルを処理してテキストや画像をCRTモニタに表示する一方、 Community Place BrowserはVRMLファイルを処理して3次元仮想空間をCRTモニタに表示するとともに、Javaインタプリタによるスクリプトプログラムの処理結果に応じて、3次元仮想空間内のオブジェクトの挙動を変化させる。
【0107】
なお、図示は省略するが、他のクライアントPC2やクライアントPC3も、クライアントPC1と同様に構成されている。
【0108】
次に上述した一実施の形態の動作について説明する。
【0109】
まず、実際にVRMLコンテンツをインターネット経由でダウンロードしてから、1つの仮想空間を複数のユーザで共有するマルチユーザ環境とするまでの手順を図5乃至図7を参照して説明する。
【0110】
図5において、番号1で示すように、最初に、WWWブラウザを用いて、VRMLコンテンツを提供しているWebサイトのホームページを閲覧する。この例では、 http://pc.sony.co.jp/sapari/ を閲覧している。次に、番号2で示すように、クライアントPC1とクライアントPC2のユーザは、VRML 2.0fileと、VRML空間内での自律的な動き(Behavior)を実現するためのスクリプトプログラム(Javaによる成長スクリプトプログラム)とからなるVRMLコンテンツを、それぞれダウンロードする。
【0111】
勿論、 CD−ROMディスク33で提供されるVRMLコンテンツをCD−ROMドライブ32で読み込んでも良い。
【0112】
次に、図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を通知する。
【0113】
このURLを用いて、図7に示すように、クライアントPC1とクライアントPC2が、共有サーバ12に接続する。その結果、番号5で示すように、この共有サーバ12を介して共有3Dオブジェクトの位置や動きなどに関する共有メッセージの送信が行われ、番号6で示すように、その転送が行われ、マルチユーザ環境が実現される。
【0114】
なお、以上の接続手順の詳しい説明については、特開平9-81781号公報を参照されたい。
【0115】
次に、各クライアントPCのHDD31には、図8に示すような各クライアントPCのユーザの分身であるアバタの成長パラメータを管理する成長パラメータ管理テーブルが格納されている。
【0116】
すなわち、図8に示すように、アバタの成長パラメータに関するデータは、1つの仮想空間内において3Dオブジェクトを一意に特定するための3DオブジェクトIDと、仮想空間内でのアバタの3次元座標値と、ユーザによって選ばれた猿や猫などのアバタの外見の種類と、その性別と、ユーザによって付与されたニックネームと、ユーザによって初期設定された日時、すなわちそのアバタの誕生日時と、誕生した仮想空間に付与されているワールド名と、アバタの成長パラメータとからなる。
【0117】
成長パラメータは、アバタの外観的成長を規定するフィジカルパラメータと、性格等が反映された内面的成長を規定するためのメンタルパラメータに大別される。
【0118】
フィジカルパラメータは、身長(単位cm)、体重(単位Kg)、体格指数、食欲指数、健康度指数、および寿命残時間(単位時間)とからなる。
【0119】
メンタルパラメータは、知能指数、言語能力指数、社交性指数、自主性指数、活発性指数、および機嫌指数により構成されている。
【0120】
これらのパラメータは、アバタによって最初に初期設定された誕生日時からの経過時間に伴って発生するタイマーイベント、自らのユーザの操作に伴って発生する操作イベント、および、相手のクライアントPCにおける自分のアバタに対する操作に伴って発生する操作イベントに基づき、所定の成長パラメータ算出式によって算出された値に順次更新される。
【0121】
図9は、クライアントPC1のCRTモニタ画面上のVRMLブラウザのメインウインドウに隣接して表示されるアクションパネルの機能を示している。
【0122】
この図において、Aは(Active)と表記されている「呼ぶボタン」であり、相手のアバタを呼んだり、寝ている自分のアバタを起こす際にクリックされる。
【0123】
Bは(Sleep)と表記されている「おやすみボタン」であり、自分のアバタを寝かす際にクリックされる。
【0124】
Cは「ごはんボタン」であり、相手のアバタに食事を与える際にクリックされるボタンである。
【0125】
Dは「ほめるボタン」であり、相手のアバタに笑いかけて褒めてあげる際にクリックされるボタンである。
【0126】
Eは「あそぶボタン」であり、自分のアバタが鬼になって逃げ回る相手のアバタを追いかけて、壁にぶつかって逃げれない相手のアバタにぶつかるまで追いつめて遊ぶ、いわゆる鬼ごっこで遊ぶ際にクリックされるボタンである。
【0127】
Fは「しかるボタン」であり、言う事を聞かない相手のアバタを叱り付けて、しつけを行なう際にクリックされるボタンである。
【0128】
Gは「きれいにするボタン」であり、相手のアバタをブラッシングしてきれいにする際にクリックされるボタンである。
【0129】
そして、例えば、図10に示すように、自分のクライアントPC1において、「呼ぶボタン」Aがクリックされると(アクションパネルが操作されると)、その操作イベントに基づいて成長パラメータ更新処理が実行される。それによりに、食欲指数、健康度指数、機嫌指数が、1/10から10/10まで、0.1ポイントづつインクリメントされる。その操作メッセージが更新済みのアバタの成長パラメータと共に送信されると、共有サーバ12はこれを受信し、さらにこれを相手のクライアントPC2へ送信する。
【0130】
また、例えば、「ごはんボタン」Cがクリックされ、その操作イベントが発生する毎に、成長パラメータの体重が増加し、それに伴って、体格指数が、1/10から10/10まで、0.1ポイントづつインクリメントされる。
【0131】
その後、時間経過に伴うタイマーイベントが発生すると、成長パラメータの体重が減少し、それに伴って、体格指数が0.1ポイントづつデクリメントされる。
【0132】
例えば、この体格指数を含む成長パラメータは、更新される毎に、共有サーバ12のマルチキャスト処理により、仮想空間を共有しているその他のクライアントPCへ転送される。
【0133】
クライアントPCでは、他のクライアントPCから送信されてきた成長パラメータに基づいて、アバタの成長に伴う自律的な挙動を制御するための処理手順が記述された成長スクリプトプログラムが実行され、VRMLファイルのアバタを表現するための3Dオブジェクトを構成する各ノードのフィールドの値が変更され、この変更されたフィールドの値が反映されたアバタがレンダリングされ、クライアントPC1のCRTモニタ画面上のVRMLブラウザのメインウインドウ上に表示される。
【0134】
このクライアントPC1と同じ処理が、仮想空間を共有しているその他のクライアントPCにおいても実行され、これによりアバタの成長に伴って変更されたフィールドの値が反映されたアバタの姿がレンダリングされ、他のクライアントPCのCRTモニタ画面上のVRMLブラウザのメインウインドウ上にも表示されることになる。
【0135】
図11及び図12に、VRMLファイルのアバタを表現するための3Dオブジェクトを構成する各ノードに対応したpart0乃至part5の関係(図11)と、その表示例(図12)を示す。part0がアバタの頭部に相当し、part1がアバタの胴体に相当し、part2とpart3がアバタの右腕と左腕に相当し、part4とpart5がアバタの右足と左足に相当する。
【0136】
これらの各part0乃至part5に対応する各ノードのフィールドの値を変更することで、アバタの各部の外観(形状、姿勢(向き)、サイズ、色等)、及び各部の挙動シーケンスを動的に変更する事が出来る。こらは全て、成長パラメータに基づく成長スクリプトプログラムの処理で実現される。すなわち、VRML2.0で定義されたセンサー、ルーティング、スクリプトの連携動作によって実現されるBehaviorのメカニズムを利用することによって実現される。
【0137】
従って、従来の携帯電子ペットの仮想生物の画像表示方法のように、予め仮想生物のキヤラクタの成長過程の各段階のビットマップ画像をROMに格納しておく必要はなく、例えば、アバタの成長経過に応じてその体格や挙動を連続的かつ動的に変化させる事が出来る。
【0138】
図13は、アバタの成長と体格指数の遷移に伴ってアバタの体格を動的に変更して表示する概念図を示している。加齢に伴って、顔が大人の顔となり、体格も大きくなるが、体格指数が小さいと、やせた身体となり、大きいと、大きな身体となる。
【0139】
図14は、アバタの機嫌指数の遷移に伴ってアバタの表情を動的に変更して表示する概念図を示している。機嫌指数が大きいと、笑い顔となり、小さいと、怒った顔になる。
【0140】
図15は、アバタの活発性指数の遷移に伴ってアバタの各部の挙動シーケンスを動的に変更して表示する概念図を示している。活発性指数が小さいと、足の屈伸程度の動きしかできないが、大きくなると、手を振ったり、頭を振ったりすることができる。
【0141】
図16は、アバタの知能指数の遷移に伴ってアバタへ頭髪を付加したり眼鏡を付加して表示する概念図を示している。
【0142】
ここで、成長パラメータの知能指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントに基づいて、0.1ポイントづつインクリメントされ、図16に示すようにアバタの外観に影響を与える。
【0143】
言語指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントやタイマーイベントに基づくアバタの年齢に応じて0.1ポイントづつインクリメントされ、アバタの年齢増加に応じて、テキストベースでのチャットの文章編集処理を実行するに際し、そのテキストの文体に影響を与える。
【0144】
社交性指数は、相手のアバタとのチャットの頻度に応じて0.1ポイントづつインクリメント又はデクリメントされ、頻度が多ければ外向的な振る舞い、頻度が少なくなれば内向的な振る舞い、となるようにアバタの振る舞いに影響を与える。社交的で明るく、積極的な性格のアバタは、姿勢も顔色も良くなり、逆に、内向的で暗く、消極的な性格のアバタは、姿勢も顔色も悪くなる。
【0145】
自主性指数は、タイマーイベントに基づくアバタの年齢増加に応じて、0.1ポイントづつインクリメントされ、次第にユーザの言う事を聞かなくなるなどのアバタの振る舞いに影響を与える。
【0146】
活発性指数は、年齢、食欲指数、健康度指数などに基づいて決定され、図15に示すように、アバタの振る舞いに影響を与える。また、図9に示す「あそぶボタン」Eの操作に伴う操作イベントの発生に基づいて、活発性指数が0.1ポイントづつインクリメントされ、次第に逃げ足が早くなるなどのアバタの振る舞いに影響を与えたり、アバタの体重を減らして体格指数をデクリメントして図13に示すようにその外観に動的な変更を与える。
【0147】
機嫌指数は、図9に示す「呼ぶボタン」Aの操作に伴うアクセスイベントやタイマーイベントに基づくアクセス頻度などに基づいて決定され、図14に示すように、アバタの表情に影響を与える。
【0148】
その結果、例えばチャットで話しかけるなど、自発的な行為の場合は、内面的成長の度合いを1だけインクリメントし、話しかけられるなど、受け身的な行為が行われた場合は、1だけデクリメントし、「ほめるボタン」Dがクリックされた場合には、5だけインクリメントし、「しかるボタン」Fがクリックされた場合には、5だけデクリメントするなどして、よちよち歩きの赤ん坊から、立派な大人を経て、老人になるまで、年齢に応じてアバタの外見を変化させることができる。
【0149】
次に、図17乃至図20を参照して、クライアントPCのCRTモニタに表示される具体的な表示例について説明する。図17は、例えばクライアントPC1から共有サーバ12にアクセスした場合の表示例を表している。この表示例においては、「Community Place Bureauに接続しました」のメッセージが3次元共有仮想空間の画像に重畳表示されている。
【0150】
ユーザは、自分自身に対応するアバタを選択するとき、「MultiUser」をクリックする。このとき、図18に示すように、メニューバーが表示される。例えばアバタを選択するとき、ユーザは「Select Avatar」を選択する。例えば、猿を自分自身のアバタとして選択すると、他のクライアントPC(例えば、クライアントPC2)のCRTモニタでは、図19に示すように、クライアントPC1のアバタとしての猿が表示される。そして、このアバタは、上述したように、成長パラメータに対応して成長する。図20は、図19に示した場合より成長した状態を表している。図19に示す場合より、図20に示す場合の方が、身体が全体的に大きくなっており、また、顔もより大人の顔に変化している。
【0151】
このようにして、より現実に近い変化を共有仮想空間において楽しむことができる。
【0152】
以上説明したように、この発明によれば、サイバースペース内にユーザの分身として送り込まれるアバタの外見を時間経過に伴って成長させたり、またユーザの操作によって独自の性格を形成して、その振る舞いを自律的に変更させることができ、現実の生物に近い成長過程を表現する事ができると共に、このアバタの成長表現機能を、最小限の画像情報リソースによって実現することが出来る。
【0153】
なお、以上の各種の処理を実行するプログラムは、フロッピーディスク、CD-ROMディスク、その他の記録媒体に記録して提供したり、インターネットを介して伝送することで提供することができる。
【0154】
【発明の効果】
以上の如く、請求項1に記載のクライアント装置、請求項8に記載の画像表示制御方法、および、請求項9に記載の記録媒体によれば、共有仮想空間内に存在するクライアントの分身としての仮想生命オブジェクトの成長パラメータを記憶するようにしたので、簡単かつ確実に、仮想生命オブジェクトをイベントに対応して成長変化させることが可能となる。
【0155】
請求項10に記載の共有仮想空間提供装置、請求項11に記載の共有仮想空間提供方法、および、請求項12に記載の記録媒体によれば、第1のクライアント装置から更新された成長パラメータが送信されてきたとき、第2のクライアント装置に転送するようにしたので、共有仮想空間において仮想生命オブジェクトをイベントに対応して成長変化させるシステムを、簡単かつ確実に実現することが可能となる。
【図面の簡単な説明】
【図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】共有仮想空間のディスプレイの表示例を示す写真である。
【符号の説明】
1乃至3 クライアントPC, 7 インターネット, 10 WWWサーバ,12 共有サーバ, 30 CPU, 31 ハードディスク, 39 モデム, 45 CRTモニタ, 46 RAM
Claims (12)
- 他のユーザのクライアント装置とともにネットワークを介して共有仮想空間の情報の提供を受け、前記共有仮想空間内に存在する自らのユーザの分身としての仮想生命オブジェクトの成長パラメータを記憶する記憶手段を備えるクライアント装置において、
所定のイベントの発生に応じて、前記記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの前記成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される前記成長パラメータを更新する更新手段と、
前記記憶手段に記憶された前記成長パラメータを、前記共有仮想空間を共有している前記他のユーザのクライアント装置へ前記ネットワークを介して転送する転送手段と、
前記他のユーザのクライアント装置から前記ネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの外見、又は前記転送されてきた成長パラメータのうちの前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御手段と
を備えることを特徴とするクライアント装置。 - 前記成長パラメータは、仮想生命オブジェクトの誕生からの経過時間に基づいて算出される、外見的な成長度合いを示す値である
ことを特徴とする請求項1に記載のクライアント装置。 - 前記成長パラメータは、仮想生命オブジェクトに対するイベントの発生に起因して算出される、内面的成長度合いを示す値である
ことを特徴とする請求項1に記載のクライアント装置。 - 前記仮想生命オブジェクトに対するイベントは、自らのユーザの操作に起因して生じるものである
ことを特徴とする請求項3に記載のクライアント装置。 - 前記仮想生命オブジェクトに対するイベントは、他のユーザの操作に起因して生じるものである
ことを特徴とする請求項3に記載のクライアント装置。 - 前記成長パラメータの内面的成長度合いの値は、仮想生命オブジェクトに対するイベントの種類に応じて異なる値が算出される
ことを特徴とする請求項3に記載のクライアント装置。 - 自らのユーザの分身としての仮想生命オブジェクトのセットまたはリセットの日時を保持する保持手段と、
前記保持手段に保持された日時からの経過時間を計時する計時手段と、
前記保持手段に保持された日時からの経過時間に基づいて、自らのユーザの分身としての仮想生命オブジェクトの年齢に応じた成長パラメータを算出する算出手段とをさらに備え、
前記更新手段は、前記算出手段により算出された、年齢に応じた成長パラメータに基づいて前記記憶手段に記憶された成長パラメータを更新し、
前記転送手段は、更新された前記成長パラメータを、前記他のユーザのクライアント装置へ前記ネットワークを介して転送する
ことを特徴とする請求項1に記載のクライアント装置。 - 他のユーザのクライアント装置とともにネットワークを介して共有仮想空間の情報の提供を受け、前記共有仮想空間内に存在する自らのユーザの分身としての仮想生命オブジェクトの成長パラメータを記憶する記憶手段を備えるクライアント装置の画像表示制御方法において、
更新手段が所定のイベントの発生に応じて、前記記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの前記成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される前記成長パラメータを更新する更新ステップと、
転送手段が前記記憶手段に記憶された前記成長パラメータを、前記共有仮想空間を共有している前記他のユーザのクライアント装置へ前記ネットワークを介して転送する転送ステップと、
制御手段が前記他のユーザのクライアント装置から前記ネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの外見、又は前記転送されてきた成長パラメータのうちの前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御ステップと
を備えることを特徴とする画像表示制御方法。 - 他のユーザのクライアント装置とともにネットワークを介して共有仮想空間の情報の提供を受け、前記共有仮想空間内に存在する自らのユーザの分身としての仮想生命オブジェクトの成長パラメータを記憶する記憶手段を備えるクライアント装置に、
更新手段が所定のイベントの発生に応じて、前記記憶手段に記憶された、自らのユーザの分身としての仮想生命オブジェクトの前記成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定するフィジカルパラメータと、内面的成長を規定するためのメンタルパラメータとから構成される前記成長パラメータを更新する更新ステップと、
転送手段が前記記憶手段に記憶された前記成長パラメータを、前記共有仮想空間を共有している前記他のユーザのクライアント装置へ前記ネットワークを介して転送する転送ステップと、
制御手段が前記他のユーザのクライアント装置から前記ネットワークを介して転送されてきた成長パラメータに基づいて、その成長パラメータのうちの前記フィジカルパラメータおよび前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの外見、又は前記転送されてきた成長パラメータのうちの前記メンタルパラメータが影響を与える前記他のユーザの分身としての仮想生命オブジェクトの挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを解釈実行することによって、前記他のユーザの分身としての仮想生命オブジェクトを構成する各ノードのフィールドの値を変更し、その変更されたフィールドの値が反映された前記他のユーザの分身としての仮想生命オブジェクトを表示させるように表示を制御する制御ステップと
を実行させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。 - ネットワークを介して複数のクライアント装置に共有仮想空間の情報を提供する共有仮想空間提供装置において、
第1のクライアント装置が、前記共有仮想空間内に存在する前記第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、前記仮想生命オブジェクトの内面的成長を規定し、前記仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した前記成長パラメータを受信する受信手段と、
前記受信手段が受信した前記成長パラメータを、前記ネットワークを介して第2のクライアント装置に転送する転送手段と、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、前記ネットワークを介して前記複数のクライアント装置に送信する送信手段と
を備えることを特徴とする共有仮想空間提供装置。 - ネットワークを介して複数のクライアント装置に共有仮想空間の情報を提供する共有仮想空間提供装置の共有仮想空間提供方法において、
第1のクライアント装置が、共有仮想空間内に存在する前記第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、前記仮想生命オブジェクトの内面的成長を規定し、前記仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した前記成長パラメータを受信手段が受信する受信ステップと、
前記受信ステップで受信した前記成長パラメータを、転送手段が前記ネットワークを介して第2のクライアント装置に転送する転送ステップと、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段が前記ネットワークを介して前記複数のクライアント装置に送信する送信ステップと
を備えることを特徴とする共有仮想空間提供方法。 - ネットワークを介して複数のクライアント装置に共有仮想空間の情報を提供する共有仮想空間提供装置に、
第1のクライアント装置が、共有仮想空間内に存在する前記第1のクライアント装置のユーザの分身としての仮想生命オブジェクトの、所定のイベントの発生に応じて変化する成長パラメータであって、前記仮想生命オブジェクトの外観的成長を規定し、前記仮想生命オブジェクトの外見に影響を与えるフィジカルパラメータと、前記仮想生命オブジェクトの内面的成長を規定し、前記仮想生命オブジェクトの外見および挙動シーケンスに影響を与えるメンタルパラメータとから構成される成長パラメータを更新したとき送信する、その更新した前記成長パラメータを受信手段が受信する受信ステップと、
前記受信ステップで受信した前記成長パラメータを、転送手段が前記ネットワークを介して第2のクライアント装置に転送する転送ステップと、
前記成長パラメータに基づいて、前記仮想生命オブジェクトを構成する各ノードのフィールドの値を変更することで前記仮想生命オブジェクトの外見又は挙動シーケンスの内の何れか一方もしくは双方を動的に変更するスクリプトを、送信手段が前記ネットワークを介して前記複数のクライアント装置に送信する送信ステップと
を実行させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14719697A JP3932461B2 (ja) | 1997-05-21 | 1997-05-21 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
US09/081,147 US6268872B1 (en) | 1997-05-21 | 1998-05-19 | 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 |
---|---|---|---|
JP14719697A JP3932461B2 (ja) | 1997-05-21 | 1997-05-21 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10319831A JPH10319831A (ja) | 1998-12-04 |
JP3932461B2 true JP3932461B2 (ja) | 2007-06-20 |
Family
ID=15424736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14719697A Expired - Fee Related JP3932461B2 (ja) | 1997-05-21 | 1997-05-21 | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6268872B1 (ja) |
JP (1) | JP3932461B2 (ja) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000064773A (ko) * | 1997-01-24 | 2000-11-06 | 이데이 노부유끼 | 도형 데이터 생성 장치, 도형 데이터 생성 방법 및 그 매체 |
JPH11192384A (ja) * | 1997-12-26 | 1999-07-21 | Bandai Co Ltd | ネットワークを利用した育成シミュレーション装置 |
JP3855430B2 (ja) | 1998-01-23 | 2006-12-13 | ソニー株式会社 | 情報処理装置および方法、情報処理システム、並びに記録媒体 |
US7065553B1 (en) * | 1998-06-01 | 2006-06-20 | Microsoft Corporation | Presentation system with distributed object oriented multi-user domain and separate view and model objects |
JP2000288238A (ja) * | 1999-04-02 | 2000-10-17 | Konami Co Ltd | ゲームシステム |
KR20010053322A (ko) | 1999-04-30 | 2001-06-25 | 이데이 노부유끼 | 전자 페트 시스템, 네트워크 시스템, 로봇, 및 기억 매체 |
KR100378142B1 (ko) * | 1999-10-25 | 2003-03-29 | 허정선 | 캐릭터 생성 방법 및 그 기록매체 |
JP4573422B2 (ja) * | 1999-11-30 | 2010-11-04 | シャープ株式会社 | データ通信装置、データ通信システムおよびデータ通信方法を実現するプログラムを記録した機械読取可能な記録媒体 |
KR20010015928A (ko) * | 1999-12-15 | 2001-03-05 | 송창건 | 인터넷상 나의 분신 |
KR100602332B1 (ko) | 1999-12-18 | 2006-07-14 | 주식회사 케이티 | 통신시스템에서의 아바타 활용 장치 및 그 방법 |
KR20000024043A (ko) * | 2000-01-14 | 2000-05-06 | 오세남 | 게시판 내의 캐릭터를 주기적으로 변환하기 위한 방법. |
KR20010096257A (ko) * | 2000-04-18 | 2001-11-07 | 장승진 | 육성시물레이션과 결합된 사이버경마게임과 그 장치 |
US6987846B1 (en) * | 2000-05-31 | 2006-01-17 | Rockwell Electronic Commerce Technologies, Llc | System and method of changing entity configuration information while automatically monitoring and displaying such information in a call center |
KR20020013661A (ko) * | 2000-08-14 | 2002-02-21 | 조성진, 이나영 | 사이버 라이프 육성 프로그램을 기록한 기록매체 및사이버 라이프 육성 시스템 |
TW552539B (en) * | 2000-09-29 | 2003-09-11 | Sony Corp | Agent system, agent transaction method, data providing device, and data recording medium |
KR20020030561A (ko) * | 2000-10-19 | 2002-04-25 | 노용래 | 스타 캐릭터를 이용한 온라인 게임 처리방법 |
US6910186B2 (en) | 2000-12-08 | 2005-06-21 | Kyunam Kim | Graphic chatting with organizational avatars |
US7925703B2 (en) | 2000-12-26 | 2011-04-12 | Numedeon, Inc. | Graphical interactive interface for immersive online communities |
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 |
KR100443723B1 (ko) * | 2001-03-29 | 2004-08-09 | 주식회사 아이리스이십일 | Java/xml 기술을 기반으로 웹 상에서 구현되는산타 캐릭터 에이전트 시스템 |
KR100393350B1 (ko) * | 2001-04-23 | 2003-08-02 | (주)가시오페아 | 가상경기 시스템 및 방법 |
US20020198940A1 (en) * | 2001-05-03 | 2002-12-26 | Numedeon, Inc. | Multi-tiered safety control system and methods for online communities |
KR20010082779A (ko) * | 2001-05-26 | 2001-08-31 | 이경환 | 이미지 데이터를 이용한 아바타 제작 방법 및 아바타를이용한 에이전트 시스템 |
KR20030008234A (ko) * | 2001-07-16 | 2003-01-25 | 박소영 | 3차원 애니메이션 데이터의 제작 및 출력방법. |
KR100489211B1 (ko) * | 2001-07-24 | 2005-05-17 | 현명택 | 감성지수성숙형 가상로봇을 기반으로 하는 게임방법 |
JP2003033580A (ja) * | 2001-07-25 | 2003-02-04 | Sony Corp | ネットワークシステム、情報提供装置及び情報提供方法 |
US20030067482A1 (en) * | 2001-10-09 | 2003-04-10 | Yandi Ongkojoyo | Virtual environment on the web |
US6816159B2 (en) * | 2001-12-10 | 2004-11-09 | Christine M. Solazzi | Incorporating a personalized wireframe image in a computer software application |
AU2003236356A1 (en) * | 2002-04-09 | 2003-10-20 | Matsushita Electric Industrial Co., Ltd. | Speech providing system, server, client machine, information providing management server, and voice providing method |
KR20030094703A (ko) * | 2002-06-07 | 2003-12-18 | (주)아오조라 엔터테인먼트 | 게임캐릭터 연동형 아바타 서비스 시스템 및 방법 |
US8447963B2 (en) | 2002-06-12 | 2013-05-21 | Bladelogic Inc. | Method and system for simplifying distributed server management |
US20040204127A1 (en) * | 2002-06-24 | 2004-10-14 | Forlines Clifton L. | Method for rendering with composited images on cellular telephones |
US7179171B2 (en) * | 2002-06-24 | 2007-02-20 | Mitsubishi Electric Research Laboratories, Inc. | Fish breeding toy for cellular telephones |
US6817979B2 (en) * | 2002-06-28 | 2004-11-16 | Nokia Corporation | System and method for interacting with a user's virtual physiological model via a mobile terminal |
US7636755B2 (en) * | 2002-11-21 | 2009-12-22 | Aol Llc | Multiple avatar personalities |
US8037150B2 (en) | 2002-11-21 | 2011-10-11 | Aol Inc. | System and methods for providing multiple personas in a communications environment |
US7913176B1 (en) | 2003-03-03 | 2011-03-22 | Aol Inc. | Applying access controls to communications with avatars |
US7908554B1 (en) | 2003-03-03 | 2011-03-15 | Aol Inc. | Modifying avatar behavior based on user action or mood |
US20040179039A1 (en) | 2003-03-03 | 2004-09-16 | Blattner Patrick D. | Using avatars to communicate |
US20070113181A1 (en) * | 2003-03-03 | 2007-05-17 | Blattner Patrick D | Using avatars to communicate real-time information |
US7862428B2 (en) | 2003-07-02 | 2011-01-04 | Ganz | Interactive action figures for gaming systems |
US7465212B2 (en) * | 2003-12-31 | 2008-12-16 | Ganz | System and method for toy adoption and marketing |
CA2665737C (en) * | 2003-12-31 | 2012-02-21 | Ganz, An Ontario Partnership Consisting Of S.H. Ganz Holdings Inc. And 816877 Ontario Limited | 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 |
KR100584380B1 (ko) * | 2004-04-13 | 2006-05-26 | 삼성전자주식회사 | 이동통신장치용 에이전트의 네트웍 기반 성장 구현방법 및시스템 |
US20050234854A1 (en) * | 2004-04-13 | 2005-10-20 | Samsung Electronics Co., Ltd. | Method and system for realizing a network-based growth of an agent for mobile communication apparatus |
CA2574476A1 (en) * | 2004-07-21 | 2006-03-02 | Cash Keahey | Method for visually representing personality type |
US7995064B2 (en) * | 2004-10-12 | 2011-08-09 | Imvu, Inc. | Computer-implemented chat system having dual channel communications and self-defining product structures |
US7342587B2 (en) * | 2004-10-12 | 2008-03-11 | Imvu, Inc. | Computer-implemented system and method for home page customization and e-commerce support |
US7912793B1 (en) | 2005-01-13 | 2011-03-22 | Imvu, Inc. | Computer-implemented method and apparatus to allocate revenue from a derived avatar component |
US20080306951A1 (en) * | 2004-11-09 | 2008-12-11 | Benjamin Rodefer | Method and System of Retrieving Avatar Data Unique to a User |
JP3926819B2 (ja) | 2004-11-15 | 2007-06-06 | 株式会社コナミデジタルエンタテインメント | ゲームシステム及びその制御方法、ゲームサーバ装置、並びにゲーム装置 |
US9652809B1 (en) | 2004-12-21 | 2017-05-16 | Aol Inc. | Using user profile information to determine an avatar and/or avatar characteristics |
KR100714192B1 (ko) * | 2005-04-08 | 2007-05-02 | 엔에이치엔(주) | 노출 부위가 가변되는 아바타 제공 시스템 및 그 방법 |
DE102005020688B4 (de) * | 2005-05-03 | 2008-01-03 | Siemens Ag | Mobiltelefon |
US8047915B2 (en) | 2006-01-11 | 2011-11-01 | Lyle Corporate Development, Inc. | Character for computer game and method |
US20070174235A1 (en) * | 2006-01-26 | 2007-07-26 | Michael Gordon | Method of using digital characters to compile information |
US9205329B2 (en) * | 2006-07-25 | 2015-12-08 | Mga Entertainment, Inc. | Virtual world electronic game |
US8287372B2 (en) * | 2006-09-28 | 2012-10-16 | Mattel, Inc. | Interactive toy and display system |
NZ564006A (en) | 2006-12-06 | 2009-03-31 | 2121200 Ontario Inc | System and method for product marketing using feature codes |
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 |
US20080297515A1 (en) * | 2007-05-30 | 2008-12-04 | Motorola, Inc. | Method and apparatus for determining the appearance of a character display by an electronic device |
US8108459B1 (en) | 2007-05-30 | 2012-01-31 | Rocketon, Inc. | Method and apparatus for distributing virtual goods over the internet |
US20080301556A1 (en) * | 2007-05-30 | 2008-12-04 | Motorola, Inc. | Method and apparatus for displaying operational information about an electronic device |
US8239487B1 (en) | 2007-05-30 | 2012-08-07 | Rocketon, Inc. | Method and apparatus for promoting desired on-line activities using on-line games |
US20090172557A1 (en) * | 2008-01-02 | 2009-07-02 | International Business Machines Corporation | Gui screen sharing between real pcs in the real world and virtual pcs in the virtual world |
US20090259948A1 (en) * | 2008-04-15 | 2009-10-15 | Hamilton Ii Rick A | Surrogate avatar control in a virtual universe |
US20120246585A9 (en) * | 2008-07-14 | 2012-09-27 | Microsoft Corporation | System for editing an avatar |
US8446414B2 (en) * | 2008-07-14 | 2013-05-21 | Microsoft Corporation | Programming APIS for an extensible avatar system |
US8384719B2 (en) * | 2008-08-01 | 2013-02-26 | Microsoft Corporation | Avatar items and animations |
US20100035692A1 (en) * | 2008-08-08 | 2010-02-11 | Microsoft Corporation | Avatar closet/ game awarded avatar |
US9223469B2 (en) * | 2008-08-22 | 2015-12-29 | Intellectual Ventures Fund 83 Llc | Configuring a virtual world user-interface |
US20100058235A1 (en) * | 2008-09-03 | 2010-03-04 | Ganz | Method and system for naming virtual rooms |
US8788943B2 (en) * | 2009-05-15 | 2014-07-22 | Ganz | Unlocking emoticons using feature codes |
US9403089B2 (en) * | 2009-08-31 | 2016-08-02 | Ganz | System and method for limiting the number of characters displayed in a common area |
JP5370130B2 (ja) * | 2009-12-21 | 2013-12-18 | 富士通株式会社 | 情報管理装置、情報管理方法、情報管理プログラム。 |
US20110250575A1 (en) * | 2010-04-13 | 2011-10-13 | enVie Interactive LLC | System And Method For Providing A Visual Representation Of A User Personality Within A Virtual Environment |
US8323068B2 (en) | 2010-04-23 | 2012-12-04 | Ganz | Villagers in a virtual world with upgrading via codes |
JP5616142B2 (ja) * | 2010-06-28 | 2014-10-29 | 本田技研工業株式会社 | 携帯機器と連携した車載機器を用いてコンテンツを自動的に投稿するためのシステム |
JP2012230525A (ja) * | 2011-04-26 | 2012-11-22 | Nippon Hoso Kyokai <Nhk> | コンテンツ管理装置、クライアント端末、コンテンツ管理プログラム、及びコンテンツ生成プログラム |
KR101327995B1 (ko) * | 2012-04-12 | 2013-11-13 | 동국대학교 산학협력단 | 디지털 캐릭터를 이용한 무대 공연을 처리하는 장치 및 방법 |
US10207405B2 (en) * | 2014-03-31 | 2019-02-19 | Christopher Deane Shaw | Methods for spontaneously generating behavior in two and three-dimensional images and mechanical robots, and of linking this behavior to that of human users |
GB2560416A (en) * | 2014-09-06 | 2018-09-12 | Nevada Devaux Christian | Games |
US11291919B2 (en) * | 2017-05-07 | 2022-04-05 | Interlake Research, Llc | Development of virtual character in a learning game |
CN107169872A (zh) * | 2017-05-09 | 2017-09-15 | 北京龙杯信息技术有限公司 | 用于生成虚拟礼物的方法、存储设备和终端 |
JP7319489B2 (ja) * | 2019-08-09 | 2023-08-02 | 株式会社エクスプロア | 仮想キャラクタ装置 |
JP7010438B2 (ja) * | 2019-08-09 | 2022-01-26 | 株式会社エクスプロア | 仮想キャラクタによる企画の前段階としての仮想キャラクタ作成システム |
US11389735B2 (en) | 2019-10-23 | 2022-07-19 | Ganz | Virtual pet system |
US11358059B2 (en) | 2020-05-27 | 2022-06-14 | Ganz | Live toy system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572646A (en) * | 1993-08-25 | 1996-11-05 | Casio Computer Co., Ltd. | Apparatus for displaying images of living things to show growing and/or moving of the living things |
US5586257A (en) * | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
WO1995031061A1 (en) * | 1994-05-05 | 1995-11-16 | Catapult Entertainment, Inc. | Network architecture for real-time video games |
JP3127084B2 (ja) * | 1994-08-11 | 2001-01-22 | シャープ株式会社 | 電子秘書システム |
JP2840923B2 (ja) * | 1994-11-11 | 1998-12-24 | 富士通株式会社 | プロダクションシステム |
US5850352A (en) * | 1995-03-31 | 1998-12-15 | The Regents Of The University Of California | Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images |
CA2180891C (en) * | 1995-07-12 | 2010-01-12 | Junichi Rekimoto | Notification of updates in a three-dimensional virtual reality space sharing system |
US5956028A (en) * | 1995-09-14 | 1999-09-21 | Fujitsu Ltd. | Virtual space communication system, three-dimensional image display method, and apparatus therefor |
JP3745802B2 (ja) * | 1995-10-13 | 2006-02-15 | 株式会社日立製作所 | 画像生成/表示装置 |
US5727950A (en) * | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US5982372A (en) * | 1996-11-14 | 1999-11-09 | International Business Machines Corp. | Visual metaphor for shortcut navigation in a virtual world |
US5983003A (en) * | 1996-11-15 | 1999-11-09 | International Business Machines Corp. | Interactive station indicator and user qualifier for virtual worlds |
JP3044116U (ja) * | 1997-03-18 | 1997-12-16 | 株式会社バンダイ | 仮想生命体の育成シミュレーション装置 |
US5971855A (en) * | 1997-09-30 | 1999-10-26 | Tiger Electronics, Ltd. | Apparatus and method of communicating between electronic games |
-
1997
- 1997-05-21 JP JP14719697A patent/JP3932461B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-19 US US09/081,147 patent/US6268872B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6268872B1 (en) | 2001-07-31 |
JPH10319831A (ja) | 1998-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3932461B2 (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 | |
JP3932462B2 (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 | |
JP3799134B2 (ja) | システムおよび通知方法 | |
JP3855430B2 (ja) | 情報処理装置および方法、情報処理システム、並びに記録媒体 | |
JPH11212934A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JPH11213179A (ja) | 共有仮想空間提供装置および方法、並びに提供媒体 | |
JP3928229B2 (ja) | 表示制御装置および表示制御方法、並びに記録媒体 | |
JPH11120375A (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに伝送媒体 | |
JP4006873B2 (ja) | 情報処理システム、情報処理方法及び装置、並びに情報提供媒体 | |
JPH11203009A (ja) | 情報処理装置および方法、並びに提供媒体 | |
EP0753835B1 (en) | A three-dimensional virtual reality space sharing method and system | |
US20030128205A1 (en) | User interface for a three-dimensional browser with simultaneous two-dimensional display | |
JP2004516541A (ja) | ユーザプロファイルを提供するための方法及びシステム | |
Snowdon et al. | Inhabited information spaces: living with your data | |
JPH11203499A (ja) | 情報処理装置および方法、並びに提供媒体 | |
Jensen | 3D Inhabited Virtual Worlds Interactivity and interaction between avatars, autonomous agents, and users | |
JPH11219449A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2003162735A (ja) | オブジェクト変化制御データ、情報処理装置、サーバ装置及びプログラム | |
Hemström et al. | A Comparison of WebVR and Native VR: Impacts on Performance and User Experience | |
Shirbhate | Development of Methodology for Interactive Solid Modelling in Virtual Environment | |
Hahn et al. | Proactive Agents for Multi-Turn Text-to-Image Generation Under Uncertainty | |
KR20030008234A (ko) | 3차원 애니메이션 데이터의 제작 및 출력방법. | |
Smith | A tangible programming environment model informed by principles of perception and meaning | |
Wu et al. | Realization of reconfigurable virtual environments for virtual testing | |
e Abreu | IViHumans Platform The Graphical Processing Layer |
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: 20060320 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |