환영합니다
힘든 과정을 지나 마침내 이러한 마스터 머티리얼 결과물이 완성되었습니다
Base Color(베이스 컬러), Roughness(러프니스), Specular와 같은 멋진 것들을 다뤘습니다
그리고 이런 식의 깔끔한 머티리얼 인스턴스 인터페이스도 구축했습니다
많은 텍스처를 엔진에 가져오기도 했습니다
하지만 아직도 다룰 내용이 두 가지나 남았습니다
그 중 하나는 이 초록색의 텍스처입니다
이런 식으로 색이 독특한 색감을 띄고 있을 땐 높은 확률로
Channel Packing(채널 패킹)이 되어있을 것입니다
이제 이 채널들을 하나씩 분리해 보겠습니다
먼저 레드 채널부터 분리시키겠습니다
이 텍스처가 낯이 익지 않으신가요?
이것은 Ambient Occlusion(앰비언트 오클루전)입니다
비교해봤을 때 동일하다는 게 보입니다
그 다음엔 이 그린 채널을 분리하겠습니다
이것도 낯이 익으신가요?
이것은 Roughness(러프니스) 텍스처입니다
더블 클릭으로 열어주겠습니다
동일하다는 게 보이고 이번엔 블루 채널을 분리해 보겠습니다
이 채널에는 아무것도 보이지 않으며 텍스처에 Alpha 채널이 없다고 합니다
이것이 바로 Channel Packing(채널 패킹)입니다
Channel Packing(채널 패킹)을 이해하기 위해 이유를 먼저 알아야 합니다
먼저 Roughness(러프니스) 소켓을 예시로 들어보겠습니다
이 소켓이 필요로 하는 데이터 종류는 무엇일까요?
기억하실 거라고 생각합니다
이 소켓은 단일 값, 단일 Float를 필요로 합니다
그러면 보통 텍스처에는
몇 개의 채널이 있나요?
텍스처는 주로 네 개의 채널을 갖고 있으며 우리가 가져온 텍스처는 Alpha 채널이 없는
텍스처입니다
그러면 세 개의 채널만 갖고 있습니다
만약 Alpha 채널을 사용한다면 텍스처는 네 개의 채널을 갖는 것입니다
좋습니다
그럼 이 Roughness(러프니스) 텍스처를 살펴봅시다
이미 각 레드, 그린, 블루의 채널을 살펴보았습니다
모두 같은 값을 갖고 있습니다
모든 텍스처에도 동일하게 적용됩니다
기억하실지 모르겠지만 Ambient Occlusion(앰비언트 오클루전)도 세 채널의 값이
모두 같았으며 이 Roughness(러프니스) 텍스처도
마찬가지였습니다
그러므로 텍스처는 Alpha 채널을 사용하지 않을 경우 채널이 세 개 있습니다
그래서 Roughness(러프니스)에 세 개의 채널이 있으며
메탈릭 텍스처에도 채널이 세 개 있습니다
이 표면의 머티리얼에는
메탈릭 텍스처가 없지만 만약 있을 경우 이것 또한 Roughness(러프니스)와
AO와 마찬가지로 세 채널에 같은 값을 갖고 있습니다
AO에도 세 채널이 있습니다
그러므로 이 세 텍스처들은 도합 9개의 채널을 갖고 있습니다
하지만 실질적으로는 세 개의 채널만 사용하며 그 이유는
소켓이
단일 Float만 필요로 하기 때문입니다
각 텍스처에서 채널을 하나씩만 사용하는 것인데 그러면 이쯤에서 조금 낭비라는 생각이 들지 않나요?
총 9개의 채널이 있는데 3개만 사용을 하면
6개가 사용되지 않는 것이고 바로 여기서 Channel Packing(채널 패킹)이 필요한 것입니다
하지만 그게 무슨 과정일까요?
Channel Packing(채널 패킹)은 어떻게 이루어질까요?
예시를 보여드리겠습니다
이건 Ambient Occlusion(앰비언트 오클루전) 텍스처고 이건 Roughness(러프니스) 텍스처입니다
레드, 그린, 블루 채널 모두 같은 값을
갖고 있다는 것을 기억하시고 그 다음은 메탈릭 텍스처입니다
하지만 메탈릭 텍스처가 없으므로 값은 0이고 완전히 검정색입니다
Channel Packing(채널 패킹) 과정은 AO를 레드 채널에 넣고
Roughness(러프니스)는 그린 채널에, 메탈릭은 블루 채널에 넣으면
이 세 채널이 합쳐지면서 새로운 텍스처가 생기게 되고 이 과정을 ARM 또는 ORM이라고
합니다
AO, Roughness(러프니스), Metallic(메탈릭)의 첫글자들을 따서 만든 약어입니다
이 이름을 보면 바로 레드 채널에는 AO가
그린 채널에는 Roughness(러프니스)가 블루 채널에는 메탈릭이 있다는 것을 아셔야 합니다
이렇게 할 수 있는 이유는 각 소켓들이 단일 Float을 필요로 하기 때문입니다
그래서 여러 텍스처들을 하나의 채널로 패킹하여 하나의 텍스처로 사용할 수 있는 것입니다
좋습니다
여기까지가 이론적인 부분이었습니다
실제로 이 과정은 어떻게 이루어질까요?
빠르게 보여드리기 위해 Substance Designer로 이동해 보겠습니다
이제 Substance Designer로 들어왔습니다
저는 이 텍스처들을 이미 불러왔습니다
일반적인 패킹을 위해 사용되는 소프트웨어는 이 뿐이 아닙니다
Photoshop이나 다른 믹서 소프트웨어를 사용해도 괜찮습니다
그리고 지금은 여러분이 원치 않으면 따라하지 않으셔도 됩니다
따라하셔도 되지만 필수는 아니라고 말씀드리는 것입니다
그저 작업 과정이 어떤지 여러분께 보여드리려고 합니다
그럼 이 AO를 먼저 그래프에 드래그하고 다음으로는
Roughness(러프니스)입니다
이 작업 방식의 이름이 ARM(ORM)이였기 때문에 세 번째 텍스처 메탈릭은 여기 두시면 됩니다
하지만 이 표면 머티리얼에는 갖고 있지 않습니다
그러므로 그냥 비워두겠습니다
이 두 텍스처가 준비되었으면 스페이스 바를 눌러서 명령어 리스트를
불러옵니다
이것은 언리얼에서 우클릭을 한 것과
동일하며 이제 제가 사용해 볼 노드는 RGBA Merge
입니다
AO는 레드 채널 Roughness(러프니스)는 그린 채널에서 다뤄야 한다는 걸
기억하고 계시기 바랍니다
메탈릭이 있었다면 블루 채널에 플러그하면 됩니다
그 다음 출력 값은 드래그하여 output을 입력해주겠습니다
그럼 제가 이 텍스처를 출력하고자 한다는 것을 소프트웨어가 알게 됩니다 이름은 ORM으로 하겠습니다
그리고 이 텍스처를 언리얼로 Export(내보내기)하겠습니다
이 아이콘을 누르고 Export Output을 선택합니다
목적지는
여기가 제가 내보내고 싶은 곳이 맞으므로 Export Output을 클릭하겠습니다
내보내기가 완료되었다고 합니다
이것이 Substance Designer에서 내보내온 텍스처입니다
이를 프로젝트 내 폴더로 드래그하고 더블 클릭으로 열어줍니다
아무 텍스처도 보이지 않지만 Compress Without Alpha를 활성화하면 됩니다
그리고 Compression(압축) 설정을 Masks로 바꿔줄 건데 이것을 마스크 텍스처로 사용하고 있기 때문입니다
AO와 Roughness(러프니스)를 각 채널들에 사용하고 있기 때문에 그렇습니다
이건 AO고
이건 Roughness(러프니스)이며 블루 채널에는 아무것도 없습니다
여기까지가 Channel Packing(채널 패킹)이었습니다
그러면 과제를 드릴 시간입니다
하지만 이 과제에서는 영상을 멈추지 않아도 됩니다
이 과제는 이 강의가 끝난 후에 하는 것을 추천드립니다
여러분의 과제는 어떠한 텍스처가 Channel Packing(채널 패킹)에 적합하지 않은지와 그 이유를 생각해 보는 것입니다
답을 생각해낼 수 있다면 Channel Packing(채널 패킹)을 한층 더 이해하신 것입니다
이번 강의에서는 여러 텍스처에 있는 채널들과
Channel Packing(채널 패킹)이 무엇인지 그리고 그것을 외부 소프트웨어에서 다루는 방법을 배워보았습니다
이제 Channel Packing(채널 패킹)된 텍스처가 생겼으니 다음 강의에서는 어떻게 채널 언패킹을 할 수 있는지
알아보겠습니다
그럼 다음 강의에서 뵙겠습니다