오늘의 목표
- 아침 코드카타 (완료)
- 6번 과제 (완료)
- 언리얼 마스터 1강 수업 내용 요약 (진행중)
6번 과제

현재 여기까지 구현을 완료했다.
그런데 움직이는 액터가 오른쪽으로만 움직이는 것이 신경쓰여서, 가운데를 기준으로 오른쪽 왼쪽으로 모두 움직이는 액터로 만들고 싶다.
if (MoveRange >= MaxRange)
{
// 이동 방향 바꾸기
MoveSpeed *= -1;
MoveRange = 0;
// 방향 바꾸기
//AddActorLocalRotation(FRotator(0.0f, 180.0f, 0.0f));
}
DeltaTransform.SetLocation(FVector(MoveSpeed * DeltaTime, 0.0f, 0.0f));
MoveRange += abs(MoveSpeed * DeltaTime); // 이동 거리 합하기
현재는 이동 거리 계산을 절대값으로 하고 있는데, 어짜피 MoveSpeed를 음수로 바꾸는 방식으로 방향 전환을 하고 있으니 MoveRange에 절대값이 아닌 MoveSpeed * DeltaTime을 더함으로서 왼쪽으로 가도록 해볼 수 있을 것 같다.
if (abs(MoveRange) >= MaxRange)
{
// 이동 방향 바꾸기
MoveSpeed *= -1;
}
DeltaTransform.SetLocation(FVector(MoveSpeed * DeltaTime, 0.0f, 0.0f));
MoveRange = MoveRange + (MoveSpeed * DeltaTime); // 이동 거리 합하기

잘 작동한다.
추가 개선 아이디어:
특정 종류의 액터가 연달아서 생성되지 않도록 구현하면 좋을 것 같다.
마지막으로 생성한 액터를 저장해서 다음 액터 소환에 참고하는 식으로 하면 구현 가능할 듯함.
마지막으로... 작성한 c++ 클래스의 자식 블루프린트 클래스를 만들어서 Detail 패널에서 parameter를 조절할 수 있게 하려고 한다. 이 경우 내가 작성한 것처럼 MapGenerator에서 c++ 클래스로 직접 액터를 생성하는 것이 아니라, 생성할 액터를 MapGenerator에서 고르도록 설정하는 것이 낫다..고 한다.

과제 정말 최종 완료!!
'Unreal5 공부 > TIL' 카테고리의 다른 글
| 2026/04/16 TIL (0) | 2026.04.16 |
|---|---|
| 2026/04/15 TIL (1) | 2026.04.15 |
| 2026/04/13 TIL (1) | 2026.04.13 |
| 2026/04/10 TIL (1) | 2026.04.10 |
| 2026/4/9 TIL (0) | 2026.04.09 |