이 페이지는 언리얼 엔진과 포트나이트 언리얼 에디터(UEFN)에서 공통으로 제공되는 기능에 대해 설명합니다.
언리얼 엔진을 기반으로 작성되었기 때문에 일부 설명과 스크린샷이 실제 UEFN과 다를 수 있습니다.
기본 UEFN 문서로 돌아가려면 여기 를 클릭하세요.
머티리얼 함수 생성하기
다음 단계에 따라 새 머티리얼 함수를 생성합니다.
-
콘텐츠 브라우저(Content Browser) 를 우클릭합니다. 컨텍스트 메뉴의 고급 에셋 생성(Create Advanced Asset) 섹션 아래에서 머티리얼(Materials) 하위 메뉴를 열고, 목록에서 머티리얼 함수(Material Function) 를 선택합니다.
-
머티리얼 함수가 콘텐츠 브라우저에 나타나면 이름을 변경합니다. 다른 사람이 봤을 때 기능을 쉽게 이해할 수 있도록 함수를 최대한 잘 설명하는 이름을 지어야 합니다. 이 예시에서 이름은 Custom_Fresnel 입니다. 머티리얼 이름을 변경하려면 콘텐츠 브라우저 에서 머티리얼을 선택하고 F2 키를 누른 뒤 새 이름을 입력하면 됩니다.
머티리얼 함수 편집하기
새 머티리얼 함수를 생성한 뒤에는 머티리얼 에디터(Material Editor)에서 그 함수를 열어서 머티리얼 표현식(Material Expression) 네트워크를 생성해야 합니다. 기존 머티리얼 함수도 열어서 행동을 수정할 수 있습니다. 머티리얼 함수를 열어서 편집하는 방법에는 두 가지가 있습니다.
-
콘텐츠 브라우저 에서 머티리얼 함수 에셋을 더블클릭하여 별도의 머티리얼 에디터 탭으로 엽니다. 그런 다음 머티리얼 함수 내의 머티리얼 표현식 네트워크를 편집하여 행동을 수정합니다.
-
기존 머티리얼 내에서 머티리얼 함수 노드를 더블클릭하면 머티리얼 함수가 새 머티리얼 에디터 탭으로 열립니다.
더블클릭하면 머티리얼 함수가 머티리얼 에디터에 새 탭으로 열려 함수 내에 포함된 머티리얼 표현식 네트워크를 표시합니다. 그러면 그래프를 원하는 대로 편집할 수 있습니다.

머티리얼 함수를 변경하고 저장하면 변경 사항이 해당 머티리얼 함수의 이후 모든 인스턴스에도 적용된다는 점에 유의하세요. 예를 들어 Radial Gradient 머티리얼 함수의 내부 네트워크를 변경하면, 해당 함수의 모든 기존 인스턴스와 앞으로의 모든 새 인스턴스가 그 영향을 받습니다.
그러므로 변경 사항을 확실하게 함수의 모든 인스턴스에 전파해야 하는 경우가 아니라면, 원본 머티리얼 함수를 편집하기보다 콘텐츠 브라우저를 우클릭한 후 컨텍스트 메뉴에서 '복제(Duplicate )'를 선택하여 기존 함수의 사본을 만드는 것 이 좋습니다.
함수를 변경한 뒤에는 적용(Apply) 버튼을 눌러서 해당 함수를 사용하는 모든 함수 에셋 및 머티리얼에 변경 사항을 적용합니다. 완료되면 콘텐츠 브라우저에서 에셋을 저장하세요.

새로운 함수 퍼블리싱하기
머티리얼 함수를 사용하려면 해당 함수가 머티리얼 에디터 팔레트(Material Editor Palette)의 머티리얼 함수 라이브러리(Material Function Library) 에 표시되게 해야 합니다. 그렇게 하려면 라이브러리에 노출(Expose to Library) 프로퍼티를 true로 설정해야 합니다.
-
머티리얼 그래프(Material Graph)의 빈 공간을 클릭하여 함수 내 모든 노드의 선택을 해제합니다. 그러면 디테일(Details) 패널에 함수의 베이스 프로퍼티가 표시됩니다.
-
설명을 추가합니다. 이 작업은 중요한데, 여기 입력한 설명이 머티리얼 함수 라이브러리나 머티리얼 에디터에서 그 함수 위에 커서를 올렸을 때 툴팁으로 표시되기 때문입니다. Input 과 Output 노드에 설명을 추가하는 것도 좋은 습관이긴 하지만, 표현식에 코멘트를 딱 하나 추가할 곳을 고르라면, 이 칸이 훨씬 중요한 곳입니다.
-
라이브러리 카테고리 텍스트(Library Categories Text) 에서는 머티리얼 함수가 어느 카테고리에 표시될지 선택할 수 있습니다. 삽입(Insert) 을 클릭하고 새 카테고리 이름을 입력하여 카테고리를 추가할 수 있습니다. 가급적 간결해야 하고, 꼭 필요한 카테고리 이외에는 추가하지 않는 것이 좋습니다.
머티리얼 함수 사용하기
머티리얼 함수 사용하기
머티리얼 함수를 생성하고 라이브러리에 퍼블리시했다면 그 함수를 머티리얼 에디터 팔레트에서 직접 드래그하여 기존 머티리얼에 적용할 수 있습니다. 머티리얼 에디터 팔레트에는 사용자가 만든 머티리얼 함수 외에도 엔진에 포함된 모든 디폴트 머티리얼 함수가 들어 있습니다.

디폴트 머티리얼 함수는 다양한 카테고리로 구분됩니다. 사용자가 생성한 머티리얼 함수는 기본적으로 기타(Misc) 카테고리에 배치되지만, 해당 함수의 디테일 패널 프로퍼티에서 카테고리를 변경할 수 있습니다. 머티리얼 함수를 머티리얼 그래프로 드래그하면 함수 내 입력 및 출력 노드로 정의된 다양한 입출력을 포함한 머티리얼 함수 호출(Material Function Call) 노드가 생성됩니다.

머티리얼 에디터에서 우클릭 한 뒤 컨텍스트 메뉴에서 머티리얼 함수를 검색하여 추가할 수도 있습니다.
지정되지 않은 함수 노드
머티리얼 함수를 사용하는 세 번째 방법은 지정되지 않은 함수(Unspecified Function) 노드를 머티리얼 그래프에 배치하고 디테일 패널에서 머티리얼 함수를 할당하는 것입니다.
-
F 키 를 누른 채로 머티리얼 그래프에서 좌클릭 하면 지정되지 않은 함수 노드가 배치됩니다.
-
디테일 패널에서 머티리얼 함수를 지정되지 않은 함수 노드에 할당합니다. 디테일 패널의 드롭다운 메뉴에서 머티리얼 함수를 검색하거나 콘텐츠 브라우저 에서 머티리얼 함수 에셋을 선택하고 콘텐츠 브라우저에서 선택한 에셋 사용(Use Selected Asset from Content Browser) 버튼을 클릭합니다.
-
지정되지 않은 함수 노드가 선택한 머티리얼 함수로 대체됩니다. 이 예시에서는 블렌드 각도 교정된 노멀(Blend Angle Corrected Normals)입니다.