Warning

このドキュメントは少し古くなっています。FIXME: Android端末は使用できます

アーキテクチャを理解する

Vircadiaのアーキテクチャは、システムのさまざまな部分がどのように連携して、最高のVR体験を提供するのかを示しています。

アーキテクチャの概要

Vircadiaのアーキテクチャは、以下のコンポーネントで構成されており、相互に連携してデータを送信しVR体験を提供します。

  • Vircadia Interface は、メタバースにおけるあなたの個人的な体験を実行します。これを使えば、 VRワールドを訪れたり人に会ったり、ライブイベントに参加したりすることができます。

  • ドメインサーバー は、ドメインをホストするサーバーです。ドメインサーバーは、ドメイン内のコンテンツをホストし、オーディオの空間化、ユーザー権限、スクリプトの実行など、 ドメイン全体の設定を管理 します。

  • グローバルサービス は、すべてのサーバーを相互に接続します。これらのサービスのインスタンスはVircadiaによって維持されているため、サインインして場所間をシームレスに移動できます。

../../_images/overview.png

Vircadiaインターフェース

Vircadiaインターフェイス(または単に「インターフェイス」)は、Vircadiaのメインユーザーインターフェイスです。メタバースを探索し、世界中の人々と交流するために使用されます。ドメインに入ると、インターフェースは、仮想世界をホストしている ドメインサーバーグローバルサービス に接続します。

Client-Only Installer <install.html#client-only-installer> を使って、パソコンまたは Android 端末にインターフェイスをダウンロードし、使用することができます。

../../_images/interface.png

物理演算エンジン

VR体験は物理学がなければリアリティがありません。Vircadiaには、ニュートンの物理法則に従ってオブジェクトの挙動をシミュレートする 物理演算エンジン <http://bulletphysics.org> が搭載されています。物体が地面に落ちたり跳ねたりするとき、あるいは二つ以上の物体が衝突するとき、それらの動きは物理エンジンによって計算されます。

各インターフェースはそれぞれ物理演算エンジンを実行し、エンティティサーバがその結果を調整することで、ドメイン全体で一貫したシミュレーションを実現します。

ドメインサーバー

ドメインとは、あなたが訪れることのできるVircadiaの空間的なシミュレーションのことです。ドメインは1台または複数のコンピュータのプログラムの積み重ねによって計算されます。ウェブサイトを訪問するためにウェブアドレスが必要なのと同じように、ドメインを訪問するためにはドメインのプ レースネーム が必要です。

独自の ドメインを設定 し、ローカルマシンまたはクラウドサーバーでホストして、他のユーザーが利用できるようにすることができます。ドメインのサーバースタックは、オーディオ、エンティティ、アバターなど、ドメインのさまざまな側面をシミュレートし管理するコンポーネントのセットです。ドメイン内で見たり聞いたりできることは、すべてサーバースタックによって管理されます。

../../_images/domain-server.png

サーバースタック

ドメインサーバーはこのスタックの最上位にあり、その役割は他のコンポーネントに割り当てを行うことです。これらのコンポーネントは、ドメインサーバーの観点から、異なる役割を担うクライアントであるため、アサインメントクライアントと呼ばれます。

サーバースタックは、ドメインを制御、管理、計算するだけでなく、あなたのドメインを訪れる人がどのように見えるかも制御しています。つまり、ドメインサーバーはシミュレーションの割り当てを行い、接続するインターフェイスクライアントにそのIPアドレスを提供します。ドメインサーバーは単一の実行ファイルで、要求に応じて異なるミキサーとなるアサインメントクライアントを生成します。各アサインメントクライアントは、前述の6種類のうちの1つとして機能します。ドメインサーバーは、どのアサインメントクライアントがどのミキサーとして機能するかを決定します。

アサインメントクライアント

アサインメントクライアントは、ドメインのさまざまな側面を制御・管理します。また、ドメインに接続されているインターフェイスクライアントと直接通信を行います。アサインメントクライアントは以下6種類 :

アサインメントクライアント種類

説明

Avatar Mixer

このミキサーは、ドメインにおけるバーチャルな存在感を管理します。あなたがどこにいて、どのアバターを着ていて、どのようにドメイン内を移動しているのかを記録します。例えば、ヘッドマウントディスプレイ(HMD)を装着しているときに、どのように頭を動かしているかを追跡します。

Audio Mixer

音声や環境音など、すべての音をミックスします。また、アバターだけでなく、ドメイン内のすべてのエンティティに対してこれを行います。オーディオミキサーは、オーディオソースとの相対的な位置関係に基づいて、あなた用にステレオミックスをカスタマイズすることができます。

Entity Server

ドメイン内のすべてのエンティティとそのプロパティ、その説明や位置から、スクリプトでそれらにアタッチされたすべての動作までを追跡します。エンティティが変更されると、その変更がエンティティサーバーに伝えられ、サーバーはそのドメインに現在アクセスしているすべてのクライアントに情報をリレーします。

Asset Server

ドメインで使用されているモデル、オーディオファイル、スクリプト、その他のメディアのコピーを提供します。ウェブサーバーのように機能するが、Vircadiaのアーキテクチャに合わせたプロトコルを使用します。

Agent

ユーザーが書いた JavaScript プログラムを実行します。アバターに拍手させたり、ボーリング場を作ったりするスクリプトを書いたら、Agent がそれを実行します。エンティティやアバターを見たり、音声を送ったりすることができます。

Messages Mixer

ドメインに接続された異なるプログラム(インターフェイスまたはエージェント)で実行されているスクリプト間の通信を提供します。

Note

Sandboxは、ドメインサーバー、5つの専用割り当てクライアント、必要な数のエージェント割り当てクライアントで、これらすべてのコンポーネントを管理します。しかし、割り当てクライアントを複数のコンピュータに分散させ、さらに各機能を割り当てコンポーネントの階層に分割することも可能で、その場合は異なるコンピュータになる可能性があります。例えば、複数のオーディオミキサーを使用して、ドメインの異なる地理的な地域のオーディオをミキシングすることができます。

グローバルサービス

Vircadiaは、さまざまなサーバーを相互に接続するためのグローバルサービスを維持しています。

../../_images/services.png

関連項目