ここではVESMAの特徴を簡単にまとめておきたいと思います。 VESMAを使ったほうが良いのか、別のソフトウェアを使うほうが 良いかの判断に役立てて下さい。でも、つたない文章で いちいち説明されるより、実際に使ってみて判断したいと 思う人は次の節の「インストールとセットアップ」と 「VESMAを使ってみよう!」の節に進んだほうが良いかもしれません。
読んでみたいけど時間が無いという人は箇条書のところだけチェック してみて下さい。●のマークがある項目はVESMAを使用する人全般 に対して関係する特徴、○のマークがある項目はVESMAをプログラム して拡張して使ってみたいという人に特に関係がある特徴になってます。
まず、VESMAは仮想環境を提供するシステムですが、 仮想環境と言ってもさまざまな タイプがあり、それぞれにさまざまなシステムも作成されています。 VESMAで提供される仮想環境は基本的に3次元空間で、倍精度実数値 により座標を指定するので原子などのミクロな世界から 宇宙などのマクロな世界までそのままのスケールで表現できます。 また、空間の中に空間を作ることができます。つまり、階層構造を 持つ空間群を扱うことができます。階層的といってもそれぞれの空間 は独立した空間になっているので、サイエンスフィクションで言う ところの互いに離れた並行宇宙と言ったほうが別りやすいかもしれません。 しかし、この階層性を利用すれば、
[大学]--+--[校舎棟]----+--[101教室] | | | +--[102教室] | : | +--[図書館]----+--[観覧室] | | | +--[書庫1]--+--[書庫1-1] | | | | | +--[書庫1-2] | | | +--[書庫2]--+--[書庫2-1] | : | | +--[書庫2-2] | +--[研究室棟]--+--[101研究室] | | | +--[102研究室] | : | +[食堂]--------+--[一階食堂] | +--[二階食堂]のような自然な構造が簡単に作成できます。 VESMAの仮想空間内に、他のサーバが提供する仮想空間への リンクを作成できます。ちょうどWebページでリンクを クリックすると世界中の他のWebページに簡単に移動できるのと同じ ような感じです。この仕組によって、世界規模の巨大なハイパー 空間が作成できます。一つのマシンではマシンパワーの限界で 実現不可能なような巨大な仮想空間でも複数のマシンを用いれば いくらでも巨大な仮想空間を作成できます。 また、近年の仮想空間技術では当然のことですが、VESMAでも インターネットで接続された複数のユーザが同じ空間に集まり コミュニケーションをとったり様々なオブジェクトを共有する ことができるようになっています。
VESMAのシステムにはサーバとクライアントがそれぞれありますが このサーバとクライアントの関係は、WebサーバとWebクライアント のような通常のサーバ-クライアントシステムの関係とは微妙に 異なります。VESMAのサーバは上の節でも説明したように、3次元空間 を提供するものであり、その中では様々なオブジェクトが生成できます。 VESMAのクライアントとは、VESMAサーバ内に生成される ちょっと特殊なオブジェクトという位置付けになっています。 よって、VESMAのクライアントが起動している時には必ずVESMAサーバも 起動していることになります。(特殊な場合としてサーバだけを立ち上げ ることも可能です。)そして最初にVESMAのクライアントに表示されるのは、 このクライアントが存在しているサーバの中ということになります。
これは、他のサーバクライアントシステムに慣れ親しんだユーザには 非常に奇妙なシステムに思えるでしょう。しかし、このようなシステムを 採用したことにより以下のような特徴的な機能を実現することが可能に なります。
まず一つ目は、必ず自分個人のプライベートなサーバを持つことができるという特徴があります。このプライベートなサーバはクライアントと同じマシン上にあるので、ほとんどタイムラグ無しでサーバの中がクライアントに表示されます。これを利用すればVESMAシステムを利用してアクションゲームを作成したり、簡単な物理シミュレーションなどを快適に実現できます。また、後でも述べますが、他のサーバから集めてきた情報やオブジェクトを自分のプライベートなサーバに持ってきてファイルに保存しておくことも可能になります。
通常のサーバクライアントの仕組では、クライアントがサーバに情報を要求し、サーバがそれに答えて情報を送り返します。サーバが自らの判断でクライアントに自分から情報を送り出すことは基本的にできません。VESMAでは情報の交換は「メッセージの伝達」という形で実現されますが、これはサーバ内の各オブジェクトがどのサーバのどのオブジェクトに対してでも自由にメッセージを送信できます。インターネットやイントラネットに詳しい人ならば、これは不可能なことのように思われるでしょうが、これは各イントラネット内に一つBridgeと呼ばれるサーバを立てることで実現できるようになっています。(ちなみにイントラネット内だけで使用する場合にはBridgeは必要ありません)ここで重要なのは通信が対象であるということです。こちらからあちら、あちらからこちら、のどの方向でも同じように情報を伝達できます。
上でも述べたようにオブジェクト間のあらゆる情報交換は「メッセージの伝達」という仕組みを用いており、プログラム上では情報の受け手・送り手の区別はなくなり統一された形になっています。また、その手順も可能なかぎり簡潔化されており、(1)URLのような形式で通信相手を指定して、(2)伝達するメッセージを作成し、(3)送り出すだけです。多くの単純な場合ではたった1行のプログラムになります。例えばこんな風です。
send(makeOrder(getElm("/room1/receiver"),"method1","data"));
上のプログラムは「room1」という空間の中にある「receiver」という名前のオブジェクトの「method1」という名前のメソッドに対して「"data"」という文字列データを送ります。データの部分は文字列だけでなく数字や、オブジェクトやなにかの配列でもOkです。上のプログラムは括弧が3重になっていて、ちょっとだけトリッキーなので同じプログラムをわかりやすく書くと、
ElmStub es = getElm("/room1/receiver"); // (1)送り先の取得 Order o = makeOrder(es,"method1","data"); // (2)メッセージを作る send(o); // (3)送る
となります。もし同じところと繰り返し通信をするのなら送り先"es"は再利用できるので(2)と(3)の処理だけ繰り返せばOKです。
アバタとはユーザが仮想空間に入る際にユーザ自身の分身としてその外見を表現し、他のユーザに自分が仮想空間内に存在していることを示す働きを持ちます。仮想空間で行動するとは、このアバタを操縦するということに他なりません。VESMAのアバタはこのような働き以外にも他の重要な働きをします。
VESMAのアバタはモバイルエージェントで実装されています。つまりアバタを構成するプログラム自身が、サーバを渡り歩くことが可能です。セキュリティの設定によっては、自分で拡張し賢くしたアバタのプログラムをサーバに送り込むことが可能なので、様々な応用が可能です。また、VESMAのアバタはサーバ内にあるオブジェクトを自分のポケットの中に入れることが可能です。つまり、ゆっくり検討したいオブジェクトはポケットに入れプライベートなサーバに持ち帰り、インターネットとの接続を切った後でも見ることができます。また、自分のマシンのハードディスク内に保存することも可能です。
もう一つ重要な働きは、アバタはクライアントに表示させるための情報を自分で選択し、サーバ内から集めて送り返すということです。VESMAにはテキストベースのクライアントJavaSwingベースのクライアントJava3Dベースのクライアントがありますが、それぞれ表示されるものがまったく異なります。これはアバタがテキストベースのクライアントには文字情報を、SwingベースのクライアントにはJavaComponentの情報をJava3Dのクライアントには3Dの情報を収集して送り返すことにより可能になっています。もし、あなたが犬のペットを飼っていて、その犬にVESMAをつかわせたいと思ったら、アバタに「匂い」の情報を集めるように拡張してあげると良いでしょう。(クライアントで匂いを再生するには高価な機材が必要でしょうが…)
通常の仮想空間ではオブジェクトはたいていアイコン、または3次元グラフィックスのような形でクライアント内に表示されます。そして、他のオブジェクトに対してアクションする方法は「体当りする」「剣をふりおろす」「魔法をぶちあてる」などの限定された手法しか用意されません。我々がメインで開発しているVESMAのJavaSwingを用いたクライアントを用いれば、VESMAのオブジェクトはアイコンの代りにあらゆるSwingコンポーネントが使用できます。つまり、オブジェクトに複数のボタンを付けたり、テキストの入力欄を付けることなどが可能です。実際、データベースの入力画面などを上手く表示できるようにカスタマイズされたクライアントを作成すれば、データベース入力のためのGUIを簡単に作成できるようになるかもしれません。Swingのクライアントは拡張性に比重を置いて設計されています。
GUIでもう一つの重要な機能は、各オブジェクトに設定されているカスタマイザと呼ばれる機能です。仮想現実を現実に近付けるという観点から見れば、クライアントの中に実際にアバタが見る光景をそのまま表示するようにするのが最適かもしれません。しかし、現在のコンピュータでは一つのクライアントのウィンドウだけで美しい3Dの景色を表示したり、動画のデータを表示したり、大量の文字データを表示することは無理があります。動画や高解像度の画像、文字データなどはクライアントとは別ウィンドウに表示するほうが実際的です。そのような機能を提供するのがVESMAのカスタマイザという機能です。Swingのクライアントではオブジェクトをダブルクリックすることでウィンドウが表示されます。このカスタマイザはユーザが自由に変更することができます。実はもともとカスタマイザはその名が示すようにオブジェクトのパラメータなどをカスタマイズするための機能でしたが、上のような応用も可能です。
もちろん上のような機能はVESMAの処理速度を重くします。このような機能を使用したくない人は使わなければ、その分早くなると思います。VESMAにはスケーラビリティがあります。
ソフトウェア技術の専門用語でエージェントという言葉があります。これには正確な定義はないのですが、「自律的」であるとか「環境に適応」する機能を持つこととか「移動」する機能があることなどがエージェントである条件と言われています。VESMAのオブジェクトは単なるオブジェクトというよりはエージェントにかなり近い存在です。数千から数万のオブジェクトが互いに独立に自律的に動作することが可能です。
プログラミングに詳しい人ならば、「データの整合性」と「デッドロック」と呼ばれる問題があることを御存知でしょう。これはマルチスレッドプログラミングと呼ばれるプログラム方式を採用すると起る問題です。VESMAでは「準マルチスレッドプログラミング」とでも呼ぶべき方法が採用されています。非常に大量のエージェントを動作させるにはどうしても必要になってきます。上述の2つの問題は、プログラム上発見しにくいバグを生み出してしまう難しい問題ですが、VESMAで採用するメッセージの交換方式による通信を使えば、殆どその問題は回避できます。(詳しくはVESMAの基盤技術であるELM-VEのマニュアルを参照して下さい。)
VESMAのメッセージ交換による通信は、上述の複雑な問題を回避するだけでなく、プログラムをする時に必ず覚えておかなければならない概念は単純で少ないです。そしてプログラムとして記述する時のタイプ量もかなり少ないと思います。
基本的にはメッセージの交換の手法だけあればあらゆる通信が可能であるが、例えば特定のメッセージに対して返事のメッセージが欲しい時や、多くのオブジェクトが同期をとって動作するように同期用の信号をメッセージとして送る時など、プログラムが繁雑になってしまう。このようなタイプの通信が簡単にプログラムできるように、Request機能が用意されている。これを使用するには(1)メッセージの送信先の特定、(2)メッセージの作成、(3)返事のメッセージを受けとった時の振舞いを指定する、(4)メッセージを送るというステップになります。(3)の手順だけが通常の通信と違うところです。
VESMAのメッセージ伝送は3段階のセキュリティチェックを受けます。イントラネットに一台用意するBridgeサーバにおいてチェックされ、VESMAのサーバ自体もメッセージをチェックし、最後に、各オブジェクトのメソッドごとにチェックされます。このようにチェックの回数を多くしているのは、VESMAのサーバは単にリクエストに対してデータを返すだけのサーバではなく、外のプログラムをサーバ内に導き入れ、自由に動きまわらせるようなサーバだからです。
セキュリティを設定する個所が増えて一見大変になるだけに思えますが、次のような利点もあります。一つには個人レベルのセキュリティ設定が可能となることで、管理者のミスでBridgeサーバでのチェックが正しく行われなかった場合でも不測の事態を未然に防ぐことが可能かもしれません。また、個人でセキュリティの設定をすることは良いセキュリティの教育になると思われます。VESMAは一番最初に起動した時点では他のサーバとまったく通信できないような設定で起動します。他のサーバを接続を試みるには、自分の責任で自分に必要な通信を許可してゆく作業が必要になります。Swingベースのクライアントを使用していれば、セキュリティ設定のためのGUIが用意されているので、概念さえ覚えておけば自分で設定できるはずです。
VESMAのメッセージをチェックするために使用できるチェック項目は非常に豊富で、メッセージの送り手、受け手のそれぞれに対して、IPアドレス、サーバ名、オブジェクトの名前、オブジェクトのサーバ内での場所、オブジェクトのクラス名、オブジェクトのロール(役割)、メッセージの種類など細かく設定できます。
セキュリティを強くすると利便性が犠牲になり、利便性を優先するとセキュリティが弱くなるということは、セキュリティを考えるときに是非知っておくべきことです。しかしVESMAでは3段階のチェックとメッセージのチェック項目の豊富なセットのおかげで、セキュリティをあまり弱くせずに、利便性を保つことができると思います。設定は難しくなると思いますがこの際勉強して利便性を獲得できるようにチャレンジしてみると良いと思います。
実はVESMAプログラム全般に関しも言えるのですが、特にセキュリティの機能に関しては実地テストが十分ではありません。セキュリティホールを見付けた方はご報告お願いします。
ここまでの特徴を読んでくると、VESMAの特徴の多くが「拡張性」に起因するものであるのがわかると思います。もちろん、VESMAは拡張しなくとも十分「教育的仮想環境」として機能するように努力して作っていますが、教育的仮想環境ではない用途に使用したい人や、教育的仮想環境として使うにしても、もっと違った観点から使用したい人や、使う人の立場によってどうしても気にいらない部分というのが出てくるはずです。VESMAは拡張性に非常に気を使って設計しましたので、VESMAをベースにして少し手を加えるだけで、VESMAの特徴を受け継ぎながら、さらに良いシステムを構築できると思います。
拡張法するには、少しJavaでプログラミングで苦労をしいられると思いますがきっとその苦労に見合うものができるのではないかと思います。VESMAはGNUで定めたGPLのライセンスに基づき公開してあるので、あなたがVESMAを用いて作ったプログラムはどんどん公開することができます。是非VESMAをつかってみて、改善点などあれば御連絡下さい。
最後に悪い特徴つまり「欠点」についても述べておかねばなりません。現時点での欠点の多くは、VESMAがほとんどだれにも使用されていないということに関連しています。このためにフリーソフトウェアである利点の多くが失われています。作者が公開にあまり積極的ではなかったのですが、これからは改心してゆきたいと思いますので、有志の方々、どうか御協力お願いします。
技術的な点での欠点の一つとして、処理スピードの遅さが上げられます。通常の仮想空間としての使用や、簡単なゲームやシミュレーションなどに使用する場合にはほどんど問題になることはないと思いますが、大量の計算パワーを必要とするような物理シミュレーションには不向きだと思います。ただし、ある種のシミュレーションの場合、VESMAオブジェクトの自律性を利用して短時間でシミュレーションプログラムを作成でき、しかもビジュアルにシミュレーション結果を確認できるので、本格的なシミュレーションプログラムを作成前にその実験の価値を判断するのには役立つと思います。
また、VESMAのプログラミングにおいてはクラスを拡張してメソッドを追加する作業を行なうことになりますが、これにはVESMA特有の約束事や制限事項があります。多かれ少なかれ、既存のプログラムを使用して何かを作成する場合には約束事は必要ですが、それを理解しなければプログラムは組めません。VESMAでの約束事にはそれほど難しいものは無いと思いますが、他のプログラミングでは無いような特徴的な制限事項があります。詳しくはVESMAの基盤技術であるELM-VEのマニュアルを参照して下さい。
VESMAにはいくつかのインストール方法が用意されています。それぞれのイン ストールの方法では、必要とされるスキルや制約事項が異なっています。各節 の最後にまとめられた項目をチェックして、自分の目的にあったインストール 方法を選択すると良いでしょう。特にVESMAを利用したプログラミングを行な う予定のある人は「Jarファイルのダウンロード」の方法か「ソースファイル のコンパイル(CVS)」の方法を選択して下さい。
VESMAを起動した後の操作方法は 「VESMAを使ってみよう!」の節で 説明されています。
また、セットアップの詳細は別の場所で説明しますが、 最低限してほしい作業を最後に記述してあります。
以下の(Java Web Start以外の)インストールに関して、VESMAの インストールの前にJavaがインストールしてある必要があります。 VESMAを拡張して新しいオブジェクトなどを作成してみたい人は JavaのSDK(Software Development Kit)をインストールして下さい。 VESMAを使用するだけならば、ダウンロードサイズの小さい JavaのJRE(Java Runtime Environment)をインストールしておいて 下さい。VESMAの全ての機能を使用するためには、Java以外に、 Java3D,Java Media Fundation(JMF),Java Helpなどをインストールする 必要があります。ただし、基本的な機能はJavaのSDKまたはJREだけで 動作します。
この方法は、実際にはインストールではなくJava言語のアプレット とよばれる技術を使用します。特定のWebページをウェッブブラウザで 開くと自動的にプログラムが読み込まれて実行される方式です。よって、 プログラムはインストールされずに、毎回ダウンロードして実行する ことになります。VESMAをちょっとためしてみたいという人に最適です。
最初にやるべきことは、Javaのインストールです。VESMAのバージョン 3.xxではJavaの1.3以上を必要としますが、Windowsにプレインストール されているものは古いJavaですので、Windowsを使用している人は Sun Microsystemsのページ などからJava1.3以上(今ならJava1.4以上推奨)をダウンロードして インストールして下さい。
MacOS Xを使用している人はJava1.3がプレインストールされている はずなので新にインストールする必要はありません。
準備が終ったらVESMAのページ からたどって'Test Applet'のリンクをクリックしてください。プログラムが 自動的にロードされて実行されます。多きなプログラムですので、少し 時間がかかるかもしれません。上手くいけば「start」と「stop」というボタンが 現れます。「start」をクリックするとクライアントの画面が現れます。 他のサーバとの通信を含む機能は使用できませんが、それ以外の殆どの 機能は試すことができます。VESMAの使用方法は こちらを見て下さい。
このインストール方法は「Java Web Start」と呼ばれる技術を用いて 実現されています。この技術はJavaで作成されたソフトウェアを Webサーバを利用して簡単にインストールすることができるように するものです。よってVESMAを単にツール、もしくは遊び道具として 使用するのであれば、このインストール方法が最適です。
Java Web Startを利用してVESMAをインストールするには、まず、 Java Web Startをインストールする必要があります。 Java Web Startはここからダウンロードできます。 Java1.4以降をインストール済みであればJava Web Startは一緒に インストールされているはずなので、新たにインストールする 必要はありません。
Java Web Startがインストールできたらあとは、ウェブブラウザで VESMAのページからJava Web Startをクリックして下さい。あとは、 ほとんど自動です。2回以上ブラウザでアクセスすればディスクトップに アイコンが作成されるので、以降はそれをダブルクリックすれば 簡単に起動できるようになります。
VESMAはシステムをそのまま使用するだけでなく、自分で設計した 新しいオブジェクトを作成したり、様々な拡張ができるように なっています。このような拡張を行なうためにはこのインストール 方法が適しています。
まず、Javaをインストールして下さい。Javaバージョンは1.3以上ですが、 なるべく新しいものをインストールして下さい。Sun Microsystemsの ページ からダウンロードできます。非常に多きなファイルなので、Java関連の 雑誌のCD-ROMなどからインストールするのも良い選択肢です。
あとは、VESMAのページにいってvesma-elm.jarというファイルをダウンロード してきます。このファイルはjavaのオプションパッケージと呼ばれるもので、 Javaのインストールされた場所にコピーすれば、Javaの機能を拡張してくれます。 具体的にはjavaのインストールされたフォルダの中に「ext」と名前のついた フォルダがあるので、そこにコピーします。もし、あなたの使用している コンピュータがあなたの所有物でなく、勝手にこのようなことをすることが 禁止されている場合は、vesma-ext.jarは好きな場所においてかまいません。 そのかわりCLASSPATH環境変数を設定して下さい。環境変数の設定のしかたは OSに依存するので、各OSのマニュアルを参照してください。Windowsの場合 CLASSPATH環境変数の具体的な内容は以下の例のようになります。
CLASSPATH=.;C:\Document and Settings\username\My Documents\vesma-elm.jar;
VESMAが新しくなりバージョンアップする場合には、新しいvesma-elm.jarを ダウンロードしてきて古いvesma-elm.jarに上書き保存して下さい。
このインストール項目は上級者向けです。通常は上で説明した 「Jarファイルのダウンロード」の方法で十分です。
最初に説明したように、ここでは最低限のセットアップだけ説明します。 VESMAは通常のソフトウェアと異なり、他の人があなたのVESMAにアクセス することができるような仕組を持っています。そのためユーザ管理が 必要になりますが、最も重要なユーザである管理者の 情報と、通常使用するユーザの情報をここで、セットアップしておいて 下さい。最初にVESMAを起動した時点でデフォルトのセットアップ情報が 作成されますが、この時点での管理者の パスワードは「adminPassword」となっています。とりあえずは、admin というユーザ名とこのパスワードを使用してログインしてから、 メニューバの[config]ボタンからコンフィグダイアログを出して 管理者のパスワードを変更して下さい。ユーザID(userID)という 入力項目もありますが、これはその管理者が実際には誰であるの かを入力する場所です。これは他の人とかちあうことのないように、 メールアドレスやホームページアドレスなどを設定すると良いでしょう。 管理者のの名前は「admin」固定で変更できません。
また、通常使用する ユーザとして自分の好きな名前のユーザを作成して下さい。 コンフィグの設定ダイアログで「users」タブをクリックし、 ユーザ名、ユーザID、パスワード、ロールを入力して作成します。 ロールというのはユーザの役割のことで「admin」と入力しておくと 管理者と同程度の権利をもつユーザが作成できます。 最初の時点で「gest」という名前のユーザがいますが、これはセキュリティ 確保のために削除しておいたほうが安心です。
やっぱり、ソフトウェアを理解するには使ってみるのが 一番ということで、3種類のVESMAのクライアントの中で メインに開発している2次元のクライアントを用いて簡単な 操作を紹介します。実のところ、内輪でもVESMAの クライアントのGUIはわかりにくいという定評がある(;_;)ので、 これから先、操作方法が変更されることがあると思いますが 仮想空間の構造や、そこでの移動、 仮想空間内のオブジェクトの概念などはまず変更が無いと思い います。一つ、そのへんのところに注目してVESMAの操作をチェック してみて下さい。
VESMAをどのようにインストールしたかによって起動の方法は 異ってきます。インストールとセットアップ の節を見て起動して下さい。
VESMAを起動した直後に最初に現れる小さなウィンドウでは、様々な 起動時の設定を変更することが可能です。例えば、クライアントの 種類を変更したり、他の人があなたのVESMAにアクセスする時の サーバ名などが設定できます。でも、ここではなにも変更せず 「OK」ボタンをクリックしてみて下さい。
次に表示されるのはログインのためのダイアログです。 ユーザ名とパスワードを入力してOKボタンを押して下さい。 これで、VESMAを使い始める準備がととのいます。
まず、始めにやってみて欲しいのがオブジェクトの作成です。 オブジェクトの作成の操作は2段階に別れています。1段目は オブジェクトの種類を指定する操作です。これはメニューバ から操作します。メニューバの「object」をクリックして リストを出します。VESMAで提供される様々なタイプの オブジェクトが表示されますが、ここでは「VHtml」を選択 してみて下さい。これはHTML、つまりWebページのデータを表示する ためのオブジェクトです。これを選択しただけでは、まだ なにも起りません。実際にオブジェクトを作成するのは2段目の 操作です。[Alt]キーを押しながらクライアント上でマウスを クリックして下さい(ボタンが3つ着いているマウスを使って いる人ならば真中のボタンを押すだけでいいです。Macの 場合を調べて書くこと)。 新しいアイコンが表示されたと思います。1段目の操作で一度 オブジェクトの種類を設定しておけばクリックした分だけオブジェクトが 作成されます。作成されたオブジェクトはマウスの左ボタンで普通に ドラックすれば、場所を移動できます。すでに作成されたオブジェクトの 上で、[Alt]キーを押しながらクリックするとオブジェクトが削除されます。 上の例ではVHtmlオブジェクトを作成してみましたが1段目の操作で別の オブジェクトを選択しておけば、別のオブジェクトも作ることができます。
オブジェクトも、ただアイコンとして表示されるだけではあまり 有難くありません。VESMAのオブジェクトにはそれぞれカスタマイザ と呼ばれる機能があります。もともとはオブジェクトをカスタマイズ するための機能なのでカスタマイザと呼ばれていますが、その利用方法 は機能のカスタマイズだけではありません。VHtmlオブジェクトに関して 言えばWebページを表示するための機能が設定されています。 さきほど作成したVHtmlオブジェクトをダブルクリックしてみて下さい。 デフォルトのHTMLデータが新しいウィンドウ上に 表示されます。URLの入力欄に好きなURLを入力すると別のページが 表示できます。(現在VESMAのVHtmlオブジェクトにはproxyの機能が 無いので、ファイアウォール内でVESMAを使用している場合には ファイアウォール内のURL(file:///c:/test.htmlなど)を指定して下さい。) 「done」ボタンを押すとウィンドウが閉じます。
上の例ではVHtmlというオブジェクトを操作しましたが、他のオブジェクト の操作もほぼ同様です。ダブルクリックすればカスタマイザが開き、そこで いろいろなことを行ないます。また、Musicオブジェクトなどの一部のオブジェクト では、アイコンにボタンなどのGUIが附属しており、これをクリックすることで 反応するオブジェクトもあります。それぞれのオブジェクトの操作に関しては こちらのページに載っています。
移動には2種類あると考えられます。一つは一つのサーバの中だけの移動で、 もう一つは、サーバを越えた移動です。
キーボードの上下左右のキーを押せば簡単に移動できます。 もし、身の回りに何のオブジェクトもなければ、 自分が移動していることに気付かないでしょう。 というのはVESMAでは自分がつねに中心に表示されるように なっていますので、実際には自分の身のまわりのものが自分と 反対方向に移動することで、自分が起動していることが別ります。 ちょっと操作性が悪いですが、今後に期待して下さい。
また、サーバ内にある複数の空間の間を移動するのも簡単です。 オブジェクトの操作のところで説明した方法にしたがって、 「Room」オブジェクトを作ってみて下さい。名前はRoomですが、 アイコンとしては小屋として表示されます。自分のアバタを この小屋めがけて体当りさせて下さい。まわりの景色が変り 別の空間に移動したことが別ると思います。こんどは「Exit」 オブジェクトを作ってみて下さい。このオブジェクトに体当りすれば 外の空間に出ることができます。
こんどはサーバの外部、つまり別のサーバに移動してみたいと思います。 当然ながら、外部のサーバに移動する前に、外部のサーバを起動しておく 必要があります。コンピュータネットワークに接続された別のパソコンを 用意して下さい。そのパソコンにもVESMAをインストールして、いままで 同様にVESMAのクライアントを起動しておいて下さい。 [*unresolved*]の節でも説明したように、 VESMAのクライアントを起動すれば自動的に サーバも起動します。(サーバだけを起動する方法はELM-VEのマニュアルを 参照して下さい。) VESMAは始めに起動した段階では、セキュリティの関係上どことも通信できない 状態になっています。まず、それを解除して通信できる状態にしてみましょう。
VESMAクライアントのメニューバの「config」を選択し「pubSpace」タブを 選択して下さい。ここでは、サーバの外から見ることができるオブジェクト を指定しておきます。今回はここに「/transporter」を設定して下さい。 tの前のスラッシュをお忘れなく。さらに、「import」タブをクリックして 「S_ADDRESS 172.17.213.114 255.255.255.255 ACCEPT」という 項目を加えて下さい。[172.17.213.114]のところは通信相手のIPアドレス です。さらに、さらに、「export」タブをクリックして 「D_ADDRESS 172.17.213.114 255.255.255.255 ACCEPT」という 項目を加えて下さい。違うところは一番最初の[S_ADDRESS]と[D_ADDRESS] だけです。この設定は、通信を行なう両方のVESMAで行なう必要があります。
やっと準備がととのったところで、[*unresolved*]の ところで説明した方法で「Link」オブジェクトを作成してください。 これは、他のサーバと継がるゲートのような物と考えて下さい。この オブジェクトをダブルクリックして、どのサーバと接続するのか、設定を 行ないます。設定欄には「//172.17.213.114:1099/VESMA」と入力して下さい。 1099はポート番号で、変更していなければ自動で1099になります。VESMAの 部分はサーバ名でこれも、変更していなければ自動でVESMAに設定されます。 「Done」ボタンを押せば終りです。
それでは、実際にネットワークを越えて別のサーバに移動してみたいと思います。 Linkオブジェクトに体当りして下さい。ユーザ名とパスワードが聞かれますので 向こうのサーバでのユーザ名とパスワードを入力してください。しばらくすると、 向こうにサーバに移動したことが別ります。VESMAの設定変更から向こうのサーバ までの移動はちょっと大変な作業ですが、次からはLinkオブジェクトに体当り するだけです。特に良く行くサーバがあれば、それに対応するLinkオブジェクトを 作成してLinkオブジェクト集を作っておくと便利でしょう。
向こうのサーバにいってもアバタはこちらのサーバにいるのとまったく 同じように操作できます。向こうのサーバからこちらのサーバに戻るには おなじようにLinkオブジェクトを使うこともできますが、面倒な場合は VESMAクライアントのツールバーにある「home」ボタンを使えば、あとは ユーザ名とパスワードを入力するだけです。
以上で説明したVESMAの操作方法は、Swingを用いた2次元クライアント特有の 操作方法です。ただし、VESMAではこのような操作法以外にコマンドラインに よる操作が可能です。他のサーバに移動する時には 「go //172.17.213.114:1099/VESMA」というように入力するだけです。 昔からのUNIXユーザなどには、こちらのほうが使いやすいという人も 多いと思います。このようなコマンドによる操作方法に関してはELM-VEの マニュアルに詳しく載っています。