AR Film Creator
번들된 프로젝트를 새 프로젝트의 소스 진실(source of truth)로 사용하십시오. 사용자가 명시적으로 상호작용 변경을 요청하지 않는 한, 카메라, 추적, 지오메트리, 폐색(occlusion) 및 서버 파이프라인을 안정적으로 유지하십시오.
요청 분류
- 요청을 분류하십시오:
- 새 프로젝트:
assets/browser-ar-template를 인스턴스화하십시오. - 스타일만 변경:
src/filter-presets.js를 편집하십시오. - 동작 변경: 먼저 프리셋 지오메트리 또는 모션 값을 편집하십시오.
- 엔진 변경: 프리셋 필드로 요청을 표현할 수 없는 경우에만
src/app.js를 편집하십시오.
- 새 프로젝트:
- 모든 스타일 또는 동작 변경에 대해
references/preset-contract.md를 읽으십시오. - 시각적 요구 사항을 매개변수로 변환할 때
references/filter-recipes.md를 읽으십시오. - 추적, 지오메트리, 렌더링 순서, 마스킹, 시작 또는 파일 구조를 변경하기 전에
references/architecture.md를 읽으십시오.
프로젝트 생성
다음을 실행하십시오:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/New-ArFilmProject.ps1 -Destination "<절대-출력-경로>"
빈 디렉토리 또는 존재하지 않는 디렉토리를 대상으로 하십시오. 기존 프로젝트를 암시적으로 덮어쓰지 마십시오.
스타일 커스터마이징
- 기존 프리셋을 알려진-정상(known-good) 폴백으로 유지하십시오.
src/filter-presets.js에 새로운 고유 kebab-case 프리셋 ID를 추가하십시오.references/preset-contract.md에 정의된 필드만 변경하십시오.- 사용자가 명시적으로 엔진 수준의 레이어 수 변경을 요청하지 않는 한, 정확히 세 개의 레이어 정의를 유지하십시오.
?preset=<프리셋-id>를 통해 프리셋을 테스트하십시오.- 알 수 없는 프리셋 ID가
transparent-film으로 폴백되는지 확인하십시오.
엔진 불변 속성 보호
- MediaPipe Tasks Vision 고정 URL 및 모델 폴백 동작을 유지하십시오.
- 두 손의 화면 위치 정렬을 유지하십시오.
- 제어 행
4,8,12,20을 유지하십시오. - 인접한 표면 간의 공유 경계를 유지하십시오.
- 접기 및 비틀기 전환을 허용하십시오. 자기 교차 고정을 다시 도입하지 마십시오.
- 합성 순서를 유지하십시오: 배경, 필름, 손/팔뚝, 제어.
- localhost 시작 및 카메라 권한 오류 처리를 유지하십시오.
- 사용자가 명시적으로 다른 스택을 요청하지 않는 한, 파생된 프로젝트를 빌드 없이 유지하십시오.
검증
다음을 실행하십시오:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/Test-ArFilmProject.ps1 -ProjectPath "<절대-프로젝트-경로>"
그런 다음 로컬 서버를 시작하고 다음을 확인하십시오:
- 루트, CSS,
app.js및filter-presets.js가 HTTP 200을 반환합니다. - 모델 로딩이 완료됩니다.
- 데모 모드가 네 개의 곡선 제어선과 세 개의 연결된 표면을 렌더링합니다.
- 요청된 프리셋이 시각적으로 구별됩니다.
- 비틀기 애니메이션이 멈춤 없이 양쪽 굽힘 방향을 교차합니다.
- 리셋 및 스무딩 컨트롤이 작동합니다.
- 브라우저 콘솔에 프로젝트 오류가 0입니다.
가능한 경우 실제 브라우저 자동화 도구를 사용하십시오. MediaPipe의 내부 "OpenGL error checking is disabled" 경고는 실제 오류가 동반되지 않는 한 정보 제공용으로 처리하십시오.
보고
다음을 보고하십시오:
- 추가된 프리셋 또는 엔진 동작;
- 변경된 파일;
- 스타일 선택 및 사용 방법;
- 완료된 검증;
- 여전히 사용자가 수행해야 하는 카메라 또는 하드웨어 확인 사항.