※ 본 문서는 언리얼 엔진 5.0.3버전을 기준으로 작성되고 있습니다.
1) 머티리얼이란?
머티리얼(Material)은 3D 모델의 표면 또는 물체의 느낌과 물리적 특성을 결정하는 데 사용되는 애셋(asset)입니다.
색상, 반사율, 빛의 반응, 반사 및 빛의 파동의 각도 등 물리적 특성을 제어하는 데 사용되며,
이것은 게임, 영화 및 가상 현실(VR)에서 고품질 그래픽을 만들 수 있고,
저희가 지금부터 제작해 볼 사용자 인터페이스를 만드는 데에도 사용됩니다.
그럼 머티리얼을 만들어 보겠습니다.
2) 제작 및 사용
콘텐츠 브라우저에서 마우스 오른쪽 버튼을 클릭하고 머티리얼을 생성하면 사용할 수 있습니다.
콘텐츠 브라우저는 언리얼 프로그램 인터페이스의 가장 맨 하단에 위치합니다.
생성을 완료하면 이름을 작성해 줍시다. 기본적으로 파일 이름에는 규칙이 있습니다.
M_사용 용도_종류_상태 순서대로 입력하는 것이 활용하기에 좋습니다.
일단은 간단하게 M_UI_Baics라고 입력하고
해당 머티리얼을 더블 클릭하면 에디터로 진입하실 수 있습니다.
머티리얼 에디터의 인터페이스 영역은 아래와 같이 구성됩니다.
1. 메뉴 바 ( Menu bar ) : 파일, 편집, 검색, 윈도우, 추가 도구, 도움 등 머티리얼 작성을 지원하는 메뉴 바 도구입니다.
2. 툴 바 ( Toolbar ) : 머티리얼 제작 시 사용되는 도구들을 나열합니다.
3. 뷰포트 패널 ( Viewport panel) : 현재 편집 중인 재질이 표시됩니다.
4. 세부 정보 패널 ( Detail panel ) : 머티리얼 표현식 및 함수 노드에 대한 속성이 표시됩니다.
5. 머티리얼 그래프 패널 ( Material Graph ) : 머티리얼 표현식이 작성되는 패널입니다.
6. 상태 패널 ( Status Panel ) : 머티리얼에 사용된 셰이더 명령의 수와 컴파일러 오류가 표시됩니다.
7. 팔레트 패널 ( Palette Panel ) : 작성할 수 있는 머티리얼 노드의 분류 목록을 표시합니다. 보통 숨겨져 있고 탭을 클릭하여 활성화할 수 있습니다.
각각의 내용과 활용 방법은 앞으로 연재분에 포함될 예정이며,
우선적으로 더 많은 정보를 찾고 싶으시면 언리얼 문서로 이동하셔서 살펴보시면 됩니다.
https://docs.unrealengine.com/5.1/en-US/unreal-engine-material-editor-ui/
3) 노드 기반
기본적으로 머티리얼은 노드 기반으로 이루어져 있습니다.
왼쪽에서는 입력(Input)을 오른쪽에서는 출력(Output)을 담당합니다.
이 때문에 왼쪽에서 오른쪽으로 배열을 하는 편이 노드를 읽기 편하게 만들 수 있습니다.
또한 해당 노드가 어떤 기능 때문에 작성되었는지 알기 위해서 코멘트를 작성할 수 있는데요.
노드가 선택된 상태에서 C키를 누르시면 코멘트 영역으로 노드 그래프들이 감싸집니다.
색상 설정도 바꿀 수 있으므로 영역별로 다르게 설정하여 알기 쉽도록 분리해 봅시다.
4) 메인 머티리얼 노드와 출력
머티리얼을 생성 후에 열면, 보이는 것이 바로 메인 머티리얼 노드입니다.
이 노드에 입력된 표현식의 결과만이 '최종 출력'됩니다.
그러나 사용자 인터페이스 제작을 위해서는 일단 지금 상태로 설정하기엔 무리가 있으므로,
출력 설정을 변경해 보도록 하겠습니다.
4-A. Material Domain 설정하기
먼저 어떤 대상에 사용할 것인지를 설정해 주어야 합니다.
표면(Surface), 데칼(Deferred Decal), 라이트 함수(Light Function), 볼륨(Volume), 후 처리(Post Process), 사용자 인터페이스(User Interface) 중에서 선택하실 수 있습니다.
저희는 이제부터 언리얼에서 UI 제작을 하기 위해 사용자 인터페이스(User Interface)로 설정하겠습니다.
4-B. Blend Mode 설정하기
이번에는 블렌드 모드를 설정하겠습니다.
머티리얼이 적용될 때, 어떤 방식으로 합성이 될 것인지를 정하는 영역입니다.
불투명(Opaque), 가리기(Masked), 투명(Traslucent), 추가(Additive), 변조(Modulate), 알파합성(AlphaComposit(Premultiplied Alpha), 알파고정(AlphaHoldout) 모드로 나뉩니다.
저희는 배경 부분에서 '투명한' 영역이 있어야 하기 때문에 투명(Translucent)을 설정하겠습니다.
설정하면 투명도(opacity) 입력이 활성화 되는 것을 확인하실 수 있습니다.
더 궁금하신 내용이 있다면 언리얼 문서로 이동 부탁 드립니다.
https://docs.unrealengine.com/5.1/en-US/material-blend-modes-in-unreal-engine/
5) 뷰 포트의 배경 색상을 투명으로 바꿔 주기
마지막으로 뷰포트 패널에서 Background 속성을 Checkboard로 바꿔 줍시다.
그러면 투명 영역을 확인할 수 있도록 배경이 변한 것을 확인하실 수 있습니다.
※ 이 문서에서는 뷰포트에서 곧바로 확인하실 수 있도록 노드를 연결하여 표현하였습니다.
만약 아무런 연결이 없다면, 뷰포트에서 검은 색으로 나타날 것입니다.
오류가 아니므로 안심하시고 다음 단계로 넘어가셔도 괜찮습니다.
자 이렇게 되면 머티리얼을 생성하고 활용할 준비는 모두 끝났습니다.
다음 포스팅에는 머티리얼 표현식을 작성하는 데이터 타입들에 대해서 알아보겠습니다.
※ 현재 학습 중인 내용이므로 아직 완전하지 않은 내용일 수 있습니다. 내용에 대해서 피드백을 주시면 관련 내용 보완하여 작성하겠습니다. |
'Unreal5로 UI만들어보기 > 0) Material 다루기' 카테고리의 다른 글
6.이미지 합성과 Linear interpolate (2) | 2023.02.27 |
---|---|
5. 머티리얼 적용 (1) 텍스쳐, UV와 워크플로우 (2) | 2023.02.24 |
4. 출력과 테스트 (1) Live update 옵션 (0) | 2023.02.23 |
3. 머티리얼 데이터 (2) Appendvector , ComponentMask (0) | 2023.02.22 |
2. 머티리얼 데이터 (1) 0과1, float, float2, float3, float4 (0) | 2023.02.21 |