OpenSimで仮想世界を創る! 4

インターバースへの課題

インターバースへの課題

 仮想世界の相互接続には1つの重要な問題があります。それはユーザーが仮想世界での持ち物をどうやって、ほかの仮想世界に持ち運ぶかということです。

 似たような状況はWebでも現れています。UGC(User Generated Contents)と呼ばれて、現在多くのユーザーは単にWebから情報を取得するだけではなく、テキスト、画像、ビデオなどいろんな形でインターネット上に自分のコンテンツを作り、ネット上の友達と共有することができます。

 仮想世界は最初からこうしたWeb 2.0の特徴を継承しています。仮想世界のユーザーはテキスト、画像、ビデオ、友達リストなどWebでおなじみのデータ以外に、島上の建築物、車など3Dのオブジェクトも所有できます。

 さらに、特に重要なのがユーザーの分身となるアバターデータです。こういったユーザーの所有物が自由に仮想世界サービス間で持ち運ぶことができないのは、仮想世界の発展を阻害する大きな要因の1つとされています。

 オープンソースであるOpenSimの登場で、インターバースへの試みがさらに関心を集めるようになりました。まだ開発中ですが、ここで、OpenSimを利用する仮想世界サービスの間にユーザーのコンテンツを共有する方法を紹介します。

アバターをグリッド間で転送する技術

 グリッド間でのアバターの転送を実現するための主な変更ポイントは、既存の「ユーザーログイン」と「アバターの初期化」の2つのプロセスにあります。図3は、2つの仮想世界サービス間で、アバターとインベントリのデータの共有する方法を示しています。今回の前半で紹介した知識をベースに説明します。

 まず、ユーザーログインの手順です。ユーザーがログインする時に認証情報として「アクセスするリージョン」が必要です。仮想世界間で転送するには、リージョンが所属するグリッドサービスも付けて、以下のように指定します。

[リージョン名]@[グリッドサービスアドレス]
例:MyIsland@OSGRID

 このように指定すると、ユーザーログインプロセスの手順3にて、ユーザーサーバーは、同じ仮想世界サービス内のグリッドサーバーではなく、ユーザーの指定するグリッドサーバーにリージョン情報を問い合わせます。こうして、ユーザーは1つのユーザーサーバーでアカウントを登録すれば、どの仮想世界のリージョンにもログインすることが可能になります。

 続いてアバター、インベントリデータの取り込み処理について説明します。ログインプロセスの手順4で、ユーザーサーバーは認証用キー値とともに、ユーザーの所有データを提供するサーバーのURLも一緒にリージョンサーバーに送信します。なお、ユーザーの所有データを提供するサーバーとは、ユーザーサーバー(ユーザーのアバターデータを提供)、インベントリサーバー、アセットサーバー(ユーザーの持ち物データを提供)です。

 これらのURLを取得してから、リージョンサーバーは、所属している仮想世界サービスのデフォルトのインベントリサーバー、アセットサーバーではなく、実際にユーザーのデータを提供している各サーバーにデータをリクエストして、仮想世界に取り込みます。

 これらの処理が成功すれば、アバターを別の仮想世界に転送することができます。

 さて、4回にわたってOpenSimの概要、インストール、その仕組みなどを紹介してきました。まずは、実際に試してみて、その可能性を実感していただければと思います。本連載がそのきっかけになればと幸いです。

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

人気記事トップ10

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