OpenSimで仮想世界を創る! 4

アバターの初期化

アバターの初期化

 アバターとは、「ユーザーの分身となるキャラクター」です。仮想世界では、ユーザーはアバターの外形、服装、装飾品をカスタマイズして、自分の個性をアピールするので、アバターはとても重要な要素です。

 OpenSimでは現在、セカンドライフと同じようなアバターのカスタマイズ機能を提供しています。アバターデータは、アバターの外見や服装をパラメーターで記述するデータと、実際の服装テクスチャなどの画像データの2部分からなります。外見や服装のパラメーターはユーザーサーバーで管理されていて、テクスチャ画像はアセットサーバーで管理されています。

 クライアントから見ると、ユーザーがログインした後、アバターが表示されます。この間に図2に示す処理が行われます。

 1.リージョンサーバーはユーザーサーバーにユーザーIDを送信し、アバターのデータを要求します。

 2.ユーザーサーバーはアバターのデータをリージョンサーバーに返します。このデータには、アバターの外形を記述するパラメーターのほか、アセットサーバーで保存されているアバターの服装テクスチャのアセットIDも含まれています。

 3.リージョンサーバーは手順2で受け取ったアバターのデータをそのままクライアントに返します。

 4.アバターデータを受信したクライアントは外形パラメーターにしたがって、アバターをスクリーンに描画します。そして、服装のテクスチャをアバターに張るために、リージョンサーバーに服装テクスチャIDを送信して、服装などの画像データをリクエストします。

 5.リージョンサーバーが手順4で受信した服装テクスチャIDをアセットサーバーに送信します。アセットサーバーは画像データをリージョンサーバーに返します。

 6.リージョンサーバーは取得した画像データをクライアントに送信します。

 7.クライアントでテクスチャ画像をアバターに張り付けます。これでアバターがスクリーンに表示されます。

 アバター表示の処理について3つのポイントを紹介します。

 1つ目は、アバターの取得では、クライアントが直接ユーザーサーバー、アセットサーバーと通信するのではなく、すべてリージョンサーバーを通して通信することです。

 2つ目は、リージョンサーバーとユーザーサーバー、リージョンサーバーとアセットサーバーの通信はHTTPで、クライアントとリージョンサーバーの通信はUDPで行われることです。

 3つ目が、このプロセスでは、アバターの外形が先に描画されて、その後服装のリクエストを行われることです。同時にログインするユーザーが多くなると、リージョンサーバーにアクセスが集中し、処理が遅くなります。ログイン数が多い時、クライアントのスクリーンに先にグレーのアバターが表示され、その後だんだん服が表示されるのはこれが原因です。

インターバースへ

 1981年にティム・バーナーズ=リーがハイパーテキストの概念を元にWebを開発しました。インターネットのユーザーはWebブラウザでページ上のリンクをクリックすることによって、簡単にほかのWebサイトのページを閲覧することができるようになりました。それ以来、インターネットが爆発的な発展を成し遂げました。

 インターネットはネットワークとネットワークのつながりによって形成されたように、仮想世界の別名である「メタバース」(http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E3%83%90%E3%83%BC%E3%82%B9)の相互接続によって、インターバースになるのではないかという考えの下、仮想世界においてもグリッドサービス同士をつながる研究が進んでいます。

 次のページで、複数グリッドサービス間で、アバターを転送する技術を紹介します。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る