Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 스파르타코딩클럽
- https://vetenir.tistory.com/
- https://eo-oe.tistory.com/
- 이리5조
- https://hjmag1120.tistory.com/
- https://ji-han.tistory.com/
- https://mynameiskgws.tistory.com/
- 태어난김에 보스까지
Archives
- Today
- Total
info8995 님의 블로그
TIL: 언리얼 액터의 이동 및 회전 구현 본문
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) 블루프린트에서 확인 및 조정 방법
- 언리얼 에디터에서 AItem1 선택
- Details 패널에서 MoveSpeed 값 조정
- 실행 후 이동 및 회전 속도 테스트
5. 최종 정리
🎯 오늘 배운 점
- Tick()을 이용해 프레임마다 실행되는 로직을 작성하는 법
- AddActorLocalRotation()을 활용한 오브젝트 회전
- SetActorLocation()을 활용해 현재 위치 기준으로 왕복 이동
- bMovingForward 플래그를 사용하여 방향 전환 로직을 구현
- BeginPlay()에서 초기 위치를 저장하여 현재 위치를 기준으로 이동
- EditAnywhere, BlueprintReadWrite로 블루프린트에서 속도 조정 가능
'TIL(Today I Learned) > Unreal Engine' 카테고리의 다른 글
| TIL언리얼 엔진에서 Overlap 이벤트를 활용한 아이템 획득 시스템 구현 (0) | 2025.02.12 |
|---|---|
| TIL: 언리얼 엔진 C++로 엘리베이터 객체 구현 (0) | 2025.02.06 |
| 29일차(언리얼 엔진에서 새로운 Actor 클래스 생성) (0) | 2025.01.27 |
| 26일차(언리얼 엔진 프로젝트 폴더 구조와 주요 파일) (0) | 2025.01.22 |
| 17일차(Delta Time) (0) | 2025.01.09 |