머티리얼 표현식 및 머티리얼 함수 는 언리얼 엔진에서 완전하게 기능하는 머티리얼을 만드는 데 사용되는 기본 요소입니다. 각 표현식 또는 함수는 머티리얼 그래프 안의 독립적인 노드입니다. 이러한 노드는 그 입력에 작은 스니펫 또는 HLSL 코드를 실행하여 결과를 출력합니다.
이 페이지는 머티리얼 그래프에 머티리얼 표현식과 함수를 삽입하는 다양한 방법을 설명합니다.
머티리얼 표현식
각 머티리얼 표현식 노드에는 머티리얼에서 특정한 작업을 수행하는 작은 HLSL 인스트럭션 세트가 있습니다. 머티리얼은 표현식과 함수를 조합해 빌드되어 원하는 시각적 결과를 도출합니다.
예를 들어, 메시의 텍스처 스케일을 변경하고 싶다면 Multiply 노드를 사용하면 됩니다. 머티리얼의 텍스처 좌표(Texture Coordinates) 에 상수(Constant) 값을 곱하여 텍스처의 스케일을 조작할 수 있습니다.


곱하기 값이 1에서 3으로 변경되면 텍스처는 표면에 1번이 아니라 3번 타일링됩니다.
이는 간단하지만 활용도가 높은 머티리얼 로직 입니다. 이처럼 작은 노드 네트워크를 조합하여 최종적으로 매우 복잡한 표면 이펙트를 구현할 수 있습니다.
표현식과 함수의 차이점
머티리얼 표현식과 머티리얼 함수의 주된 차이점은 머티리얼 표현식은 엔진의 소스 코드에서 직접 생성되는 반면, 머티리얼 함수는 콘텐츠 브라우저에 편집가능 에셋으로 존재한다는 점입니다.
머티리얼 표현식
머티리얼 표현식은 프로그래밍된 작업만 수행할 수 있는 정적(static) 코드입니다. Multiply 노드는 두 값을 곱하도록 프로그래밍되어 있습니다. 이 유틸리티를 변경하는 유일한 방법은 소스 코드에서 변경하는 것뿐입니다. 이전 예시에는 다음과 같이 4개의 머티리얼 표현식이 사용되었습니다.

- Constant — 단일 숫자(float) 값입니다.
- Multiply - 입력 A와 입력 B를 곱하고 값을 출력합니다.
- Texture Coordinates — 머티리얼의 UV 텍스처 좌표를 2채널 벡터 값으로 출력합니다.
- Texture Sample — 이미지 텍스처를 참조하여 텍스처의 컬러 값을 출력합니다.
머티리얼 함수
머티리얼 함수는 원하는 타입의 연산을 수행하도록 환경설정할 수 있어 더 동적입니다. 소스 코드 변경 없이 머티리얼 함수 생성 및 편집이 가능합니다.
머티리얼 함수 노드를 더블클릭하면 머티리얼 함수 에디터 가 열립니다. 머티리얼 함수 안에서는 머티리얼 표현식으로 구성된 독립적인 노드 그래프를 찾을 수 있습니다.

CameraDepthFade 머티리얼 함수에는 오른쪽과 같은 머티리얼 그래프가 있습니다.
머티리얼 함수는 복잡한 머티리얼 로직을 가독성이 높은 단일 노드로 압축하여 여러 머티리얼에서 사용할 수 있도록 하는 방법입니다. 함수를 사용하여 반복되는 머티리얼 그래프를 패키지로 만들면 다른 팀원들이 공유하고 재사용하는 데 매우 좋습니다.
머티리얼 표현식 배치하기
머티리얼 그래프에 머티리얼 표현식을 삽입하는 4가지 방법이 있습니다.
팔레트에서 드래그 앤 드롭
팔레트는 머티리얼 에디터 창 오른쪽에 위치한 접히는 사이드바 패널입니다. 팔레트가 보이지 않는다면 팔레트(Palette) 를 클릭하여 패널을 펼칠 수 있습니다.

팔레트를 항상 보이는 상태로 유지하려면 핀 아이콘 을 클릭합니다.

핀을 다시 클릭하면 팔레트 고정이 해제됩니다. 고정이 해제된 상태에서는 아무 동작이나 수행하면 팔레트가 접힙니다.
팔레트 검색하기
팔레트에는 UE5에서 사용 가능한 모든 머티리얼 표현식과 머티리얼 함수 목록이 들어 있습니다. 이 목록은 일반적인 용도에 따라 카테고리로 정렬됩니다.

검색창에서 쿼리를 입력하여 팔레트에서 검색할 수 있습니다. 검색 필터는 입력에 따라 업데이트되어 가장 일치도가 높은 결과를 자동으로 하이라이트합니다.

카테고리(Category) 메뉴 에서는 팔레트에 표시되는 노드 타입을 필터링할 수 있습니다.

- 팔레트에서 머티리얼 표현식만 표시하려면 표현식(Expressions) 을 선택합니다.
- 머티리얼 함수만 표시하고 표현식은 숨기려면 함수(Functions) 를 선택합니다.
- 기본적으로는 모든 머티리얼 표현식과 함수가 표시됩니다.
팔레트에서 표현식 및 함수 삽입하기
모든 머티리얼 표현식 또는 함수는 팔레트에서 머티리얼 그래프로 직접 드래그 앤 드롭할 수 있습니다.
-
'팔레트(Palette)'에서 머티리얼 표현식 이름을 좌클릭 한 뒤 왼쪽 마우스 버튼 을 누른 채 머티리얼 그래프로 드래그합니다.
-
왼쪽 마우스 버튼을 놓으면 포인터에 머티리얼 표현식이 삽입됩니다.
우클릭 컨텍스트 메뉴
우클릭 메뉴 를 사용하여 그래프에 머티리얼 노드를 추가할 수도 있습니다. 팔레트와 마찬가지로 우클릭 메뉴에는 모든 머티리얼 표현식 및 함수의 분류된 목록이 있습니다. 우클릭 메뉴에도 검색창이 있지만, 표현식 또는 함수를 필터링하는 기능은 없습니다.
-
머티리얼 그래프 배경에서 아무 곳이나 좌클릭 합니다.
- 표현식 또는 함수를 찾으려면 카테고리를 탐색하거나 검색창에 쿼리를 입력합니다.
-
그래프 안에 배치할 머티리얼 표현식 또는 함수의 이름을 좌클릭 합니다.
Enter 키를 눌러 현재 파란색으로 하이라이트된 머티리얼 표현식을 삽입할 수도 있습니다. 위아래 화살표를 사용해 목록에서 선택하거나 검색어를 세분화해 보세요.
입력 또는 출력 핀에서 드래그
컨텍스트 메뉴에 액세스하는 두 번째 방법은 그래프의 기존 노드에 있는 입력 또는 출력 핀을 좌클릭 하고 와이어를 드래그하는 것입니다. 그래프의 아무 곳에서나 마우스 왼쪽 버튼을 놓으면 컨텍스트 메뉴가 나타납니다. 검색 창을 사용하거나 카테고리를 탐색하여 노드를 찾고 스폰합니다. 이 방법의 이점은 머티리얼 표현식 또는 함수가 스폰될 때 이미 올바르게 연결되어 단계를 줄일 수 있다는 점입니다.
키보드 단축키
자주 사용하는 머티리얼 표현식을 빠르게 삽입해 주는 키보드 단축키가 여러 가지 있습니다. 머티리얼 표현식을 삽입하려면 키보드 단축키를 누른 채 머티리얼 그래프에서 아무 곳이나 좌클릭 합니다.
이 표에서는 기본 머티리얼 표현식 키보드 단축키를 확인할 수 있습니다.
키보드 단축키 | 머티리얼 표현식 |
---|---|
A | 머티리얼 표현식 추가 |
B | Bump Offset 머티리얼 표현식 |
1 | Constant 머티리얼 표현식 |
2 | Constant2Vector 머티리얼 표현식 |
3 | Constant3Vector 머티리얼 표현식 |
4 | Constant4Vector 머티리얼 표현식 |
D | Divide 머티리얼 표현식 |
I | If 머티리얼 표현식 |
L | Linear Interpolate 머티리얼 표현식 |
F | 머티리얼 함수 |
M | Multiply 표현식 |
N | Normalize 표현식 |
O | One Minus 표현식 |
P | Panner 표현식 |
E | Power 표현식 |
R | Reflection Vector WS 표현식 |
S | Scalar Parameter 표현식 |
S | Texture Sample 표현식 |
U | Texture Coordinate 표현식 |
V | Vector Parameter 표현식 |
편집(Edit) > 에디터 개인설정(Editor Preferences) > 키보드 단축키(Keyboard Shortcuts) > 머티리얼 에디터 노드 스폰(Material Editor Spawn Nodes) 에서 머티리얼 표현식 키보드 단축키를 변경할 수 있습니다.
머티리얼 함수 배치하기
대부분 그래프 안에 머티리얼 함수를 배치할 때는 위와 동일한 방법을 사용하게 됩니다. 팔레트 및 우클릭 메뉴 는 머티리얼 함수에 대해 표현식과 같은 방식으로 작동합니다.
그래프 안에 머티리얼 함수를 배치하는 방법이 하나 더 있습니다.
콘텐츠 브라우저에서 머티리얼 함수 배치하기
머티리얼 함수에만 해당되는 방법으로, 콘텐츠 브라우저 에서 머티리얼 함수를 머티리얼에 드래그 앤 드롭할 수도 있습니다.
'콘텐츠 브라우저(Content Browser)'에서 사용할 머티리얼 함수를 찾은 다음 에셋을 머티리얼 그래프로 좌클릭 및 드래그 합니다. 머티리얼 에디터 하단 또는 메인 UE5 에디터 창의 콘텐츠 드로어(Content Drawer) 에서 콘텐츠 브라우저에 액세스할 수 있습니다.
콘텐츠 브라우저에서 머티리얼 함수를 찾으려면 기본적으로 보이지 않는 상태인 Engine 폴더가 보여야 합니다.
Engine 폴더를 보려면 콘텐츠 브라우저 오른쪽의 세팅(Settings) 아이콘을 클릭한 후 엔진 콘텐츠 표시(Show Engine Content) 에 체크 표시합니다.

콘텐츠 브라우저에서 찾을 수 있는 머티리얼 함수는 All > Engine > Content > Functions 경로에 있습니다.

머티리얼 노드 연결
다음 단계를 따라 머티리얼 그래프에서 두 노드를 연결합니다.
-
첫 번째 노드의 입력 또는 출력 핀을 좌클릭하고 와이어를 드래그합니다.
-
두 번째 노드의 핀 위에서 마우스 왼쪽 버튼을 놓습니다.
연결을 삭제하려면 Alt 를 누른 채로 두 노드 사이의 와이어를 클릭합니다. 와이어를 좌클릭하고 Delete 를 눌러도 됩니다.
한 핀에서 다른 핀으로 기존 와이어를 이동할 수 있습니다. 이동할 연결을 Ctrl + 클릭 하고 다른 입력 또는 출력으로 드래그합니다.
결론
머티리얼 표현식과 함수는 UE5 머티리얼의 주된 기본 요소입니다. 엔진에는 수백 가지의 머티리얼 노드가 포함되어 있으며, 각 노드는 특정 타입의 데이터를 저장하거나 HLSL 인스트럭션 세트를 실행하도록 설계되었습니다. 몇 가지 노드는 매우 자주 사용하게 될 것입니다. 예를 들어, 위에서 설명한 키보드 단축키가 설정된 머티리얼 표현식은 UE5 내 머티리얼 생성의 가장 기본적인 부분입니다.
머티리얼 표현식 및 함수에는 주로 용도를 요약 설명하는 툴팁이 있으며, 그중 대부분은 머티리얼 레퍼런스 페이지에 문서화되어 있습니다.
머티리얼 표현식이 순수한 HLSL 코드로 구성되는 경우도 있으므로, 기술적인 배경 지식은 Microsoft HLSL 문서도 참조하세요.