머티리얼 입력

머티리얼에서 사용할 수 있는 다양한 입력 및 사용법을 심도 있게 살펴봅니다.

Choose your operating system:

Windows

macOS

Linux

이 문서에는 메인 머티리얼 노드에서 사용할 수 있는 모든 입력이 기록되어 있습니다. 입력에 데이터(상수, 파라미터, 텍스처)를 연결해서 머티리얼의 표면 프로퍼티를 정의하고 거의 무한한 종류의 물리적 표면을 생성할 수 있습니다.

모든 머티리얼에 입력이 전부 필요하지는 않으며, 일부 머티리얼 유형에는 기본적으로 메인 머티리얼 노드에서 볼 수 없는 입력이 필요합니다.

입력 및 머티리얼 프로퍼티

디테일 패널에서 특정 머티리얼 프로퍼티를 변경하면, 메인 머티리얼 노드의 일부 입력이 흰색(활성화 표시)으로 변하고 다른 입력은 회색으로 표시되는 것을 알 수 있습니다.

다음과 같은 세 가지 머티리얼 프로퍼티는 머티리얼에서 어떤 입력이 활성화되는지를 제어합니다.

  • 블렌드 모드(Blend Mode) - 머티리얼이 배경의 픽셀과 블렌드되는 방법을 정의합니다.

  • 셰이딩 모델(Shading Model) - 머티리얼의 표면에서 빛이 계산되는 방법을 정의합니다.

  • 머티리얼 도메인(Material Domain) - 머티리얼의 용도를 결정합니다. 예를 들어 해당 머티리얼이 표면의 일부인지, 라이트 함수인지, 포스트 프로세스 머티리얼인지 결정하게 됩니다.

머티리얼에 필요한 입력이 비활성화되었다면, 위의 프로퍼티 중 하나 이상이 잘못 설정되었기 때문입니다. 예를 들어, 유리판을 만들려고 하는데 오파시티 입력이 비활성화되었을 수 있습니다. 이를 해결하려면 블렌드 모드Blend Mode반투명(Translucent) 으로 변경하면 됩니다.

베이스 컬러

베이스 컬러(Base Color)는 머티리얼의 전반적인 색을 정의합니다. 원칙적으로 베이스 컬러는 스페큘러 리플렉션/하이라이트 없이 표면에 반사되어 나오는 빛의 디퓨즈를 나타냅니다.

현실에 적용할 경우 베이스 컬러 텍스처는 편광 필터를 사용한 촬영의 결과물과 같습니다. 편광은 평행 상태에서 비금속의 스페큘러를 제거합니다.

베이스 컬러

메탈릭

메탈릭 입력은 표면이 ‘금속처럼 보이는 정도'를 제어합니다. 메탈릭은 0과 1 사이의 어떤 값이든 될 수 있지만, 대부분 0 또는 1의 이분법적인 프로퍼티로 간주됩니다.

  • 비금속의 메탈릭 값은 0입니다.

  • 금속의 메탈릭 값은 1입니다.

순수한 금속이나 돌, 플라스틱과 같은 순수한 표면의 경우 이 값은 0 또는 1이며, 그 중간 값은 될 수 없습니다. 부식되었거나, 먼지가 쌓였거나, 녹이 슨 금속과 같은 혼합 표면을 만들 때는 0과 1 사이의 값이 필요할 수 있습니다.

메탈릭 값 0, 0.5, 1

메탈릭 마스크를 사용하려면 텍스처의 값이 순수한 검은색 또는 순수한 흰색이어야 합니다. 부식된 금속과 같은 혼합 표면을 만들 때는 회색조 값만 사용합니다.

스페큘러

스페큘러는 표면에서 반사되는 빛의 양을 측정합니다. 스페큘러 입력은 0과 1 사이의 값이 되며, 표면에서 반사되는 정도를 정의합니다.

  • 값이 0 - 반사 없음

  • 값이 1 - 완전 반사

  • 기본 설정된 값은 0.5로, 약 4%의 반사도입니다.

스페큘러 값 0, 0.5, 1

러프니스

러프니스 입력은 머티리얼 표면의 거칠거나 부드러운 정도를 제어합니다. 거친 재질에 반사된 빛은 부드러운 재질보다 여러 방향으로 퍼집니다. 이 값은 리플렉션이 얼마나 희미하거나 선명한지(또는 스페큘러 하이라이트가 얼마나 퍼져 있거나 모여 있는지)를 제어합니다.

  • 러프니스가 0인(부드러운) 경우 거울과 같이 반사됩니다.

  • 러프니스가 1인(거친) 경우 분산 또는 무광 표면이 됩니다.

러프니스 값 0, 0.5, 1

대부분의 표면은 거칠거나 부드러운 정도가 균등하지 않습니다. 러프니스는 흔히 오브젝트에 매핑해 표면에 물리적 베리에이션을 더하는 프로퍼티입니다.

러프니스 맵이 필요한 머티리얼의 예시로는 금속에 난 스크래치, 나무 바닥의 흠집, 플라스틱에 묻은 지문 등이 있습니다.

러프니스 맵

애니소트로피 및 탄젠트

애니소트로피(Anisotropy)탄젠트(Tangent) 입력은 머티리얼의 러프니스의 애니소트로픽 정도와 라이트 방향을 제어합니다. 이 두 입력은 브러시드 메탈 등의 애니소트로픽 효과를 재현하기 위해 사용됩니다.

AnisotropicMaterialGraph.png

애니소트로픽 및 탄젠트 입력을 사용하지 않으면 머티리얼은 아이소트로픽으로 반응합니다. 애니소트로픽 입력값이 0일 때도 머티리얼은 마찬가지로 아이소트로픽입니다.

아이소트로픽 머티리얼 반응

애니소트로픽 머티리얼 반응

애니소트로픽 반응은 -1.0과 1.0 사이의 값으로 제어할 수 있습니다. 값이 0이면 애니소트로픽 효과가 없습니다.

애니소트로픽 머티리얼은 기본적으로 활성화되어 있지만, 콘솔 명령 r.AnisotropicMaterials 를 사용해 비활성화할 수 있습니다. 애니소트로피를 활성화하면 지원되는 Gen5 플랫폼에서 엔진 퀄리티 세팅이 High, Epic 또는 Cinematic일 때 작동합니다.

슬라이더를 드래그하여 애니소트로픽 반응이 0.0에서 1.0으로 증가하는 것을 확인할 수 있습니다.

탄젠트 입력을 사용하여 텍스처 및 벡터 표현식에서 라이트 방향을 정의합니다.

이미시브 컬러

이미시브 컬러(Emissive Color) 입력은 머티리얼이 빛나는 위치와 밝기를 제어합니다. 이 입력은 마스크드 텍스처(빛나는 영역을 제외하면 거의 검은색)를 받는 것이 이상적입니다.

HDR 라이팅이 지원되므로 1보다 큰 값이 허용됩니다.

이미시브 맵

오파시티

오파시티 입력은 반투명 블렌드 모드가 선택되면 활성화되며, 일반적으로 반투명, 애디티브 및 변조된 머티리얼에 사용됩니다.

  • 0.0은 완전히 투명한 머티리얼을 나타냅니다.

  • 1.0은 완전히 불투명한 머티리얼을 나타냅니다.

  • 0과 1 사이의 소수점 값은 반투명 머티리얼을 구현합니다.

불투명 및 마스크드 블렌드 모드는 서브서피스 셰이딩 모델 중 하나를 사용할 때도 오파시티를 사용합니다.

반투명 이미지

오파시티는 주로 반투명 , 애디티브모듈레이트된 머티리얼에 사용됩니다.

오파시티 마스크

오파시티 마스크(Opacity Mask) 는 오파시티와 비슷하지만, 마스크드 블렌드 모드일 때만 사용할 수 있습니다.

오파시티 입력과는 달리 오파시티 마스크는 부분적이거나 중간 정도인 투명도를 허용하지 않습니다. 오파시티 마스크를 사용할 경우 머티리얼 영역은 완전히 보이거나, 완전히 보이지 않게 됩니다. 따라서 철망이나 쇠사슬 표면과 같은 복합적인 입체 표면을 정의하는 머티리얼을 작업할 때 유용합니다.

오파시티 마스크 머티리얼

오파시티 마스크 클립 값(Opacity Mask Clip Value) 프로퍼티를 사용하면 클리핑을 적용할 지점의 값을 설정할 수 있습니다. 예를 들어 오파시티 마스크 클립 값이 0.5로 설정된 경우, 결과는 다음과 같습니다.

  • 오파시티 마스크에서 값이 0.5보다 큰 픽셀은 완전히 불투명해집니다.

  • 오파시티 마스크에서 값이 0.5보다 작은 픽셀은 완전히 투명해집니다.

자세한 정보는 마스크드 블렌드 모드 문서를 참조하세요.

노멀

노멀(Normal) 입력은 개별 픽셀의 ‘노멀', 즉 향하는 방향을 수정하여 표면에 유의미한 물리적 디테일을 더하는 데 사용되는 노멀 맵을 받습니다.

Axes.png

위 이미지에서 두 무기는 같은 스태틱 메시를 사용하고 있습니다. 아래의 무기는 매우 디테일한 노멀 맵을 사용하여 디테일을 더합니다. 따라서 표면에 실제로 렌더링되는 것보다 훨씬 더 많은 폴리곤이 렌더링되는 듯한 착각을 불러일으킵니다.

일반적으로 노멀 맵은 고해상도 모델링 프로그램에서 생성되는 경우가 많습니다.

NormalNetwork.png

월드 포지션 오프셋

월드 포지션 오프셋 입력을 사용하면 메시의 버텍스를 머티리얼로 월드 스페이스에서 조작할 수 있습니다. 이는 오브젝트를 움직이며, 모양을 변경하고, 회전시키고, 그 외 다양한 효과를 주는 데 유용합니다. 미세한 앰비언트 애니메이션에도 월드 포지션 오프셋을 사용할 수 있습니다.

위의 그래프는 사인 주기 1초 동안의 버텍스 노멀에 따라 구체가 커졌다가 작아지게 합니다.

월드 포지션 오프셋을 사용하여 기존 바운드 너머로 오브젝트를 확장할 경우, 렌더러는 계속해서 기존의 바운드를 사용합니다. 즉, 컬링 및 섀도잉 오류가 발생할 수 있습니다. 메시의 프로퍼티에서 스케일 바운드(Scale Bounds) 프로퍼티를 설정하여 보정할 수도 있지만, 이 방법 역시 퍼포먼스에서 드로하는 비용이 증가하고 섀도잉 오류가 발생할 수 있습니다.

서브서피스 컬러

서브서피스 컬러(Subsurface Color) 입력은 셰이딩 모델 프로퍼티가 서브서피스로 설정되었을 때만 활성화됩니다. 이 입력을 사용하면 머티리얼에 색을 추가하여, 빛이 표면에 투과될 때의 색 변화를 시뮬레이션할 수 있습니다.

예를 들어, 사람 피부 셰이더는 표면 아래의 피를 시뮬레이션할 때 주로 빨간색 서브서피스 컬러를 사용합니다. 서브서피스 피부 이펙트는 강한 광원에 코 끝, 손가락, 귓불 등의 끝부분에 역광이 비추어졌을 때 가장 눈에 띕니다.

커스텀 데이터

커스텀 데이터 머티리얼 입력은 기본적으로 비활성화되어 있으며, 특정 셰이딩 모델을 사용할 때만 활성화됩니다. 커스텀 데이터 슬롯은 컨텍스트에 따른 입력으로 채워지며, 이 입력은 일부 셰이딩 모델의 고유한 필요 사항을 충족합니다.

예를 들어 Eye 셰이딩 모델을 선택할 경우 커스텀 데이터 입력은 Iris MaskIris Distance 가 됩니다.

eye-shading-model.png

커스텀 데이터 입력을 사용하는 셰이딩 모델의 예는 다음과 같습니다.

  • 클리어 코트

  • 서브서피스 프로파일

  • 헤어

  • 클로스

헤어

헤어(Hair) 셰이딩 모델은 모발의 반투명한 성질을 더 사실적으로 시뮬레이션하는 데 사용됩니다. 이 셰이딩 모델은 모발 가닥이 완전한 원기둥 형태가 아니라는 점을 계산하여 빛이 모발을 통과하는 방식을 모방합니다.

또한, 하나로 합쳐진 스페큘러 하이라이트를 렌더링하는 것이 아니라 모발이 향하는 방향을 기반으로, 스페큘러 리플렉션을 독립적으로 배치합니다.

헤어 예시

헤어 셰이딩 모델을 선택하면 메인 머티리얼 노드에서 다음과 같은 세 가지의 입력이 활성화됩니다.

  • 스캐터(Scatter): 이 입력은 모발에서 빛이 산란되는 양을 제어합니다.

  • 탄젠트(Tangent): 노멀 입력을 대체하는 입력으로, U 및 V 텍스처 좌표에 따라 노멀 방향을 제어하는 데 사용됩니다.

  • 백라이트(Backlit): 이 입력은 헤어 머티리얼에 영향을 미치는 백라이트의 양을 제어합니다.

이 셰이딩 모델을 사용한 헤어 구성의 예시는 디지털 휴먼 문서 및 에픽게임즈 런처의 학습(Learn) 탭에서 이용할 수 있는 샘플 프로젝트를 참조하세요.

클로스

클로스(Cloth) 셰이딩 모델을 사용하면 머티리얼 표면에 가는 털 레이어가 있는 천과 같은 재질을 더 사실적으로 시뮬레이션할 수 있습니다.

클로스 예시

클로스 셰이딩 모델을 사용하면 메인 머티리얼 노드에서 입력창 두 개가 열립니다.

  • 퍼즈 컬러(Fuzz Color): 이 입력을 사용하면 머티리얼에 색을 추가하여, 빛이 표면에 투과될 때의 색 변화를 시뮬레이션합니다.

  • 클로스: 이 입력을 사용하면 마스크로 사용되는 퍼즈 컬러 의 강도를 제어합니다. 값이 0이면 베이스 컬러에 퍼즈 컬러가 영향을 미치지 않으며, 값이 1이면 베이스 컬러에 퍼즈 컬러가 완전히 블렌딩됩니다.

기술 수준이 매우 높은 고급 셰이딩 모델로, 셰이더 코드, 머티리얼, 지오메트리 형태, UV 레이아웃 간의 종속성이 매우 강합니다. 자체적으로 눈 에셋을 개발할 때는 에픽게임즈의 디지털 휴먼 샘플 프로젝트를 시작점으로 삼거나, 이 프로젝트에서 눈 에셋을 직접 마이그레이션하는 것을 권장합니다.

셰이딩 모델은 눈의 표면을 시뮬레이션하도록 설계되었습니다.

EyeMaterialGraph.png

아래의 눈 머티리얼 인스턴스는 디지털 휴먼 샘플 프로젝트 내 눈 셰이더의 다양한 생물학적 부위를 정교하게 제어할 수 있도록 구성되었습니다.

이미지를 클릭하면 최대 크기로 볼 수 있습니다.

눈 셰이딩 모델을 사용하면 메인 머티리얼 노드에 두 가지 부가 입력이 추가됩니다.

  • 홍채 마스크(Iris Mask): 굴절 인덱스 및 홍채 깊이를 제어하는 데 도움이 됩니다.

    디지털 휴먼 샘플 프로젝트의 M_EyeRefractive 머티리얼에서 IORDepth Scale 파라미터를 참조하세요.

  • 홍채 거리(Iris Distance): 굴절된 홍채의 오목한 정도를 제어합니다.

    디지털 휴먼 샘플 프로젝트의 M_EyeRefractive 머티리얼에서 Iris Concavity ScaleIris Concavity Power 파라미터를 참조하세요.

클리어 코트

클리어 코트(Clear Coat) 셰이딩 모델을 사용하면 머티리얼 표면에 얇은 반투명 필름 레이어가 겹쳐진 멀티 레이어 머티리얼을 시뮬레이션하는 데 도움이 됩니다. 클리어 코트는 금속이나 비금속 표면에 사용할 수 있습니다.

클리어 코트 머티리얼의 예시로는 가구 등에 사용되는 래커 클리어 코팅이나, 도색된 자동차 또는 탄산음료 캔과 같이 색 필름을 얹은 무색 금속 등이 있습니다.

클리어 코트 예시

클리어 코트 셰이딩 모델을 사용하면 메인 머티리얼 노드에서 새 머티리얼 입력 두 개가 활성화됩니다.

  • 클리어 코트 : 클리어 코트 레이어의 양입니다. 0은 표준 셰이딩 모델처럼 작동하며, 1은 완전한 클리어 코트 모델입니다. 마스킹에 유용합니다.

  • 클리어 코트 러프니스(Clear Coat Roughness) : 클리어 코트 레이어의 러프니스입니다. 작은 값은 측정치가 정확합니다. 매우 거친 클리어 코트 레이어도 지원되기는 하지만, 현실의 원본에 비하면 그렇게 정확하지는 않을 것입니다.

앰비언트 오클루전

앰비언트 오클루전(Ambient Occlusion) 입력은 표면의 틈 안에서 발생하는 자체적인 그림자 효과를 시뮬레이션하는 데 사용됩니다. 일반적으로 이 입력은 일종의 앰비언트 오클루전 텍스처 맵에 연결되는데, 이러한 맵은 Maya, 3ds Max, Zbrush와 같은 3D 모델링 프로그램에서 생성되는 경우가 많습니다.

NormalNetwork.png

이 입력이 빌드된 라이팅을 생성할 때 스태틱(Static) 또는 스테이셔너리(Stationary) 모빌리티를 사용하는 광원에 의존한다는 점에 유의하세요. 이 머티리얼 입력은 머티리얼이 무버블(Movable) 광원과 함께 사용될 경우 조용히 무시됩니다.

리프랙션

리프랙션 입력은 표면 굴절 인덱스를 시뮬레이션하는 값 또는 텍스처를 받습니다. 투과되는 빛을 굴절시키는 유리나 물 등을 구현할 때 유용합니다.

위의 그래프에서는 프레넬 머티리얼 함수를 사용해 두 가지 IOR 값을 블렌딩했습니다.

리프랙션 네트워크

자주 사용되는 리프랙션 인덱스

공기

1.00

1.33

얼음

1.31

유리

1.52

다이아몬드

2.42

픽셀 뎁스 오프셋

픽셀 뎁스 오프셋(Pixel Depth Offset) 입력은 구성한 로직을 사용해 셰이더 그래프에서 픽셀 뎁스를 제어하는 데 사용됩니다. 이 입력을 사용하면 자체적인 로직을 생성해서 씬 뎁스를 기반으로 오브젝트를 블렌딩하거나 페이드할 수 있습니다.

픽셀 뎁스 오프셋

이 비교에서는 픽셀 뎁스 오프셋과 DitherTemporalAA 머티리얼 함수를 함께 사용하여 그라운드와 교차하는 오브젝트를 점묘법 패턴 텍스처로 블렌딩하는 ‘오프셋' 값을 설정할 수 있었습니다.

픽셀 뎁스 오프셋 미적용

픽셀 뎁스 오프셋 적용

셰이딩 모델

이 입력을 사용하려면 머티리얼 디테일(Details) 패널에서 From Material Expression 셰이딩 모델을 선택해야 합니다.

셰이딩 모델 입력을 사용하면 머티리얼 그래프의 로직을 사용해 머티리얼에 사용할 셰이딩 모델을 이용 가능한 셰이딩 모델 목록에서 선택할 수 있습니다. 이 입력은 클리어 코트와 기본 라이팅포함 등 여러 개의 셰이딩 모델을 사용해야 하는 단일 오브젝트가 있을 때 유용합니다. 이는 필요한 머티리얼의 수를 감소시키므로 퍼포먼스 및 드로 콜을 절약할 수 있습니다. 이 모든 과정은 셰이딩 모델 표현식 노드와 일부 텍스처 마스크를 사용하는 머티리얼 내 로직을 기반으로 진행됩니다.

다음은 If 표현식을 사용해 셰이딩 모델 중에서 선택하는 간단한 예시입니다.

PerPixel_If_Graph.png

이 예시를 사용하면, A가 B보다 클 때 결과 셰이딩 모델은 기본 라이팅포함(Default Lit) 입니다. A가 B보다 작거나 B와 같을 때는 메시 일부의 기본 라이팅포함클리어 코트 셰이딩 모델을 표시하는 데 텍스처 마스크가 사용됩니다.

A > B: 기본 라이팅포함 사용 | B = 0.0

A <= B: 클리어 코트 사용 | B = 0.5

이 입력의 사용법에 대한 추가 정보 및 예시는 From Material Expression 문서를 참조하세요.