Yuji
2013年01月28日
20:19
全体的な浸透率は知るところではないですが、すっかりメッシュも
定着しましたよねー^^
時代が進むにつれてPCの平均的なスペックも上がっていると思います。
スカルプでの製作に比べ、メッシュではLODごとの形状を定義できる
ようになったため、製作の自由度はかなり向上しています。
#無駄な作業が増えてるとも言いますがw
しかし、、、
これはモノを作ってる方が一様に悩むポイントだと思うんですが、
・はたしてLODはいくらまで保証すれば現実的なのか?
という点です。
もちろん屋内に設置する小物と建物のような大物では根本的に基準が
違ってきますが、1立方メートル程度の置き物を想定した場合、
はたしてどれぐらいのLODが妥当なんでしょう?
まず、根本的な「何で崩れるの?」という話ですが、これはカメラを
引いた場合には視界に大量のオブジェクトが入ってしまい、頂点を省略しないと
レンダリング負荷が非現実的な域に達してしまうためです。
各オブジェクトのLODはレンダリング時にカメラからの距離や大きさに
よって動的に計算される訳ですが、この部分のアルゴリズムは半ばAIであり
理想的実装に達するのはまだまだ先でしょう。
省略対象となる頂点の自動決定についても同様です。
ですのでLODFでの調整の機会を残し、後は運用にまかせてしまう
というのは、まぁ仕様としては妥当に思います。
LODFactorというパラメータは、まぁ名前の通りLODの係数なんですが、
崩れ具合をほぼ支配的に制御できるぐらいの強い効力があります。
これはビューアが動いているPCのスペックによって自動的に初期値が
決定されていますので、今時のPCであれば3~4が選択されているでしょう。
崩れるのがイヤーンな人は重くても我慢して4にしてるかもですし、
崩れてもいいから軽く!って人は1に設定しているかもです。
つまり、各ユーザの崩れ具合は製作者からは読めないほどに幅があり、
どのあたりが妥当なのかはほとんど見当すらつかない状況です。
さらにこれはリンデン側の問題ですが、せっかく低LOD用に専用モデルを
定義できるようになったものの、それらしいモデルをちゃんと作ると
プリム換算値がえらいことになってしまい、UPにも設置にも非常に高い
コストががかかってしまうようになります。
ですので現状は、保障するつもりのないLODについてはとにかく頂点を
省略しまくって、形状すら見えなくなるぐらいまで省略させるしか現実的な
解はないような状況だったりしています。
あくまで参考ではありますが、僕が個人的に決めているガイドラインを
ご紹介しますと、
・LODFを1.0に設定する
・本来想定されるサイズでRezする
・近くをウロウロしてみて、我慢できるかどうか?
な感じで決めています。
この基準ですと、屋内小物でLOD3保証ってのはナシです。
(LOD2までは保証しないと、崩れまくってどうにもなりません)
ちなみにプリム換算値の挙動についてはずっと考察しているのですが、
あからさまに特徴的な点はいくらかありまして、
・全体のサイズが大きいとやたら高くなる
・低LODでの頂点数が多いとやたら高くなる
というものです。
もちろんどちらの挙動もレンダリングコストとしての意味合いでは
それなりの根拠がありますので全然ダメダメではないのですが、
若干カーブがおかしいように感じます。
もちろんプリム数に対する感覚は千差万別ですし、これはもはや価値観
でしょうからmustな話にはならないとも思うのですが、一つの観点として
・客がプリムを浪費するとリンデンが儲かる
というものがあり、この図式は揺るぎない事実だと思うんですね。
僕はそれを理由として省プリにこだわっていますw
大物については今のところスカルプの優位性が若干残っており、
住み分けの機会が残っているあたりが、なんとも面白い感じです。
ただ、スカルプでは物理効果の換算がおかしなことになってきており、
球体判定にもかかわらず1.8とかになる場合があります;;;
(生プリでの球の物理効果は0.1です)
単体プリムでもhavokから外せるようになると良いのですが。。