info8995 님의 블로그

TIL: 언리얼 액터의 이동 및 회전 구현 본문

TIL(Today I Learned)/Unreal Engine

TIL: 언리얼 액터의 이동 및 회전 구현

info8995 2025. 2. 4. 20:19

1. Tick()을 활용한 회전 구현

  • Tick(float DeltaTime)을 사용하여 매 프레임마다 오브젝트를 회전시킴
  • RotationSpeed 변수를 활용하여 일정 속도로 회전하도록 설정

 

  • FMath::IsNearlyZero()를 사용하여 불필요한 연산을 줄임
  • AddActorLocalRotation()을 활용해 초당 RotationSpeed만큼 회전

2. X축으로 일정 범위 이동 구현

1) MoveSpeed 변수 추가 (Item1.h)

  • EditAnywhere, BlueprintReadWrite 설정을 통해 블루프린트에서 조정 가능하도록 변경

2) bMovingForward 플래그 추가

 

3. 현재 위치를 기준으로 +2200까지 왕복 이동

1) StartLocation 저장 (BeginPlay)

  • BeginPlay()에서 초기 위치를 저장하여 이동 범위를 결정

2) Tick()에서 이동 처리

 

  • 이동 범위: StartLocation.X ~ StartLocation.X + 2200.0f
  • MoveSpeed를 곱해 부드럽게 이동하도록 구현
  • bMovingForward를 이용해 방향 전환

4. 블루프린트에서 MoveSpeed조정 가능하도록 변경

1) Item1.h에서 변수 변경

  • EditAnywhere, BlueprintReadWrite → 블루프린트에서 값을 변경 가능
  • 에디터에서 속도 값을 조정하면 즉시 반영됨

2) 블루프린트에서 확인 및 조정 방법

  1. 언리얼 에디터에서 AItem1 선택
  2. Details 패널에서 MoveSpeed 값 조정
  3. 실행 후 이동 및 회전 속도 테스트

5. 최종 정리

🎯 오늘 배운 점

  1. Tick()을 이용해 프레임마다 실행되는 로직을 작성하는 법
  2. AddActorLocalRotation()을 활용한 오브젝트 회전
  3. SetActorLocation()을 활용해 현재 위치 기준으로 왕복 이동
  4. bMovingForward 플래그를 사용하여 방향 전환 로직을 구현
  5. BeginPlay()에서 초기 위치를 저장하여 현재 위치를 기준으로 이동
  6. EditAnywhere, BlueprintReadWrite로 블루프린트에서 속도 조정 가능