PBR導入後の問題点(1)アルファ透過度の非互換で髪生え際が薄くなる
セカンドライフ(セカンドライフ/SecondLife/SL)ではグラフィックス面での大きなアップデートとしてPBR(Physical Based Rendering)の導入が行われました。物理ベースレンダリングと呼ばれ、服の生地や金属面の反射といった描画がリアルになったり、鏡の実現、地形データの管理など新しい要素も入り、SLはまた3Dグラフィックスがリアル方向に進化しました。
しかし、グラフィックスの面でPBRとは直接関係ない部分も機能追加や仕様変更が行われており、実用面ではちょっとした問題が発生しています。今回はその解説と回避方法を紹介します。
PBR以外の新機能で実用的な問題が発生
今回のアップデートではPBR対応が大きな目玉ですが、実はグラフィックス描画についてほかにもいくつか仕様変更や機の追加が行われていて、従来とは画面の見え方が大きく変わってしまっている点があり、PBRがどうのという前にいくつか厄介な問題を引き起こしています。
ひとつはアルファ(透明テクスチャ)レンダリングの仕様変更、もうひとつは、画面の状況に合わせて露出(明るさ)が勝手に変わる自動露出調整機能の導入です(自動露出調整機能の問題と対策については別エントリーに書くかも?)。
アルファ(透過)表示の仕様変更で髪や服の表示に異常
一番の問題はアルファ(透過)レンダリング(表示処理)の仕様変更です。アルファというのは、単純に言うと透明部分を含むテクスチャのことです。例えば、アバター用アイテムでよく使われているものだと、髪の生え際、前髪、メッシュボディ+ヘッドのレイヤー上につけるメイクやタトゥやまつ毛、服の透けた部分などのテクスチャがあります。
ただしアバター本体(ボディ+ヘッド)のスキンやタトゥといったBOMアイテムに関してはPBR環境移行後でも影響はありません(レイヤー上につけるメイクやタトゥに関しては問題あり)。
標準のアルファレンダリングがsRGBからリニアへ
SLのアルファレンダリングはPBR導入と同時にsRGBからリニアレンダリングという仕様に変わりました。sRGBは表示するディスプレイや人間の目の特性に合わせて透過度の変化にカーブがある処理方法で、リニアでは明暗変化が一定一直線で、物理的に正しいPBR向け処理としてはリニアを用います。3D(ゲーム)の世界では今やPBRが標準でありアルファの描画もリニアが主流ということで、SLもPBR導入と同時にリニアへと変更されたわけです。
PBR+リニアレンダリングで描画がリアルになったのはいいとして、問題は過去に作られたアイテムや資産はsRGB用として作られているわけで、それをリニアレンダリングで処理されると想定とは違う透過度になってしまいます(想定より透過度が上がって薄くなる)。
1-100%までの透過度があったとして、同じ50%でも、sRGBとリニアでは見た目で透過度がまったく違います。例えばsRGB想定で約50%として作ったものをリニアで処理すると約20%程度になってしまい、大雑把に言うとだいぶ透過度が上がって薄く見えてしまいます。
Lindenはアルファレンダリングの過去の互換性は捨てると明言
この問題については、feedback.secondlifeのサイトでもクリエイター側からLindenに対して質問や対応策を求めるスレッドができていますが、LindenとしてはPBR+アルファリニアレンダリングがこれからの標準である、というのが確固たる方針だと説明しており、つまりこれまでのアイテムの互換性は捨てたと言っています。
PBR+アルファリニアレンダリングはSLに限らず、3D(ゲーム)業界ではすでに標準的な規格であり、どこかで互換性を捨ててでも導入する時期が出てくるとはいえ、実際にどのような影響が出るのかを含めてPBR導入前にユーザー/クリエイターに対して十分な説明をしていたのかは疑問が残ります。
特にSLは20年の長きにわたって環境が増改築されて続いているシステムなので、複数の違う環境向けに作られたアイテムが混在したカオス状態が生まれやすく、クリエイターもユーザーにとってもこれが高難度なところ。
髪の生え際や前髪がおかしくなっている実例
実際に髪のアイテムで例を見てみましょう。髪の生え際や分け目や前髪にはアルファが多用されていますが、今までの髪をPBR環境で見てみると、もとより薄く見えて盛大に地肌が見えるようになったり、ほかのパーツのテクスチャとのグラデーションが合わなくなったりとても奇妙なことになっています。
髪だけでいっても、SLではこれまでに膨大な数が作られているわけで、ひとつの店で大量の製品を出している大型店ならば過去の大量のアイテムを全て作り直すかどうかの判断をしなければならない大問題です。一部のクリエイターは「仕様変更で過去の資産がすべて壊された」「有料販売されたアイテムが台無しになりユーザーもクリエイターも大損害だ」「すべて作り直せというのか?」などと怒っている人もいます。
いまのところ、この問題はあまり気が付かれていないところもあって(多数の人が使っているFirestormビューワーがPBR対応したのが公式導入の2023/12から半年遅れの2024/6で、このあたりから問題がやっと大きくなった)、「言われて良く見たら確かに変だ」程度のようですが、アイテムによってはかなりひどい状態になっているものがあり、いずれどこかで問題が大きくなる気がします。
これは髪に限らず、メッシュヘッドやボディのメイクレイヤー/まつ毛レイヤー/タトゥレイヤーでも同じ問題が発生しています。特にメッシュヘッドのまつ毛は透過度が上がって毛が薄くなっているのにカバー方法がなく、これは実質アイテム作者がアップデートしてもらうほかないわけですが、知る限りではそうした動きはまったくありません。
とりあえずの対策としてBOMのヘアベースを使う
ひとまず影響の大きい髪に特化して対策を紹介すると、ひとつはBOMのヘアベースを使ってヘッド地肌に毛のテクスチャをつけることです。前髪は対策のしようがありませんが、薄くなってしまった分け目や生え際については、メッシュヘッド側でヘアベースをつけることでだいぶ目立たなくなります。
ヘアベースとは、メッシュヘッドの表面につける髪のテクスチャのことで、メッシュヘッド黎明期によく使われていて、髪屋さんでもオリジナルのヘアベースを配ったりしていましたが、ここ数年は髪側オブジェクトに生え際テクスチャをつけることが多くヘアベースが使われことが少なくなっていました。
例えば、Lelutkaのメッシュヘッドには「Unpack - HAIRBASES」というオブジェクトが同梱されているので、これを装着してアンパックすると、さらに「Unpack - HAIRBASES - lel evox (f)」(EVO X女性用)、「Unpack - HAIRBASES - lel evox (m)」(EVO X男性用)「Unpack - HAIRBASES - LeLUTKA Classic (f)」(EVO女性用)「Unpack - HAIRBASES - LeLUTKA Classic (m)」(EVO男性用)の4つのオブジェクトが現れ、EVO X規格の女性用ヘアベースが欲しければ「Unpack - HAIRBASES - lel evox (f)」のオブジェクトを装着してアンパックすると約90種類のヘアベースが出てきます。生え際と分け目の違いでテクスチャ9種類×9色あるので、自分の使う髪に合うものをつけましょう。
barberyumyumの髪「T22」は、額周辺の生え際と首筋あたりの分け目のテクスチャが極端に薄くなってしまっているので、そのままだとヘッドの地肌が目立ってしまいますが、ヘアベースをつけるとだいぶ自然な見た目になります。
CHAINの髪「Hailey」も分け目がかなり薄くなって一部グラデーションがおかしくなっていますが、ヘアベースをつけることで目立たなくなります。
髪のアップデートを実施したのはまだMagikaだけ
実際、髪の生え際テクスチャをPBR向けのリニアに変更して多数の過去アイテムをきちんと告知してアップデートしたのは、私がチェックしている範囲では今のところMagikaの1店だけです。
私が持っている髪でもいろんな店の髪がひどい状態になっているので、多くの店がアップデートして欲しいところですが、今のところ店側は動きが鈍いです。大量のアイテムをアップデートしてもそれ自体が売上にはならないので及び腰なのでしょう。
もっとこの問題は注目されるべきだと思いますし、特に生え際のアルファテクスチャ付きで作られたここ数年で作られた髪はアップデートなり別バージョンとして再発売するなどの動きがあるのが自然ではないかと思います。
なんでこの問題にみんな静かなのか不気味…
今のところこの問題に対してみんな静かすぎるのが実に不気味です。SLはアバターメイキングの自由さやリアルさが大きな特徴であり、髪や服といったアイテムマーケットも一大産業であり、クリエイターにとってもユーザーにとっても極めて重要なところ。
もっと騒がれていいと思うのですけどね…。