본문 바로가기
언리얼엔진

[언리얼 엔진4] 5. Material, Texture, Add, Multiply, LI

by 쿠킷리스트 2021. 9. 26.

학습내용

액터의 표면을 디자인할 수 있는 Material(머테리얼) 알아보기.

 

Material(머테리얼)

  • 머테리얼은 텍스쳐(Texture) + 코딩 조합으로 만들 수 있다.
  • 텍스쳐(사진, 이미지)를 가지고 머테리얼을 만드는 것.
  • 언리얼에서 이미지를 뷰포트에 넣으면 텍스쳐를 자동으로 만들어 주기도 한다.

좌측 언리얼에서 자동으로 만든 머테리얼, 우측 직접 만든 머테리얼

머테리얼 만들기

  • 콘텐츠 브라우저에서 Material(파일명 : MyFirstMetarial) 생성 후 더블클릭.
  • 머테리얼은 블루프린트와 매우 유사한데, 차이점은 머테리얼의 경우 종착점(목적지)가 있다.
  • 종착점(목적지)의 종류
  • Base Color : 기본적인 색상을 연결.
  • Texture Sample 검색하여 생성.
    • Details 창에서 사용할 Texture 이미지를 선택해도 되고, 콘텐츠 브라우저에서 드래그&드롭 해도 된다.
    • Texture Sample RGB 값을 Base Color에 연결.
    • 좌측 프리뷰에서 적용된 모습을 확인할 수 있다.
    • 머테리얼을 다 만들면 상단의 Apply를 클릭하면 머테리얼이 생성된다.

  • 하나의 액터에 여러개의 머테리얼이 들어갈 수 있다.

Base Color : 머테리얼에 색상 넣기

  • 배치해둔 Prop에 시작할 때 생성한 MyFirstMetarial을 입힌다.
  • MyFirstMetarial 창을 연다.
  • 흑백 사이의 색을 넣을 때 constant(상수)를 사용한다.
  • 검은색은 0.0(0%), 흰색은 1.0(100%)이다.
  • constant 단축키는 키보드 숫자 1 + 왼쪽 마우스 클릭.
  • constant(2,3,4)Vector 도 마찬가지 키보드 숫자 (2,3,4) + 왼쪽마우스 클릭.
  • RGB 색을 넣을 때는 Constatn3Vector를 사용한다.(R = 1, G = 1, B = 1 총 3개)
  • Details 창에서 원하는 RGB 값을 각각 넣어주고 apply 하면 색상이 적용된다.

Metallic : 머테리얼에 메탈 속성을 넣기

  • 0.0(0%)~1.0(100%) 사이의 값을 넣고 얼마나 메탈에 가까운지를 표현.(1은 완전히 메탈)

Metalic 값 0, 0.5, 1 순서

Roughness : 머테리얼 재질감 조정하기

  • 0.0(0%)~1.0(100%) 사이의 값을 넣고 매끈한지, 거친지를 표현.(1은 완전히 메탈)
  • 값이 1에 가까워지면 빛이 들어와도 표면이 거칠기에 난반사를 한다. 따라서 투박해짐.

Roughness 값 0, 0.5, 1 순서(Metalic 값 1 적용)

Normal : 노멀이라는 값을 가지고 있는 텍스쳐를 사용하는 것

  • 노멀 값을 가진 Texture는 빛을 어떻게 반사하는 지 값을 계산하는 Texture.
    • 파란색(기준 값)은 평평함을 나타내고, 빨강은 상하로 얼마나 튀어나오고 들어갔는지, 녹색은 좌우로 얼마나 튀어나오고 들어갔는지를 나타낸다. 이를 이용해 음각과 양각을 표현한다.
  • Texture Sample을 사용해서 노멀 값을 가진 Texture를 적용하면 울퉁불퉁함을 표현할 수 있다.
  • 노멀 텍스쳐의 노멀 맵은 포토샵이나 노멀값을 추출할 수 있는 프로그램을 사용해서 만든다.

Base Color 심화 : 색상 섞기

  • 색을 더하고(Add : 단축키 A), 곱하고(Multiply : 단축키 M), 선택적으로 섞는(LI : Linear Interporlation)방법이 있다.
  • Contant3Vector, Add를 사용하여 빨강, 파랑을 더하고 Base Color에 연결하면 보라색이 나온다.
  • Contant3Vector, Multiply를 사용하여 빨강, 파랑을 곱하고 Base Color에 연결하면 검은색이 나온다.
  • 빨강 값은(1, 0, 0), 파랑 값은(0, 0, 1)이다. (각 위치의 값을 연산)
    • 두개를 더하면 보라색의 값인 (1, 0, 1)이 생성된다.
    • 두개를 곱하면 검은색의 값인 (0, 0, 0)이 생성된다.

  • 주로 사용되는 것은 Multiply이다.
  • Add를 사용할 경우 값이 각 값이 1을 초과하는 경우가 발생해 색상이 밝아지는, 희미해지는 경우가 많다.
  • 반면, Multiply를 사용할 경우 1을 초과할 수 없기에 어둡게 표현되며, 원하는 색의 바운더리를 벗어나지 않는다.

Linear Interporlation(선형보간)

  • 내가 선택한 값끼리 더한다는 말.
  • 단축키는 L이며 Lerp라고 주로 부른다.
  • A의 값과, B의 값을 연결한 다음에 Alpha 값에 의해서 선택하게 하는 것.
Alpha 값 A B
0.0 100% 0%
0.2 80% 20%
0.5 50% 50%
1.0 0% 100%

Alpha 값 0, 0.2, 0.5, 1 순서

GraySacle 을 사용하여 Linear Interporlation(선형보간) 해보기

  • GraySacle을 머테리얼 창에 가지고 오고 Alpha 값에 연결.
  • Alpha 값이 검은색 0, 회색 0.5, 흰색 1이기에 이 수치가 적용된다.
  • 색상 뿐만 아니라 다른 texture에도 동일하게 적용된다.

Static Mesh에 파랑, 빨강 체크 무늬 입히기

  • 기본 재질을 나무로 설정하고 시작
    • 우드 텍스쳐를 texture sample로 가지고 와서 base color에 연결.
    • 노말 우드 텍스쳐를 texture sample로 가지고 와서 base color에 연결.
    • Roughness 값 0.8로 설정.
    • Metalic 값 0으로 설정.

  • 빨파 격자무늬 넣기 
    • T_Ceramic_Tile_M을 사용해서 RGB 값이 얼마나 들어있는지 확인(흰색은 100%, 검은색은 0%)
    • Blue 채널이 체크무늬로 만들어져 있기에 이를 사용해서 체크무늬 만들기.
    • T_Ceramic_Tile_M을 texture sample로 가지고 와서 Blue 채널을 Lerp Alpha에 연결.
    • Constant3Vector를 사용해 빨강(1,0,0)을 A에 파랑(0,0,1)을 B에 연결.
    • 기존 우드 텍스쳐와 base color 연결을 끊고, Lerp를 base color에 연결.

T_Ceramic_Tile_M의 RGB 및 Alpha 값

  • 줄무늬 넣기
    • T_Ceramic_Tile_M의 Red 채널을 보면 줄 부분에 레드값이 0인 것을 확인할 수 있다.
    • T_Ceramic_Tile_M을 texture sample로 가지고 오고, Lerp 생성.
    • Red 채널을 Lerp Alpha에 연결.
    • Constant를 사용하여 0값(검은색)을 A에 연결.
    • 격자무늬를 만들었던 Lerp와 base color 연결을 끊고 해당 Lerp를 B에 연결.
    • 새로 만든 Lerp를 base color에 연결하면 격자무늬 사이에 검은 줄이 만들어 짐.

줄무늬를 빛나게 만들기(Emissive Color : 1은 발광, 0은 발광하지 않음)

  • 줄무늬 넣을 때와 똑같이 T_Ceramic_Tile_M의 Red 채널을 사용하지만 반대로 사용해야한다.
    • Red 채널은 무늬 부분의 값이 1(흰색)이고 줄무늬 부분이 0(검정)이다.
    • 하지만 Emissive Color는 값이 1일 때 발광함으로, 기존 Red 채널에서 1을 0으로, 0을 1으로 만들어야한다.
    • 빼기, 더하기를 사용해서 값을 만들어 줄 수 있다.
  • 흰색 줄무늬 만들기
    • T_Ceramic_Tile_M의 texture sample에서 R을 One minus(1-x)에 연결하여 Red 채널 값을 수정.
    • 1-x를 Emissive Color에 연결.

  • 노란 줄무늬 만들기
    • Constant3Vector를 사용하여 노란색을 생성. Multiply 생성.
    • 1-x 는 A에 연결, 노란색(Constant3Vector)은 B에 연결한 뒤 Emissive Color에 연결. 

  • 줄무늬가 빛나게 만들기
    • Multiply를 하나 더 생성. 기존의 Multiply를 신규 생성한 Multiply A에 연결.
    • 신규 생성한 Multiply B 값을 50으로 수정.
    • 값이 100배 곱해지면서 밝아지는 효과가 생기며 빛나는 줄무늬가 만들어 짐.

최종 완성된 Material

 

메모

  • tga(타가) 파일 : 압축하지 않은 고화질의 사진 파일
  • 머테리얼에 빛이 얼마나 반사되는냐(Specular)
  • 머테리얼이 빛을 얼마나 발광하느냐(Emissive Color)

 

 

댓글