본문 바로가기

레퍼런스/시작해요언리얼

시작해요언리얼 2024.4주차

Day3final을 열어보면

시퀀서를 열어 플레이해보면 퀸도 애니메이션 되어 있다. 감상이 있나면

Day4Fin을 열어보자 시퀀서를 재생하면 Fan이 안 움직인다.

이걸 움직이게 해보자.

다시 Day3Fin로 이동해서 블루프린트 폴더에 액터블루프린트를 하나만든다.BP_BladeFan이라고 한다. 열자

블레이드 관련 메시를 선택하고 추가한다.

뷰포트에서 블레이더를 선택하고 블루프린트로 교체해준다. 

블루프린트에서 계층구조를 베이스에 붙여주고 사이즈와 위치를 조정해준다. 배치하기 편하게 베이스를 원점에 배치한다.

팬을 시퀀서로 움직여도 되는데 팬속도를 조정하려면 어려워지고 팬을 여러개 설치하면 일이 많이지므로 그냥 블루프린트로 돌려보자. 블루프린트에 커스텀이벤트를 추가하자.

이걸 컨르롤 하기 위해 시퀀서 +추가를 눌러 액터를 시퀀서로>BP_Fan추가한다.

 

BP_Fan +를 눌러 이벤트를 추가한다. 한번만 실행하려면 Trigger 반복재생하려면 리피터를 선택한다.

추가된 이벤트트랙을 우클릭하고 방금만든 SeqTick을 선택해서 연결해준다. 다시한번 트랙을 우클릭하고 프러퍼티에서 에디터에서 호출을 선택해줘야 한다.

팬속도를 조정하기 위해 블루프린트에 FanRPM변수를 float로 추가하고 디테일에서 시네마틱에 노출을 체크한다. 컴파일후 초기값을 0.2로 한다.

방금만든 변수 FanRMP을 초당 회전수로 만든후 각도로 변환후 Yaw값을 MakeRotate로 만들어 AddRelativeRotation으로 입력해서 돌려준다.

시퀀서에서 BP_Fan을 선택하면 디테일에 FanRPM이 노출된다. 키프레임으로 사용할수 있다.

Fan을 여러게 달고 각각 속도를 다르게 할수 있다.

다음과 같이 트랙을 여러개 만들어도 된다 필요없으니 지우자

FanRPM키프레임을 주면 플레이시 변화하는걸 볼 수 있다.

이제 매니의 로고 색깔을 변화시켜보자.

BP_Manny 블루프린트를 열어보자 

Material은 Mesh에 적용되어 있으므로 SkeletaMesh에서 GetMaterial Index 0번째를 Dynamic하게 create해서 파라미터들을 바꿔준다. State_Idle과 State_warning두개의 custom Event를 만든다.

 

강의에서는 좀더 쉽게 하기 위해 내용을 다시 지우고 아래 2개 이벤트만 남겨두고 다 지우자.

스켈레탈메시를 선택하면 디테일에서 머터리얼이 2개 적용되여 있는걸 알수 있다.  위쪽 MI_Manny_02를 선택하자.

디테일의  Blink를 1로 하면 깜빡거리고 색깔이나 밝기를 변경할수 있다.

 

칼라휠의 색을 끌어다 놓으면 프리셋을 만들수도 있다.

머터리얼의 값은 SkeletalMesh를 끌어서 노드를 만들고 그걸 다시 끌어 Set Vector Parameter Value on Materals노드를 이용해 변경할 수 있다. 색은 Vectpr 파라미터는 Scalar를 사용하자.

바꾸고 싶은 파라미터를 디테일에서 이름을 카피해서 Name에 복사해주고 값을 설정한다.

 

이제 시퀀스로 이동해서 BP_Manny트랙을 선택하고 + 이벤트>트리거를 넣어주자 트랙우클릭하고 방금만든 State_Warning을 바인드 해주자.

에디터에서 호출도 해준다.

깜박거리는걸 멈추게 하고 싶으면 이벤트를 복사하고 State_Idle로 바꾸고 

다시 트랙에 이벤트>트리거>State_Idle바인딩후 

에디터에서 호출을 반복해준다.

이제 퀸이 떠오르다가 사라지는 애니메이션을 만들자 디졸브 머터리얼이 마켓에 많은데 샘플프로젝트에 있는 머터리얼을 사용하자.

BP_Quinn을 열고 Manny의 이벤트2개를 복사하고 트랙에 이벤트 트리거를 추가해준후. 디졸브 머터리얼을 사용해보겠다.

SeqTick 커스텀이벤트를 추가하고 alpha변수를 만들고 시네마틱에 노출한다.

 

Quinn의 머터리얼을 열고 부모를 찾아 알파클립을 연결해준다.

인스턴스에서 GlobalScalarParameterValues의 AlphaClip을 체크해준다

BP_Quinn의 SeqTick커스텀이벤트를 추가하고

AlphaClip 이름을 카피해서 파라미터 Set모드의 Name에 넣어준다.

이번에는 디졸브를 위해 이벤트>Repeat를 추가하고 우클릭 Property>Endpoint>SeqTick을 바인드해주고 에디터에서 호출해준다. 이벤트에서 SeqTick을 지속적으로 호출해주지만 우리는 Alpha값은 고정되어 있다.

BP_Quinn +를 클릭해서 Alpha트랙을 추가하고 원하는 구간에 키프레임과 값을 추가한다. Alpha값 키프레임을 넣어 애니메이션 시킨다.

마지막으로 Effects폴더의 나이아가라 이펙트를 애니메이션 시켜보겠다.

BP_Quinn컴포넌트에 나이아가라를 추가하고 이펙트를 선택해준다 이펙트폴더의 이펙트를 미리 선택하고 화살표를 선택해주자

SeqTick이벤트 뒤에 Niagara를 끌어다 이벤트그래프에 놓고

나이아가라를 열어보면 왼족 사용자 파라미터값만 외부에서 설정할수 있다.

SetFloatParameter노드를 추가하고 나이아가라 사용자파라미터이름을 복사해서 붙여주고 Alpha를 연결해주자

Alpha값을 이용해서 머터리얼에서는 디졸브값을 이펙트에서는 spawnRate값을 조정한다. .

spawnRate값은 초기값이 5000이므로 2000을 곱해 적당한 값이 되게 해주고

나이아가라이펙트를 열어 SpawnFromDissolveEdge를 꺼준다.

실행해보면 스폰레이트가 0~2000이 되었다가 고정되니 사라지지 않는다. 따라서 키를 하나 더 넣어주던지  커브를 이용해 값을 커브에 맞게 줄어들게 할수 있다. 2000을 곱한것 대신에 GetRunTimefloatCurveValue를 넣고 Value를 변수로 승격하고 컴파일후 디폴트값의 커브를 조정한다.

 

*2000앞에 커브를 연결해준다.

플레이시 이펙트가 처음부터 보이는 경우는 타임라인을 흔들어 디졸브 이펙트 앞에 놔주고 플레이 시켜준다.

.