AI 연출과 품질

원문에서 장면까지: 생성형 비주얼 노벨에 연출이 필요한 이유

멋진 이미지 한두 장을 만드는 일은 쉽습니다. 열 장을 넘기면 인물이 같은 사람이어야 하고, 장소와 소품의 정체성 및 상태가 이어져야 하며, 모든 프레임이 원문과 이전 장면을 계속해야 합니다. 문단을 하나씩 이미지 모델에 보내면 삽화 모음은 만들 수 있지만, 작동하는 비주얼 노벨은 만들 수 없습니다.

문학 작품을 각색하면서 인물의 크기가 변하고, 몸이 공중에 뜨고, 같은 해안이 다음 컷에서 달라지고, 음악이 재시작되며, 중요한 반지가 손과 손가락을 바꾸거나 여러 개가 되는 문제를 보았습니다. 그래서 텍스트 분석가, 아티스트, 합성 담당, MCP 에이전트, 기술 검증, AI 연출로 이어지는 제작 파이프라인을 만들었습니다.

![원문, 이야기 구조, 연속성 바이블, 에셋, MCP 조립, 연출 검수를 잇는 Romergo 파이프라인](direction-flow)

1. 그림보다 원문이 먼저입니다

입력은 텍스트, HTML, Markdown, 텍스트 PDF일 수 있습니다. 먼저 언어, 판본, 장 순서, 원작·번역·삽화의 권리를 기록합니다. romergo_inspect_story_sourceromergo_plan_story_source는 프로젝트를 쓰지 않고 인벤토리와 미리보기를 만듭니다. 선형 원작에 임의의 분기를 추가하지 않습니다.

장소, 시간, 참여 인물, 행동이 실제로 바뀔 때 장면을 나눕니다. 각 장면은 정확한 sourceExcerpt와 시각 계약을 갖습니다. 등장인물, 화자와 청자, 행동, 시선, 몸을 받치는 물체, 모바일 crop에서도 보여야 하는 얼굴, 이웃 장면과 연결되는 표식을 기록합니다.

2. 인물·장소·소품은 기억을 가집니다

독립 텍스트 감사가 원문을 다시 읽고 인물이 만지는 소품을 추출합니다. 각 소품에는 표준 설명, 변하지 않는 특징, 소유자, 상태, 가시성, 개수가 기록됩니다. 금반지는 전달 전·중·후에도 같은 하나여야 합니다.

장면 지도, 인물과 장소 바이블, 소품 원장, 에셋 매니페스트, 생성 작업, 감사 보고서는 안정적인 ID와 원문 해시로 연결됩니다. 이 문서는 작품을 대체하지 않고 에이전트 사이에서 결정을 잃지 않게 하는 임시 발판입니다.

3. 두 가지 합성 모드

baked_narrative는 직접 대사가 없는 서술 장면에서 인물을 배경에 통합합니다. 땅, 침대, 바위, 의자와의 접촉을 한 이미지 안에서 해결합니다. layered_dialogue는 대화에서 배경과 말하기·듣기 스프라이트를 분리하고 올바른 이름과 초상을 유지합니다. 혼합 모드는 가능하지만 명시적인 선택이어야 합니다.

생성은 정확한 원문, 장소 바이블, 현재 소품 상태에서 시작합니다. 파일 QA는 잘못된 해부학, 투명도 테두리, 잘린 실루엣, 우발적 글자, 반복 식생을 찾습니다. 그러나 단일 PNG만으로 최종 연출을 판단할 수는 없습니다.

4. MCP가 편집 가능한 프로젝트를 조립합니다

승인된 에셋을 초안에 넣고 MCP 도구가 장, 장면, 텍스트, 전환, 타임라인, 음악, 인물 배치를 만듭니다. 에이전트는 romergo_get_chapter로 저장 상태를 읽고 romergo_validate_project를 실행한 뒤 romergo_verify_quest_change로 끝냅니다. 도구 성공 메시지보다 저장된 runtime이 중요합니다.

5. AI 연출은 원문과 Player를 함께 봅니다

최종 검수는 desktop과 390 × 844에서 전체 장을 재생합니다. 장면 진입 후 0, 100, 500ms 캡처로 검은 화면, 흰 배경, 잠깐 나타나는 이전 스프라이트를 찾습니다. 감독은 스크린샷과 함께 원문, 계약, 인접 장면, 소품 이력을 받습니다.

배경은 맞고 스프라이트만 떠 있다면 MCP로 위치, 크기, 레이어, crop을 바꾸는 recompose입니다. 잘못된 자세가 배경에 합쳐졌다면 regenerate입니다. 새 렌더는 다시 독립 검수를 받습니다.

오류 1. 주인공이 여주인공 위에 앉았습니다

모바일 crop에서 Gray의 레이어가 잠든 Assol 위에 겹쳤습니다. “두 인물이 모두 보인다”는 조건만으로는 부족했습니다. 이제 모든 viewport에서 지지면, 깊이, 신체 교차를 확인합니다.

![모바일 화면에서 Gray가 잠든 Assol 위에 겹친 장면](direction-failure-overlap)

오류 2. 하나의 반지가 여러 개가 되었습니다

금색 물체의 존재만 확인하자 반지가 손과 손가락을 바꾸거나 여러 개가 되었습니다. 계약은 정확히 하나, 특정 손과 손가락, 전달 전·중·후 상태를 요구합니다.

![반지가 손가락을 벗어나거나 옆에 떠 있거나 잘못된 손가락에 놓인 아홉 개의 실패 크롭](direction-failure-ring)

오류 3. 원문과 반대로 창을 바라봤습니다

선술집 장면은 아름다웠지만 원문은 남자들이 창을 등지고 앉았다고 했습니다. 잘못된 방향은 이미지에 합쳐져 있어 배치로 고칠 수 없고 재생성이 필요합니다.

![원문 지시와 달리 인물들이 창을 보는 선술집 장면](direction-failure-window)

이미지 묶음에서 반복 가능한 연출로

초기 테스트는 파일, alpha, 경계, 그래프만 검사했습니다. 요구 사항을 정확한 원문에서 추출하고 Player를 기준 화면으로 삼으며, 인접 장면과 소품 이력을 함께 보고, 모든 실패가 수리 방식을 선택한 뒤 재검수하도록 하자 안정성이 생겼습니다.

이 모든 과정은 완전 자동 생성과 아직 거리가 멉니다. 사람의 시각적 경험, 전문성, 감정이 성공을 판단하는 가장 중요한 기준이며, 생성이 완전히 자율적이라고 자신 있게 말할 날은 아직 멀었다고 생각합니다.

그래도 현재 파이프라인은 제 시간을 이미 많이 절약하며 다른 창작자에게도 그러길 바랍니다. 창작에는 시간을 남기고 복잡한 기술 작업은 스크립트와 AI에 맡기세요. 그래야 텍스트, HTML, PDF가 이미지 모음이 아니라 하나의 작품이 됩니다.

개발 블로그로 돌아가기