UGAIがわかれば仕組みがわかる!

2008年9月19日(金)
劉 小路

OpenSim.iniの設定項目

 OpenSim.iniでの設定項目はたくさんありますが、ここでもっとも重要だと思われる設定を紹介します。

 「[startup]」セクションでは、OpenSimのグローバルな設定を記述します。

 「gridmode」では、OpenSimの動作モードを設定します。falseはスタンドアローン、trueはグリッドモードでOpenSimが起動します。

 「storage_plugin」と「storage_connection_string」では、「島」にある建築物などのオブジェクトを保存するデータベースを設定します。OpenSimが現在サポートしているデータベースはSQLite、MySQL、Microsoft SQL Serverです。例として、SQLiteとMySQLの設定を以下に示します。

 SQLiteの場合は、以下のように設定することで、オブジェクトがOpenSim.dbに保存されます。

storage_plugin="OpenSim.Data.SQLite.dll"
storage_connection_string="URI=file:OpenSim.db,version=3";

 MySQLの場合は、以下のように設定します。

storage_plugin="OpenSim.Data.MySQL.dll"
storage_connection_string="Data Source=[Host];Database=[DBName];User ID=[DBUser];Password=[Password];"

 この設定では[Host]、[DBName]、[DBUser]、[Password]のところに自分の環境に合わせた値を設定してください。必要なテーブルがリージョンサーバー起動時に自動的に作成されます。

 なお、どちらの場合でもオブジェクトを保存しない場合は、以下のように設定します。

storage_plugin="OpenSim.Data.Null.dll"

 「physics」では、物理エンジンの種類を設定します。物理エンジンと言うのは仮想世界内における物体の物理運動をリアルに再現するプログラムです。物理エンジンの主な役割は物体同士間の衝突や、落下物体の速度の計算などがあります。筆者が動作確認した値についてそれぞれ紹介しましょう。

 以下の設定では、アバターと地面の衝突しか判定しません。OpenSimを一番軽く動作させる設定です。

physics = basicphysics

 以下の場合、指定されている「OpenDynamicsEngine(ODE)」(http://www.ode.org)はオープンソースの物理エンジンです。OpenSimではODEの実装がもっとも進んでおり、この設定を使うと、リアルに世界を再現することができます。ただし、CPUへの負荷が重くなります。

physics = OpenDynamicsEngine

 以下の設定では、衝突の判定精度を下げたり、アバター同士の衝突判定を省略したりすることで、仮想世界を部分的にシミュレーションしています。サーバーの動作はODEより軽くなります。

physics = POS

 現時点では、自分で試すためにも、サービスを公開するためにも、ODE物理エンジンがおすすめです(図2、高画質版はこちら(http://jp.youtube.com/watch?v=WVLGdUbk2mM&fmt=18))。

UGAIの設定

 「[network]」セクションは、リージョンサーバーが接続する「UGAI」サービスのURIを設定します。

 「第2回:自分の島を創ろう!(http://www.thinkit.co.jp/article/129/2/)」で、自分のリージョンサーバーをOSGridに接続する時に、OSGridの「UGAI」のURIで値を設定しました。リージョンサーバーを同じPC上に構築した「UGAI」に接続して試す場合、以下のように設定します。

 グリッドサーバー、ユーザーサーバーは以下のように設定します。

[network]セクション
grid_server_url = "http://127.0.0.1:8001"
user_server_url = "http://127.0.0.1:8002"

 上記に続けて、アセットサーバー、インベントリサーバーを以下のように設定します。

asset_server_url = "http://127.0.0.1:8003"
inventory_server_url = "http://127.0.0.1:8004"

 次は、データベースの設定を説明します。

3Di株式会社
京都大学情報学科、東京大学大学院を経て、2006年ヤフー株式会社に入社し、Webサービスのバックエンドシステムの開発に従事。現在、シニアエンジニアとして3Di株式会社で3Dサーバアプリケーション製品開発を担当。OpenSimプロジェクトのコントリビューターでもある。http://3di.jp/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています