2016年5月25日水曜日

描画の負荷の高いアバターを表示しないようにする「アバターの複雑さ(Avatar Rendering Complexity)」機能

「アバターの複雑さ(Avatar Rendering Complexity)」は、“アバターの描画がどのくらい複雑なのか”を表すもののことです。

Why are all these people made of colored jelly? - Second Life

Avatar Rendering Complexity - Second Life

以前は、「アバターの描画コスト(Avatar Rendering Cost)」や「アバターの描画ウェイト(Avatar Rendering weight)」と呼ばれていたものと同じものです。

アバター描画コスト - Second Life Wiki
Mesh/Rendering weight - Second Life Wiki

「アバターの複雑さ(Avatar Rendering Complexity)」の値は、「アバターの描画ウェイト」の時と同じです。


「アバターの描画コスト」や「アバターの描画ウェイト」の頃も、アバターの描画の負荷を数値で見ることは出来ましたが、それによって何かが制限されるということはありませんでした。

しかしその頃から、アバターの描画の負荷はしばしば話題になっていて、大きなイベントなどでは

描画コストの値を*****以下にしてください

といった自主規制が行なわれていたこともありました。

その後、メッシュの登場により描画コストはさらに跳ね上がり、ますます、

アバターはキレイだけど、表示が重くて…

という状況になってきました。

特に、古いパソコンやノートパソコンなどのグラフィック機能(GPU)が弱い環境では、これは非常に深刻な問題です。

そこで、従来の“描画コスト/描画ウェイト”を元に、ビュアー側でのアバターの表示制限にまで踏み込んだ仕組みが導入されることになったのが、今回の「アバターの複雑さ(Avatar Rendering Complexity)」です。


「アバターの複雑さ(Avatar Rendering Complexity)」では、自分のアバターの表示は、従来通り何も変わりません。

自分以外の他のアバターの見た目のみ、グラフィック設定で設定した「最大の複雑さ」の値に応じて、表示される内容が切り替わります。


具体的には、「最大の複雑さ」以下のアバターは、アバター全体が単色に塗られたシンプルな状態(シルエット)で表示されます。


これは、ミュートした時と同じ表示で、描画コストは 1 の状態です。
これにより、一定以上描画の負荷があるアバターは描画が行われなくなりますので、従来よりも描画の負荷を抑えることが出来るようになります。

この状態のアバターのことを、リンデンラボは「JellyDoll」(ゼリー人形)と呼んでいます。


「アバターの複雑さ」の値は、アバターの着替えを行なうたびに、ビュアー内のポップアップ通知でお知らせされます。


また、アドバンスメニューのパフォーマンスツール内にある「アバターの複雑さ情報を表示」で、アバターの上に値を常時表示させることも出来ます。



「アバターの複雑さ情報を表示」で表示される情報は、下記の通りです。

アバターの複雑さの値単位:Complexity
ランクカメラからの距離に応じたランク
装着物の面積単位:sqm

「アバターの複雑さ情報を表示」では、他のアバターの値も見ることが出来ます。
他のアバターがどの程度の負荷なのかを調べて、その着こなし方などを参考にすることも出来ます。


「最大の複雑さ」のデフォルトの値は、下記の通りです。

   超高
4.0.735000100000200000250000300000350000350000
4.0.5/4.0.635000800008000080000800008000080000

※「最大の複雑さ」のデフォルトの値は、バージョン 4.0.7 で変更されました

セカンドライフを利用出来る最低必須環境の状態が、「低」です。

この状態での「最大の複雑さ」の値は 35000 ですので、この値以内にアバターの描画の負荷を抑えておけば、(意図的に「最大の複雑さ」の値を下げない限り)、従来通り、誰でもそのアバターを見ることが出来るようになるということを意味します。

リンデンラボが用意したデフォルトアバターは、いずれも 32000 以下になっていますので、デフォルトアバターを利用している限りは、この制限に引っかかることはありません。(最新のデフォルトアバターは、全て 1万以下になっています)

不特定多数の方が集まるようなお店を経営している方や、初心者支援などを行なわれている方は、どんな方が来られても相手の人から普通に見えるように、35000 以内のアバターも用意しておかれた方がいいかもしれません。


おしゃれを楽しみたいという方は、デフォルトでは中〜超高までいずれも 80000 が最高の値となっていますので、これを基準に調整をされた方がいいと思います。


「最大の複雑さ」の値は、
  • 19999〜350000
  • 無制限
の状態が選択可能です。

「無制限」の状態にすれば従来通りの表示が行われますが、そういう風に見えているのは、その設定を行なったパソコンのみです。
相手からもそう見えているわけではありませんので、その点は注意が必要です。

ちなみに、「アバターの複雑さ(Avatar Rendering Complexity)」は、GPU に負荷をかけてグラフィックボードを壊してしまうというグリーファー(嫌がらせをする人)の攻撃に対しても効果があるものになっているそうです。

そのため、従来通りの「無制限」ではなくて、最高値である 35万に設定しておいた方が、そういった攻撃から守る上でも効果がありますのでお勧めです。

その点を考えると、他の人からの見た目は気にせずに従来通りのおしゃれをしたいという方も、「最大の複雑さ」の設定値は 35万以内に抑えられた方がいいと思います。


単色のシルエット表示になったアバターは、ビュアー上での見た目だけではなくて、スナップショットの画像にも同様に記録されます。

周りのアバターからどういう風に見えているかもポップアップ通知でお知らせがありますので、お友達と記念撮影などを行なう場合は、その辺もチェックしておいてください。




アバターの描画の負荷の値は、下記の仕組みで計算が行なわれています。

ベースアバター(クラシックアバター)

1000 ポイント
(baked texture が非表示の場合、それぞれのテクスチャー毎に -200 ポイントされます)

ベースコスト

プリム、スカルプテッドプリム、メッシュは、ポリゴン数に応じてベースのコストが設定されます。
LOD 用のモデル全てのポリゴン数が考慮されます。

プリム毎の倍率

下記の設定がある場合、プリムの毎にそれぞれの倍率が加えられます。

グロー1.5 倍
凸凹1.25 倍
フレキシ5.0 倍
輝き1.6 倍
インビジブルプリム1.2 倍
リグドメッシュ1.2 倍
テクスチャーマッピング1.0 倍(影響なし)
アニメーションテクスチャー1.4 倍
透明度4.0 倍

追加

パーティクルプリム毎に 100 ポイント追加
ライトが設定されたプリムプリム毎に 500 ポイント追加
メディアテクスチャー面毎に 1500 ポイント追加
リンクセットの中にユニークなテクスチャーがある場合(スカルプテッドテクスチャー含む)256 + 16 * (resX / 128 + resY / 128) の値を追加
この中で、
  • ポリゴン数が多いもの
  • フレキシ
  • 透明度
は、特に描画の負荷が高いものになります。

古いプリムの製品でも、フレキシや透明度を多用した髪などは描画の負荷が高いものがありますので、メッシュ製品に限らず、装着物は全てを見直しをしてみてください。


アバターや衣装、装着するタイプのアイテムを作られている方は、今後は「アバターの複雑さ(Avatar Rendering Complexity)」の値も重要な選択肢の一つになってきますので、その辺を意識した商品を作られるようにされた方がいいと思います。


一見すると、これまでのおしゃれを全面的に制限するような仕組みに見えてしまいますけれど、本当の目的は、

たくさんの人が集まっても
快適にコミュニケーション出来る環境を作る

ということだと思いますので、TPO に合わせた衣装を心がけるというところが、大事なところだと思います。


コミュニケーションという点で言うと、アバターが多いところだと描画の負荷が高くて日本語入力がままならなくなってしまうことがよくあると思いますが、そういう時に「最大の複雑さ」の値を小さい値に変更すると、快適に入力出来るようになることが多いです。

そういった部分でも便利な機能ですので、ぜひ活用してみてください^^


2016/8/16 バージョン 4.0.7 での「最大の複雑さ」のデフォルトの値の変更を追記しました
このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿