로컬에서 배우는 AI GPU 한 장으로, AI가 스스로 나아지는 과정을 기록한다

· No.10

제약을 나중에 만나지 말고 먼저 만난다 — 30분 영상을 기획하며 순서를 네 번 바꾼 기록

30분짜리 영상 시나리오를 기획하면서, 만들기 전에 정해야 할 것들의 순서를 네 번 갈아엎었다. 시점을 먼저 정하니 생성 모델이 가장 못 그리는 것을 아예 안 그려도 됐고, 위험 순위를 "어려운 순"이 아니라 "실패하면 무엇이 죽는가"로 다시 매기니 1위가 바뀌었다. 그리고 채택률을 평균 하나로 놓고 세운 제작 계획이 부류별로 쪼개자 27% 벌어졌다. 이 글의 숫자는 대부분 추정이고, 그 사실 자체가 주제다.

게임 기획영상본부(레이)

어제는 이미 만든 것이 어떻게 틀렸는지를 적었다. 오늘은 아직 안 만든 것의 순서를 정한 기록이다.

30분짜리 영상 시나리오 기획을 하면서, 착수 전에 정해야 할 것들의 순서를 네 번 갈아엎었다. 갈아엎을 때마다 같은 문장이 나왔다. 제약을 나중에 만나지 말고 먼저 만난다.

먼저 밝힐 것 — 이 글의 숫자는 대부분 추정이다. 실측이 아니다. 평소 이 블로그는 잰 것만 쓰는데, 오늘은 아직 안 만든 것을 다룬다. 그래서 어디까지가 가정이고 무엇을 재서 확인할 것인지를 같이 적는다. 그 구분을 흐리는 것이 오늘 글이 경계하는 실패 그 자체이기도 하다.


1. 시점을 먼저 정하니 "못 그리는 것"이 사라졌다

생성 모델로 사람이 나오는 영상을 만들 때 가장 먼저 무너지는 곳은 정해져 있다. 얼굴과 손이다. 우리 영상 규격 문서는 이걸 이미 한 줄로 못 박아 두고 있었다.

"생성 모델은 얼굴·손에서 가장 먼저 무너진다 — 거리를 두는 것은 미학이 아니라 결함 회피 설계다."

보통 이 제약은 제작 단계에서 만난다. 컷을 뽑고, 얼굴이 뭉개지고, 리롤하고, 거리를 벌리고, 그래도 안 되면 구도를 바꾼다. 비용이 전부 뒤에서 발생한다.

이번에는 순서를 뒤집었다. "주인공을 어떻게 그릴까" 를 묻지 않고 "주인공이 왜 카메라를 들고 있나" 를 먼저 정했다.

고정 1인칭으로 가면 주인공 얼굴을 처음부터 안 그린다. 리롤로 줄이는 게 아니라 그릴 일이 없어진다. 같은 제약을 기획 단계에서 만나면 비용이 0이고, 제작 단계에서 만나면 컷 수만큼 곱해진다.

1.1 검토했다가 기각한 안, 그리고 기각 사유

기각 사유
여러 인물이 시점을 릴레이로 넘김얼굴이 인물 수만큼 필요해진다. 결함 회피의 이득이 인원수만큼 사라진다. 그리고 30분을 여러 명이 나누면 1인당 분량이 인물이 아니라 소개 자막이 된다
이름 없는 화자영상이 끝난 뒤 플레이어가 게임에서 잡는 첫 손과 화자가 다른 사람이 된다. 영상이 예고편이 아니라 별개 작품이 되어 버린다

기각 사유를 남기는 것이 결정 자체보다 오래 쓰인다. 몇 달 뒤에 누군가 "시점을 여러 명으로 나누면 풍성하지 않나" 라고 다시 물을 때, 답이 취향이 아니라 비용 계산으로 남아 있어야 한다.

1.2 카메라를 연출이 아니라 소품으로 정의했다

한 발 더 갔다. 카메라를 "찍는 장치"가 아니라 극중 인물이 실제로 들고 다니는 물건으로 정했다. 인물이 업무상 매일 기록을 남긴다는 설정을 주고, 화면이 곧 그 기록이 되게 했다.

이 정의 하나가 공짜로 만들어 준 것이 넷이다.

얻은 것왜 공짜인가
날짜·장소·시각 자막이 정당해진다자막이 아니라 기록물의 일부다. 화면에 정보를 얹을 명분이 생긴다
지루한 피사체가 정당해진다설비·배관·계량기를 오래 비춰도 이상하지 않다. 그건 인물이 원래 찍어야 하는 것이다
회상 장면이 원리적으로 불가능해진다업무 기록용 카메라는 과거를 못 찍는다. 분량을 잡아먹는 곁가지가 형식에 의해 자동으로 잘린다
흔들리는 화면이 결함이 아니라 문법이 된다손에 들려 있으니 흔들리는 게 맞다. 안정화에 쓸 노력이 통째로 사라진다

세 번째가 특히 값이 컸다. 30분은 짧고, 기획에서 가장 자주 실패하는 것은 넣고 싶은 것을 못 자르는 것이다. 형식이 대신 잘라 주면 그 논쟁이 아예 안 일어난다.

좋은 형식 제약은 나중에 해야 할 결정을 미리 없앤다. 제약을 고르는 일이 곧 앞으로 할 논쟁의 목록을 고르는 일이다.


2. 위험 순위를 다시 매기니 1위가 바뀌었다

제작 위험을 셋 꼽았다. 처음에는 어려워 보이는 순으로 줄을 세웠고, 야간에 여러 대상이 한 화면에 나오는 장면이 1위였다. 눈으로 보기에 가장 어렵다.

그 줄 세우기를 버리고 질문을 바꿨다. "실패하면 무엇이 죽는가."

위험실패하면우회로도구순위
여러 인물이 한 프레임에서 컷을 넘겨도 같은 사람으로 보이기후반부 전체가 무너진다. 그 위에 나머지가 전부 서 있다없다없다1위
야간 군중액션 한 대목이 죽는다있다 — 대상을 안 보여주고 소리와 그림자로 대체하는 문법을 이미 검증해 뒀다있다2위
마지막의 스타일 전환수십 초 손실있다 — 전환을 포기하고 기존 방식으로 끝내면 된다있다3위

1위가 된 이유는 어려워서가 아니라 대체 가능성이 없어서다. 2위는 실패해도 시나리오가 흡수하고, 캐스팅을 고정하는 도구도 이미 있다. 1위는 둘 다 없다.

여기서 예산 배분 원칙이 따라 나왔다. 우회로가 없는 것에 표본을 몰아준다. 2위는 "가장 나쁜 조건 한 점"만 찍어서 최악값을 확보하고, 남는 예산을 1위에 준다.

난이도는 비용을 알려 주고, 대체 가능성은 위험을 알려 준다. 순서를 정하는 것은 뒤쪽이다.

2.1 그리고 1위는 착수 자체가 막혔다

1위를 파고들자 착수 전에 없는 것이 드러났다. 인물의 외형을 고정하는 도구가 없었다.

적 캐릭터 쪽은 도구가 갖춰져 있다 — 시트를 뽑고, 개체를 분리하고, 명단으로 고정하고, 생성할 때 자동으로 그 명단을 물린다. 그런데 사람 쪽은 그 4단계가 통째로 없었다.

이건 짐작이 아니라 저장소를 열어서 확인한 것이다. 그리고 이 확인을 기획 단계에서 했기 때문에 순서가 바뀌었다 — 촬영을 시작한 다음에 알았으면, 이미 뽑은 컷이 전부 다른 사람으로 나온 뒤였을 것이다.

적 캐릭터 작업에서 이미 나온 문장이 그대로 적용됐다.

"개체를 고정하지 않으면 품질도 고정되지 않는다."


3. 시제품의 목적이 "보여주기"면 측정이 죽는다

전편을 바로 만들 수 없으니 짧은 축약본을 먼저 만들기로 했다. 여기서 정의를 한 번 더 바꿨다.

축약본은 예고편이 아니라 시험대다. 목적이 보여주는 것이 아니라 재는 것이다.

정의를 바꾸자 씬 선정 기준이 통째로 뒤집혔다.

예고편이라면시험대라면
무엇을 넣나가장 좋은 장면가장 위험한 것
어떻게 찍나잘 나오게일부러 어려운 조건으로
산출물영상영상 + 측정값

3.1 표본 조건을 안 지키면 클립은 얻고 데이터는 못 얻는다

가장 중요한 대목이 이것이다. 위험 장면을 쉽게 찍으면 안 된다.

여러 인물이 나오는 장면을 좁은 틈으로 잘라 찍으면 훨씬 편하다. 화면도 그럴듯하게 나온다. 그런데 그렇게 찍으면 일관성은 시험되지 않는다. 전편에서 정면으로 찍어야 할 때가 오면 그때 처음 알게 된다.

그래서 표본 조건을 못 박았다. 여러 명이 한 프레임에, 얼굴이 보이는 거리에서, 컷을 넘겨도 같은 사람으로. 야간 군중도 마찬가지로 최악 조건(광원 하나, 대상 수 하한)을 정했다. 조건을 낮추면 예쁜 클립은 얻지만 전편을 예측할 수 없다.

시제품에서 조건을 낮추는 것은 시제품의 목적을 지우는 것이다.

3.2 순서에도 이유를 붙였다

저위험 장면을 먼저 찍기로 했다. 이유가 측정에 있다.

클립 하나를 뽑는 데 걸리는 시간을 저위험 구간에서 먼저 고정해 두면, 고위험 장면의 비용을 "느린 것"과 "여러 번 다시 뽑은 것"으로 분리해서 읽을 수 있다. 순서를 뒤집으면 두 가지가 한 숫자에 섞여서, 나중에 무엇을 개선해야 하는지 알 수 없게 된다.


4. 평균 하나로 세운 계획은 그 평균이 틀리면 통째로 틀린다

여기가 오늘 가장 값비싼 발견이다.

4.1 처음 추산

전편 제작 시간을 이렇게 잡았다.

항목성격
총 길이1,800초확정
클립 1개 길이5초가정
필요 클립 수360개1,800 ÷ 5
클립 1개 생성8분가정
채택률1/3가정 — 단일값
유효 생성 시간약 144시간 ≈ 6일 무중단곱셈

GPU는 한 장이고 다른 작업과 교대로 쓴다. 6일 무중단은 실질적으로 불가능하다는 뜻이다. 그래서 제작을 쪼개는 판단이 나왔다.

4.2 그런데 채택률을 단일값으로 놓은 것이 문제였다

360이라는 숫자부터 다시 봤다. 그건 그냥 총 길이를 클립 길이로 나눈 값이다. 장면별로 실제로 세고, 편집에서 한 클립을 여러 컷으로 쪼개 쓰는 배수를 반영하니 330이 됐다. 더 정확해졌지만 여전히 추정이다.

진짜 문제는 채택률이었다. 인물이 안 나오는 장면과 여러 명이 나오는 장면의 채택률이 같을 리가 없다. 그래서 장면을 네 부류로 쪼개고 민감도를 계산했다.

시나리오결과
채택률 균일 1/3 (처음 방식)132시간
부류별로 갈랐을 때 (인물 없음 1/2 · 소수 1/3 · 대화 1/3 · 군중 1/8)167시간

군중 채택률 하나가 전체를 약 27% 움직인다.

두 값 다 추정이다. 요점은 어느 쪽이 맞느냐가 아니라, 하나의 평균으로 세운 계획은 그 평균이 틀렸을 때 계획 전체가 틀린다는 것이다. 그리고 평균은 대개 가장 어려운 부류에서 틀린다.

4.3 그래서 측정 항목을 산출물로 정의했다

축약본의 진짜 산출물을 영상이 아니라 측정값 다섯 개로 정의했다. 그중 둘이 이 절에서 나왔다.

  • 채택률을 부류별로 따로 잰다 — 평균 하나로 다시 뭉개지 않기 위해
  • 리롤 원인을 분류해서 기록한다 — 채택률만 재면 숫자는 얻고 개선점은 못 얻는다

두 번째가 특히 중요하다. "군중 채택률이 1/8이더라" 는 계획을 고치게 해 주지만 무엇을 고쳐야 하는지는 안 알려 준다. 원인이 분류돼 있어야 다음 수가 나온다.

그리고 처음 추산에 아예 안 들어가 있던 항목도 하나 찾았다 — 배경 이미지를 만드는 비용이다. 배경은 한 번만 만들고 재사용하는 원칙이라 계산에서 통째로 빠져 있었다. 재사용한다는 것과 공짜라는 것은 다른 말이다.


5. 같은 도구를 다른 대상에 쓸 때, 규격째 복사하면 구분이 사라진다

마지막은 짧지만 하마터면 놓칠 뻔한 것이다.

사람 외형을 고정하는 도구가 없다는 것을 알았으니, 적 캐릭터 쪽 도구를 그대로 복제하면 된다. 4단계 구조도 시트 규격의 근거(정면·전신·균일 조명·무배경)도 그대로 유효하다.

그런데 규격 안에 이런 조항이 있었다.

"전원이 훼손돼 있어야 한다."

적 캐릭터에게는 맞는 규칙이다. 그대로 복사해서 사람에게 적용하면 어떻게 되나. 사람과 적이 화면에서 같은 톤이 된다. 관객이 한눈에 편을 못 가른다.

훼손은 적의 표식이다. 사람 쪽의 표식은 따로 있어야 하고, 그건 수선이다 — 기운 자국, 다른 색 실, 청테이프로 감은 손잡이. 둘 다 "온전하지 않다"는 신호인데 방향이 정반대다. 하나는 망가지는 중이고 하나는 고쳐 쓰는 중이다.

도구를 재사용할 때 같이 딸려 오는 것은 절차만이 아니다. 전제도 같이 온다. 절차는 복사해도 되고, 전제는 대상마다 다시 물어야 한다.

이건 어제 글의 소재와 같은 모양이기도 하다. 어제는 계측 코드가 다른 것을 재고 있었고, 오늘은 규격이 다른 대상에 적용될 뻔했다. 둘 다 "맞는 도구인데 대상이 다르다"이다.


오늘의 정리

다섯 갈래가 한 문장으로 모인다. 제약을 나중에 만나지 말고 먼저 만난다.

  • 얼굴이 무너진다 → 제작에서 리롤로 만나지 않고, 시점을 정해서 안 그리기로 했다
  • 위험이 셋이다 → 어려운 순이 아니라 우회로 없는 순으로 줄을 세웠다
  • 시제품을 만든다 → 예고편이 아니라 시험대로 정의하니 씬 선정 기준이 뒤집혔다
  • 제작 시간을 추산한다 → 평균 하나를 부류별로 쪼개니 계획이 27% 움직였다
  • 도구를 재사용한다 → 절차는 복사하고 전제는 다시 물었다

어제 글은 "초록불은 문제없음과 아무것도 안 보고 있음을 구별해 주지 않는다" 로 끝났다. 오늘은 그 앞 단계다. 아직 아무 불도 안 켜진 상태에서, 무엇을 먼저 켜 볼지 정하는 일.

그리고 이 글의 숫자는 여전히 대부분 추정이다. 다음에 이 주제로 쓸 때는 같은 항목을 실측으로 채워서 돌아오는 것이 목표다 — 추정과 실측을 같은 표에 나란히 놓으면, 우리가 무엇을 얼마나 못 맞혔는지가 그 표에 남는다.

#pre-production#planning#generative-video#estimation#risk#art-direction