포털 내부에 소용돌이를 만들려면 머티리얼을 생성하여 스태틱 메시 디스크에 사용해야 합니다. 소용돌이 머티리얼을 만들기 위해서는 아래에 제공된 Green_Layer_Swirl.png를 사용하거나, 직접 소용돌이 이미지를 만들어서 UEFN 프로젝트에 임포트하면 됩니다.
소용돌이치는 머티리얼 생성하기
에디터에서 콘텐츠 브라우저를 열고 다음 단계를 따라 머티리얼을 생성합니다.
콘텐츠 브라우저(Content Browser)에서 우클릭하여 컨텍스트 메뉴를 엽니다.
컨텍스트 메뉴에서 머티리얼(Material)을 선택합니다. 머티리얼 섬네일이 콘텐츠 브라우저에 표시됩니다.
머티리얼을 Mystic_Swirl_Mat로 명명합니다.
메인 환경설정 생성하기
머티리얼 에디터를 열어 포털 머티리얼을 빌드합니다. 노드의 메인 환경설정을 3개 생성한 다음 Constant 머티리얼 노드를 머티리얼 컬러, 회전 속도, 오파시티를 제어하는 파라미터로 변환하여 노드를 그룹화해야 합니다.
머티리얼 섬네일을 더블클릭하여 머티리얼 에디터를 엽니다.
머티리얼 그래프에 다음 머티리얼 노드를 추가합니다.
Texture Sample
Rotator
시간
Constant3Vector
Clamp
2 x Add
4 x Constant
5 x Multiply
이미지를 클릭하면 확대됩니다.
Time 노드의 핀을 드래그하여 Multiply 노드의 A 입력에 연결합니다. Constant 노드의 핀을 드래그하여 Multiply 노드의 B 입력에 연결합니다.
이 노드 섹션은 머티리얼의 타이밍을 제어합니다.
Multiply 노드의 핀을 드래그하여 Rotator 노드의 Time 입력에 연결합니다.
Multiply 노드는 Constant 노드 값을 받아 Rotator 노드의 Time에 곱합니다. 그러면 머티리얼이 회전하는 속도가 결정됩니다.
머티리얼 그래프의 Texture 노드를 선택하면 Texture 노드 옵션이 디테일 패널에 표시됩니다.
디테일 패널에서 텍스처(Texture) 옵션에 Green_Layer_Swirl.png를 추가합니다. 소용돌이 텍스처가 Texture 노드에 추가됩니다.
Rotator 노드의 핀을 드래그하여 Texture Sample 노드의 UV 입력에 연결합니다.
이 Rotator 노드는 텍스처의 UV를 타기팅하며, UV가 회전하는 속도를 결정합니다.
Texture Sample 노드의 빨간색 핀을 드래그하여 두 번째 Multiply 노드의 A 입력에 연결합니다. 두 번째 Constant 노드 핀을 드래그하여 Multiply 노드의 B 입력에 연결합니다.
텍스처의 레드 채널 오파시티는 Constant 노드에 입력된 값에 의해 제어됩니다. 그런 다음 레드 채널 오파시티 값에 Multiply 노드를 곱합니다.
클릭한 채로 드래그하여 전체 노드 환경설정을 선택한 다음 Ctrl + C를 눌러 환경설정을 복사하고 Ctrl + V를 눌러 환경설정을 두 번 더 붙여 넣습니다.
첫 번째 환경설정 세트는 Core 머티리얼의 값을 제어하고, 두 번째 환경설정 세트는 Vortex 값을 제어하며, 마지막 환경설정 세트는 Sparks 값을 제어합니다.
두 번째 환경설정 연결 끝부분의 Multiply 노드에서 Multiply 노드의 A 입력을 우클릭하고 컨텍스트 메뉴에서 이 링크 끊기(Break This Link)를 선택합니다. 그러면 Texture 노드와 Multiply 노드의 연결이 끊어집니다.
두 번째 환경설정의 Texture 노드에서 녹색 핀을 드래그하여 Multiply 노드의 A 입력에 연결합니다. 그러면 텍스처의 G 채널이 Multiply 노드에 연결됩니다.
이제 텍스처의 그린 채널 오파시티 값이 Constant 노드와 Multiply 노드에 의해 타기팅됩니다.
세 번째 환경설정 연결 끝부분의 Multiply 노드에서 Multiply 노드의 A 입력을 우클릭하고 컨텍스트 메뉴에서 이 링크 끊기를 선택합니다. 그러면 Texture 노드와 Multiply 노드의 연결이 끊어집니다.
Texture 노드의 파란색 핀을 드래그하여 Multiply 노드의 A 입력에 연결합니다. 그러면 텍스처의 B 채널이 Multiply 노드에 연결됩니다.
이제 텍스처 블루 채널의 오파시티 값이 Constant 노드와 Multiply 노드에 의해 타기팅됩니다.
파라미터 그룹 생성하기
머티리얼은 회전 속도, 오파시티, 컬러를 결정하는 파라미터 그룹을 통해 제어됩니다. 파라미터 그룹을 통해서는 또한 신비로운 소용돌이 머티리얼에서 머티리얼 인스턴스를 생성할 때 이러한 레벨을 손쉽게 조정할 수 있습니다.
파라미터를 제어하려면 Constant 노드를 명명된 파라미터로 변환합니다.
컬러 그룹
머티리얼 그래프에서 Constant3Vector 노드를 선택합니다. 디테일 패널에서 상수(Constant) 옵션을 클릭하여 색 선택 툴에서 컬러를 선택합니다. 확인(OK)을 클릭하여 선택한 컬러를 사용합니다.
Constant3Vector 노드의 흰색 핀을 드래그하여 Multiply 노드의 A 입력에 연결합니다. Constant 노드의 핀을 드래그하여 Multiply 노드의 B 입력에 연결합니다.
이러한 노드는 머티리얼의 이미시브 컬러를 제어합니다.
Constant3Vector 노드에서 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환(Convert to Parameter)을 선택합니다. 새 파라미터를 Color로 명명합니다. 디테일 패널에서 다음 옵션을 변경합니다.
그룹(Group) = 1
우선순위 설정(Set Priority) = 1
Constant 노드에서 값을 0.5로 설정합니다. 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Emissive Color로 명명합니다. 디테일 패널에서 다음 옵션을 변경합니다.
그룹(Group) = 1
우선순위 설정(Set Priority) = 2
속도 그룹
첫 번째 환경설정 끝에 있는 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Core Rotation Speed로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = 30.0
그룹(Group) = 2
우선순위 설정(Set Priority) = 1
그러면 메인 머티리얼의 UV 회전 속도가 제어됩니다.
두 번째 환경설정 끝에 있는 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Vortex Rotation Speed로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = -5.0
그룹(Group) = 3
우선순위 설정(Set Priority) = 2
그러면 소용돌이 머티리얼의 UV 회전 속도가 제어됩니다.
세 번째 환경설정 끝에 있는 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Spark Rotation Speed로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = 3.0
그룹(Group) = 3
우선순위 설정(Set Priority) = 3
그러면 스파크 머티리얼의 UV 회전 속도가 제어됩니다.
오파시티 그룹
첫 번째 환경설정 시작 부분에서 두 번째 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Core Opacity로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = 1.0
그룹(Group) = 2
우선순위 설정(Set Priority) = 1
그러면 Core 머티리얼의 오파시티 레벨이 제어됩니다.
두 번째 환경설정 시작 부분에서 두 번째 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Vortex Opacity로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = 1.0
그룹(Group) = 2
우선순위 설정(Set Priority) = 2
그러면 소용돌이 머티리얼의 오파시티 레벨이 제어됩니다.
두 번째 환경설정 시작 부분에서 두 번째 Constant 노드를 선택한 다음 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 새 파라미터를 Spark Opacity로 명명합니다. 디테일 패널에서 다음 파라미터 옵션을 설정합니다.
기본값(Default Value) = 1.0
그룹(Group) = 2
우선순위 설정(Set Priority) = 3
그러면 스파크 머티리얼의 오파시티 레벨이 제어됩니다.
메인 머티리얼 노드 구성하기
이 단계에서 머티리얼을 테스트하려면 메인 머티리얼 노드(Main Material Node, MMN)를 구성해야 합니다. MMN을 선택합니다. 디테일 패널에서 다음 옵션을 설정합니다.
블렌드 모드(Blend Mode) = 애디티브(Additive)
셰이딩 모델(Shading Model) = 언릿(Unlit)
양면(Two Sided) = 활성화
이렇게 하면 오파시티 입력이 활성화되고 필요 없는 다른 입력 옵션이 비활성화됩니다. 또한 포털 소용돌이가 양쪽에서 모두 보이도록 머티리얼이 스태틱 메시의 양면을 모두 덮도록 만듭니다.
뷰포트에서 큐브 메시를 선택하여 머티리얼을 미리 봅니다. 마지막 Multiply 노드 핀을 드래그하여 MMN의 이미시브 컬러(Emissive Color) 및 오파시티(Opacity) 입력에 연결함으로써 각 노드 환경설정을 메인 머티리얼 노드에 별도로 연결합니다. 그러면 머티리얼의 각 레이어가 작동하는 방식을 볼 수 있습니다.
뷰포트 카메라가 큐브 표면의 머티리얼을 표시하도록 이동해야 합니다.
| 환경설정 | GIF |
|---|---|
Core 환경설정 | |
Vortex 환경설정 | |
Spark 환경설정 |
그룹을 함께 범위제한하기
모든 노드 환경설정 및 컬러 그룹을 함께 더해야 합니다. 또한 Constant 노드를 추가하여 파라미터로 변환함으로써 머티리얼의 전반적인 오파시티를 제어합니다. 마지막으로, 이러한 환경설정과 전반적인 오파시티를 함께 범위제한하여 소용돌이 머티리얼의 다양한 레이어와 컬러를 제어합니다.
Core 노드 환경설정과 Vortex 노드 환경설정 사이에 Add 노드를 배치합니다. Core Multiply 핀을 드래그하여 Add 노드의 A 입력에 연결한 다음 Vortex Multiply 핀을 드래그하여 Add 노드의 B 입력에 연결합니다.
그러면 Core 머티리얼 및 Vortex 머티리얼을 모두 더해 레이어링합니다.
첫 번째 Add 노드와 Spark 노드 환경설정 사이에 Add 노드를 배치합니다. 첫 번째 Add 핀을 드래그하여 두 번째 Add 노드의 A 입력에 연결한 다음 Spark Multiply 핀을 드래그하여 두 번째 Add 노드의 B 입력에 연결합니다.
이렇게 하면 Spark 머티리얼이 두 번째 Add 노드를 통해 머티리얼에 세 번째 레이어로 추가됩니다.
Color Multiply 노드와 두 번째 Add 노드 사이에 Multiply 노드를 배치합니다. Color Multiply 핀을 드래그하여 Multiply 노드의 A 입력에 연결합니다.
머티리얼 그래프를 우클릭하고 노드 옵션에서 유틸리티(Utility) > 경유 노드 추가…(Add Reroute Node…)를 선택합니다. 경유 노드가 나타납니다.
Add 핀을 드래그하여 경유 노드의 입력에 연결한 다음 경유 핀을 드래그하여 Multiply 노드의 B 입력에 연결합니다.
첫 번째 Multiply 노드와 경유 노드 사이에 두 번째 Multiply 노드를 배치합니다. 경유 핀을 드래그하여 두 번째 Multiply 노드의 A 입력에 연결합니다.
두 번째 Multiply 노드 뒤에서 1을 누르고 좌클릭하여 Constant 노드를 배치한 다음 Constant 핀을 드래그하여 Multiply 노드의 B 핀에 연결합니다. Constant 노드를 우클릭하고 컨텍스트 메뉴에서 파라미터로 변환을 선택합니다. 파라미터를 Overall Opacity로 명명합니다.
첫 번째 Multiply 노드의 Multiply 핀을 드래그하여 MMN의 이미시브 컬러(Emissive Color) 출력에 연결합니다.
두 번째 Multiply 노드 앞에 Clamp 노드를 배치한 다음 Multiply 핀을 드래그하여 Clamp 노드의 빈 입력에 연결합니다.
Clamp 노드의 Clamp 핀을 드래그하여 MMN의 오파시티(Opacity) 입력에 연결합니다.
뷰포트에 서로 다른 속도로 함께 소용돌이치는 머티리얼의 모든 환경설정이 표시됩니다.
적용(Apply) > 저장(Save)을 클릭하여 머티리얼을 저장합니다.
머티리얼 에디터를 종료하고 콘텐츠 브라우저로 돌아옵니다. Mystic_Swirl_Mat를 우클릭하고 컨텍스트 메뉴에서 머티리얼 인스턴스 생성(Create Material Instance)을 선택합니다. 콘텐츠 브라우저에 머티리얼 인스턴스가 생성됩니다.
다음으로는 머티리얼을 배치할 디스크를 모델링해 봅니다.