Avatar Compressor
Components

LAC Texture Compressor

複雑さに応じたテクスチャ圧縮コンポーネント

Texture Compressor は、アバターのテクスチャを分析し、その複雑さに基づいて圧縮します。複雑なテクスチャ(詳細なパターン、テキスト)は軽い圧縮を、シンプルなテクスチャ(単色、グラデーション)は強い圧縮を受けます。

Full View

使用方法

コンポーネントを追加

  1. アバターのルート GameObject(VRC Avatar Descriptor があるもの)を選択
  2. Inspector でAdd Componentをクリック
  3. Avatar Compressor > LAC Texture Compressorに移動、または「Texture Compressor」で検索

プリセットを選択

ニーズに合ったプリセットを選択します。

ほとんどのアバターにはBalancedをお勧めします。

アバターをビルド

VRChat SDK から通常通りアバターをビルドします。コンポーネントは自動的に:

  1. アバター内のすべてのテクスチャを分析
  2. 複雑さに基づいて各テクスチャの圧縮レベルを計算
  3. 圧縮コピーを作成(元のファイルは変更されません)
  4. 圧縮テクスチャを使用するようマテリアルを更新

プリセット

ショーケースアバター向けの最小圧縮。

設定
除数範囲1x - 2x
解像度範囲256px - 2048px
Min Source Size1024px
Skip If Smaller Than512px

視覚的品質が最優先のアバターに最適です。

視覚的品質を優先しつつ、適度な圧縮を許容。

設定
除数範囲1x - 4x
解像度範囲128px - 2048px
Min Source Size512px
Skip If Smaller Than256px

品質を維持しながらファイルサイズを削減したい PC アバターに適しています。

品質とファイルサイズのバランスが良い。(推奨)

設定
除数範囲1x - 8x
解像度範囲64px - 2048px
Min Source Size256px
Skip If Smaller Than128px

ほとんどのアバターに推奨。良好な視覚的品質を維持しながら、大幅なファイルサイズ削減を提供します。

QuestアバターやVRAM制限向けの強い圧縮。

設定
除数範囲2x - 8x
解像度範囲32px - 2048px
Min Source Size128px
Skip If Smaller Than64px

Quest アバターや VRAM 使用量を大幅に削減する必要がある場合に使用します。

最大のファイルサイズ削減。

設定
除数範囲2x - 16x
解像度範囲32px - 2048px
Min Source Size64px
Skip If Smaller Than32px

このプリセットは視覚的品質に顕著な影響を与える可能性があります。

ファイルサイズが重要な場合に使用します。

すべての設定を完全に制御。

Custom を選択すると、すべての設定が編集可能になります。また、カスタムプリセットアセットを使用して設定を保存・再利用できます。下記のカスタムプリセット詳細設定を参照してください。

ビルトインカスタムプリセット

上記のメインプリセットに加えて、カスタムプリセットのドロップダウンから中間プリセットを利用できます:

プリセット位置説明
High Quality+High Quality より高品質最高品質、最小限の処理
Quality+High Quality と Quality の間Quality より高品質、より軽い圧縮
Balanced+Quality と Balanced の間Balanced より高品質
Aggressive+Balanced と Aggressive の間Aggressive より高品質
Maximum+Aggressive と Maximum の間Maximum より高品質

これらのプリセットは、メインプリセットがニーズに合わない場合に、より細かい制御を提供します。

テクスチャフィルター

処理するテクスチャタイプを制御:

フィルター説明
Process Main Texturesカラー/アルベドテクスチャ(_MainTex_BaseMap等)
Process Normal Mapsノーマル/バンプマップ(_BumpMap_NormalMap等)
Process Emission Mapsエミッションテクスチャ(_EmissionMap等)
Process Other Texturesメタリック、ラフネス、その他のテクスチャ

パス除外

特定のアセットパスのテクスチャを圧縮から除外できます。以下の場合に便利です:

  • 一時的なアセットを生成するツールのテクスチャを除外
  • 変更すべきでない特定パッケージのテクスチャを保持

デフォルトでは、以下のパスが除外されています:

パス説明
Packages/com.vrcfury.temp/VRCFury 一時ファイル

コンポーネントの Inspector で Path Exclusions からカスタムパスプレフィックスを追加できます。これらのプレフィックスで始まるアセットパスを持つテクスチャはスキップされます。

プレビュー

Inspector でPreview Compression Resultsをクリックすると、ビルド前に圧縮分析を確認できます。

検索とフィルター

プレビュー上部の検索ボックスを使用して、テクスチャ名でフィルタリングできます:

  • 標準検索: テクスチャ名の一部を入力してリストをフィルタリング(大文字小文字区別なし)
  • ファジー検索: 「Fuzzy」ボタンをクリックしてファジー検索を有効にすると、1文字までのタイプミスを許容します

検索中は、セクションヘッダーにフィルタリング結果の件数(例:「Preview (3/10 shown)」)と非表示テクスチャ数が表示されます。

サマリー

プレビューには合計サイズの統計が表示されます:

メトリック説明
Originalすべてのテクスチャの非圧縮合計サイズ
After圧縮後の推定サイズ
Savings削減されたパーセンテージとバイト数
Memory (Est)圧縮後の推定 VRAM メモリ使用量

テクスチャリスト

各テクスチャについて、プレビューには以下が表示されます:

  • テクスチャサムネイル - クリックすると Project ウィンドウでテクスチャがハイライトされます
  • テクスチャ名とタイプ(Main、Normal、Emission、Other)
  • 複雑さスコア(0.0 - 1.0)と視覚的なプログレスバー
  • サイズ変更 - 元の解像度 → 推奨解像度(除数付き)
  • 予測フォーマット - 予想される圧縮フォーマット(例:BC7、DXT5、ASTC_4x4)
  • Freeze ボタン - クリックしてテクスチャを手動設定で凍結(凍結テクスチャを参照)

テクスチャサムネイルをクリックすると、Project ウィンドウでテクスチャアセットをすばやく見つけて選択できます。

複雑さスコアの解釈

スコアレベル圧縮
< 0.2非常に低い強い圧縮を適用
0.2 - 0.4低い圧縮に適している
0.4 - 0.6中程度適度な圧縮
0.6 - 0.8高い軽い圧縮のみ
≥ 0.8非常に高い最小限の圧縮

スキップされたテクスチャ

処理されないテクスチャは、スキップ理由とともに別途表示されます:

  • Too small: テクスチャが最小サイズしきい値より小さい
  • Filtered by type: テクスチャタイプがフィルターで無効化されている
  • User frozen (skipped): テクスチャが「Skip compression」有効で凍結されている
  • Runtime generated: アセットパスを持たないテクスチャ(ビルド中に動的に生成)
  • Excluded path: テクスチャのアセットパスがパス除外パターンに一致

プレビューは自動的に更新されません。プレビュー生成後に設定を変更した場合、ボタンを再度クリックして更新するよう警告が表示されます。

凍結テクスチャ

凍結テクスチャを使用すると、特定のテクスチャの圧縮設定を手動でオーバーライドできます。以下の場合に便利です:

  • 自動圧縮が重要なテクスチャに対して強すぎる場合
  • 特定のテクスチャをフル品質で保持したい場合
  • 特定のテクスチャに特定の圧縮フォーマットを使用する必要がある場合

テクスチャを凍結する

  1. Preview Compression Resultsをクリックしてテクスチャを分析
  2. 凍結したいテクスチャをリストで見つける
  3. テクスチャの横にあるFreezeボタンをクリック

テクスチャは「Frozen Textures」セクションに移動し、手動コントロールが表示されます。

凍結テクスチャの設定

各凍結テクスチャについて、以下を設定できます:

設定説明
Skip compression有効時、テクスチャは圧縮から完全に除外される
Divisor手動解像度除数(1、2、4、8、または 16)
Format圧縮フォーマットのオーバーライド(Auto、DXT1、DXT5、BC5、BC7、ASTC)

Skip compressionが有効な場合、テクスチャは処理されないため、DivisorとFormat設定は無効になります。

利用可能なフォーマット

フォーマット説明プラットフォーム
Auto自動フォーマット選択すべて
DXT1RGB のみ、4 bpp(効率的)Desktop
DXT5RGBA、8 bpp(アルファ付き)Desktop
BC5ノーマルマップ、8 bppDesktop
BC7最高品質、8 bppDesktop
ASTC_4x4モバイル最高品質、8 bppMobile
ASTC_6x6モバイルバランス、3.56 bppMobile
ASTC_8x8モバイル効率的、2 bppMobile

テクスチャを解凍する

手動オーバーライドを削除して自動圧縮に戻すには:

  1. Frozen Texturesセクションでテクスチャを見つける
  2. Unfreezeボタンをクリック

テクスチャは通常の自動処理に戻ります。

凍結テクスチャのアセットファイルが移動または削除された場合、Frozen Textures セクションに警告が表示されます。リストを整理するために、そのようなテクスチャを解凍してください。

カスタムプリセット

カスタムプリセットを使用すると、圧縮設定を再利用可能な ScriptableObject アセットとして保存できます。以下の場合に便利です:

  • 複数のアバター間で設定を共有
  • プラットフォーム固有の設定を作成(例:「PC/High Detail」「Quest/Optimized」)
  • プロジェクト間で一貫した圧縮設定を維持

カスタムプリセットの作成

  1. コンポーネントを Custom モードに設定
  2. 希望の設定を構成
  3. プリセットフィールドの横にある + ボタンをクリック
  4. 新しいプリセットの保存場所と名前を選択

現在の設定が新しいプリセットに自動的に保存されます。

  1. Project ウィンドウで右クリック
  2. Create > Avatar Compressor > Texture Compressor > CustomTextureCompressorPreset を選択
  3. プリセットに名前を付け、Inspector で設定を構成
  4. Menu Path フィールドを設定して、ドロップダウンメニューに表示されるようにする

カスタムプリセットの使用

  1. コンポーネントを Custom モードに設定
  2. Custom Preset ボタンをクリック
  3. 階層メニューからプリセットを選択

Menu Path が設定されているプリセットのみがドロップダウンメニューに表示されます。Menu Path のないプリセットは、プリセットフィールドにドラッグすることで割り当てできます。

Use-Only Mode と Edit Mode

Custom Preset ボタンからプリセットを選択すると、コンポーネントは Use-Only Mode になります:

モード説明
Use-Only Mode設定は読み取り専用で、プリセットのサマリーを表示
Edit Mode設定を変更するためのフルアクセス(Edit をクリックして切替)

Use-Only Mode では:

  • 設定サマリーが現在の構成を一目で表示
  • プリセットに Description が設定されている場合は表示
  • Edit をクリックして Edit Mode に切り替え

プリセット編集の制限

一部のプリセットは直接編集できません:

制限タイプアイコン説明
ロック済み🔒ユーザーがロックしたプリセット(Lock フィールドが有効)
ビルトイン🔒Avatar Compressor パッケージに同梱
外部パッケージ🔒他のパッケージから(例:プリセットパック)

制限されたプリセットを編集しようとすると:

  1. 確認ダイアログが表示されます
  2. Unlink を選択して編集を続行(設定がローカルにコピーされます)
  3. または Cancel でプリセットのリンクを維持

プリセット設定の管理

これらのアクションは、プリセットフィールドの横にあるアイコンボタンとして利用できます:

ボタンアクション説明
Save現在の設定をリンクされたプリセットに保存(編集可能な場合)
Discardプリセットから設定を再読み込みし、ローカル変更を破棄
+Create現在の設定から新しいプリセットを作成
Unlink現在の設定を維持したままプリセットとの接続を解除

アイコンボタンにカーソルを合わせると、各アクションの説明がツールチップで表示されます。

同期インジケーターは、ローカル設定がプリセットと一致しているかを表示します:

  • Modified: ローカル設定がプリセットと異なる
  • Synced: 設定がリンクされたプリセットと一致

プリセット設定

Inspector でカスタムプリセットアセットを編集する場合:

フィールド説明
Menu Pathドロップダウンでの階層パス(例:「PC/High Detail」)
Menu Orderメニューでの表示順(小さい値が先に表示、デフォルト:1000)
DescriptionUse-Only Mode で表示されるオプションの説明
Lockこのプリセットへの誤った変更を防止

詳細設定

これらの設定はCustomプリセットを使用している場合に利用可能です。

互換性

Texture Compressor は NDMF Optimizing フェーズ中に実行され、Modular Avatar の後、TexTransTool や Avatar Optimizer の前に動作します。これにより、アバターセットアップツールとの適切な統合を確保しながら、最終的なアバター最適化の前にテクスチャを最適化します。

On this page