※ 본 문서는 언리얼 엔진 5.0.3버전을 기준으로 작성되고 있습니다.
지난 포스팅에서는 float, float2, float3, float4에 사칙 연산을 하는 방법과
주의사항 등에 대해서 다루었습니다.
오늘은 float에서 float2, float3, float4 등으로 합치거나
원하는 채널만 추출하는 방법에 대해서 다루어 보도록 하겠습니다.
0) 머티리얼 표현식 불러오기
먼저 간단하게 머티리얼 에디터에서 머티리얼 표현식을 사용하는 법에 대해서 이야기하겠습니다.
머티리얼 표현식을 사용하는 법은
- 팔레트 패널에서 드래그 앤 드롭 하기,
- 마우스오른쪽 버튼에서 검색해서 찾기,
- 단축키로 불러오기
총 세 가지로 볼 수 있습니다.
이 중에서 3은 지난 시간에 간단하게 시도해 보았었는데요.
단축키가 어떤 것인지 궁금하시다면, 팔레트 패널을 열고 표현식을 찾아 주세요.
표현식 우측에 단축키 내역이 나타나 있는 것을 확인하실 수 있습니다.
방법을 숙지했다면, 본격적으로 오늘의 학습을 진행해 보겠습니다.
1) float 합치기
A. appendVector
AppendVector는 float를 모아서 여러 채널로 합치고 싶은 경우에 사용합니다.
float, float2, float3, float4 등 서로 형태가 다르더라도 혼합이 가능합니다.
*만약 float 자료형이 4개 이상 모이는 경우 정상적인 출력이 되지 않을 수 있습니다.
그런데 AppendVector 표현식을 사용할 때 주의할 점이 있습니다.
바로, "순서" 입니다.
'첫 번째 입력 값 A가 먼저 기록되고, 이후 B값이 기록됩니다.
예를 들면, 좌측 이미지에서는 ( 0.2 , 0.5, 0.3 )가 출력되지만,
우측 이미지에서는 ( 0.5, 0.3, 0.2 )가 출력되는 것을 확인하실 수 있습니다.
즉, 원래 표현하려던 색상을 출력하지 못할 수 있는 것입니다.
B. AppendMany
상수 노드를 한 번에 여러 타입으로 내보낼 수 있는 방법도 있습니다.
AppendMany를 사용하면 입력된 input의 수와 관계없이
RG, RGB, RGBA로 출력할 수 있으므로 상황에 따라 편한 방법을 사용하시면 됩니다.
2) float분리하기
A.CompoentMask
이번에는 채널을 모았으니, 반대로 나눠 보도록 하겠습니다.
ComponentMask 노드로 원하는 값만 출력할 수 있습니다.
사용법은 간단합니다. ConstantVector4와 같이 여러 채널을 가진 ConstantVector표현식에
ComponentMask를 연결하고 디테일 패널에서 R, G, B, A중에서 원하는 채널에만 체크하시면 됩니다.
가령 float4 [1,2,3,4] 에서 g와 b를 추출하면 [2,3] 이 되는 것입니다.
자 이렇게 오늘은 머티리얼에서 값을 연산하고 채널을 합쳐 보았습니다.
이 파트는 언리얼의 머티리얼 데이터 타입과 데이터 조작 및 산술 파트의 자료를 참고하였습니다.
보다 궁금하신 사항이 있으시다면 아래 더보기를 누르시고, 해당 문서로 이동하시면 됩니다.
다음 포스팅에서는 출력과 테스트에 대해서 알아보겠습니다.
※ 현재 학습 중인 내용이므로 아직 완전하지 않은 내용일 수 있습니다. 내용에 대해서 피드백을 주시면 관련 내용 보완하여 작성하겠습니다. |
'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 |
2. 머티리얼 데이터 (1) 0과1, float, float2, float3, float4 (0) | 2023.02.21 |
1. UI를 위한 머티리얼 만들기 : 머티리얼이란? (0) | 2023.02.20 |