누크 합성에서 CG만 너무 선명하게 튈 때: 렌즈 왜곡·색수차 맞추기
실사 합성에서 CG만 또렷해 튄다면 전체 블러 대신 플레이트의 같은 자리 경계와 비교해 왜곡, 색수차, 선명도를 위치에 따라 순서대로 맞춰야 합니다.
VFX 합성(누크)에서 CG만 유독 선명하다면 전체를 흐리기 전에 플레이트의 렌즈 왜곡·색수차·가장자리 흐림을 비교하세요. 실사 거리 위에 CG 자동차를 올렸습니다. 색도 맞추고 그림자도 붙였고 그레인까지 얹었습니다. 그런데 한 발 물러나 보면 차만 유독 또렷합니다. 경계는 칼로 오린 듯하고, 화면 끝의 건물 선은 살짝 휘어 있는데 차의 직선만 자로 그은 듯 곧습니다. 확대하면 플레이트의 밝은 창틀 가장자리에는 보랏빛, 초록빛 테두리가 있는데 CG에는 없습니다.
이때 가장 먼저 떠오르는 해결책은 CG 전체에 블러를 살짝 거는 것입니다. 그러면 이번에는 차만 초점이 나간 것처럼 뭉개집니다. 색수차 필터를 세게 넣으면 뮤직비디오 효과처럼 보이고요. 문제는 선명도의 양이 아니라 모양입니다. 실사 렌즈는 화면 위치마다 다른 흔적을 남기는데, CG는 그 흔적이 전혀 없는 이상적인 카메라로 찍혔습니다.
색수차를 더하기 전에 플레이트의 렌즈 흔적을 봅니다
렌더러의 카메라는 수학적인 핀홀에 가깝습니다. 직선은 어디서나 직선으로, 빨강·초록·파랑은 같은 자리에, 화면 중앙과 구석은 같은 선명도로 맺힙니다. 반면 실제 렌즈는 여러 장의 유리로 빛을 굽힙니다. 유리는 파장마다 굴절률이 달라 색마다 조금씩 다른 곳에 초점을 맺고, 가장자리로 갈수록 상이 휘거나 흐려집니다.
관객은 이 흔적을 의식하지 못합니다. 하지만 같은 화면 안에서 한 물체만 흔적이 없으면 ‘저것만 다르다’는 것은 금방 알아챕니다. 그래서 렌즈 매칭의 목표는 CG를 예쁘게 만드는 것이 아니라, 플레이트를 찍은 그 렌즈를 통과한 것처럼 만드는 것입니다.

렌즈 흔적은 대부분 화면 중심에서 멀어질수록 커집니다. 그래서 전체에 같은 양을 거는 필터는 맞지 않습니다.
색수차는 두 종류이고, 생기는 자리가 다릅니다
가로 색수차는 색마다 상의 배율이 달라서 생깁니다. 빨강 상은 조금 크게, 파랑 상은 조금 작게 맺히는 식이라 화면 중앙에서는 거의 보이지 않고 가장자리로 갈수록 커집니다. 고대비 경계의 한쪽에는 붉은 테, 반대쪽에는 푸른 테가 생깁니다. 조리개를 조여도 잘 줄지 않아 후반에서 보정하는 경우가 많습니다.

세로 색수차는 색마다 초점이 맺히는 거리가 달라서 생깁니다. 초점 면보다 앞에 있는 밝은 경계와 뒤에 있는 경계에서 보라와 초록처럼 서로 다른 색 테두리가 나타나고, 화면 중앙에서도 보입니다. 밝은 조리개로 찍은 샷에서 두드러지고 조리개를 조이면 줄어듭니다. 흔히 아웃포커스 영역의 색 번짐으로 보입니다.
구분하는 이유는 흉내 내는 방법이 달라서입니다. 가로 색수차는 위치에 따른 채널별 크기 차이이므로 방사형 확대로 흉내 냅니다. 세로 색수차는 초점 거리에 따른 번짐이므로 디포커스와 함께 다뤄야 합니다. 둘을 하나의 ‘RGB 어긋나기’ 효과로 처리하면 중앙에서까지 색이 갈라져 오히려 가짜처럼 보입니다.
30초 비교: 같은 자리의 경계를 나란히 봅니다
Nuke 뷰어를 100%로 놓고, CG가 놓인 위치와 화면 중심으로부터 비슷한 거리에 있는 플레이트의 고대비 경계를 찾습니다. 창틀, 간판 글자, 난간 같은 곳이 좋습니다. 중심 근처와 구석은 조건이 다르므로 꼭 같은 거리에서 비교합니다.
먼저 화면 끝의 직선을 봅니다. 플레이트의 수직선이 바깥으로 불룩하거나 안으로 오목하게 휘어 있는데 CG 직선만 곧다면 왜곡이 빠졌습니다. 다음으로 뷰어 채널을 빨강과 파랑으로 번갈아 바꿉니다. 플레이트 경계가 채널마다 조금씩 자리를 옮긴다면 가로 색수차입니다. 마지막으로 경계가 어두운 쪽에서 밝은 쪽으로 넘어가는 데 몇 픽셀이 걸리는지 셉니다. 예를 들어 플레이트는 서너 픽셀에 걸쳐 넘어가는데 CG는 한 픽셀 만에 끊긴다면 선명도가 맞지 않는 겁니다.

| 흔적 | 어디서 보나 | 무엇을 확인하나 |
|---|---|---|
| 왜곡 | 화면 가장자리의 직선 | 격자·건물 선이 휘는지 |
| 가로 색수차 | 가장자리 고대비 경계 | R·B 채널이 서로 밀리는지 |
| 세로 색수차 | 초점 앞뒤의 밝은 경계 | 중앙에도 보라·초록 테두리가 있는지 |
| 선명도·디포커스 | 같은 위치·거리의 경계 | 경계 전환 폭(픽셀 수) |
네 자리를 따로 확인하면 ‘전체 블러’라는 한 가지 처방으로 뭉개지 않게 됩니다.
VFX 합성에서 고치는 순서: 위치를 먼저, 질감을 나중에
첫째, 렌즈 왜곡부터 맞춥니다. 렌즈 격자 촬영본이나 트래킹 소프트웨어에서 얻은 렌즈 데이터로 플레이트를 곧게 펴고, 그 위에서 트래킹과 CG 렌더를 합니다. 곧게 편 플레이트는 원래 화면보다 넓어지므로 CG도 여유 있는 오버스캔 해상도로 렌더해야 합니다. 합성 단계에서는 같은 렌즈 데이터로 CG를 다시 휘게 만든 뒤 원본 플레이트에 올립니다. 왜곡이 트래킹 품질과 얽혀 있다는 점은 솔브 오차 글에서 다뤘습니다.
둘째, 가로 색수차를 넣습니다. CG를 빨강·초록·파랑 채널로 나누고 초록을 기준으로 빨강과 파랑을 렌즈 중심에서 아주 조금씩 확대하거나 축소합니다. 방향과 양은 플레이트 구석의 색 테두리를 보고 정합니다. 붉은 테가 바깥쪽에 있는지 안쪽에 있는지를 따라가면 됩니다. 픽셀 단위의 작은 차이이므로 최종 해상도에서 확인합니다.
셋째, 선명도와 초점을 맞춥니다. 앞에서 센 경계 전환 폭이 같아질 때까지 CG에 약한 블러를 줍니다. 플레이트 구석이 중앙보다 부드럽다면 가장자리로 갈수록 조금 더 강하게 합니다. 피사계 심도가 얕은 샷이라면 깊이 패스를 이용해 거리별로 디포커스합니다. 넷째, 그레인은 맨 마지막입니다. 렌즈 흔적 위에 촬영 질감이 얹혀야 하므로 그레인 맞추기는 이 모든 단계 뒤에 합니다.
- 플레이트 언디스토트
- CG 렌더(오버스캔)
- 같은 렌즈 데이터로 CG 리디스토트
- 가로 색수차와 선명도 맞춤
- 그레인은 마지막
위치를 바꾸는 작업이 먼저, 질감을 얹는 작업이 나중입니다. 왜곡을 늦게 넣으면 앞에서 맞춘 경계와 색 번짐이 다시 움직입니다.
프로그램에서 찾는 위치
Nuke에서는 LensDistortion 노드가 렌즈 격자나 직선을 분석해 왜곡을 추정하고, 곧게 펴거나 다시 휘게 합니다. 이 노드는 NukeX와 Nuke Studio에서 쓸 수 있습니다. Output의 Mode를 STMap으로 두면 motion 채널에 두 방향의 맵이 함께 나오며, forward 채널이 곧게 펴는 쪽, backward 채널이 다시 휘는 쪽입니다. 이 맵을 STMap 노드에 연결하면 다른 스크립트나 부서에서도 같은 왜곡을 재사용할 수 있습니다.
색수차는 Shuffle로 채널을 나누고 채널별 Transform의 scale을 렌즈 중심 기준으로 미세 조정한 뒤 다시 합치는 방식으로 만들 수 있습니다. 거리별 디포커스는 ZDefocus에 깊이 패스를 연결합니다. Maya나 Houdini에서 오버스캔으로 렌더할 때는 초점거리는 그대로 두고 해상도와 필름 백을 같은 비율로 키워야 화각이 어긋나지 않습니다. 다만 파이프라인마다 오버스캔 규칙과 렌즈 데이터 형식이 다르므로, 팀이 정한 방식을 먼저 확인하세요.
렌즈를 맞췄는데도 튄다면
CG 가장자리에만 검거나 밝은 선이 고정돼 있다면 렌즈가 아니라 알파 처리 문제입니다. 움직이는 CG만 끊겨 보인다면 셔터와 모션블러가 플레이트와 맞는지 먼저 봅니다. 렌즈 흔적은 정지한 경계에서, 셔터 흔적은 움직이는 경계에서 드러납니다.
플레이트 자체가 이미 보정된 경우도 있습니다. 일부 카메라와 렌즈 조합은 기록 단계에서 왜곡이나 색수차를 자동으로 보정합니다. 이런 플레이트에 교과서적인 렌즈 흔적을 더하면 CG만 과하게 옛날 렌즈처럼 보입니다. 기준은 늘 ‘렌즈라면 이렇다’가 아니라 ‘이 플레이트는 이렇다’입니다.
한 줄 정리
CG만 선명해서 튄다면 전체 블러 대신 플레이트의 같은 자리 경계와 비교해 왜곡, 색수차, 선명도를 위치에 따라 순서대로 입히고, 그레인은 마지막에 얹으세요.
vfx 잡학지식



댓글 0
첫 댓글을 남겨보세요.