클리어 코트(Clear Coat) 셰이딩 모델을 사용할 때 클리어 코트 레이어 아래의 표면을 위한 2차 노멀 맵 사용 옵션을 활성화할 수 있습니다. 이 옵션은 탄소 섬유처럼 복잡한 머티리얼을 위한 보다 정확한 모델을 제공합니다. 탄소 섬유 머티리얼의 기본 레이어에는 클리어 코트 레이어와는 다른 지오메트릭 표면 프로퍼티가 있습니다. 이 튜토리얼에서는 클리어 코트 셰이딩 모델(Clear Coat Shading Model) 에서 듀얼 노멀을 활성화하는 방법과 프로젝트에서 이 기능을 사용하는 방법을 다룹니다.
2차 노멀의 역할
아래의 비교를 통해 클리어 코트 셰이딩 모델을 사용하는 탄소 섬유 머티리얼에 2차 노멀 맵을 추가하면 어떻게 되는지 확인할 수 있습니다.


왼쪽 이미지에는 Clear Coat Bottom Normal 이 비활성화되어 있습니다. 클리어 코트 아래의 표면이 라이팅과 상호작용하고 있기는 하지만, 라이트는 한 방향으로만 표면에 영향을 주고 있어 표면을 밋밋하고 매끄러워 보이게 만듭니다. 이는 교차되는 짜임 패턴이 있어야 하는 탄소 섬유에는 부적절합니다.
오른쪽 이미지에는 Clear Coat Bottom Normal 이 활성화되어 있습니다. 이 경우 라이트가 탄소 섬유의 짜임과 상호작용하여 여러 방향에서 하이라이트 및 섀도의 교차 패턴을 만들어 내고 있습니다.
필수 파일
이 튜토리얼을 따라하려면 다음 텍스처 파일을 다운로드하고 추출한 후 언리얼 엔진 프로젝트에 임포트해야 합니다. 임포트 방법을 잘 모르는 경우 텍스처 임포트 가이드에서 자세한 내용을 확인하세요.
필수 텍스처 다운로드 (우클릭하여 다른 이름으로 링크 저장)
클리어 코트 2차 노멀 옵션 활성화
클리어 코트 셰이딩 모델에서 2세트의 노멀을 사용하려면 프로젝트 세팅에서 해당 기능을 활성화해야 합니다.
-
메인 툴바 에서 편집(Edit) > 프로젝트 세팅(Project Settings) 으로 이동합니다.
-
프로젝트 세팅 창에서 렌더링(Rendering) > 머티리얼(Materials) 로 이동한 다음 클리어 코트 2차 노멀 활성화(Clear Coat Enable Second Normal) 옆 박스에 체크하여 기능을 활성화합니다.
-
기능 활성화를 완료하려면 에디터를 재시작해야 합니다. 메시지가 표시되면 다이얼로그에서 지금 재시작(Restart Now) 을 클릭합니다.
클리어 코트 2차 노멀 옵션 사용
다음 단계를 따라 기본 레이어에 2차 노멀 맵을 사용하는 클리어 코트 머티리얼을 생성합니다.
-
콘텐츠 브라우저 에서 우클릭하고 컨텍스트 메뉴의 기본 에셋 생성(Create Basic Asset) 섹션에서 머티리얼(Material) 을 선택합니다.
-
머티리얼 에셋에 ClearCoat_DualNormals 와 같이 에셋을 설명하는 이름을 지정합니다. 머티리얼을 더블클릭하여 머티리얼 에디터에서 엽니다.
-
머티리얼 에디터에서 머티리얼 그래프의 아무 곳이나 클릭하여 디테일 패널에 머티리얼 프로퍼티를 표시합니다. 머티리얼의 셰이딩 모델(Shading Model) 을 디폴트 릿(Default Lit)에서 클리어 코트(Clear Coat) 로 변경합니다.
-
머티리얼 그래프에 4개의 스칼라 파라미터 표현식 노드를 추가합니다. 이름과 디폴트값을 아래와 같이 지정한 다음, 아래 이미지와 동일하게 메인 머티리얼 노드에 연결합니다.
머티리얼 표현식 타입 이름 디폴트값 스칼라 파라미터 Base Color 0.04 스칼라 파라미터 Metallic 1.0 스칼라 파라미터 Clear Coat 1.0 스칼라 파라미터 Clear Coat Roughness 0.1225 -
머티리얼의 러프니스(Roughness) 섹션을 구성하기 위해 그래프에 다음 머티리얼 표현식을 추가합니다. 아래 표와 동일하게 각 스칼라 파라미터의 이름 및 디폴트값을 변경합니다. 파라미터 이름을 변경한 후 그래프가 표 아래 이미지와 동일하게 모든 머티리얼 표현식을 연결합니다.
머티리얼 표현식 타입 이름 디폴트값 스칼라 파라미터 Roughness Scaling 30.0 스칼라 파라미터 Roughness Min 0.1 스칼라 파라미터 Roughness Max 1.349 텍스처 샘플 해당 없음 T_CarbonFiber_R_00 텍스처 좌표 해당 없음 해당 없음 곱하기 해당 없음 해당 없음 선형 보간 해당 없음 해당 없음 -
이 머티리얼은 2개의 노멀 맵을 사용하기 때문에, 머티리얼 그래프에 2개의 서로 다른 노멀 맵(Normal map) 섹션을 생성해야 합니다. 첫 번째 섹션은 클리어 코트 표면의 노멀을 정의하며, 다음과 같은 머티리얼 표현식 노드가 필요합니다. 표에 따라 스칼라 파라미터의 이름을 변경하고 디폴트값을 설정한 후 아래 이미지와 동일하게 머티리얼 표현식을 연결합니다.
머티리얼 표현식 타입 이름 디폴트값 스칼라 파라미터 Clear Coat Normal Strength 0.98 스칼라 파라미터 Clear Coat Normal Scaling 30.0 텍스처 샘플 해당 없음 T_CarPaint_N_00 텍스처 좌표 해당 없음 해당 없음 곱하기 해당 없음 해당 없음 FlattenNormal 해당 없음 해당 없음 -
2차 노멀 맵은 클리어 코트 아래의 탄소 섬유 표면을 정의합니다. 아래에 나와 있는 머티리얼 표현식을 추가하고 이름과 디폴트값을 다음과 같이 지정합니다. 그런 다음 아래 이미지와 동일하게 머티리얼 표현식 노드를 연결합니다.
머티리얼 표현식 타입 이름 디폴트값 스칼라 파라미터 Carbon Fiber Scaling 30.0 스칼라 파라미터 Carbon Fiber Strength 0.5 텍스처 샘플 해당 없음 T_CarbonFiber_N_00 텍스처 좌표 해당 없음 해당 없음 곱하기 해당 없음 해당 없음 FlattenNormal 해당 없음 해당 없음 ClearCoatBottomNormal (ClearCoatNormalCustomOutput) 해당 없음 해당 없음 ClearCoatBottomNormal 머티리얼 표현식 노드를 머티리얼 그래프에 반드시 추가하고, 사용하고자 하는 노멀 맵을 그 입력에 연결해야 합니다. 이렇게 하지 않으면 머티리얼에 2차 노멀 맵이 보이지 않습니다.
-
머티리얼 그래프의 모든 개별 섹션이 이제 완료되면 러프니스 섹션에 있는 Lerp 의 출력을 메인 머티리얼 노드의 Roughness 입력에 연결합니다. FlattenNormal 노드의 출력을 메인 머티리얼 노드의 Normal 입력에 연결합니다. 탄소 섬유 노멀 맵은 이미 ClearCoatBottomNormal 커스텀 출력 노드에 연결되어 있으므로 추가로 연결하지 않아도 됩니다. 최종 머티리얼 그래프는 아래 이미지와 같습니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
머티리얼 에디터 툴바에서 적용(Apply) 및 저장(Save) 을 클릭하여 머티리얼을 컴파일하고 에셋을 저장합니다. 완성된 탄소 섬유 머티리얼은 아래의 프리뷰와 같아 보일 것입니다.