Files
ShortVideoGenerator/projects/water-hydrogen-bond-surface-tension/blender/README.md
T

32 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 물 영상의 3D 제작
## 제한된 시제품 기록
`build_preview.py`는 BondPair·Interface·DropletStretch 세 Scene만 만든다. 불규칙한 물 분자, 실제 연결 쌍 변화, 내부/표면 강조, 같은 부피의 3D 변형을 구현한 설명 모형이다. MD·유체 시뮬레이션은 아니다. 31컷 전체 모델·최종 영상은 scenes 승인 뒤 별도 제작한다.
승인·제출된 08 r3에서 아래 시제품 작성 명령을 다시 실행하지 않는다. `build_preview.py`의 top-level 실행은 원본을 덮어쓰므로 정식 제작에서 import하지 않는다. 저장소 루트에서 기존 설치를 사용한다. Blender 프레임은 논리 프레임+1이며 MP4는 `[start,end)`다. 대표 영상은 c07 4040ms/202프레임, c16 4880ms/244프레임, c18 4000ms/200프레임의 무음 영상이다. 끝 PNG는 exclusive 경계이며 MP4 마지막 프레임보다 20ms 뒤다.
```powershell
& 'C:/Program Files/Blender Foundation/Blender 5.2/blender.exe' --background --disable-autoexec --python-exit-code 1 --python projects/water-hydrogen-bond-surface-tension/blender/build_preview.py
& 'C:/Users/baram/anaconda3/python.exe' -B -X utf8 projects/water-hydrogen-bond-surface-tension/blender/test_model.py
& 'C:/Users/baram/anaconda3/python.exe' -B -X utf8 projects/water-hydrogen-bond-surface-tension/blender/prepare_artifacts.py
& 'C:/Users/baram/anaconda3/python.exe' -B -X utf8 projects/water-hydrogen-bond-surface-tension/blender/render_preview.py --kind image
& 'C:/Users/baram/anaconda3/python.exe' -B -X utf8 projects/water-hydrogen-bond-surface-tension/blender/render_preview.py --kind video
& 'C:/Users/baram/anaconda3/python.exe' -B -X utf8 projects/water-hydrogen-bond-surface-tension/blender/verify_design.py
```
작성 순서는 새 draft 재현용이다. `prepare_artifacts.py`는 대표 미디어가 빈 08/09 초안을 작성하므로 제출한 r3에서 재실행하지 않는다. `render_preview.py`는 현재 초안에 실제 증거만 추가한다. 완료된 결과는 새 버전에서 작업한다.
`test_model.py`는 없는 파일·Scene 누락·H 원자 누락·부피 driver 오류·원자 중심은 유지하고 mesh 정점만 물 밖에 둔 fixture·기존 r2 원본의 실제 RED와 수정 원본 GREEN을 확인한다. 포함 관계 실패 문구도 검사·기록한다. Interface 전체 논리 F2468–3172의 실제 원자·내부 실선·활성 점선 mesh 정점을 실제 물 mesh 경계와 camera 투영 윤곽에 대조한다. 최소 축 여백 0.03을 요구한다. 물 모형은 앞면·윗면이 실제 열린 절개이며 벽·고체 껍질이 아니다. 부피는 시작·중간 세 곳·전체 컷 끝을 실제 mesh로 평가한다. 실제 렌더는 기존 실행기의 source hash·Scene·profile·frame 검사, PNG/MP4 probe 및 전체 디코드를 거친다. 큰 원본·렌더·실패 시도는 해당 r3의 좁은 `.gitignore`로 보존하고 작은 검증 JSON에 복사할 파일·해시를 기록한다.
## 승인 후 정식 10–12 제작
`build_production.py --stage references`는 승인된 08 원본을 읽기만 하여 10의 실제 기준 모델을 만든다. 실제 7개 기준 PNG를 검증하고 총괄이 10 완료를 기록한 뒤 `--stage images`로 10 원본을 열어 11의 9개 Scene 애니메이션 원본을 만든다. 11은 62개 frame ID와 continuous 경계의 공유 PNG를 검증하고 총괄이 11 완료를 기록한 다음 12의 31개 전체 컷을 렌더한다. 정식 원본은 이미 존재하면 덮어쓰지 않는다.
`production_requests.py --stage <단계>` → `production_render.py --stage <단계>` → `production_check.py --stage <단계>`가 실제 요청·GPU 직렬 렌더·계약/해시 대조 경로다. `production_test.py --stage references|images`는 실제 누락/중심 내부·정점 외부 fixture의 RED와 원본 GREEN을 기록한다. `production_views.py --stage 11-images|12-motion`은 실제 끝점과 MP4 디코드의 시작·중간·마지막을 모바일 크기로 비교한다. 정지 유지 구간은 설명 맥락으로 판단한다.
`export_anchors.py`는 11 실제 원본의 1080×1920 camera 좌표·전체 31컷 target/bbox·필요한 매 프레임 라벨 키를 내보낸다. label_pixel은 배치 시작점이며 합성 단계에서 실제 글자·자막·충돌을 확인한다. 기존 2D 색 bbox나 945×1680 좌표를 재사용하지 않는다. 모든 최종 파일·SHA는 각 단계 manifest.json으로 전달한다.
`production_preserve.py`는 승인 실물 목록의 SHA와 고정 커밋의 작업 사본 체크아웃 바이트를 대조한다. 기존 WAV·스타일·01–09 및 이전 r1 결과를 수정하지 않았는지 확인한다.