JPH11203009A - 情報処理装置および方法、並びに提供媒体 - Google Patents
情報処理装置および方法、並びに提供媒体Info
- Publication number
- JPH11203009A JPH11203009A JP2271198A JP2271198A JPH11203009A JP H11203009 A JPH11203009 A JP H11203009A JP 2271198 A JP2271198 A JP 2271198A JP 2271198 A JP2271198 A JP 2271198A JP H11203009 A JPH11203009 A JP H11203009A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual space
- client
- life object
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- A63F13/12—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- 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/85—Providing additional services to players
- A63F13/87—Communicating with other players during game play, e.g. by e-mail or chat
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
- A63F2300/572—Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【課題】 同時に共有仮想空間にアクセスしていないユ
ーザ間のコミュニケーションを実現する。 【解決手段】 クライアントPC1乃至3は、名刺、お
よびメールを送信する。メールサーバ15のハードディ
スク15aは、名刺、およびメールを保管する。メール
サーバ15は、名刺、およびメールの送信先であるユー
ザが共有仮想空間にアクセスしたとき、対応するクライ
アントPCに名刺、およびメールを転送する。
ーザ間のコミュニケーションを実現する。 【解決手段】 クライアントPC1乃至3は、名刺、お
よびメールを送信する。メールサーバ15のハードディ
スク15aは、名刺、およびメールを保管する。メール
サーバ15は、名刺、およびメールの送信先であるユー
ザが共有仮想空間にアクセスしたとき、対応するクライ
アントPCに名刺、およびメールを転送する。
Description
【0001】
【発明の属する技術分野】本発明は、情報処理装置およ
び方法、並びに提供媒体に関し、特に、仮想空間内にお
いて、名刺を仮想生物オブジェクトを介して交換するこ
とができるようにした情報処理装置および方法、並びに
提供媒体に関するものである。
び方法、並びに提供媒体に関し、特に、仮想空間内にお
いて、名刺を仮想生物オブジェクトを介して交換するこ
とができるようにした情報処理装置および方法、並びに
提供媒体に関するものである。
【0002】
【従来の技術】従来、NIFTY-Serve(商標)や米国のCompu
Serve(商標)などのように、複数の利用者が自らのパー
ソナルコンピュータを、モデムおよび公衆電話回線網を
介してセンターのホストコンピュータに接続し、所定の
通信プロトコルに基づいてホストコンピュータにアクセ
スする、いわゆるパソコン通信サービスの分野において
は、Habitat(商標)と呼ばれるサイバースペースのサ
ービスが知られている。
Serve(商標)などのように、複数の利用者が自らのパー
ソナルコンピュータを、モデムおよび公衆電話回線網を
介してセンターのホストコンピュータに接続し、所定の
通信プロトコルに基づいてホストコンピュータにアクセ
スする、いわゆるパソコン通信サービスの分野において
は、Habitat(商標)と呼ばれるサイバースペースのサ
ービスが知られている。
【0003】Habitatは、米国LucasFilm社によって1985
年から開発が始められ、米国商業ネットワークであるQu
antumLink社で約3年間運用された後、1990年2月に富士
通Habitat(商標)としてNIFTY-Serveでそのサービスが
開始されたものである。このHabitatにおいては、2次元
グラフィックスで描画された「ポピュロポリス(Populo
polis)」と呼ばれる仮想の都市に、アバタ(avatar;
インド神話に登場する神の化身)と呼ばれるユーザの分
身を送り込み、ユーザ同士がチャット(Chat;文字の入
力と表示によるテキストベースでのリアルタイムの対
話)などを行うことができる。このHabitatの更に詳細
な説明については、サイバースペース,マイケル・ベネ
ディクト編,1994年3月20日初版発行,NTT出版 ISBN
4−87188−265−9C0010(原著;Cyberspace:First Ste
ps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA
ISBN0−262−02327−X)第282頁乃至第307頁を参照さ
れたい。
年から開発が始められ、米国商業ネットワークであるQu
antumLink社で約3年間運用された後、1990年2月に富士
通Habitat(商標)としてNIFTY-Serveでそのサービスが
開始されたものである。このHabitatにおいては、2次元
グラフィックスで描画された「ポピュロポリス(Populo
polis)」と呼ばれる仮想の都市に、アバタ(avatar;
インド神話に登場する神の化身)と呼ばれるユーザの分
身を送り込み、ユーザ同士がチャット(Chat;文字の入
力と表示によるテキストベースでのリアルタイムの対
話)などを行うことができる。このHabitatの更に詳細
な説明については、サイバースペース,マイケル・ベネ
ディクト編,1994年3月20日初版発行,NTT出版 ISBN
4−87188−265−9C0010(原著;Cyberspace:First Ste
ps ,Michael Benedikt,ed. 1991,MIT PressCambrige,MA
ISBN0−262−02327−X)第282頁乃至第307頁を参照さ
れたい。
【0004】この種のパソコン通信サービスで運用され
ている従来のサイバースペースシステムにおいては、仮
想的な街並みや部屋の内部の様子が2次元グラフィック
スで描画されており、アバタを奥行きまたは手前方向へ
移動させる場合、単にアバタを2次元グラフィックスの
背景上で上下に移動させるだけであり、仮想空間内での
歩行や移動を疑似体験させるには表示の上での表現力が
乏しかった。また、自分の分身であるアバタと他人のア
バタが表示された仮想空間を、第3者の視点で見ること
になるため、この点においても、疑似体験の感覚が損な
われるものであった。
ている従来のサイバースペースシステムにおいては、仮
想的な街並みや部屋の内部の様子が2次元グラフィック
スで描画されており、アバタを奥行きまたは手前方向へ
移動させる場合、単にアバタを2次元グラフィックスの
背景上で上下に移動させるだけであり、仮想空間内での
歩行や移動を疑似体験させるには表示の上での表現力が
乏しかった。また、自分の分身であるアバタと他人のア
バタが表示された仮想空間を、第3者の視点で見ること
になるため、この点においても、疑似体験の感覚が損な
われるものであった。
【0005】そこで、特開平9-81781号公報に開示され
ているように、仮想空間を3次元グラフィックスで表示
し、ユーザがアバタの視点で自由に歩き回れる機能が、
VRML(Virtual Reality Modeling Language)と呼ばれる3
次元グラフィクス・データの記述言語を利用することに
よって実現されている。また、ユーザの代理となるアバ
タを用いてチャットを行う種々のサイバースペースの考
察に関しては、日経エレクトロニクス1996.9.9(no.670)
の第151頁乃至159頁に記載されている。
ているように、仮想空間を3次元グラフィックスで表示
し、ユーザがアバタの視点で自由に歩き回れる機能が、
VRML(Virtual Reality Modeling Language)と呼ばれる3
次元グラフィクス・データの記述言語を利用することに
よって実現されている。また、ユーザの代理となるアバ
タを用いてチャットを行う種々のサイバースペースの考
察に関しては、日経エレクトロニクス1996.9.9(no.670)
の第151頁乃至159頁に記載されている。
【0006】
【発明が解決しようとする課題】ところで、上述したよ
うに、仮想空間におけるユーザ間のコミュニケーション
手段としては、チャットがある。チャットは、同時に仮
想空間にアクセスしているユーザ間でのみ行われるの
で、同時に仮想空間にアクセスしていないユーザ間のコ
ミュニケーション手段がない課題があった。
うに、仮想空間におけるユーザ間のコミュニケーション
手段としては、チャットがある。チャットは、同時に仮
想空間にアクセスしているユーザ間でのみ行われるの
で、同時に仮想空間にアクセスしていないユーザ間のコ
ミュニケーション手段がない課題があった。
【0007】本発明はこのような状況に鑑みてなされた
ものであり、共有仮想空間にアクセスしていないユーザ
が飼育する仮想生命オブジェクトに名刺を渡すことによ
り、同時に共有仮想空間にアクセスしていないユーザ間
のコミュニケーションを可能にすることができるように
するものである。
ものであり、共有仮想空間にアクセスしていないユーザ
が飼育する仮想生命オブジェクトに名刺を渡すことによ
り、同時に共有仮想空間にアクセスしていないユーザ間
のコミュニケーションを可能にすることができるように
するものである。
【0008】
【課題を解決するための手段】請求項1に記載の情報処
理装置は、共有仮想空間内に配置された所定の情報を、
共有仮想空間における仮想生命オブジェクトに取得させ
る取得手段と、仮想生命オブジェクトの飼い主としての
ユーザに、情報を送信させる送信手段とを備えることを
特徴とする。
理装置は、共有仮想空間内に配置された所定の情報を、
共有仮想空間における仮想生命オブジェクトに取得させ
る取得手段と、仮想生命オブジェクトの飼い主としての
ユーザに、情報を送信させる送信手段とを備えることを
特徴とする。
【0009】請求項6に記載の情報処理方法は、共有仮
想空間内に配置された所定の情報を、共有仮想空間にお
ける仮想生命オブジェクトに取得させる取得ステップ
と、仮想生命オブジェクトの飼い主としてのユーザに、
情報を送信させる送信ステップとを備えることを特徴と
する。
想空間内に配置された所定の情報を、共有仮想空間にお
ける仮想生命オブジェクトに取得させる取得ステップ
と、仮想生命オブジェクトの飼い主としてのユーザに、
情報を送信させる送信ステップとを備えることを特徴と
する。
【0010】請求項7に記載の提供媒体は、共有仮想空
間内に配置された所定の情報を、共有仮想空間における
仮想生命オブジェクトに取得させる取得ステップと、仮
想生命オブジェクトの飼い主としてのユーザに、情報を
送信させる送信ステップとを備えるコンピュータプログ
ラムを提供することを特徴とする。
間内に配置された所定の情報を、共有仮想空間における
仮想生命オブジェクトに取得させる取得ステップと、仮
想生命オブジェクトの飼い主としてのユーザに、情報を
送信させる送信ステップとを備えるコンピュータプログ
ラムを提供することを特徴とする。
【0011】請求項8に記載の情報処理装置は、共有仮
想空間に存在する仮想生命オブジェクトの自律的な挙動
を制御する制御手段と、仮想生命オブジェクトが共有仮
想空間において取得した情報を、仮想生命オブジェクト
の飼い主としてのユーザのクライアント装置に転送する
転送手段とを備えることを特徴とする。
想空間に存在する仮想生命オブジェクトの自律的な挙動
を制御する制御手段と、仮想生命オブジェクトが共有仮
想空間において取得した情報を、仮想生命オブジェクト
の飼い主としてのユーザのクライアント装置に転送する
転送手段とを備えることを特徴とする。
【0012】請求項9に記載の情報処理方法は、共有仮
想空間に存在する仮想生命オブジェクトの自律的な挙動
を制御する制御ステップと、仮想生命オブジェクトが共
有仮想空間において取得した情報を、仮想生命オブジェ
クトの飼い主としてのユーザのクライアント装置に転送
する転送ステップとを備えることを特徴とする。
想空間に存在する仮想生命オブジェクトの自律的な挙動
を制御する制御ステップと、仮想生命オブジェクトが共
有仮想空間において取得した情報を、仮想生命オブジェ
クトの飼い主としてのユーザのクライアント装置に転送
する転送ステップとを備えることを特徴とする。
【0013】請求項10に記載の提供媒体は、共有仮想
空間に存在する仮想生命オブジェクトの自律的な挙動を
制御する制御ステップと、仮想生命オブジェクトが共有
仮想空間において取得した情報を、仮想生命オブジェク
トの飼い主としてのユーザのクライアント装置に転送す
る転送ステップとを備えるコンピュータプログラムを提
供することを特徴とする。
空間に存在する仮想生命オブジェクトの自律的な挙動を
制御する制御ステップと、仮想生命オブジェクトが共有
仮想空間において取得した情報を、仮想生命オブジェク
トの飼い主としてのユーザのクライアント装置に転送す
る転送ステップとを備えるコンピュータプログラムを提
供することを特徴とする。
【0014】請求項1に記載の情報処理装置、請求項6
に記載の情報処理方法、および請求項7に記載の提供媒
体においては、共有仮想空間内に配置された所定の情報
が、共有仮想空間における仮想生命オブジェクトに取得
され、仮想生命オブジェクトの飼い主としてのユーザ
に、情報が送信される。
に記載の情報処理方法、および請求項7に記載の提供媒
体においては、共有仮想空間内に配置された所定の情報
が、共有仮想空間における仮想生命オブジェクトに取得
され、仮想生命オブジェクトの飼い主としてのユーザ
に、情報が送信される。
【0015】請求項8に記載の情報処理装置、請求項9
に記載の情報処理方法、および請求項10に記載の提供
媒体においては、共有仮想空間に存在する仮想生命オブ
ジェクトの自律的な挙動が制御され、仮想生命オブジェ
クトが共有仮想空間において取得した情報が、仮想生命
オブジェクトの飼い主としてのユーザのクライアント装
置に転送される。
に記載の情報処理方法、および請求項10に記載の提供
媒体においては、共有仮想空間に存在する仮想生命オブ
ジェクトの自律的な挙動が制御され、仮想生命オブジェ
クトが共有仮想空間において取得した情報が、仮想生命
オブジェクトの飼い主としてのユーザのクライアント装
置に転送される。
【0016】
【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。
【0017】すなわち、請求項1に記載の情報処理装置
は、共有仮想空間内に配置された所定の情報を、共有仮
想空間における仮想生命オブジェクトに取得させる取得
手段(例えば、図4のマウス41)と、仮想生命オブジ
ェクトの飼い主としてのユーザに、情報を送信させる送
信手段(例えば、図4のモデム39)とを備えることを
特徴とする。
は、共有仮想空間内に配置された所定の情報を、共有仮
想空間における仮想生命オブジェクトに取得させる取得
手段(例えば、図4のマウス41)と、仮想生命オブジ
ェクトの飼い主としてのユーザに、情報を送信させる送
信手段(例えば、図4のモデム39)とを備えることを
特徴とする。
【0018】また、請求項8に記載の情報処理装置は、
共有仮想空間に存在する仮想生命オブジェクトの自律的
な挙動を制御する制御手段(例えば、図3のAOサーバ
13)と、仮想生命オブジェクトが共有仮想空間におい
て取得した情報を、仮想生命オブジェクトの飼い主とし
てのユーザのクライアント装置に転送する転送手段(例
えば、図3のメールサーバ15)とを備えることを特徴
とする。
共有仮想空間に存在する仮想生命オブジェクトの自律的
な挙動を制御する制御手段(例えば、図3のAOサーバ
13)と、仮想生命オブジェクトが共有仮想空間におい
て取得した情報を、仮想生命オブジェクトの飼い主とし
てのユーザのクライアント装置に転送する転送手段(例
えば、図3のメールサーバ15)とを備えることを特徴
とする。
【0019】但し勿論この記載は、各手段を記載したも
のに限定することを意味するものではない。
のに限定することを意味するものではない。
【0020】説明に先立ち、世界的規模で構築されたコ
ンピュータネットワークであるインターネット(The Int
ernet)において、様々な情報を提供するWWW(world wide
web)の枠組みを利用して3次元的な情報を統一的に扱
うことができる記述言語であるVRML(virtual reality m
odeling language)について説明する。
ンピュータネットワークであるインターネット(The Int
ernet)において、様々な情報を提供するWWW(world wide
web)の枠組みを利用して3次元的な情報を統一的に扱
うことができる記述言語であるVRML(virtual reality m
odeling language)について説明する。
【0021】ここで、インターネットで利用できる情報
提供システムとして、スイスのCERN(European Center
for Nuclear Research:欧州核物理学研究所)が開発し
たWWWが知られている。これは、テキスト、画像、音声
などの情報をハイパーテキスト形式で閲覧できるように
したもので、HTTP(Hyper Text Transfer Protocol)と呼
ばれるプロトコルに基づいて、WWWサーバに格納された
情報をパーソナルコンピュータなどの端末に非同期転送
するものである。
提供システムとして、スイスのCERN(European Center
for Nuclear Research:欧州核物理学研究所)が開発し
たWWWが知られている。これは、テキスト、画像、音声
などの情報をハイパーテキスト形式で閲覧できるように
したもので、HTTP(Hyper Text Transfer Protocol)と呼
ばれるプロトコルに基づいて、WWWサーバに格納された
情報をパーソナルコンピュータなどの端末に非同期転送
するものである。
【0022】WWWサーバは、HTTPデーモン(HTTP:Hyper
Text Transfer Protocol、ハイパーテキスト転送プロト
コル)と呼ばれるサーバ・ソフトウエアとハイパーテキ
スト情報が格納されるHTMLファイルによって構成され
る。なお、デーモンとは、UNIX上で作業を行う場合、バ
ックグラウンドで管理や処理を実行するプログラムを意
味する。ハイパーテキスト情報は、HTML(HyperText Ma
rkup Language、ハイパーテキスト記述言語)と呼ばれ
る記述言語によって表現される。HTMLによるハイパーテ
キストの記述は、「<」と「>」で囲まれたタグと呼ば
れる書式指定によって文章の論理的な構造が表現され
る。他の情報とのリンクについての記述は、アンカーと
呼ばれるリンク情報によって行われる。アンカーによっ
て情報が存在する所を指定する際には、URL(Uniform Re
source Locator)が用いられる。
Text Transfer Protocol、ハイパーテキスト転送プロト
コル)と呼ばれるサーバ・ソフトウエアとハイパーテキ
スト情報が格納されるHTMLファイルによって構成され
る。なお、デーモンとは、UNIX上で作業を行う場合、バ
ックグラウンドで管理や処理を実行するプログラムを意
味する。ハイパーテキスト情報は、HTML(HyperText Ma
rkup Language、ハイパーテキスト記述言語)と呼ばれ
る記述言語によって表現される。HTMLによるハイパーテ
キストの記述は、「<」と「>」で囲まれたタグと呼ば
れる書式指定によって文章の論理的な構造が表現され
る。他の情報とのリンクについての記述は、アンカーと
呼ばれるリンク情報によって行われる。アンカーによっ
て情報が存在する所を指定する際には、URL(Uniform Re
source Locator)が用いられる。
【0023】HTMLで記述されたファイルを、TCP/IP(Tra
nsmission Control Protocol/Internet Protocol)ネッ
トワーク上において転送するためのプロトコルがHTTPで
ある。クライアントからの情報の要求をWWWサーバに伝
え、HTMLファイルのハイパーテキスト情報をクライアン
トに転送する機能をもっている。
nsmission Control Protocol/Internet Protocol)ネッ
トワーク上において転送するためのプロトコルがHTTPで
ある。クライアントからの情報の要求をWWWサーバに伝
え、HTMLファイルのハイパーテキスト情報をクライアン
トに転送する機能をもっている。
【0024】WWWを利用する環境として多く利用されて
いるのが、WWWブラウザ(ブラウザとは閲覧するという
意味)と呼ばれる、Netscape Navigator(米国Netscape
Communications社の商標)をはじめとするクライアン
ト・ソフトウエアである。
いるのが、WWWブラウザ(ブラウザとは閲覧するという
意味)と呼ばれる、Netscape Navigator(米国Netscape
Communications社の商標)をはじめとするクライアン
ト・ソフトウエアである。
【0025】このWWWブラウザを用いて、URLに対応する
世界規模で広がるインターネット上のWWWサーバ上のフ
ァイル、いわゆるホームページを閲覧することができ、
いわゆるネットサーフィンと呼ばれるように、リンクが
張られたホームページを次々と辿って、多種多様なWWW
の情報ソースにアクセスすることができる。
世界規模で広がるインターネット上のWWWサーバ上のフ
ァイル、いわゆるホームページを閲覧することができ、
いわゆるネットサーフィンと呼ばれるように、リンクが
張られたホームページを次々と辿って、多種多様なWWW
の情報ソースにアクセスすることができる。
【0026】近年、このWWWをさらに拡張し、3次元空間
の記述や、3次元グラフィックスで描画されたオブジェ
クトに対してハイパーテキストのリンクの設定を可能と
し、これらのリンクをたどりながらWWWサーバを次々と
アクセスできるようにしたVRMLと呼ばれる3次元グラフ
ィックス記述言語で記述された3次元空間を表示するVR
MLブラウザが開発されている。
の記述や、3次元グラフィックスで描画されたオブジェ
クトに対してハイパーテキストのリンクの設定を可能と
し、これらのリンクをたどりながらWWWサーバを次々と
アクセスできるようにしたVRMLと呼ばれる3次元グラフ
ィックス記述言語で記述された3次元空間を表示するVR
MLブラウザが開発されている。
【0027】このVRMLの詳細は、例えば、「VRMLを知
る:3次元電脳空間の構築とブラウジング〔マーク・ペ
ッシ著,松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦
本純一・石川真之・宮下健・原和弘訳,1996年3月
25日初版発行,プレンティスホール出版ISBN4-931356
-37-0〕(原著;VRML:Browsing & Building Cyberspac
e,Mark Pesce, 1995 New Readers Publishing ISBN 1-5
6205-498-8))」、および「VRMLの最新動向とCybe
rPassage〔松田晃一・本田康晃著、bit(共
立出版)/1996 Vol.28 No.7 pp29 乃至pp36, No.8 pp5
7 乃至pp65, No.9pp29 乃至pp36, No.10 pp49乃至pp5
8〕」等の文献に記載されている。
る:3次元電脳空間の構築とブラウジング〔マーク・ペ
ッシ著,松田晃一・蒲地輝尚・竹内彰一・本田康晃・暦
本純一・石川真之・宮下健・原和弘訳,1996年3月
25日初版発行,プレンティスホール出版ISBN4-931356
-37-0〕(原著;VRML:Browsing & Building Cyberspac
e,Mark Pesce, 1995 New Readers Publishing ISBN 1-5
6205-498-8))」、および「VRMLの最新動向とCybe
rPassage〔松田晃一・本田康晃著、bit(共
立出版)/1996 Vol.28 No.7 pp29 乃至pp36, No.8 pp5
7 乃至pp65, No.9pp29 乃至pp36, No.10 pp49乃至pp5
8〕」等の文献に記載されている。
【0028】また、 August 4, 1996における The Virt
ual Reality Modeling Language Version 2.0, ISO/IE
C CD 14772の公式かつ完全な仕様書は、http://webspac
e.sgi.com/moving-worlds/spec/index.htmlで公開され
ており、その日本語版は、http://www.webcity.co.jp/i
nfo/andoh/VRML/vrml2.0/spec-jp/index.htmlで公開さ
れている。
ual Reality Modeling Language Version 2.0, ISO/IE
C CD 14772の公式かつ完全な仕様書は、http://webspac
e.sgi.com/moving-worlds/spec/index.htmlで公開され
ており、その日本語版は、http://www.webcity.co.jp/i
nfo/andoh/VRML/vrml2.0/spec-jp/index.htmlで公開さ
れている。
【0029】さらに、VRML2.0用ブラウザおよび共有
サーバ用ソフトウェアとしては、例えば、本出願人であ
るソニー株式会社が「Community Place Browser / Bure
au(商標)」として開発し、製品化しており、そのβ版
(試供版)を、インターネット上のホームページhttp:/
/vs.sony co.jpからダウンロード可能としている。
サーバ用ソフトウェアとしては、例えば、本出願人であ
るソニー株式会社が「Community Place Browser / Bure
au(商標)」として開発し、製品化しており、そのβ版
(試供版)を、インターネット上のホームページhttp:/
/vs.sony co.jpからダウンロード可能としている。
【0030】このようなVRML2.0を用いて3次元的な
仮想空間を構築しようとする場合、まず、VRMLにより仮
想空間内の物体(モデル)の形、動きおよび位置等を示
す図形データの作成(モデル作成)、ユーザが画面表示
された仮想空間内のモデルを、例えば、マウスでクリッ
クしてポインティングした場合にイベントを発生させる
スイッチ(センサ)のモデルへの付加(センサ付加)、
センサへのポインティングに応じて発生するイベントを
実現するスクリプトのプログラミング(スクリプト作
成)、センサーに対する操作とスクリプトの起動等、図
形データおよびスクリプト(以下、図形データ、スクリ
プトおよびVRMLに規定されているライト等のコモンノー
ド等を総称してノードとも記す)の間の対応付け(ルー
ティング)などによって所望のコンテンツを表現するVR
MLファイルを作成する。
仮想空間を構築しようとする場合、まず、VRMLにより仮
想空間内の物体(モデル)の形、動きおよび位置等を示
す図形データの作成(モデル作成)、ユーザが画面表示
された仮想空間内のモデルを、例えば、マウスでクリッ
クしてポインティングした場合にイベントを発生させる
スイッチ(センサ)のモデルへの付加(センサ付加)、
センサへのポインティングに応じて発生するイベントを
実現するスクリプトのプログラミング(スクリプト作
成)、センサーに対する操作とスクリプトの起動等、図
形データおよびスクリプト(以下、図形データ、スクリ
プトおよびVRMLに規定されているライト等のコモンノー
ド等を総称してノードとも記す)の間の対応付け(ルー
ティング)などによって所望のコンテンツを表現するVR
MLファイルを作成する。
【0031】例えば、http://www.ses.co.jp/SES/STAFF
/kan/howto/howto1.htmlには、VRML2.0の書き方、サン
プルデータなど、丁寧に解説されている。その一部を紹
介すると、以下の通りである。
/kan/howto/howto1.htmlには、VRML2.0の書き方、サン
プルデータなど、丁寧に解説されている。その一部を紹
介すると、以下の通りである。
【0032】1.VRML2.0で書かれたワールドを見るにはH
TML形式で書かれたデータを見るためにHTMLブラウザが
必要なように、VRML2.0形式で書かれたデータを見るた
めにはVRML2.0に対応したVRMLブラウザが必要となる。
尚、このページで作成したVRML2.0のデータは全てSONY
社製のCommunity Place Browserで行なわれている。ま
た、ファイルがVRMLで書かれたことを表すためにファイ
ルの拡張子を*.wrl(ワールドの意)に、更にVRML2.0で
書かれたことを表すためにファイルの1行目に #VRML V2.0 utf8 と書くことが必要である。
TML形式で書かれたデータを見るために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"で始まるようになっている。
構成されていて、基本的に次のような形で書かれてい
る。 Node { Field(s) } この中でFieldsは省略することができるが、Nodeと中括
弧'{','}'は省略することができない。フィールドはノ
ードに変数を渡し、ノードのパラメータを指定します。
フィールドを省略した場合、デフォルト値が用いられ
る。また、フィールドには単一の値しか持たない「単一
値フィールド(SF)」と複数の値を持つ「複値フィールド
(MF)」があり、単一値フィールドの名前は"SF"で、複値
フィールドは"MF"で始まるようになっている。
【0034】3.球の書き方 VRML2.0では球や直方体、円柱、円錐などの基本図形を
描くためのノードが用意されている。前にも書いている
が、それぞれのノードはパラメータを指定するためのフ
ィールドを持っている。例えば、球を描くためのSphere
ノードは半径を指定するためのradiusというフィールド
を持っており、次のように書くことで半径1の球を表示
する。尚、radiusフィールドのデータタイプはSFFloat
であるので、1つの浮動小数点数の値をとる。
描くためのノードが用意されている。前にも書いている
が、それぞれのノードはパラメータを指定するためのフ
ィールドを持っている。例えば、球を描くための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つである。Geomet
ryノードは、見え方と形状を定義するShapeノードのgeo
metryフィールドに書く必要がある。
よい。1行目と4行目乃至6行目だけで、きちんと半径1の
球を表示できる。Transformノードは、Groupノードとい
う種類のノードの1つで、文字通りノードのグループ化
を行うためのノードである。Transformノードを含め
て、後述する他のノードの詳しい機能やフィールドなど
は「Appendix1:VRML2.0 Node List」を参照されたい。
球を書くためのノードはSphereであるが、このノードは
Geometryノードを呼ばれるノードの1つである。Geomet
ryノードは、見え方と形状を定義するShapeノードのgeo
metryフィールドに書く必要がある。
【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ノードのmate
rialフィールドに書くことになっている。また、Appear
anceノードはShapeノードのappearanceフィールドに書
くことになっている。このためこのような一見複雑な構
造になっている。
は5行目乃至7行目までである。diffuseColorフィールド
のデータタイプは、SFColorであるから、RGBカラーを表
す3つの単精度浮動小数点数の組を1つだけ持つ。見え
方を定義するMaterialノードはAppearanceノードのmate
rialフィールドに書くことになっている。また、Appear
anceノードはShapeノードのappearanceフィールドに書
くことになっている。このためこのような一見複雑な構
造になっている。
【0039】5.テクスチャの張り付け オブジェクトには、色を付けるだけではなく、画像ファ
イルを張り付けることも可能である。VRML2.0でテクス
チャとして利用できるファイルフォーマットはJPEG,GI
F、および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: }
イルを張り付けることも可能である。VRML2.0でテクス
チャとして利用できるファイルフォーマットはJPEG,GI
F、および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ノードは直方体を描くため
のノードである。
ある。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だけ平行移動することになる。
物体を平行移動させる。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行目
以前のものと異なる。
のものと構造は同じである。物体が球から円錐へ、色が
赤から緑へ、そして位置が左に移動している点が12行目
以前のものと異なる。
【0045】8.ポリゴンで書く 上述した「VRML2.0の書き方」ではプリミティブな図形
を使ったが、複雑な図形を書くときにはポリゴンを使用
する。ポリゴンで表示するためにIndexedLineSet,Inde
xedFaceSetの2つのノードが用意されている。IndexedLi
neSetは線を、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: }
を使ったが、複雑な図形を書くときにはポリゴンを使用
する。ポリゴンで表示するためにIndexedLineSet,Inde
xedFaceSetの2つのノードが用意されている。IndexedLi
neSetは線を、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番の
座標で面を作る」ことを表している。
いる。ポリゴンで表すためにはまず、頂点となる座標を
決める(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: }
という機能がある。例えば、半径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で青い球」を再び同じように記述するのははっ
きり言って無駄である。そこで次のようにする。
いて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{……}と同じ内容を表す。
という名前にします。」という意味で、これ以降 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: }
ての記述を行うのはあまりいい方法ではない。部品ごと
に分けて必要に応じて呼び出せるようにしておく方が便
利である。このような場合、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: }
したときに別のページにジャンプさせることもできる。 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フィールドに書いた文字列はマウスポ
インタがオブジェクトに触れている間表示される。
てAnchorノードで括る。AnchorノードはGroupノードの
1つである。リンク先のファイルをurlフィールドに書
く。descriptionフィールドに書いた文字列はマウスポ
インタがオブジェクトに触れている間表示される。
【0053】12.ライトの設定 VRML2.0ではワールドに光を設定するためにDirectional
Light(平行光)、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: }
Light(平行光)、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) これまでは主にオブジェクトの作成に関しての解説であ
ったが、今回はオブジェクト作成以外のノードの使い方
について触れる。ワールド環境などと勝手に命名してい
るが、こういう言い方が一般的かどうかは分からない。
まず、ブラウザでデフォルトで用意されている HeadLig
ht を消してみる。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: }
ったが、今回はオブジェクト作成以外のノードの使い方
について触れる。ワールド環境などと勝手に命名してい
るが、こういう言い方が一般的かどうかは分からない。
まず、ブラウザでデフォルトで用意されている HeadLig
ht を消してみる。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 行目の NavigationInf
o ノードである。このノードの headlight フィールド
をTRUE か FALSE にすることで HeadLight を ON・OFF
する。HeadLight を消して任意のライトを設定すること
で効果的に明るさを設定できる。
と、Headlight のチェックがはずれている。このサンプ
ルでは今までのサンプルに比べて極端に暗くなっている
のが分かる。HeadLight は常にユーザの見ている方向に
照らされるライトで、これがないとこのように見える。
新たに加えたのは 2 行目から 4 行目の NavigationInf
o ノードである。このノードの headlight フィールド
をTRUE か FALSE にすることで HeadLight を ON・OFF
する。HeadLight を消して任意のライトを設定すること
で効果的に明るさを設定できる。
【0057】14.ワールド環境(2) NavigationInfo ノードには他にも幾つかのフィールド
が用意されている。その中の type フィールドでナビゲ
ーション方法を変更することができる。デフォルトでは
WALK に設定されている ナビゲーション方法である
が、他にも重力を無視して移動できる FLY、自分が動く
ことなくオブジェクトを動かす EXAMINE、何もコントロ
ールできない NONE、がある。ちなみに WALKは重力の影
響を受けながら移動するナビゲーション方法である。
が用意されている。その中の 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 ノードを使用する。
付けることができる。もしこのタグを指定しないとタイ
トルが [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 フィールドにはタイトル以外
の情報を書くが、ブラウザ上には何の変化も与えない。
ドを追加した。このサンプルでは前のサンプルに "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 軸の方向である。
緑、(3, 0, 0)に青の球がある。2行目の Viewpoint
ノードの position フィールドに具体的な座標を指定
すると、そこが最初の視点になる。ただし視線方向は常
に z 軸の方向である。
【0065】17.視線の方向を変える sample14 では視点の座標のみを変更したが、もちろん
視線方向も指定できる。方向を指定するときも Viewpoi
nt ノードを使うが、 フィールドは orientation フィ
ールドを使う。orientation フィールドは SFRotation
型のフィールドで、加点軸と回転角を値として持つ。
視線方向も指定できる。方向を指定するときも Viewpoi
nt ノードを使うが、 フィールドは orientation フィ
ールドを使う。orientation フィールドは SFRotation
型のフィールドで、加点軸と回転角を値として持つ。
【0066】18.センサをつける VRML2.0 のノードの中には Sensor ノードと呼ばれるノ
ードがある。シーン内での様々なことを感知、判定する
ためのノードで、全部で7種類用意されている。このWeb
ページで動作確認を行っている Community Place Brows
er では、幾つかの Sensor ノードがまだサポートされ
ていない。ここではオブジェクトにマウスがヒットした
かどうかを感知する TouchSensor をオブジェクトにつ
けてみる。
ードがある。シーン内での様々なことを感知、判定する
ためのノードで、全部で7種類用意されている。このWeb
ページで動作確認を行っている Community Place Brows
er では、幾つかの 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 という名前を付けた TouchSens
or を Box につけている。Box にマウスカーソルが触れ
ると(あなたが使っているブラウザが Community Place
Browser ならば)手の形に変わるはずである(他のブ
ラウザの中にはカーソルが変わらないものもある)。ち
なみにクリックしても何も起きない。
けである。ここでは TS という名前を付けた TouchSens
or を Box につけている。Box にマウスカーソルが触れ
ると(あなたが使っているブラウザが Community Place
Browser ならば)手の形に変わるはずである(他のブ
ラウザの中にはカーソルが変わらないものもある)。ち
なみにクリックしても何も起きない。
【0069】19.動きをつける(1) VRML2.0 が VRML1.0 と大きく異なる点はシーンに動き
をつけられるという点である。 動きをつけるには Java
や VRMLScript(JavaScript) などのスクリプトを用い
る方法と、Interplator ノードを用いる方法がある。ま
ずは Interplator ノードを用いる方法から見ていく。I
nterplate とは、「差し挟む」とか「内挿する」といっ
た意味である。Interpolator ノードの数値、位置、3D
座標、方向、法線、色の値を変えることによってシーン
に動きをつけることができる。ここでは方向を内挿する
OrientationInterpolator ノードを用いてオブジェク
トを回転させてみる。
をつけられるという点である。 動きをつけるには Java
や VRMLScript(JavaScript) などのスクリプトを用い
る方法と、Interplator ノードを用いる方法がある。ま
ずは Interplator ノードを用いる方法から見ていく。I
nterplate とは、「差し挟む」とか「内挿する」といっ
た意味である。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 行目を見ます。TouchSenso
r は時間の経過を感知するノードで、時間の経過に伴っ
て一定の間隔でイベントを生成することができる。loop
フィールドは TRUE か FALSE をとる SFBool フィール
ドで、TRUE なら stopTime になるまで続く。ここでは
stopTime -1 と startTime(デフォルトは0)とstartTi
me より小さな値になっているので永久に継続されるこ
とになる。回転する動きをもっと遅くするときには cyc
leInterval の値をもっと大きくする。
く。2,9,14 行目にそれぞれ、OBJ,TS,OI と定義してい
る。これは後述するがイベントの受け渡しをするときに
必要になる。9 行目乃至 13 行目を見ます。TouchSenso
r は時間の経過を感知するノードで、時間の経過に伴っ
て一定の間隔でイベントを生成することができる。loop
フィールドは TRUE か FALSE をとる SFBool フィール
ドで、TRUE なら stopTime になるまで続く。ここでは
stopTime -1 と startTime(デフォルトは0)とstartTi
me より小さな値になっているので永久に継続されるこ
とになる。回転する動きをもっと遅くするときには cyc
leInterval の値をもっと大きくする。
【0072】14 行目乃至 20 行目までが OrientationI
nterpolator ノードである。Interpolator ノードはす
べて key と keyValue の2つのフィールドを持ってい
る。keyはアニメーション時間の間隔を 0 から 1 の間
で設定する。keyValue は keyで設定した間隔に具体的
なフィールド値(ここでは MFRotation )を設定する。
ここではアニメーション時間の間隔を9等分して、y軸
を中心に回転角を設定している。
nterpolator ノードである。Interpolator ノードはす
べて key と keyValue の2つのフィールドを持ってい
る。keyはアニメーション時間の間隔を 0 から 1 の間
で設定する。keyValue は keyで設定した間隔に具体的
なフィールド値(ここでは MFRotation )を設定する。
ここではアニメーション時間の間隔を9等分して、y軸
を中心に回転角を設定している。
【0073】しかしこれだけではシーンに動きをつける
ことはできない。TimeSensor ノードの生成したイベン
トを OrientationInterpolator ノードに渡してやる必
要がある。21,22行目を見ます。この ROUTE というキー
ワードで始まる行で イベントを受け渡しを行う。TimeS
ensor TS が起動すると fraction_changed がイベント
アウトされる。fraction_changed がイベントアウトさ
れると、OrientationInterplator OI の set_fraction
にイベントインされる。ここまでが21 行目の ROUTE の
動作である。22 行目はイベントインされた set_fracti
on 値から OrientationInterplator OI が値を内挿し、
それを Transform OBJ の translationフィールドに va
lue_changed としてイベントアウトする。もう1つサン
プルをあげてみる。
ことはできない。TimeSensor ノードの生成したイベン
トを OrientationInterpolator ノードに渡してやる必
要がある。21,22行目を見ます。この ROUTE というキー
ワードで始まる行で イベントを受け渡しを行う。TimeS
ensor TS が起動すると fraction_changed がイベント
アウトされる。fraction_changed がイベントアウトさ
れると、OrientationInterplator OI の set_fraction
にイベントインされる。ここまでが21 行目の ROUTE の
動作である。22 行目はイベントインされた set_fracti
on 値から OrientationInterplator OI が値を内挿し、
それを Transform OBJ の translationフィールドに va
lue_changed としてイベントアウトする。もう1つサン
プルをあげてみる。
【0074】20.動きをつける(2) 今度はマウスでオブジェクトをクリックすると移動する
サンプルである。移動するには位置を内挿する Positio
nInterpolator ノードを使用する。 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
サンプルである。移動するには位置を内挿する Positio
nInterpolator ノードを使用する。 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 という名前の赤い立方体に T
ouchSenor TS をつけている。オブジェクトがクリック
されると、TouchSenor TS の touchTime が TimeSensor
TISの startTime にイベントアウトされる。サンプル
のソースには TimeSensoe ノードの中に startTime フ
ィールドは書いてないが、デフォルトで startTime 0と
なっている。あとは前のサンプルと同じである。これら
の ROUTE によってオブジェクトが移動する。
ouchSenor TS をつけている。オブジェクトがクリック
されると、TouchSenor TS の touchTime が TimeSensor
TISの startTime にイベントアウトされる。サンプル
のソースには TimeSensoe ノードの中に startTime フ
ィールドは書いてないが、デフォルトで startTime 0と
なっている。あとは前のサンプルと同じである。これら
の ROUTE によってオブジェクトが移動する。
【0076】ここで、第1世代のVRML1.0に対し、第
2世代のVRML2.0で新たに加わった機能であるVRML仮
想空間内における自律的な動き(Behavior)を実現するた
めのメカニズムについて概説する。
2世代のVRML2.0で新たに加わった機能であるVRML仮
想空間内における自律的な動き(Behavior)を実現するた
めのメカニズムについて概説する。
【0077】VRML2.0においては、3次元仮想現実空
間内に配置されたオブジェクトに対する操作に伴って生
じるイベントや、予め設定された時間が経過した時点で
生じるタイマーイベントに応じて、オブジェクトの自律
的な動きを実現することができる。このBehaviorのメカ
ニズムは、センサー、ルーティング、スクリプトの3つ
の要素の連携動作によって実現される。
間内に配置されたオブジェクトに対する操作に伴って生
じるイベントや、予め設定された時間が経過した時点で
生じるタイマーイベントに応じて、オブジェクトの自律
的な動きを実現することができる。このBehaviorのメカ
ニズムは、センサー、ルーティング、スクリプトの3つ
の要素の連携動作によって実現される。
【0078】すなわち、 予め3次元仮想現実空間内に配置されたオブジェクト
などのノードに対して関係付けられて、VRMLファイルと
して記述されたセンサーノードが、そのフィールドの値
の変化に基づいて、外部イベントを感知し、VRMLシーン
内にイベントを発生する。 発生したイベントは、 VRMLファイルとして記述され
たルーティングに基づいて、オブジェクトの挙動を規定
するプログラムである外部のスクリプトに対して、伝達
される。 外部のスクリプトには予め特定のイベントが到来した
時点で呼び出されるメソッドが記述されており、ルーテ
ィングによって伝達されたイベントを受け取った外部の
スクリプトは、その記述に基づく処理を実行した後、そ
の処理結果と、ルーティングの記述に基づいて、VRMLシ
ーン内の該当するノードのフィールドの値を変更する。
などのノードに対して関係付けられて、VRMLファイルと
して記述されたセンサーノードが、そのフィールドの値
の変化に基づいて、外部イベントを感知し、VRMLシーン
内にイベントを発生する。 発生したイベントは、 VRMLファイルとして記述され
たルーティングに基づいて、オブジェクトの挙動を規定
するプログラムである外部のスクリプトに対して、伝達
される。 外部のスクリプトには予め特定のイベントが到来した
時点で呼び出されるメソッドが記述されており、ルーテ
ィングによって伝達されたイベントを受け取った外部の
スクリプトは、その記述に基づく処理を実行した後、そ
の処理結果と、ルーティングの記述に基づいて、VRMLシ
ーン内の該当するノードのフィールドの値を変更する。
【0079】VRML2.0においては、センサーノードと
しては、例えば、指定されたオブジェクト上をポインテ
ィングデバイスが通過したり、ユーザによってクリック
された場合にイベントを発生するTouchSensorや、指定
された領域内にViewPoint(ユーザの視点)が侵入した場
合にイベントを発生するProximitySensorや、与えられ
た時刻となったり、予め指定された時間間隔が経過する
毎に発生するTimeSensorなどが定義されている。
しては、例えば、指定されたオブジェクト上をポインテ
ィングデバイスが通過したり、ユーザによってクリック
された場合にイベントを発生するTouchSensorや、指定
された領域内にViewPoint(ユーザの視点)が侵入した場
合にイベントを発生するProximitySensorや、与えられ
た時刻となったり、予め指定された時間間隔が経過する
毎に発生するTimeSensorなどが定義されている。
【0080】もう少し詳しく、Behaviorの仕組みを説明
する。先にも述べたように、Behaviorの仕組みは、セン
サー、イベント、ルーティングおよびスクリプトから構
成されている。
する。先にも述べたように、Behaviorの仕組みは、セン
サー、イベント、ルーティングおよびスクリプトから構
成されている。
【0081】センサーは、2つの機能に分けられる。 ・ユーザの操作を感知するタイプ ・システムの変化を感知するタイプ
【0082】ユーザの操作を感知するタイプのセンサー
は、3次元仮想空間内に配置された物体などに関係付け
られたソフトウエアによるスイッチとなる。システムの
変化を感知するタイプのセンサーは、作動させる時間を
事前に設定しておいたタイマーが作動することになる。
センサーの働きは、これらの外部イベントを検出して、
それをVRML内部のイベントに変換することである。
は、3次元仮想空間内に配置された物体などに関係付け
られたソフトウエアによるスイッチとなる。システムの
変化を感知するタイプのセンサーは、作動させる時間を
事前に設定しておいたタイマーが作動することになる。
センサーの働きは、これらの外部イベントを検出して、
それをVRML内部のイベントに変換することである。
【0083】イベントは、VRMLの内部の関連するノード
間で、情報を伝えるためのデータのことを指す。実際に
は、VRMLファイルの中に記述されたフィールド値の変化
がイベントとして伝達される。
間で、情報を伝えるためのデータのことを指す。実際に
は、VRMLファイルの中に記述されたフィールド値の変化
がイベントとして伝達される。
【0084】ルーティングは、センサー機能で検出され
たイベントをどのノードに伝えるかを指定するための仕
組みで、イベントによる情報の伝達経路を指定すること
になる。
たイベントをどのノードに伝えるかを指定するための仕
組みで、イベントによる情報の伝達経路を指定すること
になる。
【0085】スクリプトはイベントの入出力口で、入力
されたイベントから何らかの計算を行い、その結果をイ
ベントとして出力することができるものである。スクリ
プトは特定の言語のみに制限されるものではなく、現段
階では、インターネット界で注目を浴びているJavaやJa
vaScript、通常のシステムでよく利用されているC言
語、UNIXでよく利用されているTcl/TkやPERL、マイクロ
ソフト社の提供しているVisual Basic言語などが対応し
ている。このようにVRML2.0では特定のスクリプト言
語に依存しない仕様になっている(VRML2.0仕様検討
中、一時特定の言語仕様としてVRMLScriptが採用されよ
うとしたこともあるが、この構想は取り止めなった)。
されたイベントから何らかの計算を行い、その結果をイ
ベントとして出力することができるものである。スクリ
プトは特定の言語のみに制限されるものではなく、現段
階では、インターネット界で注目を浴びているJavaやJa
vaScript、通常のシステムでよく利用されているC言
語、UNIXでよく利用されているTcl/TkやPERL、マイクロ
ソフト社の提供しているVisual Basic言語などが対応し
ている。このようにVRML2.0では特定のスクリプト言
語に依存しない仕様になっている(VRML2.0仕様検討
中、一時特定の言語仕様としてVRMLScriptが採用されよ
うとしたこともあるが、この構想は取り止めなった)。
【0086】次に、Behaviorの処理手段に関して、図1
を参照して説明する。Behaviorの処理を図式化すると、
図1のようになる。以下、各部に分けて、処理信号の流
れを説明する。
を参照して説明する。Behaviorの処理を図式化すると、
図1のようになる。以下、各部に分けて、処理信号の流
れを説明する。
【0087】センサーノード 前にも述べたように、センサーノードには、大きく分類
して2系統がある。ユーザの操作を感知するタイプと、
システムの変化を感知するタイプのセンサーである。
して2系統がある。ユーザの操作を感知するタイプと、
システムの変化を感知するタイプのセンサーである。
【0088】前者のセンサーには、3次元物体やその平
面をマウスクリックしたり、通過したりしたときに感知
するTouchSensorやPlaneSensorなどのセンサーノードが
あり、後者のセンサーとしては、設定した時間が来ると
イベントを発生させる仕組みになっているTimeSensorが
用意されている。
面をマウスクリックしたり、通過したりしたときに感知
するTouchSensorやPlaneSensorなどのセンサーノードが
あり、後者のセンサーとしては、設定した時間が来ると
イベントを発生させる仕組みになっているTimeSensorが
用意されている。
【0089】この図1の例では、球にTouchSensorが付
けられているものとする。このとき、ユーザが球をマウ
スクリックすると、このイベントをTouchSensorが検出
する。このイベントは、TouchSensorのeventOutフィー
ルドのフィールド値が変化することで検出される。通常
1回のマウスクリックで2つのイベントを発生する。そ
れは、マウスボタンが押されたタイミングと、離された
タイミングである。
けられているものとする。このとき、ユーザが球をマウ
スクリックすると、このイベントをTouchSensorが検出
する。このイベントは、TouchSensorのeventOutフィー
ルドのフィールド値が変化することで検出される。通常
1回のマウスクリックで2つのイベントを発生する。そ
れは、マウスボタンが押されたタイミングと、離された
タイミングである。
【0090】次に、このイベントは、ルーティング記述
部分によって、ルーティングされることになる。
部分によって、ルーティングされることになる。
【0091】ルーティング このイベントのルーティングを指定するのが、図2に示
すような「Route」である。
すような「Route」である。
【0092】センサー記述部分で発生したイベントがRo
uteのeventOutフィールドに伝達され、さらに、次に述
べるスクリプトノードに伝えられることにより、外部フ
ァイルにイベントが渡され、Behavior機能が実行され
る。
uteのeventOutフィールドに伝達され、さらに、次に述
べるスクリプトノードに伝えられることにより、外部フ
ァイルにイベントが渡され、Behavior機能が実行され
る。
【0093】スクリプトノード このノードは、VRMLファイルと外部のスクリプトとを連
動させる仲介をするノードである。スクリプトノードの
記述書式に従って、どのような言語で記述されているか
とか、ファイル名を指定したり、外部スクリプトファイ
ルとの間でイベントのやり取りをするために、eventIn
フィールドとeventOutフィールドを規定する。このと
き、使用できるスクリプトファイルは、Java、JavaScri
pt、C言語、Tcl/Tk、PERL、およびVisual Basic言語な
ど多岐に渡る。
動させる仲介をするノードである。スクリプトノードの
記述書式に従って、どのような言語で記述されているか
とか、ファイル名を指定したり、外部スクリプトファイ
ルとの間でイベントのやり取りをするために、eventIn
フィールドとeventOutフィールドを規定する。このと
き、使用できるスクリプトファイルは、Java、JavaScri
pt、C言語、Tcl/Tk、PERL、およびVisual Basic言語な
ど多岐に渡る。
【0094】実際の処理手段としては、ルーティングさ
れたイベントがスクリプトノードに記述されているスク
リプトファイルに処理が伝達され、外部のスクリプトフ
ァイルが実行される。外部のスクリプトファイルは、そ
の中で定義されているeventIn(イベントの入口)で受
け取り、そのファイル内に記述された処理を実行する。
その処理が終了した後、eventOut(イベントの出口)か
ら結果をVRMLファイルのルーティングへ返す。VRMLファ
イルは、その返された結果を実行して、一連のBehavior
処理は終了する。
れたイベントがスクリプトノードに記述されているスク
リプトファイルに処理が伝達され、外部のスクリプトフ
ァイルが実行される。外部のスクリプトファイルは、そ
の中で定義されているeventIn(イベントの入口)で受
け取り、そのファイル内に記述された処理を実行する。
その処理が終了した後、eventOut(イベントの出口)か
ら結果をVRMLファイルのルーティングへ返す。VRMLファ
イルは、その返された結果を実行して、一連のBehavior
処理は終了する。
【0095】このような、センサー、ルーティング、ス
クリプトの連携動作によって実現されるBehaviorのメカ
ニズムを利用することによって、例えば、3次元仮想現
実空間内に配置されたスイッチを模したオブジェクトを
マウスでクリックすることによって、同じ空間内に配置
された他のオブジェクトの外観(形状、姿勢、サイズ、
色等)であるとか、挙動シーケンスなどを動的に変更す
る事ができる。
クリプトの連携動作によって実現されるBehaviorのメカ
ニズムを利用することによって、例えば、3次元仮想現
実空間内に配置されたスイッチを模したオブジェクトを
マウスでクリックすることによって、同じ空間内に配置
された他のオブジェクトの外観(形状、姿勢、サイズ、
色等)であるとか、挙動シーケンスなどを動的に変更す
る事ができる。
【0096】このBehaviorのメカニズムの詳細な説明に
ついては、http://webspace.sgi.com/moving-worlds/sp
ec/part1/concepts.htmlおよび、その日本語版であるht
tp://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spe
c-jp/part1/concepts.htmlで公開されている、August
4, 1996における The Virtual Reality Modeling Langu
age Version 2.0, ISO/IEC CD 14772の仕様書、4.概
念の節に開示されている。この節には、 VRML仕様書を
利用するにあたりキーとなる概念が記述されている。ノ
ードをシーングラフに結合する方法、ノードがイベント
を生成したり受け取ったりする方法、プロトタイプによ
るノードタイプの作成方法、VRMLにノードタイプを追加
して外部から使用できるようにエクスポートする方法、
VRMLファイルにプログラムとして動作するスクリプトを
組み込む方法など、様々なノードに関する一般的な項目
が記載されている。
ついては、http://webspace.sgi.com/moving-worlds/sp
ec/part1/concepts.htmlおよび、その日本語版であるht
tp://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spe
c-jp/part1/concepts.htmlで公開されている、August
4, 1996における The Virtual Reality Modeling Langu
age Version 2.0, ISO/IEC CD 14772の仕様書、4.概
念の節に開示されている。この節には、 VRML仕様書を
利用するにあたりキーとなる概念が記述されている。ノ
ードをシーングラフに結合する方法、ノードがイベント
を生成したり受け取ったりする方法、プロトタイプによ
るノードタイプの作成方法、VRMLにノードタイプを追加
して外部から使用できるようにエクスポートする方法、
VRMLファイルにプログラムとして動作するスクリプトを
組み込む方法など、様々なノードに関する一般的な項目
が記載されている。
【0097】次に、このようなVRML2.0の自律的な動
き(Behavior)を実現するメカニズムを応用して、共有仮
想空間内に、仮想生命オブジェクトを誕生させ、ユーザ
の操作や時間経過に伴う所定のイベントの発生に応じて
変化する成長パラメータ(外観的成長又は内面的成長
(個性))をサーバで管理し、このサーバから転送され
た成長パラメータに基づいて、仮想生命オブジェクトの
外観(形状、姿勢、サイズ、色等)又は挙動シーケンス
の内の何れか一方もしくは双方を動的に変更するための
スクリプトプログラムを解釈、実行することで、成長パ
ラメータに応じた仮想生命オブジェクトを表示する技術
について、以下に詳述する。
き(Behavior)を実現するメカニズムを応用して、共有仮
想空間内に、仮想生命オブジェクトを誕生させ、ユーザ
の操作や時間経過に伴う所定のイベントの発生に応じて
変化する成長パラメータ(外観的成長又は内面的成長
(個性))をサーバで管理し、このサーバから転送され
た成長パラメータに基づいて、仮想生命オブジェクトの
外観(形状、姿勢、サイズ、色等)又は挙動シーケンス
の内の何れか一方もしくは双方を動的に変更するための
スクリプトプログラムを解釈、実行することで、成長パ
ラメータに応じた仮想生命オブジェクトを表示する技術
について、以下に詳述する。
【0098】図3は本発明の一実施の形態の全体のシス
テム構成図である。
テム構成図である。
【0099】図3において、クライアントPC(パーソ
ナルコンピュータ)1乃至3は、VRMLブラウザ及びWWW
ブラウザがインストールされ、これらが動作しており、
IP(インターネット接続サービスプロバイダ)4乃至6
を介してインターネット7と接続されている。
ナルコンピュータ)1乃至3は、VRMLブラウザ及びWWW
ブラウザがインストールされ、これらが動作しており、
IP(インターネット接続サービスプロバイダ)4乃至6
を介してインターネット7と接続されている。
【0100】インターネット7とルータ8を介して接続
されたLAN(Local Area Network)9には、WWWサーバ1
0、WLS(World Location Server)11、共有サーバ1
2、AO(Application Object)サーバ13,14、メー
ルサーバ15、およびコミュニケーションサーバ16が
接続されている。これらの各サーバ10乃至16には、
ハードディスク(HDD)10a,10b、および11a乃至
16aが、各々設けられている。
されたLAN(Local Area Network)9には、WWWサーバ1
0、WLS(World Location Server)11、共有サーバ1
2、AO(Application Object)サーバ13,14、メー
ルサーバ15、およびコミュニケーションサーバ16が
接続されている。これらの各サーバ10乃至16には、
ハードディスク(HDD)10a,10b、および11a乃至
16aが、各々設けられている。
【0101】コミュニケーションサーバ16は、公衆電
話回線網17を介して電話機18やファクシミリ19と
接続され、さらに、PHS(Personal Handyphone System)
サービスプロバイダ20を介してPHS端末23に無線接
続され、ポケットベルサービスプロバイダー21を介し
てポケットベル端末24に無線接続されている。
話回線網17を介して電話機18やファクシミリ19と
接続され、さらに、PHS(Personal Handyphone System)
サービスプロバイダ20を介してPHS端末23に無線接
続され、ポケットベルサービスプロバイダー21を介し
てポケットベル端末24に無線接続されている。
【0102】クライアントPC1のハードウェア構成に
ついて、図4を参照して説明する。
ついて、図4を参照して説明する。
【0103】クライアントPC1のCPU30は各部を制
御する。HDD31は、VRML 2.0 file、Java(米国 Sun
Microsystems社の商標)による共有仮想生命の成長スク
リプトプログラム等からなるVRMLコンテンツ、および飼
い主データを格納する。CD−ROMドライブ32は、CD−R
OMディスク33に格納されたVRMLコンテンツを読み取
る。ROM34はBIOS(Basic Input Output Systems)等を
格納する。サウンド処理回路35にはマイクロフォン3
6と左右のスピーカ37,38が接続されている。MODE
M39はインターネット7との接続を行う。I/O(入出力)
インターフェイス40にはマウス41とキーボード42
が接続されている。グラフィックス処理回路43にはVR
AM44が内蔵されている。CRTモニタ45はグラフィッ
クス処理回路43から出力された画像信号を表示する。
RAM46は各種のコンピュータプログラムを記憶する。
御する。HDD31は、VRML 2.0 file、Java(米国 Sun
Microsystems社の商標)による共有仮想生命の成長スク
リプトプログラム等からなるVRMLコンテンツ、および飼
い主データを格納する。CD−ROMドライブ32は、CD−R
OMディスク33に格納されたVRMLコンテンツを読み取
る。ROM34はBIOS(Basic Input Output Systems)等を
格納する。サウンド処理回路35にはマイクロフォン3
6と左右のスピーカ37,38が接続されている。MODE
M39はインターネット7との接続を行う。I/O(入出力)
インターフェイス40にはマウス41とキーボード42
が接続されている。グラフィックス処理回路43にはVR
AM44が内蔵されている。CRTモニタ45はグラフィッ
クス処理回路43から出力された画像信号を表示する。
RAM46は各種のコンピュータプログラムを記憶する。
【0104】このRAM46には、実行時に、Windows95
(米国Micro Soft社の商標) の上で動作するWWWブラウザ
であるNetscape Navigatorと、Javaインタプリタと、ソ
ニー株式会社によって開発されたVRML2.0ブラウザであ
るCommunity Place Browserが読み込まれて、CPU30に
よって実行される状態となっている。
(米国Micro Soft社の商標) の上で動作するWWWブラウザ
であるNetscape Navigatorと、Javaインタプリタと、ソ
ニー株式会社によって開発されたVRML2.0ブラウザであ
るCommunity Place Browserが読み込まれて、CPU30に
よって実行される状態となっている。
【0105】VRML2.0ブラウザには、米国シリコング
ラフィクス社によって開発され、無償公開されているVR
MLの構文解釈用ライブラリ(パーサ)であるQvLibと、英
国Criterion Software Ltd.のソフトウエア・レンダラ
であるRenderWare等、もしくはこれらと同等の機能を有
するパーサやレンダラが実装されている。
ラフィクス社によって開発され、無償公開されているVR
MLの構文解釈用ライブラリ(パーサ)であるQvLibと、英
国Criterion Software Ltd.のソフトウエア・レンダラ
であるRenderWare等、もしくはこれらと同等の機能を有
するパーサやレンダラが実装されている。
【0106】そして、 Community Place Browserは、図
3に示すように、WWWブラウザとしてのNetscape Naviga
torとの間において、NCAPI(Netscape Client Applicat
ionPrograming Interface)(商標)に基づいて各種デ
ータの授受を行う。
3に示すように、WWWブラウザとしてのNetscape Naviga
torとの間において、NCAPI(Netscape Client Applicat
ionPrograming Interface)(商標)に基づいて各種デ
ータの授受を行う。
【0107】Netscape Navigatorは、インターネット7
を介してWWWサーバ10よりHTMLファイルとVRMLコンテ
ンツ(VRMLファイルとJavaによるスクリプトプログラム
とを含む)の供給を受けると、これらをローカルのHDD
31にそれぞれ記憶させる。Netscape Navigatorは、こ
のうちのHTMLファイルを処理してテキストや画像をCRT
モニタに表示する一方、 Community Place BrowserはVR
MLファイルを処理して3次元仮想空間をCRTモニタに表示
するとともに、Javaインタプリタによるスクリプトプロ
グラムの処理結果に応じて、3次元仮想空間内のオブジ
ェクトの挙動を変化させる。
を介してWWWサーバ10よりHTMLファイルとVRMLコンテ
ンツ(VRMLファイルとJavaによるスクリプトプログラム
とを含む)の供給を受けると、これらをローカルのHDD
31にそれぞれ記憶させる。Netscape Navigatorは、こ
のうちのHTMLファイルを処理してテキストや画像をCRT
モニタに表示する一方、 Community Place BrowserはVR
MLファイルを処理して3次元仮想空間をCRTモニタに表示
するとともに、Javaインタプリタによるスクリプトプロ
グラムの処理結果に応じて、3次元仮想空間内のオブジ
ェクトの挙動を変化させる。
【0108】なお、図示は省略するが、他のクライアン
トPC2やクライアントPC3も、クライアントPC1
と同様に構成されている。
トPC2やクライアントPC3も、クライアントPC1
と同様に構成されている。
【0109】次に上述した一実施の形態の動作について
説明する。
説明する。
【0110】まず、実際にVRMLコンテンツをインターネ
ット経由でダウンロードしてから、1つの仮想空間を複
数のユーザで共有するマルチユーザ環境とするまでの手
順を図5乃至図7を参照して説明する。
ット経由でダウンロードしてから、1つの仮想空間を複
数のユーザで共有するマルチユーザ環境とするまでの手
順を図5乃至図7を参照して説明する。
【0111】図5において、番号1で示すように、最初
に、WWWブラウザを用いて、VRMLコンテンツを提供して
いるWebサイトのホームページを閲覧する。この例で
は、 http://pc.sony.co.jp/sapari/ を閲覧してい
る。次に、番号2で示すように、クライアントPC1と
クライアントPC2のユーザは、VRML 2.0fileと、VRM
L空間内での自律的な動き(Behavior)を実現するため
のスクリプトプログラム(Javaによる成長スクリプトプ
ログラム)とからなるVRMLコンテンツを、それぞれダウ
ンロードする。
に、WWWブラウザを用いて、VRMLコンテンツを提供して
いるWebサイトのホームページを閲覧する。この例で
は、 http://pc.sony.co.jp/sapari/ を閲覧してい
る。次に、番号2で示すように、クライアントPC1と
クライアントPC2のユーザは、VRML 2.0fileと、VRM
L空間内での自律的な動き(Behavior)を実現するため
のスクリプトプログラム(Javaによる成長スクリプトプ
ログラム)とからなるVRMLコンテンツを、それぞれダウ
ンロードする。
【0112】勿論、 CD−ROMディスク33で提供される
VRMLコンテンツをCD−ROMドライブ32で読み込んでも
良い。
VRMLコンテンツをCD−ROMドライブ32で読み込んでも
良い。
【0113】次に、図6に示すように、クライアントP
C1及びクライアントPC2は、それぞれにダウンロー
ドされ、一旦ローカルのHDD31に格納されたVRML2.0fi
leを、VRML2.0ブラウザであるCommunity Place Brow
serが解釈・実行し、さらに番号3で示すように、VSCP
(Virtual Society Server Client Protocol)に基づい
て、WLS11に対して共有サーバ12のURLを問い合わせ
る。このとき番号4で示すように、WLS11はHDD11a
に格納された共有サーバURL管理テーブルを参照して、
クライアントPC1及びクライアントPC2に対して、
共有サーバ12のURLを通知する。
C1及びクライアントPC2は、それぞれにダウンロー
ドされ、一旦ローカルのHDD31に格納されたVRML2.0fi
leを、VRML2.0ブラウザであるCommunity Place Brow
serが解釈・実行し、さらに番号3で示すように、VSCP
(Virtual Society Server Client Protocol)に基づい
て、WLS11に対して共有サーバ12のURLを問い合わせ
る。このとき番号4で示すように、WLS11はHDD11a
に格納された共有サーバURL管理テーブルを参照して、
クライアントPC1及びクライアントPC2に対して、
共有サーバ12のURLを通知する。
【0114】このURLを用いて、図7に示すように、ク
ライアントPC1とクライアントPC2が、共有サーバ
12に接続する。その結果、番号5で示すように、この
共有サーバ12を介して共有3Dオブジェクトの位置や動
きなどに関する共有メッセージの送信が行われ、番号6
で示すように、その転送が行われ、マルチユーザ環境が
実現される。
ライアントPC1とクライアントPC2が、共有サーバ
12に接続する。その結果、番号5で示すように、この
共有サーバ12を介して共有3Dオブジェクトの位置や動
きなどに関する共有メッセージの送信が行われ、番号6
で示すように、その転送が行われ、マルチユーザ環境が
実現される。
【0115】なお、以上の接続手順の詳しい説明につい
ては、特開平9-81781号公報を参照されたい。
ては、特開平9-81781号公報を参照されたい。
【0116】次に、共有仮想空間内に存在するユニバー
サルオブジェクト、仮想物体オブジェクト、および仮想
生命オブジェクトを管理するAOサーバ13について説
明する。AOサーバ13は、VSAPに基づいて共有サーバ
12とAOに関するデータのやり取りを行なう。また、
そのHDD13aには、図7に示すように、仮想生命オブジ
ェクトの成長パラメータ管理テーブルが格納されてい
る。
サルオブジェクト、仮想物体オブジェクト、および仮想
生命オブジェクトを管理するAOサーバ13について説
明する。AOサーバ13は、VSAPに基づいて共有サーバ
12とAOに関するデータのやり取りを行なう。また、
そのHDD13aには、図7に示すように、仮想生命オブジ
ェクトの成長パラメータ管理テーブルが格納されてい
る。
【0117】ユニバーサルオブジェクトは、仮想空間に
1つだけ存在し、仮想空間全体を覆うAOである。ま
た、ユニバーサルオブジェクトは、全てのユーザのログ
イン、ログアウトを監視することができる。
1つだけ存在し、仮想空間全体を覆うAOである。ま
た、ユニバーサルオブジェクトは、全てのユーザのログ
イン、ログアウトを監視することができる。
【0118】仮想物体オブジェクトは、仮想空間内に落
ちている(置かれている)仮想生命オブジェクト以外の
物体である。仮想物体オブジェクトがユーザによって拾
われた場合、仮想物体オブジェクトは拾ったユーザの所
有物として管理される。
ちている(置かれている)仮想生命オブジェクト以外の
物体である。仮想物体オブジェクトがユーザによって拾
われた場合、仮想物体オブジェクトは拾ったユーザの所
有物として管理される。
【0119】図8に示すように、成長パラメータ管理テ
ーブルの仮想生命オブジェクトに関するデータは、仮想
生命データと、飼い主データに大別される。
ーブルの仮想生命オブジェクトに関するデータは、仮想
生命データと、飼い主データに大別される。
【0120】仮想生命データは、1つの共有仮想空間内
において3Dオブジェクトを一意に特定するための3Dオブ
ジェクトID、共有仮想空間内での仮想生命オブジェクト
の3次元座標値、飼い主によって選ばれた猿や猫などの
生物の種類、その性別、飼い主によって付与されたニッ
クネーム、飼い主によって初期設定された日時、すなわ
ちその仮想生命オブジェクトの誕生日時、誕生した仮想
空間に付与されているワールド名(本籍ワールド名)
と、仮想生命オブジェクトの成長パラメータとからな
る。
において3Dオブジェクトを一意に特定するための3Dオブ
ジェクトID、共有仮想空間内での仮想生命オブジェクト
の3次元座標値、飼い主によって選ばれた猿や猫などの
生物の種類、その性別、飼い主によって付与されたニッ
クネーム、飼い主によって初期設定された日時、すなわ
ちその仮想生命オブジェクトの誕生日時、誕生した仮想
空間に付与されているワールド名(本籍ワールド名)
と、仮想生命オブジェクトの成長パラメータとからな
る。
【0121】成長パラメータは、仮想生命オブジェクト
の外観的成長を規定するフィジカルパラメータと、性格
等が反映された内面的成長を規定するためのメンタルパ
ラメータに大別される。
の外観的成長を規定するフィジカルパラメータと、性格
等が反映された内面的成長を規定するためのメンタルパ
ラメータに大別される。
【0122】フィジカルパラメータは、身長(単位cm)、
体重(単位Kg)、体格指数、食欲指数、健康度指数、お
よび寿命残時間(単位時間)とからなる。
体重(単位Kg)、体格指数、食欲指数、健康度指数、お
よび寿命残時間(単位時間)とからなる。
【0123】メンタルパラメータは、知能指数、言語能
力指数、社交性指数、自主性指数、活発性指数、および
機嫌指数により構成されている。
力指数、社交性指数、自主性指数、活発性指数、および
機嫌指数により構成されている。
【0124】これらのパラメータは、飼い主によって最
初に初期設定された誕生日時からの経過時間に伴って発
生するタイマーイベントと、クライアントPCからのコ
ールメッセージや操作メッセージに伴って発生するアク
セスイベントや操作イベントに基づき、所定の成長パラ
メータ算出式によって算出された値に順次更新される。
初に初期設定された誕生日時からの経過時間に伴って発
生するタイマーイベントと、クライアントPCからのコ
ールメッセージや操作メッセージに伴って発生するアク
セスイベントや操作イベントに基づき、所定の成長パラ
メータ算出式によって算出された値に順次更新される。
【0125】図9は、クライアントPC1のCRTモニタ
45の画面上のVRMLブラウザのメインウインドウに隣接
して表示されるアクションパネルの機能を示している。
45の画面上のVRMLブラウザのメインウインドウに隣接
して表示されるアクションパネルの機能を示している。
【0126】この図において、(Active)と表記されてい
るAは「呼ぶボタン」であり、仮想生命オブジェクト
(以下、仮想ペットとも記述する)を呼んだり、寝てい
る仮想ペットを起こす際にクリックされる。
るAは「呼ぶボタン」であり、仮想生命オブジェクト
(以下、仮想ペットとも記述する)を呼んだり、寝てい
る仮想ペットを起こす際にクリックされる。
【0127】(Sleep)と表記されているBは「寝かすボタ
ン」であり、仮想ペットを寝かす際にクリックされる。
ン」であり、仮想ペットを寝かす際にクリックされる。
【0128】Cは「食事ボタン」であり、仮想ペットに
食事を与える際にクリックされるボタンである。
食事を与える際にクリックされるボタンである。
【0129】Dは「ほめるボタン」であり、仮想ペット
に笑いかけて褒めてあげる際にクリックされるボタンで
ある。
に笑いかけて褒めてあげる際にクリックされるボタンで
ある。
【0130】Eは「あそぶボタン」であり、飼い主が鬼
になって逃げ回る仮想ペットを追いかけて、壁にぶつか
って逃げれない仮想ペットにぶつかるまで追いつめて遊
ぶ、いわゆる鬼ごっこで遊ぶ際にクリックされるボタン
である。
になって逃げ回る仮想ペットを追いかけて、壁にぶつか
って逃げれない仮想ペットにぶつかるまで追いつめて遊
ぶ、いわゆる鬼ごっこで遊ぶ際にクリックされるボタン
である。
【0131】Fは「しかるボタン」であり、言う事を聞
かない仮想ペットを叱り付けて、しつけを行なう際にク
リックされるボタンである。
かない仮想ペットを叱り付けて、しつけを行なう際にク
リックされるボタンである。
【0132】Gは「きれいにするボタン」であり、仮想
ペットをブラッシングしてきれいにする際にクリックさ
れるボタンである。
ペットをブラッシングしてきれいにする際にクリックさ
れるボタンである。
【0133】そして、例えば、図10に示すように、自
分のクライアントPC1において、「呼ぶボタン」Aが
クリックされ(アクションパネルが操作され)、そのコ
ールメッセージが共有サーバ12を介してAOサーバ1
3へ送信されると(ステップS1)、そのアクセスイベ
ントに基づいて成長パラメータ管理テーブルの成長パラ
メータ更新処理が実行される(ステップS3)。このア
クセスイベントに基づいて、食欲指数、健康度指数、機
嫌指数が、1/10から10/10まで、0.1ポイント
づつインクリメントされる。
分のクライアントPC1において、「呼ぶボタン」Aが
クリックされ(アクションパネルが操作され)、そのコ
ールメッセージが共有サーバ12を介してAOサーバ1
3へ送信されると(ステップS1)、そのアクセスイベ
ントに基づいて成長パラメータ管理テーブルの成長パラ
メータ更新処理が実行される(ステップS3)。このア
クセスイベントに基づいて、食欲指数、健康度指数、機
嫌指数が、1/10から10/10まで、0.1ポイント
づつインクリメントされる。
【0134】また、例えば、「食事ボタン」Cがクリッ
クされ、その操作メッセージがAOサーバ13へ送信さ
れ(ステップS2)、操作イベントが発生する毎に、成
長パラメータの体重が増加し、それに伴って、体格指数
が、1/10から10/10まで、0.1ポイントづつイ
ンクリメントされる(ステップS3)。
クされ、その操作メッセージがAOサーバ13へ送信さ
れ(ステップS2)、操作イベントが発生する毎に、成
長パラメータの体重が増加し、それに伴って、体格指数
が、1/10から10/10まで、0.1ポイントづつイ
ンクリメントされる(ステップS3)。
【0135】その後、時間経過に伴うタイマーイベント
が発生すると、成長パラメータの体重が減少し、それに
伴って、体格指数が0.1ポイントづつデクリメントされ
る(ステップS3)。
が発生すると、成長パラメータの体重が減少し、それに
伴って、体格指数が0.1ポイントづつデクリメントされ
る(ステップS3)。
【0136】例えば、この体格指数を含む成長パラメー
タは、更新される毎に、共有サーバ12のマルチキャス
ト処理(ステップS5)により、元の飼い主のクライア
ントPC1と、仮想空間を共有しているその他のクライ
アントPC2へ転送される(ステップS4)。
タは、更新される毎に、共有サーバ12のマルチキャス
ト処理(ステップS5)により、元の飼い主のクライア
ントPC1と、仮想空間を共有しているその他のクライ
アントPC2へ転送される(ステップS4)。
【0137】クライアントPC1では、返送されてきた
成長パラメータに基づいて、仮想ペットの成長に伴う自
律的な挙動を制御するための処理手順が記述された成長
スクリプトプログラムが実行され(ステップS6)、VR
MLファイルの仮想ペットを表現するための3Dオブジェク
トを構成する各ノードのフィールドの値が変更され(ス
テップS7)、この変更されたフィールドの値が反映さ
れた仮想ペットがレンダリングされ(ステップS8)、
クライアントPC1のCRTモニタ45の画面上のVRMLブ
ラウザのメインウインドウ上に表示される。
成長パラメータに基づいて、仮想ペットの成長に伴う自
律的な挙動を制御するための処理手順が記述された成長
スクリプトプログラムが実行され(ステップS6)、VR
MLファイルの仮想ペットを表現するための3Dオブジェク
トを構成する各ノードのフィールドの値が変更され(ス
テップS7)、この変更されたフィールドの値が反映さ
れた仮想ペットがレンダリングされ(ステップS8)、
クライアントPC1のCRTモニタ45の画面上のVRMLブ
ラウザのメインウインドウ上に表示される。
【0138】このクライアントPC1と同じ処理が、仮
想空間を共有しているその他のクライアントPC2にお
いても実行され、これにより仮想ペットの成長に伴って
変更されたフィールドの値が反映された仮想ペットがレ
ンダリングされ、他のクライアントPC2のCRTモニタ
画面上のVRMLブラウザのメインウインドウ上にも表示さ
れることになる。
想空間を共有しているその他のクライアントPC2にお
いても実行され、これにより仮想ペットの成長に伴って
変更されたフィールドの値が反映された仮想ペットがレ
ンダリングされ、他のクライアントPC2のCRTモニタ
画面上のVRMLブラウザのメインウインドウ上にも表示さ
れることになる。
【0139】図11及び図12に、VRMLファイルの仮想
ペットを表現するための3Dオブジェクトを構成する各ノ
ードに対応したpart0乃至part5の関係(図11)と、そ
の表示例(図12)を示す。part0が仮想ペットの頭部
に相当し、part1が仮想ペットの胴体に相当し、part2と
part3が仮想ペットの右腕と左腕に相当し、part4とpart
5が仮想ペットの右足と左足に相当する。
ペットを表現するための3Dオブジェクトを構成する各ノ
ードに対応したpart0乃至part5の関係(図11)と、そ
の表示例(図12)を示す。part0が仮想ペットの頭部
に相当し、part1が仮想ペットの胴体に相当し、part2と
part3が仮想ペットの右腕と左腕に相当し、part4とpart
5が仮想ペットの右足と左足に相当する。
【0140】これらの各part0乃至part5に対応する各ノ
ードのフィールドの値を変更することで、仮想ペットの
各部の外観(形状、姿勢(向き)、サイズ、色等)、及
び各部の挙動シーケンスを動的に変更する事が出来る。
こらは全て、成長パラメータに基づく成長スクリプトプ
ログラムの処理で実現される。すなわち、VRML2.0で定
義されたセンサー、ルーティング、スクリプトの連携動
作によって実現されるBehaviorのメカニズムを利用する
ことによって実現される。
ードのフィールドの値を変更することで、仮想ペットの
各部の外観(形状、姿勢(向き)、サイズ、色等)、及
び各部の挙動シーケンスを動的に変更する事が出来る。
こらは全て、成長パラメータに基づく成長スクリプトプ
ログラムの処理で実現される。すなわち、VRML2.0で定
義されたセンサー、ルーティング、スクリプトの連携動
作によって実現されるBehaviorのメカニズムを利用する
ことによって実現される。
【0141】従って、従来の携帯電子ペットの仮想生物
の画像表示方法のように、予め仮想生物のキヤラクタの
成長過程の各段階のビットマップ画像をROMに格納して
おく必要はなく、例えば、仮想ペットの成長経過に応じ
てその体格や挙動を連続的かつ動的に変化させる事が出
来る。
の画像表示方法のように、予め仮想生物のキヤラクタの
成長過程の各段階のビットマップ画像をROMに格納して
おく必要はなく、例えば、仮想ペットの成長経過に応じ
てその体格や挙動を連続的かつ動的に変化させる事が出
来る。
【0142】図13は、仮想ペットの成長と体格指数の
遷移に伴って仮想ペットの体格を動的に変更して表示す
る概念図を示している。加齢に伴って、顔が大人の顔と
なり、体格も大きくなるが、体格指数が小さいと、やせ
た身体となり、大きいと、大きな身体となる。
遷移に伴って仮想ペットの体格を動的に変更して表示す
る概念図を示している。加齢に伴って、顔が大人の顔と
なり、体格も大きくなるが、体格指数が小さいと、やせ
た身体となり、大きいと、大きな身体となる。
【0143】図14は、仮想ペットの機嫌指数の遷移に
伴って仮想ペットの表情を動的に変更して表示する概念
図を示している。機嫌指数が大きいと、笑い顔となり、
小さいと、怒った顔になる。
伴って仮想ペットの表情を動的に変更して表示する概念
図を示している。機嫌指数が大きいと、笑い顔となり、
小さいと、怒った顔になる。
【0144】図15は、仮想ペットの活発性指数の遷移
に伴って仮想ペットの各部の挙動シーケンスを動的に変
更して表示する概念図を示している。活発性指数が小さ
いと、足の屈伸程度の動きしかできないが、大きくなる
と、手を振ったり、頭を振ったりすることができる。
に伴って仮想ペットの各部の挙動シーケンスを動的に変
更して表示する概念図を示している。活発性指数が小さ
いと、足の屈伸程度の動きしかできないが、大きくなる
と、手を振ったり、頭を振ったりすることができる。
【0145】図16は、仮想ペットの知能指数の遷移に
伴って仮想ペットへ頭髪を付加したり眼鏡を付加して表
示する概念図を示している。
伴って仮想ペットへ頭髪を付加したり眼鏡を付加して表
示する概念図を示している。
【0146】成長パラメータの知能指数は、図9に示す
「呼ぶボタン」Aの操作に伴うアクセスイベントに基づ
いて、0.1ポイントづつインクリメントされ、図16に
示すように仮想ペットの外観に影響を与える。
「呼ぶボタン」Aの操作に伴うアクセスイベントに基づ
いて、0.1ポイントづつインクリメントされ、図16に
示すように仮想ペットの外観に影響を与える。
【0147】言語指数は、図9に示す「呼ぶボタン」A
の操作に伴うアクセスイベントやタイマーイベントに基
づく仮想ペットの年齢に応じて0.1ポイントづつインク
リメントされ、仮想ペットの年齢増加に応じて、テキス
トベースでのチャットの文章自動生成処理を実行するに
際し、そのテキストの文体に影響を与える。例えばポイ
ントの小さい仮想ペットのチャットは、ひらがなまたは
カタカナで行われ、ポイントの大きな仮想ペットのチャ
ットは、漢字の入った文字で行われる。
の操作に伴うアクセスイベントやタイマーイベントに基
づく仮想ペットの年齢に応じて0.1ポイントづつインク
リメントされ、仮想ペットの年齢増加に応じて、テキス
トベースでのチャットの文章自動生成処理を実行するに
際し、そのテキストの文体に影響を与える。例えばポイ
ントの小さい仮想ペットのチャットは、ひらがなまたは
カタカナで行われ、ポイントの大きな仮想ペットのチャ
ットは、漢字の入った文字で行われる。
【0148】社交性指数は、飼い主とのチャットの頻度
に応じて0.1ポイントづつインクリメント又はデクリメ
ントされ、頻度が多ければ外向的な振る舞い、頻度が少
なくなれば内向的な振る舞い、となるように仮想ペット
の振る舞いに影響を与える。社交的で明るく、積極的な
性格の仮想ペットは、姿勢も顔色も良くなり、逆に、内
向的で暗く、消極的な性格の仮想ペットは、姿勢も顔色
も悪くなる。
に応じて0.1ポイントづつインクリメント又はデクリメ
ントされ、頻度が多ければ外向的な振る舞い、頻度が少
なくなれば内向的な振る舞い、となるように仮想ペット
の振る舞いに影響を与える。社交的で明るく、積極的な
性格の仮想ペットは、姿勢も顔色も良くなり、逆に、内
向的で暗く、消極的な性格の仮想ペットは、姿勢も顔色
も悪くなる。
【0149】自主性指数は、タイマーイベントに基づく
仮想ペットの年齢増加に応じて、0.1ポイントづつイン
クリメントされ、次第に飼い主の言う事を聞かなくなる
などの仮想ペットの振る舞いに影響を与える。
仮想ペットの年齢増加に応じて、0.1ポイントづつイン
クリメントされ、次第に飼い主の言う事を聞かなくなる
などの仮想ペットの振る舞いに影響を与える。
【0150】活発性指数は、年齢、食欲指数、健康度指
数などに基づいて決定され、図15に示すように、仮想
ペットの振る舞いに影響を与える。また、図9に示す
「あそぶボタン」Eの操作に伴う操作イベントの発生に
基づいて、活発性指数が0.1ポイントづつインクリメン
トされ、次第に逃げ足が早くなるなどの仮想ペットの振
る舞いに影響を与えたり、仮想ペットの体重を減らして
体格指数をデクリメントして図13に示すようにその外
観に動的な変更を与える。
数などに基づいて決定され、図15に示すように、仮想
ペットの振る舞いに影響を与える。また、図9に示す
「あそぶボタン」Eの操作に伴う操作イベントの発生に
基づいて、活発性指数が0.1ポイントづつインクリメン
トされ、次第に逃げ足が早くなるなどの仮想ペットの振
る舞いに影響を与えたり、仮想ペットの体重を減らして
体格指数をデクリメントして図13に示すようにその外
観に動的な変更を与える。
【0151】機嫌指数は、図9に示す「呼ぶボタン」A
の操作に伴うアクセスイベントやタイマーイベントに基
づくアクセス頻度などに基づいて決定され、図14に示
すように、仮想ペットの表情に影響を与える。
の操作に伴うアクセスイベントやタイマーイベントに基
づくアクセス頻度などに基づいて決定され、図14に示
すように、仮想ペットの表情に影響を与える。
【0152】一方、図8に示す成長パラメータ管理テー
ブルの飼い主データは、飼い主の氏名、飼い主への連絡
手段(連絡方法)、および、その連絡先からなる。
ブルの飼い主データは、飼い主の氏名、飼い主への連絡
手段(連絡方法)、および、その連絡先からなる。
【0153】連絡手段が0の場合、飼い主への連絡は、
インターネット7経由の電子メールによるメッセージ文
によって行われる。連絡手段が1の場合は通常のアナロ
グ音声の電話機18に対して、コミュニケーションサー
バ16でメッセージ文のテキストデータを自動読み上げ
ツールで音声に変換して通知する。連絡手段が2の場合
は、PIAFS(PHSインターネットアクセスフォーラム標準)
のデータ伝送方式に準拠した電子メールサービスを利用
し、メッセージ文によってPHS端末23へ通知する。連
絡手段が3の場合は、ファクシミリ19に対して文書で
通知する。連絡手段が4の場合は、ポケットベル端末2
4に対してメッセージ文で通知する。
インターネット7経由の電子メールによるメッセージ文
によって行われる。連絡手段が1の場合は通常のアナロ
グ音声の電話機18に対して、コミュニケーションサー
バ16でメッセージ文のテキストデータを自動読み上げ
ツールで音声に変換して通知する。連絡手段が2の場合
は、PIAFS(PHSインターネットアクセスフォーラム標準)
のデータ伝送方式に準拠した電子メールサービスを利用
し、メッセージ文によってPHS端末23へ通知する。連
絡手段が3の場合は、ファクシミリ19に対して文書で
通知する。連絡手段が4の場合は、ポケットベル端末2
4に対してメッセージ文で通知する。
【0154】このような飼い主データを管理するのは、
後述する既存の通信インフラストラクチャを利用した飼
い主への通知機能や、既存の通信インフラストラクチャ
を利用した仮想ペットへの簡易的な操作機能を実現する
為である。
後述する既存の通信インフラストラクチャを利用した飼
い主への通知機能や、既存の通信インフラストラクチャ
を利用した仮想ペットへの簡易的な操作機能を実現する
為である。
【0155】以上のシステムをまとめると、次のように
なる。すなわち、共有仮想空間内に存在する仮想生命オ
ブジェクトの、所定イベント(ユーザの操作又は時間経
過に伴うイベント)の発生に応じて変化する成長パラメ
ータ(外観的成長または内面的成長(個性))をAOサ
ーバ13で管理し、このAOサーバ13から転送された
成長パラメータに基づいて、クライアントPC1,2
で、仮想生命オブジェクトの外観(形状、姿勢、サイズ
または色)又は挙動シーケンスの内の何れか一方もしく
は双方を動的に変更するスクリプト(プログラム)を解
釈し、成長パラメータに応じた仮想生命オブジェクトを
表示する。
なる。すなわち、共有仮想空間内に存在する仮想生命オ
ブジェクトの、所定イベント(ユーザの操作又は時間経
過に伴うイベント)の発生に応じて変化する成長パラメ
ータ(外観的成長または内面的成長(個性))をAOサ
ーバ13で管理し、このAOサーバ13から転送された
成長パラメータに基づいて、クライアントPC1,2
で、仮想生命オブジェクトの外観(形状、姿勢、サイズ
または色)又は挙動シーケンスの内の何れか一方もしく
は双方を動的に変更するスクリプト(プログラム)を解
釈し、成長パラメータに応じた仮想生命オブジェクトを
表示する。
【0156】共有仮想空間内に存在する仮想生命オブジ
ェクトの自律的な挙動を管理するAOサーバ13に、仮
想生命オブジェクトの、所定イベント(ユーザの操作又
は時間経過に伴うイベント)の発生に応じて変化する成
長パラメータを管理する管理テーブルを設け、クライア
ントからの要求または所定イベントの発生に応じて管理
テーブルから読み出した成長パラメータを、要求元また
はその他のクライアントの内の何れか一方もしくは双方
のクライアントへ返送する。
ェクトの自律的な挙動を管理するAOサーバ13に、仮
想生命オブジェクトの、所定イベント(ユーザの操作又
は時間経過に伴うイベント)の発生に応じて変化する成
長パラメータを管理する管理テーブルを設け、クライア
ントからの要求または所定イベントの発生に応じて管理
テーブルから読み出した成長パラメータを、要求元また
はその他のクライアントの内の何れか一方もしくは双方
のクライアントへ返送する。
【0157】成長パラメータは、上述したように、仮想
生命オブジェクトの誕生からの所定イベント(ユーザの
操作又は時間経過に伴うイベント)の発生に基づいて算
出される、外観的な成長度合いを示す値である。従っ
て、例えば、よちよち歩きの赤ん坊から立派な大人を経
て老人になるまでの年齢に応じた仮想生物や仮想ペット
(AO)の外観上の変化が外観的成長パラメータで規定
される。
生命オブジェクトの誕生からの所定イベント(ユーザの
操作又は時間経過に伴うイベント)の発生に基づいて算
出される、外観的な成長度合いを示す値である。従っ
て、例えば、よちよち歩きの赤ん坊から立派な大人を経
て老人になるまでの年齢に応じた仮想生物や仮想ペット
(AO)の外観上の変化が外観的成長パラメータで規定
される。
【0158】成長パラメータは、仮想生命オブジェクト
に対する所定イベント(ユーザの操作又は時間経過に伴
うイベント)の発生に起因して算出される、内面的成長
度合い(性格)を示す値でもある。例えば、社交的で明
るく積極的な性格の仮想生命オブジェクトは姿勢も顔色
も良くなり、逆に内向的で暗く消極的な性格の仮想生命
オブジェクトは姿勢も顔色も悪くなるなどの性格に応じ
た仮想生物や仮想ペット(AO)の変化が内面的成長パ
ラメータで規定される。
に対する所定イベント(ユーザの操作又は時間経過に伴
うイベント)の発生に起因して算出される、内面的成長
度合い(性格)を示す値でもある。例えば、社交的で明
るく積極的な性格の仮想生命オブジェクトは姿勢も顔色
も良くなり、逆に内向的で暗く消極的な性格の仮想生命
オブジェクトは姿勢も顔色も悪くなるなどの性格に応じ
た仮想生物や仮想ペット(AO)の変化が内面的成長パ
ラメータで規定される。
【0159】内面的成長パラメータは、仮想生命オブジ
ェクトに対するイベントの種類に応じて異なる値が算出
され、内面的成長度合いの値が更新される。AOサーバ
13側で仮想ペットなどの性格を管理する場合、各クラ
イアントから伝送されて来るメッセージの種類に応じ
て、例えば、チャットで話かけられる毎に成長パラメー
タの所定の指数が0.1ポイント加算され、「ほめるボタ
ン」Dが押されてほめられる毎に0.2ポイント加算さ
れ、「しかるボタン」Fが押されて叱り付けられる毎に
0.2ポイント減算される等の所定の加減剰余の成長計
算式に基づいて算出される。
ェクトに対するイベントの種類に応じて異なる値が算出
され、内面的成長度合いの値が更新される。AOサーバ
13側で仮想ペットなどの性格を管理する場合、各クラ
イアントから伝送されて来るメッセージの種類に応じ
て、例えば、チャットで話かけられる毎に成長パラメー
タの所定の指数が0.1ポイント加算され、「ほめるボタ
ン」Dが押されてほめられる毎に0.2ポイント加算さ
れ、「しかるボタン」Fが押されて叱り付けられる毎に
0.2ポイント減算される等の所定の加減剰余の成長計
算式に基づいて算出される。
【0160】共有仮想空間内における仮想生命オブジェ
クトの自律的な挙動を管理するAOサーバ13に、各仮
想生命オブジェクトの成長度合い示す成長パラメータ管
理テーブルを設け、各仮想生命オブジェクトの誕生日時
を保持し、この時点からの経過時間に基づいて、各仮想
生命オブジェクトの年齢に応じた成長パラメータを算出
し、管理テーブルを更新する。
クトの自律的な挙動を管理するAOサーバ13に、各仮
想生命オブジェクトの成長度合い示す成長パラメータ管
理テーブルを設け、各仮想生命オブジェクトの誕生日時
を保持し、この時点からの経過時間に基づいて、各仮想
生命オブジェクトの年齢に応じた成長パラメータを算出
し、管理テーブルを更新する。
【0161】共有仮想空間内における複数の仮想生命オ
ブジェクトの自律的な挙動を各々独立して管理するAO
サーバ13(単一のAOサーバ13で複数の成長パラメ
ータ管理テーブルを管理してもよく、複数のAOサーバ
13,14で各々管理しても良い)を設け、それぞれの
仮想生命オブジェクトの成長度合い示す成長パラメータ
管理テーブルを各々別個に設けて、各仮想生命オブジェ
クトの成長パラメータを独立して管理することができ
る。
ブジェクトの自律的な挙動を各々独立して管理するAO
サーバ13(単一のAOサーバ13で複数の成長パラメ
ータ管理テーブルを管理してもよく、複数のAOサーバ
13,14で各々管理しても良い)を設け、それぞれの
仮想生命オブジェクトの成長度合い示す成長パラメータ
管理テーブルを各々別個に設けて、各仮想生命オブジェ
クトの成長パラメータを独立して管理することができ
る。
【0162】その他、種々の応用例が考えられる。
【0163】例えば、共有仮想空間における仮想生命オ
ブジェクトの自律的な挙動を管理するAOサーバ13
に、各仮想生命オブジェクトにアクセスしたクライアン
トのID(ユーザが設定した仮想生命オブジェクトのニ
ックネーム等)を管理する管理テーブル(成長管理テー
ブルに、そのような管理項目を追加してもよいし、独立
した管理テーブルとしてもよい。以下同様)を設け、こ
のIDのクライアントからのアクセスに応じて親密な感
情表現を示すイベントを起動するようにしてもよい。こ
のように、AOサーバ13側で親密度(アクセスの回数
とその内容)を保持しておくことにより、飼い主がワー
ルド(共有仮想空間)に入るとそばに近寄ってくるペッ
ト(仮想生命)オブジェクトを実現することができる。
ブジェクトの自律的な挙動を管理するAOサーバ13
に、各仮想生命オブジェクトにアクセスしたクライアン
トのID(ユーザが設定した仮想生命オブジェクトのニ
ックネーム等)を管理する管理テーブル(成長管理テー
ブルに、そのような管理項目を追加してもよいし、独立
した管理テーブルとしてもよい。以下同様)を設け、こ
のIDのクライアントからのアクセスに応じて親密な感
情表現を示すイベントを起動するようにしてもよい。こ
のように、AOサーバ13側で親密度(アクセスの回数
とその内容)を保持しておくことにより、飼い主がワー
ルド(共有仮想空間)に入るとそばに近寄ってくるペッ
ト(仮想生命)オブジェクトを実現することができる。
【0164】仮想生命オブジェクトをセットまたはリセ
ットしたクライアントのIDを、その仮想生命オブジェ
クトの飼い主として、成長パラメータ管理テーブルに格
納し、仮想生命オブジェクトの寿命が尽きるまで、ID
の更新を不可とすると共に、寿命が尽きた時点でIDを
消去するようにしてもよい。これにより、仮想生命オブ
ジェクトを誕生(セット)させた飼い主に忠誠を尽くす
誠実型ペットを実現することができる。さらに、寿命が
尽きた(リセットされた)時点で、自動的にその仮想生
命オブジェクトの子供を誕生させ、その子供に同じ飼い
主のIDを飼い主として初期設定させるようにしても良
い。これにより、その仮想ペットの子孫も先祖の飼い主
になつくことになる。
ットしたクライアントのIDを、その仮想生命オブジェ
クトの飼い主として、成長パラメータ管理テーブルに格
納し、仮想生命オブジェクトの寿命が尽きるまで、ID
の更新を不可とすると共に、寿命が尽きた時点でIDを
消去するようにしてもよい。これにより、仮想生命オブ
ジェクトを誕生(セット)させた飼い主に忠誠を尽くす
誠実型ペットを実現することができる。さらに、寿命が
尽きた(リセットされた)時点で、自動的にその仮想生
命オブジェクトの子供を誕生させ、その子供に同じ飼い
主のIDを飼い主として初期設定させるようにしても良
い。これにより、その仮想ペットの子孫も先祖の飼い主
になつくことになる。
【0165】仮想生命オブジェクトをセットまたはリセ
ットしたクライアントの履歴を管理する履歴管理テーブ
ルをAOサーバ13に設け、クライアントからのアクセ
ス頻度に応じて、アクセス頻度の高いクライアント程、
より親密な感情表現を示す挙動シーケンスを起動させる
ことができる。逆に、アクセス頻度が少ないと、親密度
が薄れ、アクセス頻度で親密度が変化する浮気型ペット
が実現される。
ットしたクライアントの履歴を管理する履歴管理テーブ
ルをAOサーバ13に設け、クライアントからのアクセ
ス頻度に応じて、アクセス頻度の高いクライアント程、
より親密な感情表現を示す挙動シーケンスを起動させる
ことができる。逆に、アクセス頻度が少ないと、親密度
が薄れ、アクセス頻度で親密度が変化する浮気型ペット
が実現される。
【0166】共有仮想空間内でのクライアントの位置に
対応して仮想生命オブジェクトの移動を制御すれば、共
有仮想空間にクライアント(飼い主)が入ってきたと
き、仮想生命オブジェクトがその目の前にすぐに現れ、
飼い主についてまわる仮想生命オブジェクトを実現する
ことができる。
対応して仮想生命オブジェクトの移動を制御すれば、共
有仮想空間にクライアント(飼い主)が入ってきたと
き、仮想生命オブジェクトがその目の前にすぐに現れ、
飼い主についてまわる仮想生命オブジェクトを実現する
ことができる。
【0167】クライアントが共有仮想空間にアクセスし
ていない間、仮想生命オブジェクトを定期的に共有仮想
空間内に出現させて徘徊させ、そのときのイベント(例
えば、他のクライアントから食事を与えられたという体
験、仮想物体オブジェクトを拾ったという経験)を、仮
想生命オブジェクトからテキストベースでのチャットウ
ィンドウを介してクライアントへ体験報告させるように
することで、親密な感情表現を行うことができる。
ていない間、仮想生命オブジェクトを定期的に共有仮想
空間内に出現させて徘徊させ、そのときのイベント(例
えば、他のクライアントから食事を与えられたという体
験、仮想物体オブジェクトを拾ったという経験)を、仮
想生命オブジェクトからテキストベースでのチャットウ
ィンドウを介してクライアントへ体験報告させるように
することで、親密な感情表現を行うことができる。
【0168】共有仮想空間内でのイベントを、仮想生命
オブジェクトから音声チャットを介してクライアントへ
体験報告することで、親密な感情表現を行うようにして
もよい。テキスト読み上げソフトによるテキスト/音声
変換によりアナログ音声メッセージとして音声チャット
機能を介して通知してもよく、また、予め何種類かの音
声メッセージをサンプリングし、圧縮してディジタル音
声圧縮データとしてHDD(AOサーバ13側またはクラ
イアントPC1側のいずれでもよい)に格納しておい
て、複数の音声メッセージの中から適切な音声メッセー
ジを選択的にHDDから読み出して、伸張した後、音声チ
ャット機能を介してアナログ音声メッセージとして通知
するようにしてもよい。このようなテキストと音声の変
換については、例えば特開平7−105848号公報に
開示されている技術を用いることができる。
オブジェクトから音声チャットを介してクライアントへ
体験報告することで、親密な感情表現を行うようにして
もよい。テキスト読み上げソフトによるテキスト/音声
変換によりアナログ音声メッセージとして音声チャット
機能を介して通知してもよく、また、予め何種類かの音
声メッセージをサンプリングし、圧縮してディジタル音
声圧縮データとしてHDD(AOサーバ13側またはクラ
イアントPC1側のいずれでもよい)に格納しておい
て、複数の音声メッセージの中から適切な音声メッセー
ジを選択的にHDDから読み出して、伸張した後、音声チ
ャット機能を介してアナログ音声メッセージとして通知
するようにしてもよい。このようなテキストと音声の変
換については、例えば特開平7−105848号公報に
開示されている技術を用いることができる。
【0169】次に、既存の通信インフラストラクチャを
利用した飼い主への通知機能や、既存の通信インフラス
トラクチャを利用した仮想ペットへの簡易的な操作機能
について説明する。
利用した飼い主への通知機能や、既存の通信インフラス
トラクチャを利用した仮想ペットへの簡易的な操作機能
について説明する。
【0170】例えば、仮想生命オブジェクトの食欲指数
が高まった場合や、寿命残時間が所定値以下になった時
点で、仮想生命オブジェクト(AOサーバ13)は、成
長パラメータ管理テーブルに予め設定されている連絡手
段(図8)を用いて、飼い主の連絡先へ、その状態が変
化した旨を、メールサーバ15またはコミュニケーショ
ンサーバ16を介して通知する。これにより、飼い主
は、屋外へ外出中であるとか、パーソナルコンピュータ
がうまく動作しないなど、即座にパーソナルコンピュー
タにアクセスできない状況下であっても、自分が育てて
いる仮想ペットの要求を確認し、コミュニケーションを
図ることが可能となる。
が高まった場合や、寿命残時間が所定値以下になった時
点で、仮想生命オブジェクト(AOサーバ13)は、成
長パラメータ管理テーブルに予め設定されている連絡手
段(図8)を用いて、飼い主の連絡先へ、その状態が変
化した旨を、メールサーバ15またはコミュニケーショ
ンサーバ16を介して通知する。これにより、飼い主
は、屋外へ外出中であるとか、パーソナルコンピュータ
がうまく動作しないなど、即座にパーソナルコンピュー
タにアクセスできない状況下であっても、自分が育てて
いる仮想ペットの要求を確認し、コミュニケーションを
図ることが可能となる。
【0171】一方、この種の仮想ペットを飼育するサー
ビスを提供することによって、利益を得るサービスプロ
バイダにとっては、ユーザに対して、そろそろアクセス
しなければならないと言う一種の動機付けを喚起するこ
とができ、定常的なアクセスを確保することで、より健
全な経営状態を維持することが可能となるといった副次
的な効果も得られる。
ビスを提供することによって、利益を得るサービスプロ
バイダにとっては、ユーザに対して、そろそろアクセス
しなければならないと言う一種の動機付けを喚起するこ
とができ、定常的なアクセスを確保することで、より健
全な経営状態を維持することが可能となるといった副次
的な効果も得られる。
【0172】既存の通信インフラストラクチャを利用し
た飼い主への通知機能を実現するための具体例は以下の
通りである。
た飼い主への通知機能を実現するための具体例は以下の
通りである。
【0173】共有仮想空間における仮想生命オブジェク
トの自律的な挙動を管理するサーバのうち、コミュニケ
ーションサーバ16に、各仮想生命オブジェクトの飼い
主である各ユーザへのメッセージ通知手段(通知方法)
の種類と、その通知先を管理するためのコミュニケーシ
ョン管理テーブル(図8の成長パラメータ管理テーブル
の飼い主データに対応するテーブル)を設け、仮想生命
オブジェクトの状態遷移(AOサーバ13からコミュニ
ケーションサーバ16に通知される)に応じて、コミュ
ニケーション管理テーブルに予め登録されている通知手
段を用いて、その通知先へメッセージを送信する。これ
により、共有仮想世界から、現実世界に実際に連絡が行
われる。
トの自律的な挙動を管理するサーバのうち、コミュニケ
ーションサーバ16に、各仮想生命オブジェクトの飼い
主である各ユーザへのメッセージ通知手段(通知方法)
の種類と、その通知先を管理するためのコミュニケーシ
ョン管理テーブル(図8の成長パラメータ管理テーブル
の飼い主データに対応するテーブル)を設け、仮想生命
オブジェクトの状態遷移(AOサーバ13からコミュニ
ケーションサーバ16に通知される)に応じて、コミュ
ニケーション管理テーブルに予め登録されている通知手
段を用いて、その通知先へメッセージを送信する。これ
により、共有仮想世界から、現実世界に実際に連絡が行
われる。
【0174】このコミュニケーション管理テーブルで、
各仮想生命オブジェクトの飼い主である各ユーザを特定
するためのIDと、そのIDのユーザからのアクセス履
歴を管理し、各ユーザからのアクセス履歴に基づいて、
一定期間以上アクセスのないユーザに対して、例えば、
「近ごろ、会いに来てくれないので、さみしい....。」
などのメッセージを送信することができる。
各仮想生命オブジェクトの飼い主である各ユーザを特定
するためのIDと、そのIDのユーザからのアクセス履
歴を管理し、各ユーザからのアクセス履歴に基づいて、
一定期間以上アクセスのないユーザに対して、例えば、
「近ごろ、会いに来てくれないので、さみしい....。」
などのメッセージを送信することができる。
【0175】さらに、各ユーザからのアクセス履歴に基
づいて、複数のメッセージ文例の中から適切なメッセー
ジ文を選択し、この選択したメッセージを送信するよう
にしてもよい。ユーザからのアクセスがあった翌日に
は、仮想生命オブジェクトからユーザに、「昨日は、遊
んでくれてどうもありがとう。また遊ぼうね。」などの
メッセージを送り、1週間アクセスがないと、「忙しい
ですか?たまには、遊びに来て下さい。」などのメッセ
ージを送る。
づいて、複数のメッセージ文例の中から適切なメッセー
ジ文を選択し、この選択したメッセージを送信するよう
にしてもよい。ユーザからのアクセスがあった翌日に
は、仮想生命オブジェクトからユーザに、「昨日は、遊
んでくれてどうもありがとう。また遊ぼうね。」などの
メッセージを送り、1週間アクセスがないと、「忙しい
ですか?たまには、遊びに来て下さい。」などのメッセ
ージを送る。
【0176】仮想生命オブジェクトの状態遷移を、成長
パラメータ管理テーブルの更新内容に基づいて検出し、
複数のメッセージ文例の中から適切なメッセージ文を選
択し、この選択したメッセージを送信することができ
る。例えば、食事が沢山与えられた翌日には、「まだ、
おなかがいっぱいだよ〜。」などのメッセージを送り、
1週間アクセスがないと、「おなかが空いて死にそうだ
よ〜。」などのメッセージを送る。1週間で1歳年を取
るシナリオとした場合は、毎週、誕生日が来て年を取る
毎に、「私は今日で10歳になりました。成長した姿を
みに来て下さい。」などのメッセージを送り、寿命が残
り少なくなると、「そろそろ遠い所へ旅立たなければな
りません、最後を見とどけに来てください。」などのメ
ッセージを送る。
パラメータ管理テーブルの更新内容に基づいて検出し、
複数のメッセージ文例の中から適切なメッセージ文を選
択し、この選択したメッセージを送信することができ
る。例えば、食事が沢山与えられた翌日には、「まだ、
おなかがいっぱいだよ〜。」などのメッセージを送り、
1週間アクセスがないと、「おなかが空いて死にそうだ
よ〜。」などのメッセージを送る。1週間で1歳年を取
るシナリオとした場合は、毎週、誕生日が来て年を取る
毎に、「私は今日で10歳になりました。成長した姿を
みに来て下さい。」などのメッセージを送り、寿命が残
り少なくなると、「そろそろ遠い所へ旅立たなければな
りません、最後を見とどけに来てください。」などのメ
ッセージを送る。
【0177】コミュニケーション管理テーブルのうち、
電子メールに関する部分のテーブルをメールサーバ15
に設け、メールサーバ15のコミュニケーション管理テ
ーブルで、各仮想生命オブジェクトの飼い主である各ユ
ーザの電子メールアドレス(ユーザを特定するIDも兼
ねる)に対してテキストによるメッセージを送信するこ
とができる。
電子メールに関する部分のテーブルをメールサーバ15
に設け、メールサーバ15のコミュニケーション管理テ
ーブルで、各仮想生命オブジェクトの飼い主である各ユ
ーザの電子メールアドレス(ユーザを特定するIDも兼
ねる)に対してテキストによるメッセージを送信するこ
とができる。
【0178】インターネット7を経由する電子メール以
外に、PIAFS(PHS Internet AccessForum Standard)方式
や、αDATA32方式対応PHSで電子メールサービスを受け
られるPHS端末23や、ページャ(ポケットベル端末2
4)などに対して、コミュニケーションサーバ16から
公衆電話回線網17を介してメッセージを通知し、それ
らのLCD上にメッセージを表示させるようにしてもよ
い。
外に、PIAFS(PHS Internet AccessForum Standard)方式
や、αDATA32方式対応PHSで電子メールサービスを受け
られるPHS端末23や、ページャ(ポケットベル端末2
4)などに対して、コミュニケーションサーバ16から
公衆電話回線網17を介してメッセージを通知し、それ
らのLCD上にメッセージを表示させるようにしてもよ
い。
【0179】あるいは、コミュニケーション管理テーブ
ルで、各仮想生命オブジェクトの飼い主である各ユーザ
の通知先電話番号(ユーザを特定するIDも兼ねる)を
管理し、コミュニケーションサーバ16からこの電話番
号に対して自動発信して、音声によるメッセージを送信
することもできる。この場合、テキスト読み上げソフト
によるテキスト/音声変換によりアナログ音声メッセー
ジとして通常の電話機8や携帯電話機(PHS端末23)
を介して通知してもよく、また、予め何種類かの音声メ
ッセージをサンプリングし、圧縮してディジタル音声圧
縮データとしてHDDに格納しておいて、複数の音声メッ
セージの中から適切な音声メッセージを選択的にHDDか
ら読み出して、伸張した後、アナログ音声メッセージと
して通知するようにしてもよい。
ルで、各仮想生命オブジェクトの飼い主である各ユーザ
の通知先電話番号(ユーザを特定するIDも兼ねる)を
管理し、コミュニケーションサーバ16からこの電話番
号に対して自動発信して、音声によるメッセージを送信
することもできる。この場合、テキスト読み上げソフト
によるテキスト/音声変換によりアナログ音声メッセー
ジとして通常の電話機8や携帯電話機(PHS端末23)
を介して通知してもよく、また、予め何種類かの音声メ
ッセージをサンプリングし、圧縮してディジタル音声圧
縮データとしてHDDに格納しておいて、複数の音声メッ
セージの中から適切な音声メッセージを選択的にHDDか
ら読み出して、伸張した後、アナログ音声メッセージと
して通知するようにしてもよい。
【0180】コミュニケーション管理テーブルで、各仮
想生命オブジェクトの飼い主である各ユーザの通知先フ
ァクシミリ電話番号(ユーザを特定するIDも兼ねる)
を管理し、コミュニケーションサーバ16からこの電話
番号に対して自動発信して、ファクシミリ19にメッセ
ージを送信してもい。
想生命オブジェクトの飼い主である各ユーザの通知先フ
ァクシミリ電話番号(ユーザを特定するIDも兼ねる)
を管理し、コミュニケーションサーバ16からこの電話
番号に対して自動発信して、ファクシミリ19にメッセ
ージを送信してもい。
【0181】さらに、上述した仮想ペットからのメッセ
ージの通知を受けた電話機18等の端末を用いて、この
端末から、自分の仮想ペットに対して、簡易的な操作を
行なうことで、双方向のコミュニケーションを図ること
が可能となる。
ージの通知を受けた電話機18等の端末を用いて、この
端末から、自分の仮想ペットに対して、簡易的な操作を
行なうことで、双方向のコミュニケーションを図ること
が可能となる。
【0182】既存の通信インフラストラクチャを利用し
て、仮想ペットへの簡易的な操作機能を実現するための
具体例は以下の通りである。
て、仮想ペットへの簡易的な操作機能を実現するための
具体例は以下の通りである。
【0183】例えば、共有サーバ12は、ユーザからPH
S端末23、電話機18などを介してユーザを特定する
IDを伴って(CallerID等)返送されてくる操作コマ
ンドを解釈し、対応する仮想生命オブジェクトへのメッ
セージとして認識し、AOサーバ13に通知して、仮想
生命オブジェクトの状態遷移(成長パラメータの更新)
へ反映させることができる。
S端末23、電話機18などを介してユーザを特定する
IDを伴って(CallerID等)返送されてくる操作コマ
ンドを解釈し、対応する仮想生命オブジェクトへのメッ
セージとして認識し、AOサーバ13に通知して、仮想
生命オブジェクトの状態遷移(成長パラメータの更新)
へ反映させることができる。
【0184】この返信されてくる操作コマンドとして
は、例えば、電話機18のプッシュボタンが操作される
ことで発信されるDTMF(Dual-tone Multifrequency)信号
を利用することができる。
は、例えば、電話機18のプッシュボタンが操作される
ことで発信されるDTMF(Dual-tone Multifrequency)信号
を利用することができる。
【0185】この他、例えばデネットフォニックコミュ
ニケーションズ社の音声ブラウザWeb-On-Callを用い
て、仮想ペットに対して各種の通知を行うようにするこ
ともできる。この音声ブラウザによれば、通常の電話機
18から音声によってサーバにアクセスすることができ
る。また、この音声ブラウザは、テキスト読み上げ機能
を有しているので、仮想ペットからのメールを音声で聴
くことも可能である。さらに、テキストをファックスや
電子メールで送ることもできる。
ニケーションズ社の音声ブラウザWeb-On-Callを用い
て、仮想ペットに対して各種の通知を行うようにするこ
ともできる。この音声ブラウザによれば、通常の電話機
18から音声によってサーバにアクセスすることができ
る。また、この音声ブラウザは、テキスト読み上げ機能
を有しているので、仮想ペットからのメールを音声で聴
くことも可能である。さらに、テキストをファックスや
電子メールで送ることもできる。
【0186】なお、共有サーバ12、AOサーバ13,
14、メールサーバ15、およびコミュニケーションサ
ーバ16は、各種の機能を分担し、全体的なシステムと
して、各クライアントPCに共有仮想空間を提供するサ
ービスを実現している。
14、メールサーバ15、およびコミュニケーションサ
ーバ16は、各種の機能を分担し、全体的なシステムと
して、各クライアントPCに共有仮想空間を提供するサ
ービスを実現している。
【0187】次に、この共有仮想空間におけるチャット
について説明する。チャットには、パブリックチャット
とパーソナルチャットがある。パブリックチャットにお
いては、共有仮想空間内の所定の位置に位置する1人の
クライアント(ユーザ)が発生したチャットの内容が、
近傍の他のクライアント(他のユーザ)、または共有仮
想空間内の全てのクライアント(全てのユーザ)へ伝達
される。
について説明する。チャットには、パブリックチャット
とパーソナルチャットがある。パブリックチャットにお
いては、共有仮想空間内の所定の位置に位置する1人の
クライアント(ユーザ)が発生したチャットの内容が、
近傍の他のクライアント(他のユーザ)、または共有仮
想空間内の全てのクライアント(全てのユーザ)へ伝達
される。
【0188】これに対して、パーソナルチャットにおい
ては、対象とされる相手が指定される。この指定操作
は、例えば、所定の仮想生命オブジェクトをキーボード
42のシフトキーを押しながらマウスのボタンをクリッ
クすることで行われる。このように、相手が指定された
場合には、そのクリック操作を行ったクライアントが発
生するチャットが、その指定した仮想生命オブジェクト
のユーザに対してのみ伝送される。
ては、対象とされる相手が指定される。この指定操作
は、例えば、所定の仮想生命オブジェクトをキーボード
42のシフトキーを押しながらマウスのボタンをクリッ
クすることで行われる。このように、相手が指定された
場合には、そのクリック操作を行ったクライアントが発
生するチャットが、その指定した仮想生命オブジェクト
のユーザに対してのみ伝送される。
【0189】チャットの内容は、ボイスチャットの場
合、音声信号により伝送され、テキストチャットの場
合、テキストにより伝送される。ボイスチャットの場合
は、マイクロホン36を介して取り込んだ音声データ
が、近傍または指定した仮想生命オブジェクトのクライ
アント(ユーザ)に伝送され、そのクライアントPCの
有するスピーカ37,38から出力される。
合、音声信号により伝送され、テキストチャットの場
合、テキストにより伝送される。ボイスチャットの場合
は、マイクロホン36を介して取り込んだ音声データ
が、近傍または指定した仮想生命オブジェクトのクライ
アント(ユーザ)に伝送され、そのクライアントPCの
有するスピーカ37,38から出力される。
【0190】これに対して、テキストチャットの場合
は、キーボード42を操作することで入力されたテキス
トが、やはり近傍または指定した仮想生命オブジェクト
のクライアントのクライアントPCに伝送される。そし
て、そのテキストは、そのクライアントPCのCRTモニ
タ45上に表示される。
は、キーボード42を操作することで入力されたテキス
トが、やはり近傍または指定した仮想生命オブジェクト
のクライアントのクライアントPCに伝送される。そし
て、そのテキストは、そのクライアントPCのCRTモニ
タ45上に表示される。
【0191】ボイスチャットとテキストチャットのいず
れを行うかは、ユーザが選択することができる。
れを行うかは、ユーザが選択することができる。
【0192】クライアントは、自分が共有仮想空間内に
おいて飼育しようとする仮想ペットを選択するとき、表
示画面中の「MultiUser」の項目をクリックする。この
とき、図17に示すように、メニューバーが表示され
る。クライアントは、この中から「Select Pet」を選択
する。すると、図18に示すように、「View Pet」のウ
インドウが表示され、このウインドウに各種の仮想ペッ
トの画像が表示される。クライアントは、この仮想ペッ
トの中から所望の仮想ペットを選択する。なお、このと
き表示される仮想ペットの画像は、初期状態の画像、す
なわち、誕生するときの画像とされる。上述したよう
に、この仮想ペットの画像は、成長に伴って徐々に変化
していく。そして、選択が完了したとき、クライアント
は、「SELECT」のボタンをマウス41を操作してオンす
る。
おいて飼育しようとする仮想ペットを選択するとき、表
示画面中の「MultiUser」の項目をクリックする。この
とき、図17に示すように、メニューバーが表示され
る。クライアントは、この中から「Select Pet」を選択
する。すると、図18に示すように、「View Pet」のウ
インドウが表示され、このウインドウに各種の仮想ペッ
トの画像が表示される。クライアントは、この仮想ペッ
トの中から所望の仮想ペットを選択する。なお、このと
き表示される仮想ペットの画像は、初期状態の画像、す
なわち、誕生するときの画像とされる。上述したよう
に、この仮想ペットの画像は、成長に伴って徐々に変化
していく。そして、選択が完了したとき、クライアント
は、「SELECT」のボタンをマウス41を操作してオンす
る。
【0193】このようにして、仮想ペットの選択が完了
すると、図19に示すように、仮想ペットに関する情報
を登録する「Registration」のウインドウが表示され
る。クライアントは、ここで、仮想ペットの名称「Pet
nickname」、自分自身(飼い主)の名称「Owner nam
e」、およびアドレスと電話番号「Address/TelephoneN
o.」をキーボード42を操作して入力する。
すると、図19に示すように、仮想ペットに関する情報
を登録する「Registration」のウインドウが表示され
る。クライアントは、ここで、仮想ペットの名称「Pet
nickname」、自分自身(飼い主)の名称「Owner nam
e」、およびアドレスと電話番号「Address/TelephoneN
o.」をキーボード42を操作して入力する。
【0194】さらに、上述した連絡手段または通知手段
としてのコミュニケーションツール「Communication to
ol」を、E-mail,Telephone,PHS-mail,Facsimile,Po
cketbellの中から、選択、指定する。
としてのコミュニケーションツール「Communication to
ol」を、E-mail,Telephone,PHS-mail,Facsimile,Po
cketbellの中から、選択、指定する。
【0195】図20は、このようにして、仮想ペットと
して、例えば猿が選択された場合の表示例を表してい
る。この仮想ペット(猿)は、上述したように、各種の
イベントに対応して更新される成長パラメータに基づい
て成長する。図21は、図20に示した場合より成長し
た状態を表している。図20に示す場合より図21に示
す場合の方が、身体が全体的に大きくなっており、顔も
より大人の顔に変化している。
して、例えば猿が選択された場合の表示例を表してい
る。この仮想ペット(猿)は、上述したように、各種の
イベントに対応して更新される成長パラメータに基づい
て成長する。図21は、図20に示した場合より成長し
た状態を表している。図20に示す場合より図21に示
す場合の方が、身体が全体的に大きくなっており、顔も
より大人の顔に変化している。
【0196】このようにして、より現実に近い変化を共
有仮想空間において楽しむことができる。
有仮想空間において楽しむことができる。
【0197】次に、クライアントPCのCRTモニタに表
示される具体的な表示例を参照しながら、名刺交換とメ
ール交換の動作について説明する。図22は、例えばク
ライアントPC1から共有サーバ12にアクセスした場
合に提供される3次元共有仮想空間の鳥瞰的な表示例を
表している。図23は、3次元共有仮想空間の一部を側
面上方から見下ろした画像が表示されている。
示される具体的な表示例を参照しながら、名刺交換とメ
ール交換の動作について説明する。図22は、例えばク
ライアントPC1から共有サーバ12にアクセスした場
合に提供される3次元共有仮想空間の鳥瞰的な表示例を
表している。図23は、3次元共有仮想空間の一部を側
面上方から見下ろした画像が表示されている。
【0198】このような、3次元共有仮想空間において
メール交換を行うには、第1段階として名刺交換(送信
相手のメールアドレスを必要としない)を行う必要があ
る。その後、第2段階であるメール交換(送信相手のメ
ールアドレスを必要とする)を行うことができる。ここ
における名刺とは、クライアントが仮想空間において所
有するカードのことであり、そこには、クライアントの
名前、飼育する仮想ペットの名前、名刺を置いた時刻、
および短い通信文を記入することができる。さらに、名
刺はメール交換するとき必要なメールアドレス情報を保
持している。
メール交換を行うには、第1段階として名刺交換(送信
相手のメールアドレスを必要としない)を行う必要があ
る。その後、第2段階であるメール交換(送信相手のメ
ールアドレスを必要とする)を行うことができる。ここ
における名刺とは、クライアントが仮想空間において所
有するカードのことであり、そこには、クライアントの
名前、飼育する仮想ペットの名前、名刺を置いた時刻、
および短い通信文を記入することができる。さらに、名
刺はメール交換するとき必要なメールアドレス情報を保
持している。
【0199】第1段階である名刺交換において、名刺を
出すクライアントは、名刺を受け取るクライアントが飼
育する仮想ペットを介して、自分の名刺を相手のクライ
アントに渡す。
出すクライアントは、名刺を受け取るクライアントが飼
育する仮想ペットを介して、自分の名刺を相手のクライ
アントに渡す。
【0200】名刺交換において、名刺を出すクライアン
トと名刺を受け取るクライアントの関係は、次に示す3
つの場合がある。すなわち、クライアントAが共有仮想
空間に同時にアクセスしているクライアントBに対して
名刺を渡す場合、クライアントAが同時に共有仮想空間
にアクセスしていないクライアントCに対して名刺を渡
す場合、およびクライアントAが不特定のクライアント
Dに対して名刺を渡す(受信相手を指定しないで名刺を
配る)場合である。
トと名刺を受け取るクライアントの関係は、次に示す3
つの場合がある。すなわち、クライアントAが共有仮想
空間に同時にアクセスしているクライアントBに対して
名刺を渡す場合、クライアントAが同時に共有仮想空間
にアクセスしていないクライアントCに対して名刺を渡
す場合、およびクライアントAが不特定のクライアント
Dに対して名刺を渡す(受信相手を指定しないで名刺を
配る)場合である。
【0201】第2段階であるメール交換において、クラ
イアントは、名刺を渡された(メールアドレスを知るこ
とができた)クライアントに対してメールを送信するこ
とができる。
イアントは、名刺を渡された(メールアドレスを知るこ
とができた)クライアントに対してメールを送信するこ
とができる。
【0202】初めに、例えば、図24に示すように、ク
ライアントA1が図22と図23に示した共有仮想空間
に同時にアクセスしているクライアントB1に対して名
刺を渡し、クライアントB1が返信を行う動作につい
て、図25のフローチャートを参照して説明する。な
お、図24に示すように、クライアントA1に対応する
アバタA2とクライアントB1に対応するアバタB2は、
それぞれ飼育する仮想ペットA3,B3を伴っている。
ライアントA1が図22と図23に示した共有仮想空間
に同時にアクセスしているクライアントB1に対して名
刺を渡し、クライアントB1が返信を行う動作につい
て、図25のフローチャートを参照して説明する。な
お、図24に示すように、クライアントA1に対応する
アバタA2とクライアントB1に対応するアバタB2は、
それぞれ飼育する仮想ペットA3,B3を伴っている。
【0203】ステップS11において、クライアントB
1はクライアントA1に、上述したパーソナルチャットを
用いて、図26のメインウィンドウMWの右側に隣接し
て表示されるチャットログ欄CLに示すように、例えば
「名刺を下さい」と送信する。
1はクライアントA1に、上述したパーソナルチャットを
用いて、図26のメインウィンドウMWの右側に隣接し
て表示されるチャットログ欄CLに示すように、例えば
「名刺を下さい」と送信する。
【0204】なお、この例の場合、アバタA2の名前はn
aito、アバタB2の名前はuenoであり、以後の例におい
ても同様とする。
aito、アバタB2の名前はuenoであり、以後の例におい
ても同様とする。
【0205】ここで、図26に表示されているメインウ
ィンドウMW以外の表示について説明する。チャットロ
グ欄CLには、上述したようにチャットの内容が表示さ
れる。
ィンドウMW以外の表示について説明する。チャットロ
グ欄CLには、上述したようにチャットの内容が表示さ
れる。
【0206】チャットログ欄CLの上側に表示されるAc
tionパネルのボタンをクリックすることにより、自分の
アバタに所定の動作(アニメーション表示)をさせるこ
とができる。すなわち、「Hallo」ボタンHをクリック
することにより、アバタが出会いの挨拶をする動作を行
う。「Smile」ボタンIをクリックすることにより、ア
バタが笑う動作を行う。「Wao!」ボタンJをクリックす
ることにより、アバタが驚いた動作を行う。「Umm..」
ボタンKをクリックすることにより、アバタが悲しむ動
作を行う。「Wooo!!」ボタンLをクリックすることによ
り、アバタが怒る動作を行う。「Bye」ボタンMをクリ
ックすることにより、アバタが別れの挨拶をする動作を
行う。
tionパネルのボタンをクリックすることにより、自分の
アバタに所定の動作(アニメーション表示)をさせるこ
とができる。すなわち、「Hallo」ボタンHをクリック
することにより、アバタが出会いの挨拶をする動作を行
う。「Smile」ボタンIをクリックすることにより、ア
バタが笑う動作を行う。「Wao!」ボタンJをクリックす
ることにより、アバタが驚いた動作を行う。「Umm..」
ボタンKをクリックすることにより、アバタが悲しむ動
作を行う。「Wooo!!」ボタンLをクリックすることによ
り、アバタが怒る動作を行う。「Bye」ボタンMをクリ
ックすることにより、アバタが別れの挨拶をする動作を
行う。
【0207】メインウィンドウMWの下側に表示される
コントロールパネルのボタンをクリックすることによ
り、所定の処理、または所定の設定を行うことができ
る。すなわち、持ち物ボタンNをクリックすることによ
り、所持している持ち物(アイテム)の一覧を表示する
ことができる。名刺ボタンOをクリックすることによ
り、所持している名刺の一覧(名刺入れホルダ)を表示
することができる。ポストボタンPをクリックすること
により、受信したメールの一覧を表示することができ
る。金槌ボタンQをクリックすることにより、ユーザ設
定ウィンドウ(アバタのニックネーム等を設定するウィ
ンドウ)を表示することができる。透明人間ボタンRを
クリックすることにより、他のクライアントから自分の
アバタを見えなくすることができる。視点切換ボタンS
をクリックすることにより、メインウィンドウの表示
を、アバタの視点から見た画像、またはアバタの後方に
ある第3者の視点から見た画像のいずれかに交互に切り
換えることができる。
コントロールパネルのボタンをクリックすることによ
り、所定の処理、または所定の設定を行うことができ
る。すなわち、持ち物ボタンNをクリックすることによ
り、所持している持ち物(アイテム)の一覧を表示する
ことができる。名刺ボタンOをクリックすることによ
り、所持している名刺の一覧(名刺入れホルダ)を表示
することができる。ポストボタンPをクリックすること
により、受信したメールの一覧を表示することができ
る。金槌ボタンQをクリックすることにより、ユーザ設
定ウィンドウ(アバタのニックネーム等を設定するウィ
ンドウ)を表示することができる。透明人間ボタンRを
クリックすることにより、他のクライアントから自分の
アバタを見えなくすることができる。視点切換ボタンS
をクリックすることにより、メインウィンドウの表示
を、アバタの視点から見た画像、またはアバタの後方に
ある第3者の視点から見た画像のいずれかに交互に切り
換えることができる。
【0208】ステップS12において、クライアントA
1は、チャットを用いてクライアントB1に、例えば「名
刺を置きます」と送信する。この操作に対応して図26
に示したように、チャットログ欄CLには、「名刺を置
きます」の文字が表示される。その後、クライアントA
1は、図27に示すように、コントロールパネルの名刺
ボタンOをクリックして名刺入れホルダHLを開き、名
刺入れホルダHLの中の自分の名刺を指定した後に、
「置く」ボタンHLB2をクリックする。この操作によ
り、図27のメインウィンドウ(アバタAの視点)MW
に示すように、クライアントA1の名刺A4が共有仮想空
間に配置される。
1は、チャットを用いてクライアントB1に、例えば「名
刺を置きます」と送信する。この操作に対応して図26
に示したように、チャットログ欄CLには、「名刺を置
きます」の文字が表示される。その後、クライアントA
1は、図27に示すように、コントロールパネルの名刺
ボタンOをクリックして名刺入れホルダHLを開き、名
刺入れホルダHLの中の自分の名刺を指定した後に、
「置く」ボタンHLB2をクリックする。この操作によ
り、図27のメインウィンドウ(アバタAの視点)MW
に示すように、クライアントA1の名刺A4が共有仮想空
間に配置される。
【0209】なお、名刺入れホルダHLには、この他、
名刺を捨てるとき操作される「捨てる」ボタンHL
B1、メールを行うとき操作されるボタンHLB3、およ
び名刺入れホルダHLを閉じるとき操作される「閉じ
る」ボタンHLB4も設けられている。
名刺を捨てるとき操作される「捨てる」ボタンHL
B1、メールを行うとき操作されるボタンHLB3、およ
び名刺入れホルダHLを閉じるとき操作される「閉じ
る」ボタンHLB4も設けられている。
【0210】ステップS13において、クライアントB
1は、共有仮想空間に置かれたクライアントA1の名刺A
4をマウスでクリックする。この操作により、クライア
ントB1の飼っている仮想ペットB3はクライアントA1
の名刺A4を拾いに行く。名刺A4が拾われたとき、その
情報はクライアントB1に送信される。
1は、共有仮想空間に置かれたクライアントA1の名刺A
4をマウスでクリックする。この操作により、クライア
ントB1の飼っている仮想ペットB3はクライアントA1
の名刺A4を拾いに行く。名刺A4が拾われたとき、その
情報はクライアントB1に送信される。
【0211】ステップS14において、仮想ペットB3
は、飼い主であるクライアントB1が、拾った名刺A4を
既に所持しているか否か(所持している名刺は、HDD3
1に記憶されているので、HDD31に記憶されているか否
か)を判定し、拾った名刺A4を飼い主が所持していな
いと判定した場合、ステップS15に進む。
は、飼い主であるクライアントB1が、拾った名刺A4を
既に所持しているか否か(所持している名刺は、HDD3
1に記憶されているので、HDD31に記憶されているか否
か)を判定し、拾った名刺A4を飼い主が所持していな
いと判定した場合、ステップS15に進む。
【0212】ステップS15において、仮想ペットB3
は、拾った名刺A4を飼い主のアバタB2(クライアント
B1)に届ける。仮想ペットB3から名刺A4を届けられ
たクライアントB1の名刺入れホルダHLには、クライ
アントA1の名刺A4(naitoの名刺)が追加される。
は、拾った名刺A4を飼い主のアバタB2(クライアント
B1)に届ける。仮想ペットB3から名刺A4を届けられ
たクライアントB1の名刺入れホルダHLには、クライ
アントA1の名刺A4(naitoの名刺)が追加される。
【0213】ステップS16において、クライアントB
1は、図28に示すように、コントロールパネルの名刺
ボタンOをクリックして名刺入れホルダHLを開き、名
刺入れホルダHLの中に追加されたクライアントA1の
名刺A4を指定して、「メール」ボタンHLB3をクリッ
クする。この操作により、図28に示すように、クライ
アントA1の名刺A4の内容を表したウィンドウW1が表
示される。
1は、図28に示すように、コントロールパネルの名刺
ボタンOをクリックして名刺入れホルダHLを開き、名
刺入れホルダHLの中に追加されたクライアントA1の
名刺A4を指定して、「メール」ボタンHLB3をクリッ
クする。この操作により、図28に示すように、クライ
アントA1の名刺A4の内容を表したウィンドウW1が表
示される。
【0214】ステップS17において、クライアントB
1は、名刺に対する返信メールを送信するために、表示
された名刺の「メールする」ボタンWB11をクリックす
る。この操作により、図29に示すように、メール交換
ウィンドウW2が開かれる。このとき、メール交換ウィ
ンドウW2の送り先の欄には、クライアントA1の名刺A
4から参照されたクライアントA1の名前とメールアドレ
スとして”naito(170063)”が自動的に記載されてお
り、差出人の欄には、クライアントB1の名前とメール
アドレスとして”ueno(170049)”が自動的に記載され
る。メールアドレスは、図8に示すように、成長パラメ
ータ管理テーブルに保存されているものが参照される。
1は、名刺に対する返信メールを送信するために、表示
された名刺の「メールする」ボタンWB11をクリックす
る。この操作により、図29に示すように、メール交換
ウィンドウW2が開かれる。このとき、メール交換ウィ
ンドウW2の送り先の欄には、クライアントA1の名刺A
4から参照されたクライアントA1の名前とメールアドレ
スとして”naito(170063)”が自動的に記載されてお
り、差出人の欄には、クライアントB1の名前とメール
アドレスとして”ueno(170049)”が自動的に記載され
る。メールアドレスは、図8に示すように、成長パラメ
ータ管理テーブルに保存されているものが参照される。
【0215】クライアントB1は、図30のメール交換
ウィンドウW2に示すように、表題および本文として、
例えば「ホームページ更新しました」、「ご無沙汰して
ます。お元気でしょうか?久しぶりにホームページの内
容を更新しました。・・・」と入力し、メール交換ウィ
ンドウW2の「伝言を送る」ボタンWB21をクリックす
る。この操作により、この返信メールは、メールサーバ
15を介してクライアントA1に伝送される。
ウィンドウW2に示すように、表題および本文として、
例えば「ホームページ更新しました」、「ご無沙汰して
ます。お元気でしょうか?久しぶりにホームページの内
容を更新しました。・・・」と入力し、メール交換ウィ
ンドウW2の「伝言を送る」ボタンWB21をクリックす
る。この操作により、この返信メールは、メールサーバ
15を介してクライアントA1に伝送される。
【0216】ステップS18において、クライアントA
1のクライアントPCによりクライアントB1からの返信
メールが受信され、そのメールホルダに追加される。ク
ライアントA1は、コントロールパネルのポストボタン
Pをクリックしてメールホルダ(図示せず)を開き、メ
ールホルダの中のクライアントB1からの返信メールを
指定して、「開く」ボタンをクリックする。この操作に
より、図31に示すように、クライアントB1からの返
信メールがメール交換ウィンドウW2に表示される。
1のクライアントPCによりクライアントB1からの返信
メールが受信され、そのメールホルダに追加される。ク
ライアントA1は、コントロールパネルのポストボタン
Pをクリックしてメールホルダ(図示せず)を開き、メ
ールホルダの中のクライアントB1からの返信メールを
指定して、「開く」ボタンをクリックする。この操作に
より、図31に示すように、クライアントB1からの返
信メールがメール交換ウィンドウW2に表示される。
【0217】ステップS14において、拾った名刺A4
を飼い主が既に所持している判定された場合、ステップ
S19に進む。ステップS19において、仮想ペットB
3はチャットを用いて、図32のチャットログ欄CLに
示すように、クライアントB1に「naito(クライアント
A1)のカードはもう持ってますよ」と通知し、図33
のメインウィンドウ(アバタB2の視点)MWに示すよ
うに、名刺を持たずにアバタB2のもとに戻ってくる。
を飼い主が既に所持している判定された場合、ステップ
S19に進む。ステップS19において、仮想ペットB
3はチャットを用いて、図32のチャットログ欄CLに
示すように、クライアントB1に「naito(クライアント
A1)のカードはもう持ってますよ」と通知し、図33
のメインウィンドウ(アバタB2の視点)MWに示すよ
うに、名刺を持たずにアバタB2のもとに戻ってくる。
【0218】次に、クライアントA1が同時に共有仮想
空間にアクセスしていないクライアントC1に名刺を渡
す動作について、図34のフローチャートを参照して説
明する。ステップS21において、クライアントA
1は、共有仮想空間において飼い主(アバタ)に伴われ
ずに単独で徘徊する仮想ペットの中から、名刺を渡した
い相手であるクライアントC1が飼育している仮想ペッ
トC3を探し出して指定する。仮想ペットC3を指定する
操作は、上述したパーソナルチャットと同様に、例え
ば、仮想ペットC3をキーボード42のシフトキーを押
しながらマウスのボタンをクリックすることで行われ
る。
空間にアクセスしていないクライアントC1に名刺を渡
す動作について、図34のフローチャートを参照して説
明する。ステップS21において、クライアントA
1は、共有仮想空間において飼い主(アバタ)に伴われ
ずに単独で徘徊する仮想ペットの中から、名刺を渡した
い相手であるクライアントC1が飼育している仮想ペッ
トC3を探し出して指定する。仮想ペットC3を指定する
操作は、上述したパーソナルチャットと同様に、例え
ば、仮想ペットC3をキーボード42のシフトキーを押
しながらマウスのボタンをクリックすることで行われ
る。
【0219】ステップS22において、クライアントA
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
の自分の名刺を指定して「置く」ボタンHLB2をクリ
ックする。この操作により、クライアントA1の名刺が
仮想ペットC3に渡される。仮想ペットC3は、クライア
ントA1の名刺を受け取ると、飼い主であるクライアン
トC1が共有仮想空間にアクセスするまで名刺を保管す
る。
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
の自分の名刺を指定して「置く」ボタンHLB2をクリ
ックする。この操作により、クライアントA1の名刺が
仮想ペットC3に渡される。仮想ペットC3は、クライア
ントA1の名刺を受け取ると、飼い主であるクライアン
トC1が共有仮想空間にアクセスするまで名刺を保管す
る。
【0220】その後、クライアントC1が共有仮想空間
にアクセスすると、ステップS23において、仮想ペッ
トC3はクライアントA1の名刺をくわえて、飼い主であ
るアバタC2(クライアントC1)のもとに現れ、名刺を
飼い主に届ける。仮想ペットC3から名刺を渡されたク
ライアントC1の名刺入れホルダHLには、クライアン
トA1の名刺が追加される。
にアクセスすると、ステップS23において、仮想ペッ
トC3はクライアントA1の名刺をくわえて、飼い主であ
るアバタC2(クライアントC1)のもとに現れ、名刺を
飼い主に届ける。仮想ペットC3から名刺を渡されたク
ライアントC1の名刺入れホルダHLには、クライアン
トA1の名刺が追加される。
【0221】ステップS24において、クライアントC
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
に追加されたクライアントA1の名刺を指定して、「メ
ール」ボタンHLB3をクリックする。この操作によ
り、クライアントA1の名刺が名刺ウィンドウW1に表示
される。
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
に追加されたクライアントA1の名刺を指定して、「メ
ール」ボタンHLB3をクリックする。この操作によ
り、クライアントA1の名刺が名刺ウィンドウW1に表示
される。
【0222】ステップS25において、クライアントC
1は、名刺に対する返信メールを送信するために、名刺
ウィンドウW1の「メールする」ボタンWB11をクリッ
クしてメール交換ウィンドウW2を開く。クライアント
C1は表題と本文を入力し、メール交換ウィンドウW2の
「伝言を送る」ボタンWB21をクリックする。この操作
により、この返信メールは、メールサーバ15を介して
クライアントA1に伝送される。
1は、名刺に対する返信メールを送信するために、名刺
ウィンドウW1の「メールする」ボタンWB11をクリッ
クしてメール交換ウィンドウW2を開く。クライアント
C1は表題と本文を入力し、メール交換ウィンドウW2の
「伝言を送る」ボタンWB21をクリックする。この操作
により、この返信メールは、メールサーバ15を介して
クライアントA1に伝送される。
【0223】ステップS26において、クライアントA
1は、伝送されてきた返信メールを受信すると、コント
ロールパネルのメールホルダボタンPをクリックしてメ
ールホルダを開き、メールホルダの中のクライアントC
1からの返信メールを指定して、「開く」ボタンをクリ
ックする。この操作により、クライアントC1からの返
信メールがメール交換ウィンドウW2に表示される。
1は、伝送されてきた返信メールを受信すると、コント
ロールパネルのメールホルダボタンPをクリックしてメ
ールホルダを開き、メールホルダの中のクライアントC
1からの返信メールを指定して、「開く」ボタンをクリ
ックする。この操作により、クライアントC1からの返
信メールがメール交換ウィンドウW2に表示される。
【0224】次に、クライアントA1が不特定のクライ
アントに対して名刺を渡す(受信相手を指定しないで名
刺を配る)動作について、図35のフローチャートを参
照して説明する。
アントに対して名刺を渡す(受信相手を指定しないで名
刺を配る)動作について、図35のフローチャートを参
照して説明する。
【0225】ステップS31において、クライアントA
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
の自分の名刺を指定して「置く」ボタンHLB2をクリ
ックする。この操作により、クライアントA1の名刺が
共有仮想空間に配置される。
1は、コントロールパネルの名刺ボタンOをクリックし
て名刺入れホルダHLを開き、名刺入れホルダHLの中
の自分の名刺を指定して「置く」ボタンHLB2をクリ
ックする。この操作により、クライアントA1の名刺が
共有仮想空間に配置される。
【0226】ステップS32において、クライアントA
1の名刺が、単独で徘徊中である(飼い主がアクセス中
ではない)仮想ペットD3に発見され、拾われる。仮想
ペットD3は、この名刺を保管し、その後、飼い主であ
るクライアントD1が共有仮想空間にアクセスしたとき
に、クライアントD1に名刺を届ける。
1の名刺が、単独で徘徊中である(飼い主がアクセス中
ではない)仮想ペットD3に発見され、拾われる。仮想
ペットD3は、この名刺を保管し、その後、飼い主であ
るクライアントD1が共有仮想空間にアクセスしたとき
に、クライアントD1に名刺を届ける。
【0227】以降の処理は、図34のステップS24以
降の処理と同様なので、その説明は省略する。
降の処理と同様なので、その説明は省略する。
【0228】なお、以上の各種の処理を実行するプログ
ラムは、磁気ディスク、CD-ROMディスク、その他の記録
媒体に記録して提供したり、インターネット、その他の
ネットワークを介して伝送することで提供することがで
きる。
ラムは、磁気ディスク、CD-ROMディスク、その他の記録
媒体に記録して提供したり、インターネット、その他の
ネットワークを介して伝送することで提供することがで
きる。
【0229】
【発明の効果】以上のように、請求項1に記載の情報処
理装置、請求項6に記載の情報処理方法、および請求項
7に記載の提供媒体によれば、共有仮想空間内に配置さ
れた情報を、共有仮想空間における仮想オブジェクトに
取得させ、仮想生命オブジェクトの飼い主としてのユー
ザに、情報を送信するようにした。
理装置、請求項6に記載の情報処理方法、および請求項
7に記載の提供媒体によれば、共有仮想空間内に配置さ
れた情報を、共有仮想空間における仮想オブジェクトに
取得させ、仮想生命オブジェクトの飼い主としてのユー
ザに、情報を送信するようにした。
【0230】また、請求項8に記載の情報処理装置、請
求項9に記載の情報処理方法、および請求項10に記載
の提供媒体によれば、共有仮想空間に存在する仮想生命
オブジェクトの自律的な挙動を制御し、仮想生命オブジ
ェクトが共有仮想空間において取得した情報をクライア
ント装置に転送するようにした。したがって、共有仮想
空間にアクセスしていないユーザが飼育する仮想生命オ
ブジェクトに名刺を渡すことにより、同時に共有仮想空
間にアクセスしていないユーザ間のコミュニケーション
を実現することが可能となる。
求項9に記載の情報処理方法、および請求項10に記載
の提供媒体によれば、共有仮想空間に存在する仮想生命
オブジェクトの自律的な挙動を制御し、仮想生命オブジ
ェクトが共有仮想空間において取得した情報をクライア
ント装置に転送するようにした。したがって、共有仮想
空間にアクセスしていないユーザが飼育する仮想生命オ
ブジェクトに名刺を渡すことにより、同時に共有仮想空
間にアクセスしていないユーザ間のコミュニケーション
を実現することが可能となる。
【図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】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図23】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図24】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図25】名刺交換処理を説明するフローチャートであ
る。
る。
【図26】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図27】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図28】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図29】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図30】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図31】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図32】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図33】共有仮想空間をディスプレイ上に表示した中
間調画像の写真である。
間調画像の写真である。
【図34】名刺交換処理を説明するフローチャートであ
る。
る。
【図35】名刺交換処理を説明するフローチャートであ
る。
る。
1乃至3 クライアントPC, 7 インターネット,
10 WWWサーバ,12 共有サーバ, 13,14
AOサーバ, 15 メールサーバ, 16 コミュ
ニケーションサーバ, 18 電話機, 19 ファク
シミリ, 23 PHS端末, 24 ポケットベル端
末, 30 CPU, 31 ハードディスク, 39
モデム, 41 マウス, 45 CRTモニタ, 46
RAM
10 WWWサーバ,12 共有サーバ, 13,14
AOサーバ, 15 メールサーバ, 16 コミュ
ニケーションサーバ, 18 電話機, 19 ファク
シミリ, 23 PHS端末, 24 ポケットベル端
末, 30 CPU, 31 ハードディスク, 39
モデム, 41 マウス, 45 CRTモニタ, 46
RAM
Claims (10)
- 【請求項1】 他の情報処理装置とともに、ネットワー
クを介してサーバに接続され、共有仮想空間の提供を受
ける情報処理装置において、 前記共有仮想空間内に配置された所定の情報を、前記共
有仮想空間における仮想生命オブジェクトに取得させる
取得手段と、 前記仮想生命オブジェクトの飼い主としてのユーザに、
前記情報を送信させる送信手段とを備えることを特徴と
する情報処理装置。 - 【請求項2】 前記情報は名刺、またはメールであるこ
とを特徴とする請求項1に記載の情報処理装置。 - 【請求項3】 前記取得手段は、前記仮想生命オブジェ
クトの飼い主であるユーザが操作することを特徴とする
請求項1に記載の情報処理装置。 - 【請求項4】 前記取得手段は、前記情報を配置したユ
ーザが操作することを特徴とする請求項1に記載の情報
処理装置。 - 【請求項5】 前記情報を前記共有仮想空間に配置する
配置手段をさらに備えることを特徴とする請求項1に記
載の情報処理装置。 - 【請求項6】 他の情報処理装置とともに、ネットワー
クを介してサーバに接続され、共有仮想空間の提供を受
ける情報処理方法において、 前記共有仮想空間内に配置された所定の情報を、前記共
有仮想空間における仮想生命オブジェクトに取得させる
取得ステップと、 前記仮想生命オブジェクトの飼い主としてのユーザに、
前記情報を送信させる送信ステップとを備えることを特
徴とする情報処理方法。 - 【請求項7】 他の情報処理装置とともに、ネットワー
クを介してサーバに接続され、共有仮想空間の提供を受
ける情報処理装置に使用されるコンピュータプログラム
を提供する提供媒体において、 前記共有仮想空間内に配置された所定の情報を、前記共
有仮想空間における仮想生命オブジェクトに取得させる
取得ステップと、 前記仮想生命オブジェクトの飼い主としてのユーザに、
前記情報を送信させる送信ステップとを備えるコンピュ
ータプログラムを提供することを特徴とする提供媒体。 - 【請求項8】 ネットワークを介して接続されている複
数のクライアント装置に共有仮想空間を提供する情報処
理装置において、 前記共有仮想空間に存在する仮想生命オブジェクトの自
律的な挙動を制御する制御手段と、 前記仮想生命オブジェクトが前記共有仮想空間において
取得した情報を、前記仮想生命オブジェクトの飼い主と
してのユーザの前記クライアント装置に転送する転送手
段とを備えることを特徴とする情報処理装置。 - 【請求項9】 ネットワークを介して接続されている複
数のクライアント装置に共有仮想空間を提供する情報処
理方法において、 前記共有仮想空間に存在する仮想生命オブジェクトの自
律的な挙動を制御する制御ステップと、 前記仮想生命オブジェクトが前記共有仮想空間において
取得した情報を、前記仮想生命オブジェクトの飼い主と
してのユーザの前記クライアント装置に転送する転送ス
テップとを備えることを特徴とする情報処理方法。 - 【請求項10】 ネットワークを介して接続されている
複数のクライアント装置に共有仮想空間を提供する情報
処理装置に使用されるコンピュータプログラムを提供す
る提供媒体において、 前記共有仮想空間に存在する仮想生命オブジェクトの自
律的な挙動を制御する制御ステップと、 前記仮想生命オブジェクトが前記共有仮想空間において
取得した情報を、前記仮想生命オブジェクトの飼い主と
してのユーザの前記クライアント装置に転送する転送ス
テップとを備えるコンピュータプログラムを提供するこ
とを特徴とする提供媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2271198A JPH11203009A (ja) | 1998-01-20 | 1998-01-20 | 情報処理装置および方法、並びに提供媒体 |
US09/227,689 US6609147B1 (en) | 1998-01-20 | 1999-01-08 | Information processing apparatus, information processing method, and information providing medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2271198A JPH11203009A (ja) | 1998-01-20 | 1998-01-20 | 情報処理装置および方法、並びに提供媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11203009A true JPH11203009A (ja) | 1999-07-30 |
Family
ID=12090427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2271198A Withdrawn JPH11203009A (ja) | 1998-01-20 | 1998-01-20 | 情報処理装置および方法、並びに提供媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6609147B1 (ja) |
JP (1) | JPH11203009A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002096083A1 (fr) * | 2001-05-18 | 2002-11-28 | Sony Computer Entertainment Inc. | Materiel recreatif |
US7139796B2 (en) | 2000-09-07 | 2006-11-21 | Sony Corporation | Method and system for supporting image creating and storing of the same |
JP2007133722A (ja) * | 2005-11-11 | 2007-05-31 | Softbank Mobile Corp | メール処理方法、移動通信端末装置及び情報処理装置 |
JP2010237881A (ja) | 2009-03-30 | 2010-10-21 | Able Seed Co Ltd | 道案内装置、道案内システム、道案内方法、及びプログラム |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3437933B2 (ja) * | 1999-01-21 | 2003-08-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ブラウザ共有方法及びシステム |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
WO2000070531A2 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
KR20010111503A (ko) * | 2000-02-09 | 2001-12-19 | 이데이 노부유끼 | 정보 처리 장치 및 방법, 데이터 유지 장치 및 프로그램 |
DE10005881A1 (de) * | 2000-02-10 | 2001-08-30 | Norbert Zimmermann | Verfahren und System zur Visualisierung dreidimensionaler Objekte |
US6948131B1 (en) * | 2000-03-08 | 2005-09-20 | Vidiator Enterprises Inc. | Communication system and method including rich media tools |
US8676897B1 (en) * | 2001-11-30 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | N-way interactive communication using hand held computers |
US7707520B2 (en) * | 2004-01-30 | 2010-04-27 | Yahoo! Inc. | Method and apparatus for providing flash-based avatars |
WO2005074596A2 (en) * | 2004-01-30 | 2005-08-18 | Yahoo! Inc. | Method and apparatus for providing real-time notification for avatars |
US20060221857A1 (en) * | 2005-03-31 | 2006-10-05 | Bushnell William J | Method and apparatus for providing enhanced features to multicast content services and multiplayer gaming services |
US8117551B2 (en) * | 2007-12-18 | 2012-02-14 | International Business Machines Corporation | Computer system and method of using presence visualizations of avatars as persistable virtual contact objects |
CN104407518B (zh) * | 2008-06-20 | 2017-05-31 | 因文西斯系统公司 | 对用于过程控制的实际和仿真设施进行交互的系统和方法 |
US8122434B2 (en) * | 2009-05-29 | 2012-02-21 | Invensys Sytems, Inc. | Methods and apparatus for control configuration control objects associated with a track attribute for selecting configuration information |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US9095002B2 (en) | 2010-07-12 | 2015-07-28 | Invensys Systems, Inc. | Methods and apparatus for process control with improved communication links |
US8331855B2 (en) | 2010-07-12 | 2012-12-11 | Invensys Systems, Inc. | Methods and apparatus for process control with improved communication links |
US20140067869A1 (en) * | 2012-08-30 | 2014-03-06 | Atheer, Inc. | Method and apparatus for content association and history tracking in virtual and augmented reality |
JP7298860B2 (ja) * | 2018-06-25 | 2023-06-27 | Groove X株式会社 | 仮想キャラクタを想定する自律行動型ロボット |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | カシオ計算機株式会社 | 画像表示装置及び画像表示方法 |
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 |
US5659691A (en) | 1993-09-23 | 1997-08-19 | Virtual Universe Corporation | Virtual reality network with selective distribution and updating of data to reduce bandwidth requirements |
US5586257A (en) | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
AU2471995A (en) | 1994-05-05 | 1995-11-29 | Catapult Entertainment, Inc. | Network architecture for real-time video games |
JP3127084B2 (ja) | 1994-08-11 | 2001-01-22 | シャープ株式会社 | 電子秘書システム |
JPH08137799A (ja) * | 1994-11-08 | 1996-05-31 | Sony Corp | サイバースペースシステム |
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 |
JP3859018B2 (ja) | 1995-07-12 | 2006-12-20 | ソニー株式会社 | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、アドレス管理方法、並びにアドレス管理サーバ端末 |
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 | 株式会社日立製作所 | 画像生成/表示装置 |
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 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US5727950A (en) | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
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 |
US5926179A (en) * | 1996-09-30 | 1999-07-20 | Sony Corporation | Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium |
US5884029A (en) * | 1996-11-14 | 1999-03-16 | International Business Machines Corporation | User interaction with intelligent virtual objects, avatars, which interact with other avatars controlled by different users |
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 |
US5812126A (en) | 1996-12-31 | 1998-09-22 | Intel Corporation | Method and apparatus for masquerading online |
JP3044116U (ja) | 1997-03-18 | 1997-12-16 | 株式会社バンダイ | 仮想生命体の育成シミュレーション装置 |
US5941770A (en) | 1997-05-05 | 1999-08-24 | Gamecraft, Inc. | Computer gaming system |
US5971855A (en) | 1997-09-30 | 1999-10-26 | Tiger Electronics, Ltd. | Apparatus and method of communicating between electronic games |
US5999208A (en) * | 1998-07-15 | 1999-12-07 | Lucent Technologies Inc. | System for implementing multiple simultaneous meetings in a virtual reality mixed media meeting room |
-
1998
- 1998-01-20 JP JP2271198A patent/JPH11203009A/ja not_active Withdrawn
-
1999
- 1999-01-08 US US09/227,689 patent/US6609147B1/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139796B2 (en) | 2000-09-07 | 2006-11-21 | Sony Corporation | Method and system for supporting image creating and storing of the same |
WO2002096083A1 (fr) * | 2001-05-18 | 2002-11-28 | Sony Computer Entertainment Inc. | Materiel recreatif |
EP1388999A4 (en) * | 2001-05-18 | 2005-09-21 | Sony Computer Entertainment Inc | ENTERTAINMENT SYSTEM |
CN100459635C (zh) * | 2001-05-18 | 2009-02-04 | 索尼电脑娱乐公司 | 娱乐系统 |
JP2007133722A (ja) * | 2005-11-11 | 2007-05-31 | Softbank Mobile Corp | メール処理方法、移動通信端末装置及び情報処理装置 |
JP2010237881A (ja) | 2009-03-30 | 2010-10-21 | Able Seed Co Ltd | 道案内装置、道案内システム、道案内方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US6609147B1 (en) | 2003-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3855430B2 (ja) | 情報処理装置および方法、情報処理システム、並びに記録媒体 | |
JP3799134B2 (ja) | システムおよび通知方法 | |
JPH10333542A (ja) | クライアント装置、表示制御方法、共有仮想空間提供装置および方法、並びに提供媒体 | |
JP3932461B2 (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体 | |
JPH11203009A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JPH11212934A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JPH11213179A (ja) | 共有仮想空間提供装置および方法、並びに提供媒体 | |
EP0753835B1 (en) | A three-dimensional virtual reality space sharing method and system | |
US6331853B1 (en) | Display control apparatus display control method and presentation medium | |
US5675721A (en) | Computer network data distribution and selective retrieval system | |
JPH11120375A (ja) | クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに伝送媒体 | |
US6734885B1 (en) | Information processing apparatus, method and computer program for virtual reality transparent avatars | |
CN1132117C (zh) | 一种多用户交互虚拟环境系统 | |
JP4479051B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
US6820112B1 (en) | Information processing system, information processing method and apparatus, and information serving medium | |
Lea et al. | Virtual society: Collaboration in 3D spaces on the Internet | |
US7007065B2 (en) | Information processing apparatus and method, and storage medium | |
US6975316B2 (en) | Information processing method | |
JP3859020B2 (ja) | 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、情報処理方法、クライアント端末、並びに共有サーバ端末 | |
JPH11203499A (ja) | 情報処理装置および方法、並びに提供媒体 | |
Prinz et al. | Ubiquitous awareness of cooperative activities in a theatre of work | |
JPH11219449A (ja) | 情報処理装置および方法、並びに提供媒体 | |
Matsuda | Evaluation of Personal Agent-Oriented Virtual Society—PAW | |
Steed et al. | Construction of collaborative virtual environments | |
EP0990978A2 (en) | Information processing apparatus, method and computer program for virtual reality object management using auras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050405 |