Mega_Primに関する考察

ページ名:Mega_Primに関する考察

目次

経緯[]

Mega Primについてはさまざまな憶測、特にシムへの負荷について未検証の内容が多々飛びかっています。最終的には Andrew Lindenさんなどに確認を取るのがよいと考えますが、その前に現在出ている情報をまとめて、その上で検証を行うのがよさそうです。このページは確認できる情報および未検証の内容をまとめることで、なにを検証するべきなのか?を明確にするためのページです。


確認された事項[]

公式ブログでの発言・コメントを時系列で記載します。


Office hour / 公式ブログ[]

2007/05/08[]Zero Lindenのオフィス・アワー[13:25] 512mよりも大きなオブジェクトが存在する場合、simはより大きな範囲を把握しなくてはいけなくなる。[13:27] 512m以上となると隣のsimより先との通信が必要になる。そして、そういう機構は実装していないし、したいと考えてもいない。


2007/10/04[]「Second Life Havok4 beta preview temporarily offline」Andrew Linden(Havok4の担当)がコメントにて発言。
  • No.18 256m以下のものだけ有効にすることを示唆。
  • No.22 Havok4でメガプリムを許可した際の不具合について言及。かなり詳しい解説。
  • No.44 あなたのプリムが私の土地にはみだしてますよ問題対策へのアイディア。Havok4をリリースして安定した後にやるかも。
  • No.46 Havok4の開発プロセスについて
No.22の翻訳を以下に記載します。Havok4でメガプリムを許可した場合、理論上いくつかの問題が考えられる。簡単に言うと以下の通り:もしメガプリムを使用した場合、いわゆるコリジョン評価によって Havok1と同じくらいシミュレータが遅くなるリスクを犯すことになる。(ただし、Havok1がよく陥るディープ・ソート - 延々と考え込んでしまう状態 - はないとして、つまりすべての対象プリムが立方体だと仮定した上で、二つの環境を比較した場合の話)。。。が、おそらく問題はないだろう。以下が詳細。Havok4は3層のコリジョン評価システムを持っている。接触しようとしているオブジェクト群は「シミュレーション・アイランド(SI)」というデータ構造で管理される。二つの SIが出会った場合、それらはひとつにマージされる。SI中のオブジェクトが飛び出した場合、SIは二つまたはそれ以上に分割される。SIに含まれる複数のオブジェクトは次に「広域」(broadphase - BP)チェックで評価される。BPでは各オブジェクトに対して軸方向サイズ判定(axis aligned bounding box - AABB)が実施される。BPの結果は接触の可能性アリなオブジェクトの組み合わせ として「より詳細」(narrowphase - NP)なコリジョン評価へまわされる。NPはいわゆるコストの高い計算なので、SIやBPという段階を経るのはコリジョン評価を高速に行うためのトリックである。


もしメガプリムを使用した場合、SIはぜんぶひとつになってしまうことが考えられる。そうすると、BPの段階ではリージョンに含まれている N個のオブジェクトについて N-1回の評価をそれぞれ実施しなくてはいけない。だがほとんどの評価結果は接触ナシとして NPには渡らないという結果になる。すなわちこのムダが「ラグ」になる。- どれくらいかは評価していないのでわからない。あくまで理論上の話。


実際のところ Havok4では Havok1ほどは悪い結果にはならない。Havok4は Havok1に対してより精細な AABB判定をしているし、NPのコードは少し速さが改善されている。それにメガプリムを使うということはメモリ消費が少なくなる期待もあるので、それによって速度が改善される見込みもある。現時点での自分の見積もりでは、、、おそらくメガプリムは、小さいサイズのプリムを同等の大きさに敷き詰めたものと比較してラグは大差ないだろう。とは言え、まだテストしていないのでなんとも言えないわけだが。


2007/10/11[]Andrew Lindenのオフィス・アワー[8:31] Havok1で Static/Dynamic切り替えを使用していないのは切り替えコストが非常に高いから。Havok4ではそうでもない。[8:34] Staticとは「動かすことができないオブジェクトのこと」[8:34] keyframed(Dynamic)なオブジェクトは物理エンジン上で動かすことができるもの。一定またはスクリプト制御の加速度で動かしたり、他のものとコリジョンしたり押したりできるもののこと。


2007/10/12[]「The big prim problem」Michael Lindenがガバナンス・チームとして取り扱いについて言及
  • 「物理シミュレータに影響を与える」の表現アリ。
  • 「256m以上のプリムに対してグラフィック・エンジンが正常に動作しない」
コメントとフォーラムで意見を募集公式フォーラム


2007/10/16[]SLDev向け説明会ログAndrew Lindenによる解説[11:11] 256mより大きなプリムは該当の面が256mまで縮小される[11:17] Static vs Dynamicのアイディア[11:29] SIの概念説明[11:32] Dynamicなオブジェクトはコリジョン評価の対象となる。もし大きなオブジェクトは強制的にStaticという扱い(動かない)としてよければ、これらを物理エンジン上で別の分類として取り扱うことができる。そうすれば、SIにこれらを含まないで別のものとしてコリジョン評価をすればよいので最適化できるかもしれない。ただしこの場合、例えばスクリプトでstaticなオブジェクトをいきなり物理扱いに変えたりすると問題が起きるかもしれない。


2007/11/29[]「Second Life Havok4 beta preview refresh with new fixex」Sidewinder Linden(Havok4のミッション・マネージャ)によるポスト。
  • 256m以上のメガプリムは自動的に256mに縮小される。DEV-6085: put megaprims back into Havok4 build (note that any megaprims larger than 256m square will be forced down to 256m per side)


Andrew Lindenもコメントで言及。
  • No.8
  • No.11 Andrewの個人的な見解としてプラン案を掲載。以後の進展などは彼の Office hourで取り扱う旨を話しています。


2008/02/05[]Andrew Lindenのオフィス・アワー[11:44] microprimについて。物理エンジンのコリジョン・トレランスは0.1mになっている。それ以下の寸法のオブジェクトは正しくコリジョンしない。[11:47] megaprimに関するプラン(アイディア)
  1. その土地にかかっているオブジェクトを持ち主がリターンできる(または動かせる)ようにする。
  2. 許可された範囲を超えてオブジェクトを拡大しようとした際に、ビルダーに対してなんらかのしるしを返すUIを実装する。
  3. 土地の権限で「自動的に境界をより厳密に守らせる」というオプションを使えるようにする(デフォルトはオフ)。
  4. ビルダーが好きなだけ大きなものを作れるようにする(または場合に応じて土地のサイズを上限とするような機能)。別名「メガプリムの解放」。
(1)~(3)は通常のプリムにも適用される。これができればメガプリムも普通のプリムと同じように考えられるようになるだろう。スカルプティはまた別。これはLLの公式プランではなくて、(Andrew Lindenの)個人のプラン。まずは Havok4をリリースすること。スカルプティのコリジョン処理をちゃんとできるようにしたいけど、ちらっとソースを見ただけでしばらく見たくない気分になった :)


2008/02/28[]「Havok early adopter and beta preview refresh with 6 fixex」Sidewinder Lindenによるポスト。megaprim関連で多数の修正がされている。
  • No.5 Sidewinder Lindenによるコメント。megaprimについてサイズと取り扱いを再コメント。
  • No.6 Kelly Lindenによるコメント。「megaprimをサポートしない」という意味は【新しいものを作ることを許可しない。いまそうであるようにmegaprimが動作しつづけるとは保障できない】ということ。


2008/03/25[]Andrew Lindenのオフィス・アワー[11:26] Havok4では256mより大きなプリムを縮小する、という話しについて[11:27] 予定を再検討することにした。[11:27] 84のプライベート・アイランドでそのようなメガプリムを使っているのを確認した。[11:28] 詳細までチェックしていないがそのほとんどはファントムで、雲や地平線を表現するのに使用されている。[11:30] Havok4でのメガプリムがパフォーマンスに与える影響は、まだ検証していない。→ Havok4導入とメガプリムの問題は別として、Havok4リリース後に改めて考えることにするとのこと。


2008/03/27[]Sidewinder LindenによるHavok4ベータ更新の公式ブログポストSidewinder Lindenによるコメント


2008/03/27[]Andrew Lindenのオフィス・アワー[17:14] 1024^3でも 256^3でも理論的にはたいした差はない。どれくらいのdynamicなオブジェクトが重なっているかが重要。[17:19] 256x256のメガプリムでレース場を作るのと、小さいプリムを敷き詰めるのとどちらがよい?[17:21] アイランドの生成状況による。[17:23] 一言で回答するなら「わかりません」


JIRA[]

VWR-3327 - メガプリム近辺のミニマップは動作がヘン[]Minimap oddity near megaprims


SVC-1516 - ミニマップ表示がおかしい。メガプリムがミニマップ上で20%ほど大きく表示される[]Mini-Map Rendering Error, Mega Prim appears 20% larger on Mini-Map


関連リンク[]

  • Havok4担当の Andrew Lindenのユーザー・ページ
Office hourのログも精査が必要


一応の確定事項?[]

  • Havok4では 256mより大きなサイズのメガプリムは該当の面が 256mまで自動的に縮小される。 → 保留になりました。


特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

メニュー 用語集 - これはどういう意味?用語解説 Q&A - よくある質問、定番解説、公式サポートに関する情報 トラブル・シューティング - トラブル・シューティング情...

顔文字

すでに日本の文字文化の仲間入りしたグラフィックを駆使しない表現手段。これが英語と日本語で違う。基本的に英語の顔文字は横向き。最初、わからなかったのが、この2つ...

銀行業務に関する判断・事例

2008年1月22日より施行される「銀行」に関する判断事例をまとめます。これらは「参考」であり、これによって「判断」をするものではありません。個々に記載されていない背景がある場合もありますので判例とは...

都市伝説&うわさ

目次1 Rumor & urban legend1.1 セカンドライフ全人口のうち3割はボット、半数は未使用のアカウントらしぃ1.2 キャッシュはまめにクリアしたほうがよい?1.3 支払い情報がないと...

身長

意外と知られていないが、AVの身長を計れる。llGetScaleのvectorのzを使う。ただし、靴などは脱いで計ること。SL内では2m前後が普通なようで まじめに計って 160cm程度にしたとある人...

設定

Second Lifeでは、様々な設定を行うことができます。「編集」→「環境設定」か、Ctrl + Pで呼び出せます。特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用...

複数アカウントの管理

このページの内容は公式 Knowledge Base「Alt Account FAQ」を翻訳、一部補足したものです。内容は予告なく変更される場合があるため契約を行う際は原文を確認するようにお願いします...

英語

RL/SLを問わず、世界標準語(なのか?)。人口比率的に、普通に生活していると英語を話す機会は多い。英語chatの参考に...ねっとげーむのえいかいわ。ちなみにある人の変遷 (ある人は、高卒程度の英語...

略語

日本語ほど省略しまくる言葉もないと思っていたら英語には勝てませんでした...例えば...lollaugh over laud大笑いbrbbe right backすぐもどるhbhurry back早く...

用語集

すごい作りかけです。みなさん、御協力お願いします。SIMSL内で作成される島のこと。LSLLinden Script Languageのこと。これで、オブジェクトやアバターを操作出来る。アバターSL内...

最近の出来事

最新情報です[]パスワードの盗難事件等発生していますいので、パスワードの再確認をお願いします。 --Keiji 2007年6月17日 (日) 16:46 (UTC)特に記載のない限り、コミュニティのコ...

日本人向けSIM

ここでは、日本人向けSIM(日本人利用者が多い、日本人が運営しているSIM)を並べていきます。特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。...

換金

日本円 →(US$)→ L$ / L$ →(US$)→日本円といった流れで換金が可能。リンデンラボ公式LindeXのみ。その他の方法Paypal経由でサードパーティを利用。例:ANSHECHUNG.C...

太陽

太陽を動かすことも可能。SLの太陽(及び月)は動くので、明るさも当然変わる。暗くなると見えにくいため、太陽を出して明るくすることもできる。メニューバーから以下の操作でコントロール。World - Fo...

外部サイトリンク

活動の軸が外部にある関連のリンク。ニュース、技術資料、ツール、サービスなど。イン・ワールドで活動している団体の説明 HPなどはこちらではなくイン・ワールド系リンクへ記載してください。目次1 ニュース1...

基本操作

初心者講座 > 基本操作ここでは、基本操作を解説します。画面の見方[]キーボードによる操作[]カメラ操作[]特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。...

土地の種類・分類

目次1 土地の種類2 土地の購入2.1 メインランドで土地を購入する場合2.2 プライベート・アイランドで土地を購入する場合2.3 レンタルとは?3 その他注意事項土地の種類[]セカンドライフにおいて...

土地

SL内では土地を売買・賃貸できる自分の(または所属するグループが)土地をもつと、そこを Homeとして設定できる。(CTRL+SHIFT+Hで、すぐに帰れる場所になる)土地のプリム数の範囲内で、家など...

右クリック

パイ・メニューを開いてその人や物に対して何か行う操作。何かしたい/情報を知りたいという時は、右クリックすべし。macな人に「右クリックないんですけど…」と質問されるのは定番。Optだったかを押しながら...