🎮Unreal4/Blueprint

[UE4] 머티리얼(Material), 머티리얼 인스턴싱

공대 컴린이 2023. 1. 23. 23:22
728x90

🌎 머티리얼 (Material)

넓게 보면 오브젝트에 적용할 수 있는 "페인트" 개념이다. 말 그대로 오브젝트가 어떤 재질로 만들어졌는지를 정의하기 때문에 그 색이나 광택, 투과성 등을 정의할 수 있다.

 

머티리얼의 중요한 사실은, 코드를 통해 생성되는 것이 아니라 머티리얼 에디터 안에서 노드로 엮인 망을 통해 생성된다는 것이다. 각 노드에는 특정 동작을 하도록 설계된 HLSL 코드 스니펫이 들어있다. 

즉, 머티리얼을 생성하는 것은 비주얼 스크립팅을 통해 HLSL코드를 생성한다는 뜻이다.

 

🪐 머티리얼 인스턴싱

머티리얼 인스턴싱은 머티리얼의 비싼 리컴파일(느린 컴파일) 작업 없이 머티리얼의 외양을 바꾸는 데 사용된다. 

언리얼 엔진4에서 사용가능한 머티리얼 인스턴스는 두가지 유형이 있다.

  • Material Instance Constant
    - 상수, 에디터에서만 값 편집이 가능하다.
    - 실행시간 이전에만 계산되어 플레이 도중 값을 변경할 수 없다.
  • Material Instance Dynamic
    - 이름 그대로 '동적'이기 때문에 게임 내에서 생성하거나 값을 바꿀 수 있다.
    - 즉, 실행시간에 계산 및 편집이 가능하다.

Material Instance Dynamic 사용 예제


참조

https://docs.unrealengine.com/4.27/ko/RenderingAndGraphics/Materials/

 

머티리얼

셰이더를 활용하여 월드의 표면 외형을 제어하는 방법입니다.

docs.unrealengine.com

https://docs.unrealengine.com/4.26/ko/RenderingAndGraphics/Materials/MaterialInstances/

 

인스턴싱된 머티리얼

셰이더 리컴파일 없이 자손 머티리얼의 작동방식이나 외형을 변경하고자 프로퍼티의 변경을 허용하는 계층구조식 머티리얼 관계입니다.

docs.unrealengine.com

728x90