Communitygithub.com

blender-film

Blender로 Claude와 함께 처음부터 끝까지 짧고 사실적인 시네마틱 쇼트를 만듭니다: 스토리보드, 도시 배치, 물리 기반 비행 경로, 추적 카메라, 실제처럼 움직이는 주인공, 리얼리즘 패스, 실제 야간처럼 보이는 조명, 핸드헬드 카메라 흔들림, 3D 모션 기반 사운드 디자인, 자동 검증을 포함한 야간 렌더링, 그리고 '흰색 클레이 빌드업' 공개 영상으로 실제 3D임을 증명합니다.

blender-film란 무엇인가요?

이 스킬은 Claude AI를 활용하여 Blender에서 완전한 시네마틱 3D 쇼트 영화 제작 워크플로우를 구현합니다. 사용자는 스토리보드 단계에서부터 물리 시뮬레이션 기반의 비행 경로, 실제 드론처럼 기울어지는 FPV 드론, 야간 조명, 핸드헬드 카메라 흔들림(Shakify), 3D 모션 데이터를 기반으로 한 사운드 디자인, 안전한 야간 렌더링, 그리고 '클레이 빌드업' 공개 영상까지 전 과정을 Claude의 안내와 스크립트 실행을 통해 진행할 수 있습니다. 이 워크플로우는 주로 Blender 4.4+와 Cycles GPU 렌더러를 기반으로 하며, Python과 ffmpeg, numpy, scipy 같은 외부 도구가 필요합니다. 각 단계는 `scripts/` 디렉토리의 개별 Python 스크립트로 구현되어 있으며, Claude가 Blender와 실시간으로 통신하는 브릿지(`tools/bridge.py`)를 통해 실행됩니다. 이 스킬은 복잡한 시네마틱 쇼트를 제작하려는 개발자나 아티스트에게 유용하며, 특히 물리 기반 모션, 사실적인 야간 조명, 3D 모션 기반 사운드 디자인과 같은 고급 기술을 구현할 때 효과적입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/authrain-cloud-abdullahformuli/claude-blender-skills/tree/HEAD/skills/blender-film

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Claude로 Blender 영화 만들기

10초짜리 야간 FPV 드론 시티 쇼트의 워크플로우: 하나의 스토리보드, 실제 물리 경로, 하나의 피벗(첫 번째 주인공이 실패함), 야간 조명, 모션 기반 사운드, 3.5시간 렌더링, 그리고 클레이 빌드업 공개. 아래 모든 단계는 해당 쇼트를 위해 실제로 실행된 scripts/의 스크립트입니다. 그 안의 이름(Drone Empty, Street Asphalt, Building_1...)은 해당 장면에서 비롯된 것이니 여러분의 것으로 이름을 바꾸세요.

0. 설정

  • Blender 4.4+ (5.2에서 제작), Cycles용 GPU, Python 3 + PATH에 ffmpeg (+ 사운드 단계용 numpy, scipy).
  • 라이브 브릿지 (Claude가 열린 Blender를 구동하고, 여러분이 지켜봄): Blender 텍스트 편집기에서 tools/bridge.py를 실행합니다 (127.0.0.1:9876에서 수신 대기). 그런 다음 터미널에서: python tools/send.py scripts/06_night.py 또는 python tools/send.py -c "print(bpy.data.filepath)".
  • FILM_ROOT를 프로젝트 폴더로 설정합니다 (기본값 ~/blender-film): scene/, render/, audio/, research/가 그 안에 위치합니다. tools/lib.py는 모든 스크립트에 의해 로드됩니다 (헬퍼: coll(), save(), snap()...).
  • 복사본에서 작업하세요. 재생하거나 재료를 편집하는 스크립트를 다시 실행하기 전에 .blend 파일을 복사하세요. 여러 패스는 실행 중간에 충돌이 나면 멱등적이지 않습니다 (고아 노드 링크를 다시 실행하는 경우).

1. 먼저 스토리보드

Blender를 건드리기 전에 Claude에게 10초 스토리보드를 요청하세요: 타이밍이 있는 샷 목록, 샷당 카메라, 주인공 위치, 시청자의 느낌. 하나의 이미지 시트(아무 이미지 모델)로 만들고 계속 열어 두세요. 이후의 모든 결정은 이에 대해 확인됩니다.

2. 도시

소유한 도시 에셋 팩(건물, 도로, 소품) 또는 무료 CC0 에셋(Poly Haven)을 사용하세요. Claude가 지도 상에서 +X 방향으로 하나의 거리 + 하나의 교차로를 배치하게 하세요(주인공 경로가 소품에 막히지 않도록), 그런 다음 꾸미세요: 자동차(주차/이동/정지), 가로등, 나무, 소화전. 모든 외부 에셋을 .blend에 베이크하세요.

3. 손으로 키프레임 잡은 곡선이 아닌 물리 기반 모션

scripts/01_swing_sim.py는 움직임을 시뮬레이션하고(중력, 공기 저항, 늘어나지 않는 로프, 스토리보드의 웹 앵커) 앵커 타이밍을 검색하여 경로가 거리를 통과할 때까지 합니다. 02_path_empty.py는 이를 경로 곡선 + 프레임별로 오프셋이 키프레임된 Follow Path의 빈 객체로 변환합니다(실제 속도, 선형 아님). 주인공은 빈 객체에 부모가 되고, 카메라는 자체 경로를 따릅니다(03_camera.py, + 미세한 흔들림을 위한 03b_camera_noise.py).

4. 주인공 - 그리고 전환해야 할 때

첫 번째 주인공은 Mixamo 클립으로 애니메이션된 리깅된 스파이더맨이었습니다. 실패했습니다: 모션 캡처는 지상에서 기록되므로 공중에서 마치 꼭두각시처럼 매달렸고, 포즈는 뻣뻣했으며, 프레임에서 아주 작았습니다. 팔다리가 있는 캐릭터가 이상해 보이면 주인공을 교체하세요. 도시, 카메라, 경로는 유지하세요. Claude에게 옵션을 요청하세요(우리가 얻은 것: 매, 슈퍼카, 수동 수정, FPV 드론).

FPV 드론은 아무것도 뻣뻣해 보일 수 없기 때문에 작동합니다. 04_drone_attitude.py는 실제 쿼드콥터처럼 비행합니다:

  • 물리 기반 자세: 추력 축 = 가속도 + 중력, 노즈는 속도 방향 -> 가속할 때 기울어지고, 빠른 회전에서 하드 뱅크를 하며, 제동할 때 노즈 업 플레어;
  • 경로가 탄도 궤적인 곳에서 스로틀 컷 -> 그 위에 프리스타일 트릭을 레이어: 파워 플립, 배럴 롤, 백 플립;
  • 호버로 제동 플레어한 다음 느린 요로 렌즈를 응시; 회전하는 프로펠러 + 시안/마젠타 LED 스트립.

5. 리얼리즘 패스 (05_realism.py)

없으면 아무도 눈치채지 못하는 작은 것들: AgX 노출(그레이딩 없음), 얇은 헤이즈 볼륨, 깨진 텍스처 반복이 있는 아스팔트, 바퀴 자국, 각 차선의 오일 드립 라인, 수리 패치, 마모된 페인트, 모든 벽 밑의 때와 희미한 빗물 흔적.

6. 밤으로 읽히는 밤 (06_night.py)

규칙: 밤에는 하늘이 장면을 비추지 않습니다. 실제 조명이 비춥니다. 어두운 그라데이션 하늘과 도시 글로우, LED 가로등, 불 켜진 창문, 자동차 전조등/후미등, 빨간 신호등, 약간의 방출이 있는 파란색 안개, 젖은 아스팔트와 웅덩이.

  • 첫 번째 시도는 실패했습니다(모든 곳에 주황색 안개, 창문 대신 빛나는 블록).
  • 해결책: 파사드 텍스처는 이미 유리가 어디 있는지 알고 있습니다. 유리는 매끄럽고 벽은 거칠습니다. 거칠기 맵을 창문 마스크로 사용하세요(roughness < 0.3), 그런 다음 창문 셀당 무작위 하위 집합에 불을 밝힙니다: 따뜻함, 차가움, 꺼짐.

7. 실제 카메라맨 같은 카메라 (07_shakify_cams.py)

절차적 노이즈를 모든 샷 카메라의 Shakify (실제 녹화된 카메라 모션이 있는 무료 애드온)로 교체하세요. 클로즈 샷 추가: 젖은 도로 위 약 0.45m 높이의 거리 레벨 카메라, 드론이 렌즈로 다이빙하여 바로 앞에서 멈춥니다. 08_lens_look.py: 조명 주변 블룸, 약간의 배럴 왜곡 + 분산 - 컬러 그레이딩 없음, 룩은 조명입니다.

8. 모션으로 디자인된 사운드

무료 CC0 녹음(BigSoundBank: DJI 드론, 도시 야경, 젖은 도로 교통, 경적, 먼 사이렌, 바람, 웅덩이에 비, 에어컨). 11_motion_data.py는 프레임별 애니메이션(드론 거리 / 반경 속도 / 측면 / 스로틀, 근처 자동차)을 audio/motion.json으로 읽습니다. 12_build_sfx.py는 이 데이터로 믹스를 구동합니다:

  • 스로틀 -> 모터 RPM -> 피치; 반경 속도 -> 도플러 (렌즈를 지나갈 때 피치가 떨어짐); 측면 -> 등전력 팬;
  • 거리 게인 + 공기 흡수, 스로틀 펀치 시 프로프워시 버스트, 젖은 도로 위 낮은 호버 시 물보라, 옥상 샷에서만 옥상 에어컨, 가장 가까운 접근 시 자동차 통과, 스트리트 캐년 잔향;
  • 두 가지 버전(조용한 밤 / 전체 도시 혼란)을 만들고 귀로 고르세요. 조용함이 이겼습니다: 주인공이 스타가 되게 하세요. 음량 -14 LUFS.

9. 안전하게 야간 렌더링

  • 09_render_opt.py: 숨겨진 중복 지오메트리 제거(나무 에셋이 여분의 복사본을 가지고 있음), 모든 샷 카메라에서 멀리 떨어진 것은 더 가벼운 LOD 사용, GPU 디노이징. 눈에 보이는 변화 없음.
  • 최종 품질로 6개의 테스트 스틸을 렌더링하여 먼저 확인하세요.
  • 10_render_edit.py는 편집에 사용되는 프레임만 렌더링합니다(샷 목록 = 카메라 + 프레임 범위). 재개 가능하며 render/status.json을 씁니다. tools/render_window.ps1(Windows)은 깔끔한 진행 패널을 보여줍니다: %, 남은 시간, 마지막 완료 프레임.
  • 렌더링 후: 모든 프레임이 존재하는지, 검은색/깨진 프레임이 없는지(프레임당 밝기, 계획된 컷에서만 점프), 사운드가 승인된 믹스와 일치하는지, YouTube에 맞게 음량이 준비되었는지 확인하세요. 그런 다음에만 인코딩 + (요청했다면) PC를 종료하세요.

10. 클레이 빌드업 공개 (실제 3D 증명)

13_aerial_cam.py는 거리 위에 높은 카메라를 추가합니다. 장면의 새 복사본에서 14_clay_build.py는 모든 것을 흰색 클레이로 바꾸고, 카메라 + 교통을 한 프레임에 고정시키고, 각 조각이 차례가 될 때까지 숨긴 다음 하늘에서 떨어뜨립니다: 자동차 먼저, 그 다음 카메라에 가장 가까운 건물, 그 다음 먼 도시, 그 다음 가로등과 소화전(~500개 조각). 각 낙하는 가속되고 착지 시 약간 튕깁니다. tools/clay_assemble.sh: 밤 | 하드 컷 | 클레이 빌드 | 0.25초 와이프 1개 | 밤, 같은 카메라, 같은 프레임. 클레이 대 밤 분할 스틸은 훌륭한 썸네일을 만듭니다.

시간을 소모한 교훈

  • 화면 녹화기는 창 사양이 잘못되면 검은색을 캡처합니다. 자리를 떠나기 전에 첫 번째 녹화 프레임을 확인하세요.
  • 뷰포트 녹화: Material Preview는 모션 블러를 끄고 볼륨을 연결 해제해야 합니다. 그렇지 않으면 번집니다. Cycles 뷰포트는 디노이저가 필요합니다.
  • blender -b의 상대 출력 경로는 드라이브 루트로 해석됩니다. 항상 절대 경로를 전달하세요.
  • 긴 GPU 작업 전에 물어보세요. 먼저 저품질로 테스트하고, 최종 품질은 마지막에 하세요.

라이선스: MIT. Abdullah Formuli가 단독 유지 관리. 외부 기여는 받지 않습니다.

관련 스킬