フォトフィルタギミック | PhotoFilter Gimmick
このページは、フォトフィルタギミックの説明ページです。

VRChatのカメラで撮影した写真に、フィルムライクな色調を乗せるギミックです。
- PC専用です。Questでは動作しません(Quest環境では自動的に非表示になります)
- フィルタが掛かるのはVRChatカメラだけで、自分の視界の色は変化しません
- ミラーには適用されません
- 追加されるパラメータはすべてローカル専用のため、同期コストは0ビットです。Expressionパラメータの枠も消費しません
前提アセット
- VRChat SDK3 Avatars
- Modular Avatar(依存するNDMFも導入されます)
これらは同梱していません。先にVCC / ALCOM等でVRChat SDK3 AvatarsとModular Avatarを導入してから、PhotoFilterのunitypackageをインポートしてください。
動作確認環境
| パッケージ | バージョン |
|---|---|
| Unity | 2022.3.22f1 |
| VRChat SDK3 Avatars | 3.10.4 |
| NDMF | 1.14.4 |
| Modular Avatar | 1.18.1 |
Modular Avatar 1.18.1はNDMF 1.14.3以上2.0.0未満を要求します。依存パッケージを更新する場合はこの範囲に収まっているか確認してください。
導入方法
PhotoFilterGimmick.prefabをアバター直下にドラッグアンドドロップ
以上です。マテリアル・アニメーター・メニューはアバターのビルド時にNDMFが自動生成されます。プロジェクトに生成物のファイルは残らず、正常に生成された場合はPhotoFilterControllerコンポーネント自体もビルド時に取り除かれます。
PhotoFilterControllerのインスペクターでは、Gradings、Enable Virtual Lens2 Compatibility、フィルタの表示範囲 (m)を設定できます。Gradingsはメニューに並べるフィルタのリストで、並び順がそのままメニューの並び順になります。開発者設定の中にあるShader参照は変更しないでください。
フィルタの表示範囲
フィルタの表示範囲 (m)は、フィルタを描画するScreenのBounds(描画判定に使われる範囲)を設定する項目です。通常のカメラでは、既定値の5mで問題ありません。
ドローンカメラがアバターから離れると、移動途中でScreenが描画対象から外れ、フィルタが途切れることがあります。ドローンカメラを使っていて、途中でフィルタが途切れてしまう場合は、この値を大きくしてください。値を変更したら、ドローンを実際に移動させて、撮影に使う範囲全体でフィルタが途切れないことを確認してください。
この設定で変わるのはフィルタの表示範囲だけです。フィルタの強さや見た目は変わりません。値を必要以上に大きくすると、離れた位置でもScreenが描画対象になり続けるため、撮影に必要な範囲を満たす最小の値にしてください。
使い方
ExpressionメニューにPhotoFilterメニューが自動で追加されます。
| 項目 | 内容 |
|---|---|
| ON | フィルタの有効・無効 |
| Filter | フィルタ(グレーディング)の選択 |
| Intensity | 効果の強さ |
| Grain | フィルムグレイン(粒状感)の量 |
| Vignette | 周辺光量落ち |
標準で16種類のフィルタを収録しています。

| 名前 | 傾向 |
|---|---|
| Standard | 標準 |
| Clean | コントラストを抑えた素直な発色 |
| Vivid | 高彩度・高コントラスト |
| Soft | シャドウを持ち上げたやわらかい階調 |
| Classic | 彩度を抑えたクラシックな色調 |
| Nostalgic | 褪せた暖色のレトロ調 |
| Cinema | シャドウを寒色に振ったシネマ調 |
| Golden | 夕方のような暖色 |
| Cool | 寒色寄りの落ち着いた色 |
| Urban | 彩度を抑えた硬質で都会的な色 |
| Mono | コントラストのあるモノクロ |
| Silver | 階調を残したフィルム調モノクロ |
| Bleach | 低彩度・高コントラスト |
| Cyanotype | 青系の単色 |
| Duotone | シャドウとハイライトを別の色にする |
| Sepia | セピア調モノクロ |
Tips
自作LUTの取り込み
Lightroom / DaVinci Resolve等で書き出した.cubeファイルを取り込めます。
Assets > cacao > PhotoFilter > .cube を LUT テクスチャに変換を実行し、.cubeを変換しますCreate > cacao > PhotoFilter > GradingでPhotoFilterGradingアセットを新規作成します- 作成したアセットの
LUT欄に、変換したテクスチャを設定します PhotoFilterControllerのGradingsリストに追加します
.cube側の条件は次のとおりです。
- 3D LUTのみ対応です(1D LUTは非対応)
DOMAINは0..1のみ対応です- LUTはガンマ空間で作成してください
変換後のテクスチャには、必要なインポート設定(sRGB OFF / 非圧縮 / ミップマップ無し / Clamp)が自動で適用されます。手動でテクスチャを用意する場合もこの設定が必須で、圧縮を掛けると色が破綻します。
VirtualLens2と併用する場合
標準の状態では、フィルタはVRChat標準カメラだけを対象にします。VirtualLens2の撮影結果にもフィルタを掛けたい場合だけ、PhotoFilterControllerのEnable Virtual Lens2 Compatibilityを有効にしてください。
有効にした場合、掛かる効果が次のように変わります。
| 色調 | グレイン | ビネット | |
|---|---|---|---|
| VirtualLens2なし | ○ | ○ | ○ |
| VirtualLens2あり | ○ | × | × |
グレインとビネットはレンズ描写より後段の効果のため、VirtualLens2のキャプチャに乗せると後からボケが掛かってしまいます。またVirtualLens2のキャプチャ画像は周囲にパディングがあり、ビネットの中心が実際の画角とずれるため、意図的に除外しています。
VirtualLens2を使用するときは、VRChat本体のカメラのフォーカスをOFFにしてください。二重にボケが掛かります。
グレインとフォーカス(被写界深度)の併用について
VRChat標準カメラのフォーカスは、シーンを描画した後に掛かるポストプロセスです。本ギミックはシーン描画の中で動くため、グレインを乗せた後にボケが掛かります。実際のフィルムは「レンズでボケる → 粒子が乗る」順なので、これとは逆になります。
ボケた領域でグレインが溶けるのが気になる場合は、標準カメラのフォーカスをOFFにするか、Grainを0にしてください。Grainの既定値は0です。
更新履歴
- v1.0.1 (2026/08/22) Boundsの設定項目を追加
- v1.0.0 (2026/08/21) 公開