본문 바로가기

개발/내일배움캠프

02/10 머티리얼 애니메이션

머티리얼 그래프를 통해 머터리얼에 애니메이션을 추가하는 방법

 

 

사인파를 이용해서 반복적인 규칙을 만들 수 있음

사인파의 생김새

y = D *  sin(C x + a) + b일때

a값에 따라 파동 주기의 시작점이 달라지고

b값을 올리면 최소최대값을 늘리고, 

C를 바꿔 파동의 주기를 빠르게/느리게

D를 바꿔 파동의 진폭을 키우거나 줄일 수 있음.

 

이 특성을 이용하여 반복되는 애니매이션만들어 항공장애표시등처럼 반복해서 점등하는 머티리얼을 만들어 볼 것임

건물위에 빨간색 점등하는 그거

 

사인파 자체를 만드는것은 매우매우 간단한데, 

그래프에서 Time노드와 Sine노드를 연결만 하면 기본적인 y=sin(x)를 만들 수 있음.

 

이렇게만 해도 머티리얼이 주기마다 반짝이게 할 수 있음. 

 

위의 각 값들을 모두 설정하면 다음과 같음

이제 아래 각 값을 조정하는것으로 값을 마음대로 조정할 수 있게 되었음.

 

이제 전등같은 효과를 만들어 볼것인데 먼저 조명을 보면 가장자리는 적게 빛나고
실제로 빛을내는 안쪽만 크게 빛나는걸 볼 수 있음.

이런 효과를 구성하기 위해 세가지 노드를 활용할 것임.

 

 

Fresnel프레넬
프레넬 은 화각에 따라 반사되는 빛의 세기가 달라지는 현상을 설명하는 용어

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/using-fresnel-in-your-unreal-engine-materials

원래는 이를 실루엣을 강조하기위한 에지 라이팅을 추가하는데 사용한다고 하는데, 이를 반대로 하여 에지가 아닌 안쪽을 강조하도록 아래 노드를 사용할 것임.

에지 라이팅(edge lighting)예시 이미지

 

1-x(원마이너스)

값을 반전시키는 노드, 이로 에지가 아닌 부분이 강조될것으로 예상

 

파워(Power)

대비 조절 효과를 내는 노드

 

위 세가지 노드를 추가한 그래프는 위와 같고, 결과 머티리얼은 다음과 같음

가장자리의 빛이 비어보인는걸 볼 수 있음,

 

머티리얼 인스턴스

만든 머티리얼을 수정하려면 그래프로 들어가 값들을 수정해주어야 하는데,

인스턴스를 생성하면 원본을 유지한채 변수값을 간단하게 수정할 수 있다.

 

만드는 방법은 원본 머티리얼 에셋을 우클릭-머티리얼 인스턴스 생성

인스턴스를 더블클릭해 에디터를 열면 디테일 패널의 파라미터 그룹을 통해 그래프에 있던 변수를 간단하게 수정할 수 있다.

이를 통해 원본을 안전하게 유지하면서 원하는대로 값을 수정 해 볼 수 있다.

 

머티리얼은 이것으로 완성이다.

간단한 적용을 해보면 이전에 사용한 건물 에셋 옥상 모서리에 구체Sphere를 추가하고 마테리얼 인스턴스를 입힌 후

밝기를 조정해주고 컴파일.

 

Directional Light를 조정해 밤처럼 만들고 화면을 확인해보면

나름 볼만한 결과물

동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.