머터리얼 파라미터 값을 변경하는 것은 자주 쓰이는 것 같다.
오브젝트의 색이 변하거나, 오브젝트의 투명도를 조절하거나 등등
머터리얼 값을 파라미터로 설정한다
머터리얼에 값을 사용할 때는 Constant 관련 노드, Parameter 관련 노드를 사용할 수 있다.
정해져있는 고정 값이면 Constant 노드를 사용한다.
Constant 노드는 외부에서 접근해서 변경할 수 없다.
이미 만들어져있는 Constant 노드를 우클릭해서 Parameter 노드로 변환할 수 있다.
값 변화를 주고 싶다면 Parameter 노드를 사용한다.
Parameter 노드는 Name을 가지고, 값을 변화할 때의 최솟값과 최댓값을 지정할 수 있다.
머터리얼 인스턴스를 생성하고, 변수에 저장
파라미터의 값을 변경할 때는 독립적이라는 의미로 머터리얼 인스턴스를 생성해야 한다.
ex) 동일한 머터리얼을 사용하는 A, B오브젝트가 있을 때, A의 색을 바꿨는데 B의 색까지 바뀔 이유는 없다.
밑의 예제는 시작할 때, Button 오브젝트의 Material을 Material Instance로 생성한 후, 변수에 저장하는 것이다.
변수에 저장하는 이유는 색을 변화시킬 때마다 계속 Material Instance를 생성하면 낭비이기 때문이다.
변수를 생성할 때는
왼쪽처럼 직접 생성하는 것보다,
오른쪽처럼 생성하는 것이 변수 자료형이 바로 맞추어져서 편리하다.
머터리얼의 파라미터 값을 변화시킨다
변수에 저장한 Material Instance에서 Set을 이용해 Parameter 값을 변화시킬 수 있다.
파마미터 값이 하나였으면 Set Scalar Parameter Value,
파라미터 값이 Vector(컬러)였으면 Set Vector Parameter Value
처럼 값에 맞추어 사용하면 된다.
블루프린트 말고 엔진 에디터에서 변경하기
블루프린트에서는 머터리얼 인스턴스를 생성하고, 파라미터 값을 변경했다.
엔진에서도 바로 사용할 수 있는데, 방법만 다르고 내용은 같다.
사용할 머터리얼을 우클릭하고, 머터리얼 인스턴스를 생성한다.
머터리얼 인스턴스 창은 기존의 머터리얼 창과는 다를 것이다.
파라미터 쪽에 사용할 파라미터를 체크 표시 한 후, 값을 변경하면 된다.
인스턴스에서는 값을 변경하면 바로 적용되기 때문에, 머터리얼을 제작한 뒤 테스트할 때 편하다. (컴파일 시간이 없음.)
'Unreal' 카테고리의 다른 글
[Material] Screen Position 노드 알아보기 (0) | 2021.01.21 |
---|---|
[Unreal BP] 타임라인 노드로 간단한 애니메이션 만들기 (0) | 2021.01.20 |
[Material] Texture Sample, TexCoord, Panner 노드 알아보기 (0) | 2021.01.20 |
[Unreal] 외부 에셋 임포트하기 (3) | 2021.01.19 |
[Material] SceneDepth 노드 알아보기 (0) | 2021.01.19 |