이번 튜토리얼에서는 Blender에서 렌더링 후 포스트 프로덕션을 통해 객체의 가장자리를 강조하고 Glare 타입의 빛 효과를 추가하는 방법을 알아보겠습니다.



영상 자막 텍스트

안녕하세요, 여러분!

이번 튜토리얼에서는 Blender에서 렌더링 후 포스트 프로덕션을 통해 객체의 가장자리를 강조하고 Glare 타입의 빛 효과를 추가하는 방법을 알아보겠습니다.

이 튜토리얼은 Blender 3.6을 사용하여 작성되었지만, 사용된 Compositing 노드는 최소한 버전 2.49부터 사용 가능했으며, 앞으로의 버전에서도 계속 사용할 수 있을 가능성이 높습니다.

Blender 장면 내에 있는 객체의 가장자리를 강조하려면, 먼저 렌더에서 해당 객체를 분리해야 합니다. 이는 Cryptomatte를 사용하거나, 제 경우에는 ID Mask 노드를 사용하여 원하는 객체에 해당하는 흰색 마스크를 제공하는 방식으로 달성할 수 있습니다.

제가 이번 데모를 위해 사용하는 3D 모델에는 척추뼈, 연골, 갈비뼈, 흉골 등 네 개의 별도 객체가 포함된 흉곽이 있습니다.

예제에서는 연골 부분의 가장자리를 강조해 보겠습니다.

렌더를 시작하기 전에, Object Properties 탭의 Relations 섹션에 있는 Pass Index 필드에서 0과 다른 값을 지정하여 우리가 분리하고자 하는 객체에 고유한 숫자 식별자를 할당합니다. 저는 이 필드를 1로 설정하겠습니다.

포스트 프로덕션 중에 이 정보를 불러오려면, View Layer 탭을 열고 Passes 섹션에서 Object Index 박스를 선택해야 합니다.

이제 Compositor Editor를 열고 Use Nodes 체크박스를 선택하여 노드 사용을 활성화할 수 있습니다.

Compositing 효과를 미리 보기 위해 Backdrop 체크박스도 활성화합니다.

그런 다음, Layout Reroute 노드와 Output Viewer 노드를 삽입합니다.

이를 통해 Compositing 결과를 Reroute로 보내고, 거기에서 동시에 Composite와 Viewer로 전송할 수 있습니다.

이제, 첫 번째 Compositing 데이터를 얻기 위해 몇 가지 샘플만으로 초기 렌더를 수행해야 합니다. 이 데이터 중 특히 객체의 마스크가 포함되어 있으며, 이는 Render Layers 노드의 IndexOB 출력에서 불러올 수 있습니다.

렌더 미리 보기가 너무 크게 나타난다면 V 키를 눌러 크기를 줄일 수 있고, 너무 작다면 ALT + V 키 조합으로 크기를 늘릴 수 있습니다.

이제 연골(Cartilage) 객체만을 분리하는 마스크를 다음과 같이 확인해 보겠습니다. Render Layer 노드와 Reroute 노드 사이에 Convertor ID Mask 노드를 연결하되, Image 출력이 아닌 Index OB 출력을 사용합니다.

ID Mask 노드의 Index 필드에 Cartilage 객체의 Pass Index 필드와 연관된 값인 1을 지정합니다.

보시다시피, Cartilage 객체에 해당하는 흰색 마스크가 생성되었습니다.

특정 부분만 강조하거나 수정하고 싶다면, 이 마스크가 훌륭한 출발점이 될 것입니다. 하지만 우리는 이 마스크의 가장자리만 강조하고 싶기 때문에, 이를 분리할 방법을 찾아야 합니다.

이 경우, Dilate Erode Filter 노드가 도움을 줍니다. 이 노드는 마스크를 확대하거나 축소할 수 있게 해줍니다. ID Mask와 Reroute 노드 사이에 배치하고 Distance 필드의 값을 조정하여 그 효과를 확인할 수 있습니다.

특히, 음수를 지정하면 원래 마스크의 축소된 버전을 얻을 수 있습니다.

이로 인해 문제에 대한 해결책이 제시됩니다. 축소된 마스크를 원래 마스크에서 빼면, 가장자리만 얻을 수 있기 때문입니다!

사용할 노드는 Convertor의 Math 노드로, Subtract 모드로 설정합니다. 이 노드는 ID Mask의 Alpha 출력과 Dilate Erode의 Mask 출력에서 나오는 수치 값으로 작동하기 때문에, 입력/출력 소켓의 색상을 확인하면 이 점을 알 수 있습니다.

따라서 ID Mask의 Alpha 출력을 Math Subtract 노드의 첫 번째 Value 입력과 Dilate Erode 노드의 Mask 입력에 모두 연결합니다.

Dilate Erode 노드의 Distance 필드에 -1 또는 -2와 같은 음수를 설정합니다.

그 다음, Mask 출력을 Math Subtract 노드의 두 번째 Value 입력에 연결합니다. 그런 다음 Math Subtract 노드의 출력을 Reroute 노드에 연결하여 지금까지 얻은 결과를 미리 봅니다.

이제 이 마스크에 일부 작업을 수행할 수 있으며, 예를 들어 컬러 Glare 필터를 적용할 수 있습니다.

먼저, Color Mix 노드를 사용하여 Math Subtract 노드의 출력을 파란색과 곱하여 마스크에 색을 입힙니다. 여기서 모드를 Multiply로 설정합니다.

흰색과 곱할 때의 결과는 곱한 색상 자체가 나오고, 검정색과 곱하면 항상 검정색이 됩니다. 이는 0과 곱하는 것과 같기 때문입니다. 시작 이미지는 연골 객체 가장자리에서만 흰색이고 나머지 부분은 검정색이므로, 파란색과 곱하면 흰색 부분은 파란색으로, 다른 부분은 검정색으로 표시됩니다.

이제 Color Mix Multiply 노드의 출력에 Filter Glare 노드를 연결할 수 있습니다. 제 경우에는 6개의 빛 줄기가 있는 Streaks 모드를 사용합니다. Threshold 값을 0으로 설정하는데, 그렇지 않으면 노드가 효과를 나타내지 않기 때문입니다.

효과가 너무 미미하게 보인다면, Dilate Erode 노드에서 Distance 값을 줄여보세요. 이 조정은 원래 렌더링에 효과가 추가된 후에도 나중에 가능합니다.

이제 이 결과를 원래 렌더 위에 오버레이하는 것만 남았습니다. 여러 가지 방법이 있지만, 아마도 가장 간단한 방법은 Reroute 노드 전에 Factor 필드를 1로 설정한 Color Mix 노드를 Screen 모드로 추가하는 것입니다.

Screen 노드에서 연결 순서에 유의하세요. Render Layers에서 오는 이미지는 첫 번째 Image 입력에 연결하고, Glare 노드나 다른 마스크 효과 노드에서 오는 이미지는 두 번째 Image 입력에 연결해야 합니다.

Screen 노드의 Factor 값이 0으로 설정되면 출력에는 원래 렌더만 표시됩니다. 영상 시작 부분에서 보여드린 애니메이션을 구현하려면, 처음에는 글로우가 보이지 않다가 시간이 지남에 따라 점차 증가하도록 Factor를 첫 프레임에서 0으로 설정하고, 해당 필드에 애니메이션 키프레임을 추가하면 됩니다. 그런 다음 타임라인에서 앞으로 이동하여 Factor를 1로 설정하고 새로운 키프레임을 추가합니다.

이렇게 하면 선택한 객체의 가장자리가 뚜렷하게 강조되고, 색상이 입혀지며 은은한 글로우 효과가 추가된 최종 결과가 나옵니다.

이 튜토리얼이 도움이 되셨기를 바랍니다! 곧 다시 만나요!

이 사이트는 제 작업 일부를 소개하기 위한 목적만을 가지고 있으며, 어떠한 홍보 목적도 포함하지 않습니다. 현재 맞춤 작업, 컨설팅 또는 기타 어떤 형태의 업무 협업에 대한 요청도 받고 있지 않으며, 이에 대해 응답하지 않으니 양해 부탁드립니다.


확장된 개인정보 및 쿠키 사용 정책