작업 배경
매번 전곡의 전처리와 후보 탐색을 다시 계산하면 반복 수정이 느리고, 한 샷을 고치기 위해 다른 카메라까지 바뀌면 제작자가 결과를 유지하기 어려웠습니다.
구현한 내용
- 01
Unity Timeline의 카메라·캐릭터·음원을 일정한 입력 형식으로 추출하고 데이터 출처와 누락 정보를 기록했습니다.
- 02
음악·모션 기반 컷 후보와 전곡 DP 선택, 샷 플래너, 작업자 궤적 검색·리타게팅을 결합했습니다.
- 03
결정적인 준비 작업과 안전한 후보 구성, Seed에 따른 선택을 분리하고 입력·코드 계약에 맞는 캐시를 재사용했습니다.
- 04
선택 샷 재생성에서는 다른 샷의 카메라 데이터와 시간축을 고정한 전체 호환 결과를 만들었습니다.
- 05
Python 런타임·참조 라이브러리를 포함한 Windows 워커를 배포하고 Unity에서 카메라·애니메이션 트랙으로 가져오도록 연결했습니다.
PythonUnityCinemachineDP궤적 검색캐시Timeline
01
전곡 재계산을 줄이고 선택 샷만 수정
- 문제
- 카메라 하나의 구도를 바꿔도 전곡 계산이 반복되고, 기존 샷의 결과를 함께 보존해야 했습니다.
- 처리 방법
- 준비 캐시·전체 후보 캐시·샷별 후보 캐시를 나눴습니다. 선택 샷만 교체한 전체 결과를 만들고 다른 샷·시간 배열의 불변 조건을 검사했습니다.
- 결과·범위
- 보관된 52샷 Arisa 입력 기록에서 전곡 cold 73.315초, 전곡 cache hit 10.161초, 27번 샷 cache hit 1.293초였습니다. 같은 기록은 선택 외 28개 샷과 시간 데이터 보존을 확인하며, 곡과 PC가 달라지면 시간도 달라집니다.
02
입력·코드가 바뀐 뒤 오래된 캐시를 재사용하는 문제 방지
- 문제
- 데이터 정책·모델·음원·전처리 코드가 바뀌었는데 이전 준비물을 섞으면 캐시 hit 자체가 잘못된 결과를 만들 수 있습니다.
- 처리 방법
- 입력과 정책·의존성·구현 버전을 내용 주소에 포함했습니다. 임시 디렉터리에 파일과 해시를 모두 완성해 검사한 뒤 원자적으로 게시하고, 읽을 때도 역직렬화 전에 무결성을 확인했습니다.
- 결과·범위
- 현재 준비 캐시 코드에서 멤버 크기·SHA-256·manifest 검사와 원자적 게시 경로를 확인했습니다. 이 검사는 신뢰된 내부 캐시의 손상을 찾는 것이며 외부 pickle 파일의 안전성을 보장하지 않습니다.
구현과 검증 범위구현
실행·측정 결과는 각 사례에 적힌 당시 기록과 조건을 따릅니다. 시험 조건과 적용 범위
신경망 베이스라인과 현재 사용하는 하이브리드 생성기를 구분합니다. 기록된 생성 시간은 특정 입력·PC의 워커 시간이며 Unity 가져오기와 전체 제작 시간을 포함하지 않습니다.
- 활동
- Mingle
- 작업 구분
- 구현