■Wonderland in online 3D Environment−セカンドライフ

 
2010年11月27日更新

西村屋トップ>生活編>お宝DBメニュー>セカンドライフに戻る


セカンドライフとは?
 SF小説の中ではおなじみの電脳空間。そこには街並や自然の景観があり、そこで人々が生活する仮想の世界だ。そのイメージに現在一番近いと思われるのが、リンデン・ラボ社が運営するセカンドライフ(Second Life、以下SL)である。人・建物・木々のリアリティーが高く、そのクオリティーはPS3ゲームのプレー画面に迫ると言っておこう。かつてのPCゲームの3Dポリゴンの人物なんて見られたものではなかったが、この世界の人物、アバター(身代わり)は、以下の画像のとおり十分感情移入しうるハイレベルなものである(美術家のcomet Morigi。画像をクリックすると拡大)。

 それがどれぐらいなのか、当初は分からなかった。SLを始めた頃の私のPCの性能では、描画距離を最小に、凹凸効果、輝き、氷の波紋、ローカルライトの効果、パーティクルの再現など、さまざまな描画効果をカットしていたからだ。それでも1つの酒場に数人以上集まるだけで、ノートPCだと方向転換やキー入力もままならぬ状態となった。その後、ゲームPC専門店でSL推奨パソコンを買い、Core2Duo 2.6GHz、GeForce 9800GTのグラフィックボード、フルハイビジョンのモニタ(1920×1080)という環境になってその凄さをようやく知ることができた。

 今ではこのような環境はフルハイビジョンのモニター付きのタワー型、ノート型ともに10万円以下で購入できる。しかしパソコンとしては十分に安いが、ゲーム機としてはPS3やXbox 360と比べてもかなり高い。しかし、インテルHDグラフィックスがあともう少し性能アップすれば、一般向けパソコンやタブレット型端末で快適にアクセスできる寸前にまで来ている。

 SLはいよいよ採算度外視の実験段階から採算重視への実用段階へと順調に成熟しつつある。しかしながら、2007年頃、電通がキャンペーンを張ってマスコミによく取り上げられていた頃に、不十分な性能のPCでSLにアクセスした人たちのネット情報がいまだにSLへの正当な評価を歪めているようである。

 このSLで多くの企業が撤退した理由のひとつに、この世界では「SIM」(またはフルリージョン)と呼ぶひとつの地域(256m×256m)の同時アクセス数が数十人までという点だ。オンラインゲームでは、多数のユーザーがある地域に集中してもストレスなく動くように、いくつかのサーバーで分担して処理する。するとメモリもいくつかに分散するわけだから、同じ地域にいるはずの者と出会えないことが起こりうる。
 そこでSLでは1地域(SIM)を1コアで処理することによって同時アクセスユーザー同士は必ず会うことができるが、代わりに数十人までしか同時アクセスできないから、SL内で同じような集客性を期待しても無理ということになる。
 SL互換のOpenSimulatorではインテルが運営するScienceSimで1地域1000人の同時アクセスに成功しているが、ウェブの同時アクセス数には比べ物にならない。この特性の違いを理解しないまま、繁華街をSL内に再現してもゴーストタウンにしかならない。

SL世界の物理法則
 ここで私が興味を持ったのは、SLの地域ごとの街や自然や人々を処理する地域シミュレータがどこまで物理法則を模擬しているかだ。
 その前に、SL内の環境シミュレーションには3種類あることに触れておかなければならない。
 一つ目はこれから紹介するようにリンデン社が標準とする環境であって、ユーザーは特に設定変更しない限り、それをそのまま享受できる。
 二つ目はSIMの所有者がそのSIM特有のものとして用意した環境であって、波、海色、雨、太陽の位置、霧などがある。その地域を訪れる者なら誰でも享受できる。
 三つ目はユーザー自身が設定変更できるものであって、太陽の位置、海中の透過度、海の色、空の遠方の雲ほかさまざまな項目があるようだ。最適なスナップショットを撮るためにはよいが他人の目には影響しない。

 前置きはさておき、SL世界にあらかじめ普遍的に用意されている物理法則は以下のとおりである。

(1) 人と物や壁や床との衝突が模擬される。自分が他人に体当たりすると、相手がちょっと動く。壁に浅い角度でぶつかれば滑る。ただし自分が壁にぶつかっても跳ね返されたり倒れたりはしない。

(2) 重力があって床を踏み外すと落下する。傾斜が大きい斜面に立つとずり落ちていく。はるかな上空から落下すると、落下速度を速め、どこかで空気抵抗とバランスするのか等速落下となり、怪我することはない。おたおたしながら落下して尻餅を付くポーズがどこかのRPGを髣髴とさせる。
 この衝突や重力はHavok 7というコンピュータゲームで広く採用されている物理モデルが採用されている(最新のHavok 2k10のベータテストも行われたが、当面、移行の予定はない)。

Physics Engine
Havok4-wikiHavok4-SL wiki

(3) 空気抵抗も模擬されていて、旗のバタツキが見事に表現され、方向転換したり走ったりすると髪の毛やスカートがハラリとなびく。実際には、風による抵抗や揚力を受けることはなく、旗などのバタツキはユーザー側PCの性能に依存する。

(4) 太陽光などによる水面の反射も模擬されていて、夜明け、正午、夕日、夜間、月明かりとかが再現され、日の出・日没時の夕焼けが美しい。遠方の風景が霞む効果も再現されている。この光の反射や効果はWindLightが用いられている。
WindLightWindLightWindward Mark Interactive社
 影も、PC側の性能によるが再現されるようになった。
 描画距離は公式ビュワーで最大512m、設定により1024mまで伸ばせる。

(5) SL世界には風が吹いていて、しかも、それが空間的にも時間的にも刻々変化している。木々がそよいだり、旗がバタついたりするのは、それぞれが勝手にそよぐような仕掛けになっているかと思ったら、ちゃんと気流があって、それを受けてそよいでいるのだ。また、風が強く吹いているのに旗がバタつかない地域もあり、そこでは風の場が渦巻いていないことと関係があるようだ。
 風の時間的・空間的変化なんてのは開発者でもない限り、気付かずにすごしてもおかしくないが、それに偶然気付き、それだけでなく、その気流の揺らぎを利用した造形物を作っているcomet Morigiという日本人アーティストがこの世界にいる(冒頭の画像)。彼女はある地域の煙突からの煙をできるだけ長くたなびかせようとしていたところ、その風向・風速の変化に気付いたそうだ(右画像:Vianka Scorfield)
 それ以来、彼女は長いフレキシブルなチューブを並べたり、256m×256mの地域全体で中性浮力のパーティクルを連続的に放出させることによって、その変化を眼に見えるようにした。
・SL-URL:PiRats Art Network - Art Gallery(Comet Morigiさんの作品)


 この気流を再現するために、SLでは2次元非圧縮性粘性流体方程式を解いている。つまり風の風向風速分布は鉛直方向には変わらず、上昇流や下降流はない。太陽の位置となんらかの関係があるようで、cometによると、景観のために太陽を朝日や夕日に固定している地域では風は一様に吹くだけで時間的揺らぎを生じないそうだ。
http://wiki.secondlife.com/wiki/Category:LSL_Weather
A Simple Fluid Solver based on the FFT(pdf、Jos Stam、2001)

(6) 雲はセルオートマトン法(Cellular automata-based weather system)で計算している。 実は雲の発生が風分布と関係しているという解説もあるのだが、どのように関連付けているのかよく分からない。気流とは無関係かもしれない。SLが始まった頃は雲濃度が最大になると雨が降ったらしいが、多体衝突計算が大変だったのでやめてしまったとのこと。
 この雲は高度190m前後に分布し、飛行すれば雲の中を通過することができるが、実体があるわけではなく、地上に影を落とさない。これとは別にWindLightとともに導入されたユーザー側で変更可能なより遠方の雲がある。
Nimble - The 3D Cloud System(Windward Mark Interactive社)/サンプル画像ほか
http://wiki.secondlife.com/wiki/LlCloud

(7) 海洋の波による光の反射は大変美しいが、海岸に打ち寄せる波は地域の所有者側で用意する必要がある。Naiman Broomeの巻き波と海岸の砂を濡らす表現は見事(下画像の左と中:Vianka Scorfield)
・SL-URL:Las Arenas Rosadas

 水深と海色の関係は多少は再現されているが熱帯のリーフ内のエメラルド色には程遠いので、上の画像のように地域の所有者側でグラデーションパネルで海面を染めたり、リーフの航空写真を水面下又は海底地形に貼るなどしている(同じくNaiman Broomeの作品)
・SL-URL:Rucott, Embryo


 これに対し、Comet Morigiは水深情報を色パネルの透明度情報に渡すことでよりリアルな海色を表現している。以下の例はSLらしく、火山活動をイメージシタありえない色をわざと選んでいる。
・SL-URL:Museo del Metaverso(comet Morigiの作品)

・URL:Comet Morigiのブログ−海面発色

(8) SL世界の物質には、「プリム」、「フレキシブルに設定されたプリム」、そして「パーティクル」の3種類がある。
プリム:その体積に応じた質量があり、外形が同じでも中空かどうかで運動特性が変わる(プリムにも質量があった、SLアドベンチャー)。比重はプリムの種類によって異なるようだ。落下するようにも中性浮力にもできるが、中性浮力にしても質量をゼロに変えているわけでないようだ。中性浮力にしたプリムは風で流されることはない。対応ビュワーで見れば影を落とす。

フレキシプリム:風やアバターの動きに応じてなびくようになる。浮力、弾性、風の抵抗などが設定できる。

パーティクル:風に流される。実体としての外形があるわけではなく、ユーザーに設定された映像を与える。やはり浮力のプラス/マイナスを設定できるようだが中性浮力にしてもなんらかの質量はあるらしい。パーティクルはプリムと違って影を落とさない。したがって雲も地上に影を落とすことはない。

SLサーバーの実体
 このような物理現象をSLではどのように計算しているのだろうか?
 今、スパコンとして隆盛のPCクラスター(正確には「HPC並列クラスター」)というのは、サーバー/ワークステーション用量産プロセッサ(通常は2個又は4個のCPUからなる)を多数繋いだものだ。「スカラー計算機」とか言うが、プロセッサ自体はどんどん複雑になっていて、RoadRunnerやPlayStation 3のCellチップなどはグラフィックアクセラレーターがいくつも付いていてベクトルプロセッサとどこが違うのか分かりにくくなっている。
 SLはスパコンが使われているわけではなく、1個又は2個の量産CPUからなるサーバーを局所ネットワークで繋いだものだから、グリッド・コンピューティングという方が正確かもしれない。グリッド・コンピューティングは全世界の家庭に散在するパソコンをインターネットで統一的に利用して電波望遠鏡の信号を分析するSETI(地球外文明探査)計画で有名になったので、呼び名としてはまぎらわしいが。
 3箇所のデータセンターに7000以上のサーバーが設置されている(Silicon Mechanics社が供給)。これまで一つのサーバーはAMD製OpteronのDualプロセッサであったが、新しくバージニア州に設置されたTerremark Worldwide社データセンターではIntel製Xeonを使用。さらにその先は開発コード名Nehalemに置き換わっていく計画で、CPU数は最大16個まで増やせるようだ。16個のNehalemでシミュレーションされる地域は、現在のSLのリアリティーをさらにどこまで高めるか楽しみである。
Linden Lab, Maker of Second Life: Creating an Immersive Virtual Experience and a Greener Real World(pdf)

 さて、このサーバーを多数繋いで世界をシミュレーションするというのはいったいどんなものか、SLの中に入ると多少それが実感できる。
 ひとつの大陸(後述)のなかである地域から隣の地域に歩いたり飛んだりして移動するとき、なんの違和感もなく移動が可能である。もちろん、7000あるサーバーのすべてが縦横に繋がっているわけではなく、例えば大陸と大陸の間は見えない壁で隔てられていて、テレポートでなければ乗り移れない。たぶん、ひとつのラックに収まっているいくつかのサーバー同士の間では支障なく歩いて移動できるが、ラックが異なったり、データセンターが異なるとそれができない仕様なのだろう。
 プライベート・アイランド(後述)では一人のユーザーが所有する地域から他の隣接ユーザーの地域に歩いて移動できるようにするには、ユーザー間で合意がなければできず、それ以外はテレポートで移動する仕様となっている。

 前述の大気の2次元流れはそのような制約なく領域間も連続的に流れている。世界を細かく分割した領域それぞれで、擬似的に簡素化された物理法則のもとで多体の動きをシミュレーションし、領域間も繋がっているわけだから、まさに地球シミュレータのようなものだ。しかしJAMSTECの初代地球シミュレータのように640の計算ノードをワンステップで接続するフルクロスバー結合とは異なり、通常のコンピュータ・クラスターのネットワーク結合では離れた地域同士はいくつものコア経由、ラック経由で通信するわけだから、地域が離れるほど通信に時間を食う。
 これを実感するには、SLの中に入って、地図を開いて地形図を見てみる。最初は最小の領域となっているが、それでも離れた地域の情報が読み込まれるのに時間が掛かる。ここで地図の縮尺を変えて領域をどんどん広げていくと、さらに読み込むのに時間が掛かる。世界全体にまでマップを広げることが可能だが、そうすると人の分布は短時間で読み込まれるが、地形図の方はいつまで経っても世界全体が見えてこない。
 おそらくスパコン・ランキング・トップのRoadRunnerやBlueGeneで大気大循環モデルを動かす時の実効性能の悪さというのはこういうイメージなのだろう。しかし生態系などローカルな相互作用をシミュレーションするだけなら、これでも十分かもしれない。
 SLは、各地域を担当する地域シミュレータがあり、それが建物やアバターや品物という情報を蓄えたアセット・サーバーから情報を読み込み、簡略化された物理法則のもとでさまざまな動きや見え方を処理する。アセットには建物など地域に属するものと、衣服ほかの所持品などアバターとともに世界を移動するものとがある。
 このように各地域シミュレータと2種類のアセット・サーバーをどのようなネットワークで相互接続しているのか、知りたいものだ。

セカンドライフの地理・天文・生態系」に続く

(Special Thanks:Comet Morigi & Vianka Scorfield

西村屋トップ>生活編>お宝DBメニュー>セコンドライフに戻る