🎲 Set Timer 활용
Set Timer by Event/ Function Name 노드를 활용하여 실행 시 1초간 랜덤한 숫자가 반복되다가 멈추는 이벤트를 제작해본다. Timer는 이벤트 틱을 사용하지 않고도 주기적으로 블루프린트 코드를 실행하는 방법 중 하나이다. 매 프레임마다 기능을 지속적으로 폴링하는 대신 설정된 시간에 자동으로 이벤트나 함수를 트리거 하기 때문에 액터가 게임의 퍼포먼스를 줄이는 것을 방지할 수 있다.

🎲 Set Timer by Event / Function Name 노드
Set Timer by Event
지정된 이벤트를 일정 주기로 반복 실행하게 설정하는 노드이다. 커스텀 이벤트를 만들고 그 이벤트를 트리거하는 방식으로 사용한다. 예를들면, Event에 실행할 이벤트(Custom Event)를 입력하고 Looping이 활성화되어 있다면 Time의 초 수만큼 반복한다. Looping이 비활성화 상태에는 한 번만 실행한다.
Set Timer by Function Name
Set Timer by Event와 같은 기능이지만 이벤트 대신 함수 이름(문자열)을 지정해서 실행하는 방식이라는 점에서 차이가 있다. 함수 이름은 정확히 일치해야 하고, 블루프린트에서 호출이 가능해야 한다.

🎲 활용 예시
블루프린트 안에서 간단하게 반복 실행하고 싶은 경우는 Set Timer by Event, 특정 함수 이름으로 코드처럼 깔끔하게 실행하고 싶은 경우 Set Timer by Function Name을 사용한다. 블루프린트 구성 방향이 이벤트 기반인지, 함수 중심인지에 따라 선택할 수 있다.
Set Timer by Event
- 매 프레임이 아니라 일정 간격으로 UI 숫자 갱신
- 지속적으로 데미지 주는 독 상태 구현 (0.5초마다 데미지)
- 랜덤 숫자 돌리기 애니메이션처럼 주기적 업데이트가 필요할 때
Set Timer by Function Name
- 반복 실행할 함수가 이미 정의되어 있고, 다른 블루프린트에서도 호출되면 좋을 때
- 간단한 기능을 함수 단위로 관리할 때
- 함수만으로 타이머를 관리하고 싶을 때
🎲 1초 뒤 멈추는 랜덤 숫자 돌리기 이벤트
먼저 Random Integer in Range 노드로 0부터 100까지 Text 액터에 랜덤한 숫자를 출력하는 이벤트를 만든다. 이때 0.2, 35.3 처럼 소수점 값을 만들고 싶은 경우 Make Literal Float 노드로 0.1를 곱할 수 있다.

Set Timer by Function Name을 사용하는 경우도 Function Name에 위에 만든 random number 이벤트를 적어주면 Set Timer by Event와 같이 작동할 수 있다. random number는 한번 랜덤한 숫자를 출력하는 이벤트인데 이 이벤트를 0.05초마다 반복 재생하게 해준다. 그러면 랜덤한 숫자가 파라라락 돌아가는 것처럼 보이게 된다.
그리고 1초 뒤 Set Timer by Event/ Function Name을 멈추게 하기 위해 1 Duration의 Delay를 중간에 넣고 Clear and Ivalidate Timer by Handle/ Clear Timer by Function Name 노드를 연결한다.

🎲 결과

