언리얼 슬로우모션

250x250

Unreal SlowMotion

언리얼에서 간단하게 슬로우모션을 구현해보았습니다.

이때 사용한 함수는 게임의 전체 시간 흐름을 조절하는 SetGlobalTimeDilation함수입니다.

이 함수는 게임 전체의 시간 흐름을 자유롭게 조절할 수 있습니다.

코드

2.0f: 시간의 흐름이 두배로 빨라집니다.

1.0f: 기본 흐름. (정상 시간)

0.5f: 시간의 흐름이 절반으로 느려집니다. (슬로우모션.)

0.f: 시간이 완전히 정지됩니다.

아래와 같은 코드를 작성하면 시간의 흐름을 0.5배로, 즉 2배 느리게 만드는 코드인겁니다.

UGameplayStatics::SetGlobalTimeDilation(GetWorld(), 0.5f);

 

저는 이 기능을 NotifyState에 적용을 해서 애니메이션의 특정 부분만 느려지도록 사용했습니다.

애니메이션의 일부 구간을 아래처럼 만든 NotifyState를 추가하면 해당 부분의 애니메이션을 진행하는 동안 Meshcomponent가 0.2배속으로 재생됩니다.

NotifyState설정.

Notify Begin에서 0.2로 설정하고 End에서 1로 만든 후 애니메이션에 추가했습니다.

실행

실행하면 이렇게 중간에 NotifyState가 적용된 부분이 느려집니다.

Designed by JB FACTORY