본문 바로가기

언리얼/머티리얼

2024 언리얼 엔진 실무 기반 교육 과정 17일차

  • 랜덤하게 색이 바뀌는 머티리얼
  • Clear coat
  • Cloth (Cloth 이용 / 기본 응용 벨벳)
  • Tree (움직이는 잎)
  • Reflect (기본/2D텍스쳐 이용)
  • Subsurface
  • Skin

<랜덤하게 색이 바뀌는 머티리얼>

* 저번 색이 바뀌는 머티리얼에 이어서

- Set Vector Parameter Value에서 Value에 Make Color 노드를 연결한다.

- Random Float In rage 노드를 만들어 각각 Make Color 노드의 RGB에 각각 연결해준다

    * 이때 Make Color의 Max 값이 1이어야 색상이 만들어진다

- Time line 추가 > 더블클릭 > 트랙 > 컬러트랙 추가

* 키를 더블 클릭하여 색을 바꿔줄 수 있다. (키 추가 가능)

- Float 트랙 추가

* 그래프 우클릭 >  키 추가를 눌러 키를 추가해줄 수 있다.

- 0.0키 하나, 3.1키 하나를 생성한다.

  * 화살표를 한번씩 눌러주면 화면에 그래프가 꽉 찬다.

- Component Begin Overlap 노드를 Time line의 Play From Start와 연결해준다.

 

- Time line을 Set Vector Paramenter Value와 연결

 

- 의자의 머티리얼에 들어가 V를 30까지 올린 색상을 만들어준다.

   * RGB중 2개의 값을 30에 세팅하고 나머지 하나도 값을 어느정도 올려줄것

- 해당 노드들을 이미시브에 연결

   * 의자 시트노드를 Alpha에 연결 (여기선 B)

 

- 이벤트 그래프로 돌아와 Time line의 Color와 Vector Parameter의 Value를 연결

      = 서서히 그래프 설정대로 색이 바뀌는 의자

- Dynamic Matirial 변수에서 뽑아 Set Scalar Parameter Value를 생성

- Set Scalar Parameter Value의 Parameter Name을 이미시브에 연결한 파라미터와 같게 바꿔줌

- Time line의 Opacity를 Value를 연결

 

= 시트의 색상이 3초에 걸쳐 서서히 바뀌는 의자


<Clear coat>

* 편집 > 프로젝트 세팅 > 엔진 > 렌더링 > clear 검색

- 클리어 코트 2차 노멀 활성화 켜기

- 머티리얼 생성하고 4개 파일 가져오기

- 결과 노드 디테일 > 머티리얼 > 셰이딩 모델을 Clear Coat로 바꿔주기

- 회색과 메탈릭 연결

- 회색 텍스쳐의 R값을 Lerp Alpha 값으로 사용하고 러프니스에 연결

 

- Flatten Normal노드 생성, 노말 텍스쳐와 연결해준다.

- 파라미터를 생성하여 Clear Coat와 Clear Coat Roughness에 각각 연결해준다.

- 결을 표현해주는 노말 노드를 Flatten Normal과 연결해주고, ClearCoatBottomNormal 노드 생성, 연결

   * 결과노드와 같은 색상

* 각각 파라미터로 노말 수치 조절 가능 (높을수록 옅어짐)

- TexCoord를 이용해 타일링 작업을 해준다. (모든 텍스쳐에 연결)

 

= 안에도 뭐가 있고 밖에도 뭐가 있는 머티리얼

ex. 자동차 페인트, 왁스바른 재질, 도자기, 필름등의 작업


<Cloth>

- fuzz 현상 구현 (벨벳이 제일 강함)

- 머티리얼 생성

- 결과노드 > 디테일 > 머티리얼 > 셰이딩모델 > Cloth활성화 가능

* 오파시티와 Fuzz Color, Cloth가 활성화된다.

- 베이스 세팅

- 파라미터를 생성하여 각각 Fuzz Color와 Cloth에 연결해준다.

* Cloth 속성 > 0일경우 천 X, 1일경우 천 O

* Fuzz 속성 > 반사 각도별 빛을 받는 정도

   > 표면으로 갈수록 빛 반사를 하는 현상 ( ex. 강 수면, 호수 수면) / 멀수록 반사가 심한 현상

   > 물리에 가장 입각한 구조 / 구현하는것이 상당히 한정적, 언리얼 내에서는 약함

 

<Cloth Custom>

- 머티리얼 생성 후 Camera Vector WS 생성

- Dot product를 불러온다 (내적을 구하는 역할)

- Pixel NormalWS 노드 생성 후 Dot에 모두 연결

- 베이스 컬러에 연결하면 오브젝트가 하얘짐

* 면마다 노말이 있는데 눈과 수직(90도)이 되면 그 수치값이 1이되며, 180도에 가까워질수록 0이됨

* Dot과 Fresnel과 계산식은 같음 (서로 반대)

   > 1-x를 연결하면 같아짐

* Fresnel

- Power와 Multiply를 연결하여 표면을 구성하는 노드 구성

- 1-x를 뺀 구성을 복사하여 내부를 구성하는 노드도 함께 구성해준다

- 두개의 값을 Add로 더해준다

 

= Add로 연결한 모습

 

- 텍스처 3개를 가져온다

* ORM = 오클루전, 러프니스, 메탈릭

 

- ORM에 맞춰서 연결 (해당 텍스처는 M이 없으므로 생략)

- Blend Overlay를 사용해 텍스처의 색상을 바꿀 수 있도록 함

- Multiply로 Add와 Blend Overlay를 연결 후 Basecolor에 연결

- Normal 텍스처에서 핀을 뽑아 Trnasform Vector를 만들어 연결하고 Dot에 연결

- 타일링 노드 생성 후 모든 텍스쳐에 연결

 

= 벨벳같은 재질

 

* Dot으로 만들었던 Power 콘스탄트들을 파라미터화 하여 수치값을 조절할 수 있도록 함 

* 강할수록 벨벳느낌, 약할수록 거친 천 느낌이 남


<Tree>

- 머티리얼 생성 

- 결과 노드의 블랜드 모드를 Masked로, 셰이딩 모델을 Subsurface로 변경 

- 노드 연결

- Simple Grass Wind 노드 생성

- 월드 포지션 오프셋에 연결

- 각 파라미터를 연결

* 디테일 > 양면 켜주기

= 움직이는 잎


<Reflect>

기본 반사 재질

- 머티리얼 생성 후 세팅 (기본적인 설정만 가지고 만드는 거울)

* 캐릭터 반사 X 퀄리티 별로 

* 프로젝트 세팅 > 리플랙션 캡처 해상도를 올려주면 퀄리티 높일 수 있음

 

리플렉트 퀄리티 올리기

- 액터배치에서 2D검색 > 씬 캡쳐 2D

- 카메라 배치

- 텍스처 > 렌더타깃 생성

- 2D카메라 선택 > 씬 캡처 > 텍스처 타깃에 렌더타깃 넣기

- 머티리얼 생성후 렌더 타깃을 불러와 베이스 컬러에 연결

 

= 카메라가 바라보는 곳을 렌더하는 모습

* 좌우반전되어 찍히는 모습

- Append로 X, Y값을 구분하여 X를 -1한 뒤 Multiply로 뒤집어준다

= 거울처럼 변경 

   > 반사재질을 넣고싶으면 러프니스를 0으로 연결

* 렌더 타깃에 들어가서 텍스처 렌더 타깃 크기를 올려주면 퀄리티가 좋아짐

 

* FOV 완화방법

   > 필드 오브 뷰의 수치값을 조금 내린다. 

 

* 노이즈 추가


<Subsurface>

- 양초, 밀랍, 투과되는 질감에 유용

 

- Empty 레벨 생성

- 평면 깔고 얼굴 불러오기

* L누르고 클릭하면 포인트라이트 생김

- 머티리얼 생성후 베이스컬러와 노말 연결

- 결과노드 > 디테일 > 머티리얼 > 셰이딩 모델 Subsurface로 변경

- 오파시티와 Subsurface color (SScolor) 연결

 

= 빛을 투과함

  > Opacity로 빛의 투과량을 정할 수 있음

  > SScolor로 색을 바꿀 수 있음

 

<SSprofile>

- 머티리얼 생성 

- 결과노드 > 디테일 > 머티리얼 > 셰이딩 모델을 Subsurface Profile

- 노드 세팅

 

서브서피스 프로파일

- 기본 사람의 색상 정보를 가지고 있음

- 카메라에서 바라보는 형태를 한칸씩 밀어서 복사하며 뿌옇게 만듬

- 투과를 사용하는 것 보다 눈속임이라 더 가벼움

    > 사람 특화

 

- 머티리얼 > 서비서피스 프로파일 연결

 

= 사람 혈색의 빛 투과

 

<Curtian>

- 머티리얼 생성 후 셰이딩 모델을  Subsurface로 변경

- 기본 세팅

- 인스턴스 머티리얼 설정

 

= 빛이 뒤에 있을때 커튼에 그림자가 생기도록 할 수 있음 + 빛이 보임

 

* 그림자 없애는법

없애기 전

- 간접 섀도만 활성화

 

* 양면이 아닌 오브젝트 그림자 생성하는법

 > 섀도 양면 활성화


 


<Skin>

- 머티리얼 생성

- 베이스 텍스쳐와 Power를 연결해 강도를 조절할 수 있게 함

   >Multiply를 이용해 tint와 혈색을 추가

   > 혈색 Alpha 값에 모공 Alpha 텍스쳐와 연결

- 러프니스 노드 연결

   > Lerp 생성 후 파라미터 생성한다. 각각 Min, Mix 수치값. Max에만 1을 적어준다.

- 모공 배치를 위한 Tex Coord를 배치 후 모공 텍스쳐들과 연결

-  Fresnel의 효과를 줄 노드를 연결한 후 Power값을 모공 Alpha Lerp에 연결

- 모공 Alpha 텍스쳐 노드

- 모공 노말맵 연결 설정


Add Timeline

- 노드를 두번 클릭하면 들어갈 수 있음

* Timeline에 트랙을 눌러 트랙을 추가할 수 있음