본문으로 건너뛰기

PhotoFilter Gimmick

이 페이지는 PhotoFilter Gimmick(フォトフィルタギミック)의 설명 페이지입니다.

PhotoFilter_booth_01

VRChat 카메라로 촬영한 사진에 필름 같은 색감을 입히는 기믹입니다.

먼저 확인해 주세요
  • PC 전용입니다. Quest에서는 작동하지 않습니다 (Quest 환경에서는 자동으로 숨겨집니다)
  • 필터는 VRChat 카메라에만 적용되며, 자신의 시야 색은 바뀌지 않습니다
  • 미러에는 적용되지 않습니다
  • 추가되는 파라미터는 모두 로컬 전용이므로 동기화 비용은 0비트입니다. Expression 파라미터 슬롯도 사용하지 않습니다

필요 에셋​

이 에셋들은 포함되어 있지 않습니다. 먼저 VCC / ALCOM 등으로 VRChat SDK3 Avatars와 Modular Avatar를 설치한 다음, PhotoFilter의 unitypackage를 임포트하세요.

동작 확인 환경​

패키지버전
Unity2022.3.22f1
VRChat SDK3 Avatars3.10.4
NDMF1.14.4
Modular Avatar1.18.1

Modular Avatar 1.18.1은 NDMF 1.14.3 이상 2.0.0 미만을 요구합니다. 의존 패키지를 업데이트할 때는 이 범위에 들어가는지 확인하세요.

설치 방법​

  1. 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종류의 필터가 들어 있습니다.

16종류 필터 비교

이름특징
Standard표준
Clean대비를 낮춘 자연스러운 발색
Vivid고채도·고대비
Soft섀도를 들어 올린 부드러운 계조
Classic채도를 낮춘 클래식한 색감
Nostalgic바랜 듯한 따뜻한 레트로
Cinema섀도를 차갑게 한 시네마 톤
Golden저녁 같은 따뜻한 색
Cool차가운 쪽의 차분한 색
Urban채도를 낮춘 단단하고 도시적인 색
Mono대비가 있는 흑백
Silver계조를 살린 필름풍 흑백
Bleach저채도·고대비
Cyanotype푸른 계열 단색
Duotone섀도와 하이라이트를 다른 색으로
Sepia세피아 톤 흑백

Tips​

직접 만든 LUT 가져오기​

Lightroom / DaVinci Resolve 등에서 내보낸 .cube 파일을 가져올 수 있습니다.

  1. Assets > cacao > PhotoFilter > .cube を LUT テクスチャに変換(.cube를 LUT 텍스처로 변환)을 실행해 .cube를 변환합니다
  2. Create > cacao > PhotoFilter > Grading으로 PhotoFilterGrading 에셋을 새로 만듭니다
  3. 만든 에셋의 LUT 칸에 변환한 텍스처를 지정합니다
  4. 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 본체 카메라의 포커스를 꺼 주세요. 보케가 이중으로 걸립니다.

그레인과 포커스(피사계 심도)를 함께 쓰는 경우​

VRChat 기본 카메라의 포커스는 장면을 그린 후에 적용되는 포스트 프로세스입니다. 이 기믹은 장면을 그리는 도중에 동작하므로, 그레인을 입힌 뒤에 보케가 걸립니다. 실제 필름은 "렌즈로 흐려진 뒤 → 입자가 생기는" 순서이므로 이와 반대입니다.

흐린 영역에서 그레인이 녹아 보이는 것이 신경 쓰인다면, 기본 카메라의 포커스를 끄거나 Grain을 0으로 하세요. Grain의 기본값은 0입니다.

업데이트 내역​

  • v1.0.1 (2026/08/22) Bounds 설정 항목 추가
  • v1.0.0 (2026/08/21) 공개