ユーザ用ツール

サイト用ツール


Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

デバイス

アプリケーション

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

virtualcast:other:graphics_optimization

描画の最適化

バーチャルキャストは動作の安定化・高速化のために、キャラクターとアイテムの描画を最適化します。

最適化によって、高負荷時の安定性向上・描画フレームレート向上・消費メモリの減少が見込まれます。

見やすい解説スライドと説明は以下の Blog をご覧ください。

【2021/9/22】サービス開発進捗報告会 報告内容まとめ

設定

詳細設定の[グラフィックス > キャラクターおよびアイテム描画を最適化する ]で設定できます。 デフォルトの設定値は ON です。

テクスチャに対する最適化

機能とその効果

テクスチャに対して GPU フレンドリーな圧縮を行います。 これにより以下のうれしい効果が得られます。

  • ロード時のフリーズ時間の短縮
  • CPU・GPU 上のメモリ使用量の削減

フリーズ時間の短縮によって、キャラクターを変更したときやアイテムを出現させたときの fps のカクツキが大幅に軽減されます。

またメモリ使用量の削減によって、fps の向上が見込まれます。

具体的な量は以下の図が示すように、フリーズ時間は 98% 短縮、メモリ使用量は 75% 削減されます。

また以下の例のように、圧縮によって目立つような差異はほとんどありません。

しかし以下の例のような色の差がはっきりしたテクスチャにおいて、拡大したときにノイズが見える場合があります。

問題

ほとんどのテクスチャは問題が見えませんが、一部のテクスチャは問題が目に見える可能性があります。 これについて説明します。

テクスチャに対する最適化は、画像の圧縮を行っています。 このとき圧縮方式は、画像に対して以下の条件を想定しています。

  • 前提:画像を 4×4 ピクセルの範囲に区切って、その区切った単位をブロックと呼称する
  • 条件:ひとつのブロックの中は、似たような色で占められている

世の中の多くの画像はこの条件を満たすため、目に見える劣化もなく圧縮することができます。 逆にこの条件を満たさない一部の画像では、ノイズのようなアーティファクトが出てしまいます。 たとえば以下のような例です。

  • セルアニメ調の画像
  • ピクセル表現の画像
  • ボクセルモデルツールから出力した画像

これらの例はピクセル単位で色を細かく調整するような画像です。 つまり隣り合うピクセルの色がまったく違う箇所が多い画像になります。 したがって圧縮方式が想定する条件から外れてしまい、アーティファクトが出てしまいます。 結果として、色が変わってしまうといった問題が出る可能性があります。

関連資料

問題に対する回避手法

前節で述べたとおり、問題が見えるテクスチャは隣り合うピクセルの色がまったく違うような画像です。 したがって隣り合うピクセルの色が同じになるようにすれば問題を回避できます。

この回避手法としては画像を拡大して VRM/VCI を出力しなおすことが挙げられます。 画像を拡大することにより、圧縮によるアーティファクトを最小限に抑えることができます。 しかしVRM/VCIのサイズが増加する最適化による恩恵を打ち消してしまうというデメリットがあります。

画像を拡大する具体的な手段としては、画像編集ソフトの操作が求められます。 また、画像を拡大するときは「ニアレストネイバー」という補間方法を用いるのが適切です。 またこの際、拡大するサイズは 200%400% にするのが適切です。 ただし、画像サイズの適切な大きさは 1024×1024 px 、大きくても 2048×2048 px になります。 それ以上のサイズになるようであれば、モデルの UV 展開から見直す必要があります。

画像をニアレストネイバーを用いて拡大する具体的な方法は、各種画像編集ソフトで異なります。 以下のワードで Google 検索して調べることをお勧めします。

virtualcast/other/graphics_optimization.txt · 最終更新: 2022/06/03 19:43 by pastatto

ページ用ツール