
이 가이드의 내용
애니메이션에서 초록색 배경이 사라졌는데도 머리카락, 천, 모션 블러가 있는 가장자리에 초록색 윤곽이 남을 수 있습니다. 파일에는 이미 투명도가 있을지도 모릅니다. 남은 문제는 반투명 픽셀에 저장된 색인 경우가 많습니다.
AnimGen용으로 생성한 프로젝트 소유 은발 캐릭터로 이 문제를 재현했습니다. 원본 영상은 yuv420p 크로마 서브샘플링을 사용하는 640 × 640 H.264입니다. 24 FPS의 4초 구간을 선택해 96프레임으로 내보낸 뒤 첫 프레임으로 통제된 비교를 진행했습니다. 아래 이미지는 모두 같은 원본 프레임, #00ff00 키 색상, 클린 플레이트, 운영 키어를 사용합니다. 명시한 컨트롤 하나만 변경했습니다.
0.00에서는 은발, 망토, 발 주변에 초록색이 남습니다. 기본값 1.20에서는 이 프레임의 가장자리가 훨씬 중립적인 색에 가까워집니다. 2.50에서는 중립점을 넘어 자홍색으로 바뀝니다. 이런 세 방향 비교는 단순한 “전후” 비교보다 유용합니다. 문제와 함께 보정을 지나치게 높였을 때의 손실도 보여주기 때문입니다.
투명도와 가장자리 색은 별도로 확인하기
RGBA 픽셀에는 빨강, 초록, 파랑, 알파 값이 들어 있습니다. 알파는 합성 결과에 해당 픽셀이 얼마나 나타나는지를 정합니다. RGB는 보이는 부분이 기여하는 색을 정합니다.
머리카락과 안티앨리어싱된 윤곽에는 반투명 픽셀이 많습니다. 그린스크린 원본에서는 이런 픽셀에 캐릭터 색과 초록색 배경이 섞일 수 있습니다. 알파에서 배경을 제거한다고 혼합된 RGB가 자동으로 중립색이 되지는 않습니다. 애니메이션을 어두운 장면 위에 놓으면 남은 초록색이 쉽게 드러납니다.
기존 키잉 도구도 이 작업을 구분합니다. Adobe는 Ultra Key 컨트롤을 매트 생성, 매트 정리, 색 번짐 억제로 나누며, 매개변수 참고 문서에서 가장자리 부드럽게 하기와 색 번짐 제거를 서로 다른 작업으로 설명합니다. Blender의 Keying 노드도 매트, 가장자리, 별도 색 번짐 제거 계수를 제공합니다.
원본 코덱도 중요합니다. 이 테스트 영상은 yuv420p를 사용하므로 색차 정보의 공간 해상도가 밝기 정보보다 낮습니다. 채도가 높은 초록색과 가느다란 은발의 경계는 까다롭습니다. 실루엣이 선명해 보여도 압축과 부분 픽셀 커버리지 때문에 주변 샘플로 색이 퍼질 수 있습니다.
색을 보정하기 전에 알파 매트 읽기
AnimGen의 알파 보기에서는 불투명 픽셀을 흰색, 투명 픽셀을 검정색, 부분적으로 보이는 픽셀을 회색으로 표시합니다. 캐릭터 색에 시선을 빼앗기지 않고 배경 오염을 확인할 수 있습니다.
다음 비교에서는 배경 임계값만 변경합니다. 전경 임계값, 가장자리 수축, 페더링, 세 가지 색 번짐 컨트롤은 모두 기본값으로 유지합니다.
배경 임계값이 0.00이면 클린 플레이트와의 작은 차이가 프레임 대부분에 남습니다. 매트에서는 어둡고 얼룩진 영역으로 보입니다. 기본값 25.92에서는 빈 배경이 검정색이 되면서 머리카락 실루엣은 유지됩니다. 55.00으로 올리면 더 많은 가장자리 픽셀이 제거되고 가는 윤곽이 좁아집니다.
적절한 값은 원본에 따라 다릅니다. 평평하고 안정적인 배경에는 더 엄격한 임계값을 쓸 수 있습니다. 압축 노이즈, 변화하는 생성 배경, 연기, 빛 번짐, 가는 머리카락에는 여유가 더 필요할 수 있습니다. 빈 영역이 깨끗해질 때까지 올린 뒤 다음 단계로 넘어가기 전에 가느다란 디테일을 확인하세요.
전경 임계값은 같은 전환 구간의 반대쪽 끝을 제어합니다. 낮추면 더 많은 피사체 영역이 완전히 불투명해지고, 높이면 더 넓은 반투명 구간을 유지합니다. 조정할 때 얼굴, 의상, 무기 등 내부 영역을 확인하세요. 실루엣이 깨끗해 보여도 캐릭터 내부에 원하지 않는 투명 영역이 남을 수 있습니다.
수축과 페더링으로 윤곽 다듬기
매트에서 피사체와 빈 배경이 분리되면 두 컨트롤로 형태를 다듬습니다.
- 가장자리 수축은 윤곽을 안쪽으로 이동합니다. 조금만 적용해도 밝거나 유색인 테두리를 제거할 수 있습니다. 값이 크면 가는 머리카락, 옷 끝, 무기 가장자리, 작은 틈까지 지워집니다.
- 가장자리 페더는 투명 픽셀과 불투명 픽셀 사이의 전환을 부드럽게 합니다. 거친 오려내기 경계를 완화할 수 있지만 과도하면 흐릿한 테두리가 생깁니다.
AnimGen은 두 값을 480픽셀 기준 크기로 표시하고 내보내기 해상도에 맞춰 실제 픽셀 반경을 조정합니다. 같은 애니메이션을 다른 크기로 내보낼 때도 일관되게 동작하도록 하기 위해서입니다.
배경과 전경 임계값을 적절한 범위로 맞춘 다음 수축을 사용하세요. 그렇지 않으면 정상 피사체 픽셀을 잘라내 노이즈가 있는 매트를 가리게 됩니다. 페더링은 최종 출력 크기에서 판단하세요. 400% 확대에서 보기 좋은 부드러운 윤곽이 96픽셀 게임 스프라이트에서는 뭉개져 보일 수 있습니다.
일곱 가지 컨트롤의 두 가지 역할
투명도 패널은 매트 형태와 색 보정을 한곳에 모아두지만 각 컨트롤의 역할은 구분됩니다.
| 컨트롤 | 바뀌는 내용 | 주로 조정하는 이유 | 과도하게 적용할 때의 위험 |
|---|---|---|---|
| 배경 임계값 | 매트의 완전 투명 기준점 | 배경 노이즈나 플레이트 변화 제거 | 옅은 가장자리 디테일 손실 |
| 전경 임계값 | 매트의 완전 불투명 기준점 | 피사체 중심부를 불투명하게 만들거나 부분 커버리지 유지 | 딱딱한 경계 또는 약해진 내부 |
| 가장자리 수축 | 매트 윤곽 반경 | 남은 테두리 제거 | 머리카락과 가는 형태 침식 |
| 가장자리 페더 | 매트 전환의 부드러움 | 울퉁불퉁한 윤곽 완화 | 부드러운 후광 발생 |
| 가장자리 색 번짐 제거 | 윤곽 근처 키 색상 보정 | 초록색 또는 자홍색 테두리 제거 | 가장자리가 반대 색상으로 이동 |
| 내부 색 번짐 제거 | 윤곽에서 떨어진 영역의 키 색상 보정 | 피사체 내부에 반사된 키 색상 복원 | 정상적인 피사체 색 변경 |
| 색 번짐 제거 범위 | 가장자리에서 내부로 넘어가는 구간의 너비 | 강한 보정을 더 넓거나 좁은 띠에 제한 | 잘못된 보정이 피사체의 너무 넓은 부분에 적용 |
앞의 네 가지는 주로 알파의 형태를, 마지막 세 가지는 주로 RGB 색 복원을 바꿉니다. 이 차이를 기억하면 문제를 더 빨리 찾을 수 있습니다. 알파 보기가 지저분하면 매트 컨트롤을, 실루엣은 깨끗한데 유색 테두리가 있으면 색 번짐 컨트롤을 조정하세요.
색 번짐 제거에는 적절한 범위가 있습니다
가장자리 색 번짐 제거는 알파 매트를 바꾸지 않고 윤곽 주변의 색을 보정합니다. 아래 확대 이미지는 세 결과에서 같은 위치를 잘라내 비율을 유지하며 확대한 것입니다.
왼쪽 이미지는 실루엣은 맞지만 머리카락 주변 RGB에 초록색이 남아 있습니다. 가운데 이미지는 대부분의 색을 제거하면서 밝고 중립적인 전환을 유지합니다. 오른쪽 이미지는 초록색을 너무 많이 제거해 빨강과 파랑의 비중이 커지고 자홍색 선이 생겼습니다.
따라서 가장 강한 색 번짐 제거 값을 기본값으로 쓰는 것은 보통 적절하지 않습니다. 밝은 가장자리와 반투명 가닥을 보며 값을 올리고, 키 색상이 더 이상 거슬리지 않는 지점에서 멈추세요. 가장자리가 보색으로 바뀌면 값을 낮추세요.
관련된 두 컨트롤로 보정 위치를 제한할 수 있습니다.
- 내부 색 번짐 제거는 피사체 안쪽에 별도의 강도를 적용합니다. 캐릭터에 원래 키 색상과 비슷한 색이 있거나 피부, 금속, 천의 색이 변하기 시작하면 낮추세요.
- 색 번짐 제거 범위는 내부 강도로 전환하기 전 가장자리 띠의 너비를 정합니다. 두 강도 값 자체가 아니라 전환이 일어나는 위치를 바꿉니다.
이 샘플에서는 기본 가장자리 값 1.20, 내부 값 0.84, 범위 26이 비교한 세 가지 가장자리 설정 중 가장 자연스러웠습니다. 이는 이 원본과 당시 키어에 대한 값입니다. 시작 상태로 삼되 실제 애니메이션을 보고 판단하세요.
균형 잡힌 샘플에 사용한 일곱 가지 기준값은 다음과 같습니다. 값을 함께 기록하면 비교를 재현한 뒤 컨트롤을 하나씩 바꾸기 쉽습니다.
Background threshold: 25.92
Foreground threshold: 70.00
Edge contraction: 0.50
Edge feather: 0.70
Edge spill removal: 1.20
Interior spill removal: 0.84
Spill removal range: 26
같은 테스트를 따라 할 때만 이 설정표에서 시작하세요. 최종 값은 알파 보기, 윤곽의 색, 움직임이 가장 큰 프레임을 보고 결정해야 합니다.
체크무늬, 밝은 배경, 어두운 배경에서 확인하기
미리보기 배경 하나만 사용하면 남은 문제가 가려질 수 있습니다. RGBA 픽셀은 그대로 두고 기본 결과물을 세 배경 위에 놓았습니다.
- 체크무늬는 알파가 있는 위치를 확인하고 큰 반투명 영역을 드러냅니다.
- 밝은 배경은 어두운 오염, 과도하게 수축된 가장자리, 피사체 내부의 투명한 구멍을 드러냅니다.
- 어두운 배경은 밝은 테두리와 옅은 디테일 주변의 초록색·파란색·자홍색 번짐을 드러냅니다.
통제된 비교 그림에서는 매개변수 변경만 유일한 변수가 되도록 한 프레임을 사용했습니다. 실제 제작 검증은 전체 시퀀스를 포함해야 합니다. 시작, 움직임이 큰 구간, 끝을 스크럽하고, 머리카락이나 천이 키 색상을 가로지르는 프레임을 확인한 뒤 각 배경에서 반복 재생하세요. 영상 압축과 생성 배경의 변화는 프레임마다 달라질 수 있습니다.
반복 가능한 조정 순서
투명 애니메이션의 윤곽이 지저분할 때 다음 순서를 사용하세요.
- 컨트롤을 초기화하고 올바른 키 색상을 선택한 뒤 알파 보기를 엽니다.
- 빈 영역이 검정색이 될 때까지만 배경 임계값을 올립니다.
- 피사체 내부가 불투명하게 유지되는지 확인하며 전경 임계값을 조정합니다.
- 윤곽을 따라 테두리가 남으면 효과가 있는 최소한의 가장자리 수축을 추가합니다.
- 최종 제공 크기에서 실루엣이 눈에 띄게 거칠 때만 가장자리 페더를 추가합니다.
- 합성 보기로 돌아가 키 색상이 더 이상 눈에 띄지 않을 때까지 가장자리 색 번짐 제거를 올립니다.
- 내부 색 번짐 제거와 제거 범위로 보정 영역을 제한한 뒤 여러 프레임을 체크무늬·밝은 배경·어두운 배경에서 검토합니다.
최종 제공 형식을 선택하기 전에 PNG 프레임 몇 개를 내보내세요. PNG는 영상 디코더를 거치지 않고 알파 채널과 가장자리 픽셀을 확인하기 쉽습니다. 프레임이 올바르게 보이면 편집·웹 제공용으로 WebM Alpha, ProRes 4444, PNG 시퀀스를 고르거나, 2D 게임 런타임용으로 스프라이트 시트와 PNG 시퀀스를 비교하세요.
가장자리를 정리할 때 자주 묻는 질문
투명 PNG에도 초록색 윤곽이 남는 이유는 무엇인가요?
투명도와 색은 별도로 저장됩니다. 반투명 픽셀에는 원래 키 배경의 초록색 RGB 값이 남을 수 있습니다. 새 장면 위에 합성하면 그 색이 함께 나타납니다.
색 번짐 제거를 높이면 배경이 더 많이 제거되나요?
색 번짐 제거는 RGB 색을 보정합니다. 알파 매트를 정리하지는 않습니다. 불투명도와 윤곽 문제에는 배경 임계값, 전경 임계값, 수축, 페더링을 사용하세요.
가장자리가 자홍색으로 바뀐 이유는 무엇인가요?
윤곽 근처 픽셀에서 초록색을 너무 많이 제거하여 빨강과 파랑이 상대적으로 강해졌기 때문입니다. 가장자리 색 번짐 제거를 낮추거나 강한 가장자리 보정이 적용되는 범위를 좁히세요.
모든 애니메이션에 여기 나온 값을 사용해야 하나요?
아니요. 테스트한 값은 하나의 640 × 640 그린스크린 원본에 해당합니다. 키 색상, 압축, 피사체 색, 모션 블러, 출력 해상도, 생성 배경의 안정성에 따라 적절한 범위가 달라집니다.
유효한 투명도가 있는 캐릭터 PNG가 있다면 투명 애니메이션 워크플로로 제어된 배경 위에서 동작을 생성하고 내보내기 전에 이 컨트롤을 사용할 수 있습니다. 알파 보기에서 매트를 정리하고 여러 배경에서 색을 판단한 뒤, 애니메이션이 실제로 재생될 프레임과 사용처에서도 잘 유지되는 설정을 선택하세요.




