언리얼 엔진에서 머티리얼(Material)은 오브젝트의 표면을 어떻게 렌더링할지 정의하는 중요한 요소입니다. 머티리얼을 구성하기 위해서는 머티리얼 노드(Material Node)를 사용하며, 각 노드는 특정한 그래픽 기능이나 효과를 제공합니다. 여기에서는 주요 머티리얼 노드와 그 기능을 상세히 설명하겠습니다.
주요 머티리얼 노드
- 텍스처 샘플러 노드 (Texture Sample Node):
- 기능: 텍스처 이미지를 머티리얼에 적용합니다.
- 사용 예: 오브젝트의 표면에 디퓨즈, 노멀 맵, 스펙큘러 맵 등을 적용할 때 사용됩니다.
- 주요 핀:
Texture
: 텍스처 자산을 입력받는 핀.UVs
: 텍스처 좌표를 입력받는 핀.
- 콘스턴트 노드 (Constant Node):
- 기능: 단일 숫자 값을 제공합니다.
- 사용 예: 고정된 값을 필요로 하는 경우, 예를 들어 색상의 고정된 밝기나 특정한 상수 값을 정의할 때 사용합니다.
- 주요 핀:
- 없음. 단순히 값을 입력하면 됩니다.
- 콘스턴트3Vector 노드 (Constant3Vector Node):
- 기능: RGB 색상을 정의합니다.
- 사용 예: 머티리얼의 기본 색상(Base Color)을 정의할 때 사용합니다.
- 주요 핀:
- 없음. RGB 값을 설정하면 됩니다.
- Multiply 노드 (Multiply Node):
- 기능: 두 값을 곱합니다.
- 사용 예: 텍스처의 색상이나 밝기를 조절할 때, 두 텍스처를 결합할 때 사용합니다.
- 주요 핀:
A
,B
: 곱할 두 입력 값.
- Add 노드 (Add Node):
- 기능: 두 값을 더합니다.
- 사용 예: 두 색상을 합치거나 밝기를 증가시킬 때 사용합니다.
- 주요 핀:
A
,B
: 더할 두 입력 값.
- Lerp 노드 (Linear Interpolate Node):
- 기능: 두 값 사이를 선형 보간합니다.
- 사용 예: 두 색상이나 텍스처 사이를 부드럽게 전환할 때 사용합니다.
- 주요 핀:
A
,B
: 보간할 두 값.Alpha
: 보간 계수 (0.0에서 1.0 사이의 값).
- Time 노드 (Time Node):
- 기능: 현재 시간을 제공합니다.
- 사용 예: 애니메이션이나 동적인 효과를 구현할 때 사용합니다.
- 주요 핀:
- 없음. 시간 값을 자동으로 제공합니다.
- Panner 노드 (Panner Node):
- 기능: 텍스처 좌표를 이동시킵니다.
- 사용 예: 텍스처를 일정한 속도로 움직여 동적인 효과를 만들 때 사용합니다.
- 주요 핀:
Coordinate
: 이동시킬 텍스처 좌표.Speed
: X축과 Y축 이동 속도.
- Fresnel 노드 (Fresnel Node):
- 기능: 프레넬 효과를 계산하여 물체의 가장자리에서 더 밝게 보이도록 합니다.
- 사용 예: 물이나 유리 같은 반투명 소재의 가장자리 효과를 구현할 때 사용합니다.
- 주요 핀:
ExponentIn
: 프레넬 효과의 강도를 조절하는 값.
- NormalFromHeightMap 노드 (NormalFromHeightMap Node):
- 기능: 높이 맵을 기반으로 노멀 맵을 생성합니다.
- 사용 예: 디테일이 많은 표면의 높이 정보를 노멀 맵으로 변환하여 입체감을 줄 때 사용합니다.
- 주요 핀:
HeightMap
: 높이 맵 텍스처.WorldSpace
: 월드 좌표계를 사용할지 여부.
예제: 간단한 머티리얼 제작
기본 텍스처와 색상을 이용해 간단한 머티리얼을 제작해보겠습니다.
- 텍스처 샘플러 노드 추가:
Texture Sample
노드를 추가하고 텍스처 자산을 설정합니다. - 콘스턴트3Vector 노드 추가:
Constant3Vector
노드를 추가하고 색상을 설정합니다. - Multiply 노드 추가:
Multiply
노드를 추가하고Texture Sample
의 RGB 출력을A
핀에,Constant3Vector
의 출력을B
핀에 연결합니다. - Multiply 출력 연결:
Multiply
노드의 출력을 머티리얼의Base Color
핀에 연결합니다.
이렇게 하면 텍스처와 색상이 결합된 간단한 머티리얼이 완성됩니다. 이러한 기본 노드들을 이해하고 활용함으로써 더욱 복잡하고 정교한 머티리얼을 제작할 수 있습니다.