UE5 - Destroy() / SetLifeSpan() 비교

haura·2025년 6월 3일
0

UE5

목록 보기
21/21

1. Destory()

  • 액터를 즉시 제거
  • 개발자가 직접 호출
    ✔️ 장점
    1) 원하는 타이밍에 제거 가능
    2) 충돌, 체력 0, 트리거 발생 들 다양한 조건에 반응 가능
    3) 코드 흐름상에서 확실하게 제거 시점을 알 수 있음
    ❌ 단점
    1) 별도 타이머 설정 없이 지연 파괴 불가
    2) 자동으로 정리되지 않기 때문에 안쓰면 메모리가 남을 수 있음
    3) 서버-클라 간 타이밍 문제 발행할 수도 있음

2. SetLifeSpan(float Time)

  • 지정된 시간 후에 Actor가 자동으로 파괴
  • 내부적으로 Destroy()가 호출됨
    ✔️ 장점
    1) 일정 시간 뒤 자동 제거(Projectile, 임시 액터에 적합)
    2) 충돌 안해도 Actor가 사라짐
    3) 타이머 코드 없이 간단하게 시간 설정 가능
    ❌ 단점
    1) "언제" 제거되는지를 세밀하게 제어하기 어려움
    2) 다른 이벤트랑 충돌할 수도 있음
    3) 즉시 제거가 필요한 경우에는 부적합

- 사용 예시

상황추천 함수이유
Projectile이 충돌했을 때Destroy()바로 파괴해야 하니까
날아가다가 아무 것도 안 맞으면 정리SetLifeSpan()충돌이 없어도 자동 제거 필요하니까
폭발물이 5초 뒤에 터져야 함Timer + Destroy()정확한 타이밍 + 조건 처리 필요
효과음 끝나면 사운드 액터 제거SetLifeSpan()사운드 길이만큼 자동 제거하면 됨
적이 HP 0이면 제거Destroy()즉시 제거가 자연스러움
임시 UI 표시 오브젝트 제거SetLifeSpan()일정 시간 후 제거가 편함

0개의 댓글