FX 작업 도구 기획·결과 (v0.4)

2026-09-19 · 공개 전에 "파괴·폭발·물" 외에 실제 FX 작업에 필요한 기능을 정하고 만든 기록

결론

FX 작업 흐름을 "모델 가져오기 → 구도·조명 → 효과 → 타이밍 → 내보내기"로 놓고 빠진 자리를 13개 도구로 채웠습니다. 전부 헤드리스 테스트(14개)와 실제 픽셀로 확인했고, 도구는 총 24개가 됐습니다. 아직 못 한 것 7개는 아래에 이유와 함께 적었습니다.

1. 먼저, 약점

  1. 불은 해상도를 먹습니다. 건물 크기 대상은 64 이상이어야 벽의 불이 보입니다. 처음엔 꼭대기에만 왕관처럼 붙었고, 대상 복사본을 장애물로 두고 표면 띠를 복셀보다 두껍게 잡아서 해결했습니다.
  2. 슬로모션이 파티클엔 안 걸립니다. 블렌더 파티클은 시간 배속을 애니메이션할 수 없습니다. 리지드바디·연기·물만 느려집니다.
  3. 파티클 수를 2만 개로 막았습니다. 바다(40m) 위에 눈을 뿌리면 17만 개가 나와서 캡을 걸었습니다. 넓은 장면은 count를 직접 주세요.
  4. 내보내기는 메시·키프레임만. 연기·물·파티클은 glb/fbx 로 못 가져갑니다. 조각 물리는 bake_physics=True로 키프레임으로 구워 내보내지만 되돌릴 수 없습니다(먼저 save_blend).
  5. 바람이 연기에 얼마나 먹히는지는 눈으로 안 봤습니다. 테스트는 힘장이 생기고 시뮬레이션이 다시 구워지는 것까지만 확인합니다.
  6. 소켓 경로 재검증은 안 했습니다. 새 도구 13개는 창 없이(헤드리스) 검증했고 통신 코드는 그대로입니다. 블렌더를 켜고 scripts/e2e_socket.py를 돌리면 전체가 확인됩니다.

2. 기능 표 (계획 → 결과)

도구왜 필요한가상태검증 근거
import_model상자 말고 진짜 모델을 부숴야 한다. glb/fbx/obj/stl/usd/blend완료내보낸 glb 를 다시 가져와 이름·크기(6m) 확인. 여러 메시는 하나로 합침
export_model결과를 다른 프로그램(언리얼·후디니 등)으로완료glb 1KB 이상 생성. 처음엔 "실제 선택" 없이 빈 파일이 나와 고침
camera"로우앵글로", "옆에서" 같은 연출 지시완료프리셋 8개, low 는 렌즈 28mm 확인
camera_shake충돌·폭발 순간의 흔들림완료흔들리는 프레임과 안 흔들리는 프레임의 픽셀이 다름
set_look낮·노을·밤·흐림 분위기완료노을 프리셋 적용 확인. 처음 노을은 너무 갈색이라 하늘 세기를 낮춤
set_timing프레임·fps·슬로모션완료연기 도메인에 배속 키프레임 적용, 다시 굽기 확인
clear_caches연기·물 캐시가 디스크를 채운다완료가짜 캐시 파일이 지워짐
fire / smoke불타는 건물, 굴뚝 연기 (폭발과 다름)완료건물 벽을 타고 오르는 불 + 연기 픽셀 확인 (해상도 64)
particles비·눈·불꽃·재완료눈·불꽃 생성, 프레임 픽셀 차이 확인. 바닥에 닿으면 사라짐
wind깃발·파티클·연기 밀기완료바람+난류 힘장 생성, 시뮬레이션 재굽기
ocean바다·파도 장면완료파도 움직임 픽셀 확인. 바닥 평면과 겹치던 문제 수정
cloth_flag천 시뮬레이션 대표 사례완료깃발 끝이 3.86m 움직임

3. 실제 그림으로 확인한 것

4. 아직 안 만든 것 (다음 후보)

기능왜 미뤘나
장면 스냅샷/되돌리기파일 다시 열기가 소켓 수신기와 어떻게 얽히는지 검증이 필요. 지금은 save_blend로 대신
조각 접착(구조 붕괴)리지드바디 제약을 수백 개 만들어야 해서 굽기가 느려짐. 지금은 "잠들었다 깨는" 방식으로 대체
창문 있는 건물 프리셋연습용 상자로도 흐름 검증엔 충분. 실제 모델은 import_model로
연기가 조각과 충돌조각 80개를 연기 장애물로 등록하면 굽기 시간이 몇 배
HDRI 하늘 조명인터넷 다운로드가 필요. 지금은 단색 하늘 프리셋
영어 메시지모든 문장을 두 벌로 관리해야 함. README 영문 요약으로 시작
바닥 재질(아스팔트·잔디)절차적 재질 몇 개면 되지만 우선순위가 낮음

5. 검증 요약

검사결과
pytest 전체14개 통과 (서버 6 + 헤드리스 8)
불 파이프라인 (건물, 해상도 64, 48프레임)성공, 약 3초
바다·바람·눈·깃발 파이프라인성공, 깃발 끝 3.86m 이동
패키지 빌드 → 휠에서 uvx 실행v0.3 에서 확인, 구조 변경 없음

이 문서는 저장소 docs/에 함께 들어 있습니다.