게임 개발자를 위한 C++ 문법 과제 5


1. WHY
- 언리얼 엔진 엑터 생성
- 간단한 로직 구현
- AddOnScreenDebugMessage를 활용한 실시간 로그 출력
2. WHAT
AddOnScreenDebugMessage() : BP에 print text랑 동일

GEngine->AddOnScreenDebugMessage(
-1, // key
3.0f, // Duration (초)
FColor::Blue, // Color
TEXT("Hi")
);
// 숫자, 위치, 상태, 변수 값을 문자열로 보여주고 싶을 때
// FString::Printf((TEXT(),) 사용
랜덤 값
FMath::RandRange(a, b) // a~b 사이 랜덤 값 반환
FVector

FRotator

엑터 위치 및 회전 값 설정
SetActorLocation(FVector) // 엑터 위치 set
GetActorLocation() // 엑터 위치 get
SetActorRotation(FRotator) // 엑터 회전 set
GetActorRotation() // 엑터 회전 get
3. HOW
1. 컨텐츠 드로우 폴더 정리
2. ctrl + n -> 새 레벨 만들고 저장
3. 프로젝트 세팅 -> 에디터 시작 맵, 게임 기본 맵 설정

4. 새 C++ Class 생성 -> Actor

5. 블루프린트 클래스 생성

*cpp-blueprint 상속 관계 확인 : 클래스 세팅 -> 부모 클래스
6. cpp 클래스 위에 #include "Engine/Engine.h" 넣기 // Gengine 및 디버깅 메시지 관련 헤더
7. 라이브 코딩 비활성화 !
여기까지가 기본 셋팅
세부 요구사항은 아래와 같습니다.
- 시작점은 (0, 50, 0) 에서 시작합니다.
- 생성한 Actor C++ → Blueprint로 상속한 다음 Blueprint에서 StaticMesh추가 후 Cube로 지정
- Turn, Move 함수를 만들고 함수를 호출하여 10회 랜덤으로 회전 및 이동 합니다
- 매번 이동시 현재 좌표를 출력 합니다.
- 로그 출력은 AddOnScreenDebugMessage를 활용합니다.
필수 기능 구현을 완료한 후 아래 기능을 추가 힙니다.
- 시작점은 (0, 50, 0)이고 한번 이동시 현재 좌표 및 이동 횟수를 출력 합니다.
- 10회 이동시 각 스텝마다, 50% 확률로 랜덤하게 이벤트가 발생합니다.(발생 시키는 부분도 구현하셔야 합니다.)
- 각 스텝마다 이벤트 발생(이벤트함수를 따로 생성해서 진행해주세요.)여부를 출력합니다.
- 10회 이동후에는 총 이동거리와 총 이벤트 발생횟수를 출력 합니다.
함수 구현

Move() -> 랜덤한 크기로 X값 이동
Turn() -> 랜덤한 크기로 Y축 회전
RandEvent() -> "랜덤 이벤트" 출력

BeginPlay() 에서 for문으로 함수 호출 후 현재 좌표를 출력.

50프로 확률

4. FIX
FString::Printf 에서 %s 는 문자열 포인터 (TCHAR*) 를 기대함.
alt + F12 누르면 함수 정의 확인 가능!
5. RESULT
https://github.com/yoonseo4343/NBC_UE_P5
GitHub - yoonseo4343/NBC_UE_P5: 내일배움캠프 언리얼7기 과제 5
내일배움캠프 언리얼7기 과제 5. Contribute to yoonseo4343/NBC_UE_P5 development by creating an account on GitHub.
github.com
6. 참고
https://dev.epicgames.com/documentation/en-us/unreal-engine/API
io/@singery00/UE5-%EC%95%A1%ED%84%B0-%EC%9B%80%EC%A7%81%EC%9D%B4%EA%B8%B0-2
[UE5 / C++] 💨 액터 움직이기 (2)
💡 C++로 액터의 Transform을 조작해보자.C++을 사용해서 레벨에 배치한 액터를 움직여 보겠습니다.
velog.io
레벨테스트 뒷풀이를 하면서...
다른 동료들과 이야기를 나눠보니 깊은 복사 문제에서 하나하나 주소 찍어보고 제대로 깊은 복사가 작동하는지 체크 하셨다고 했다.
나는 잘 작동하는지만 체크하고 넘겼던 부분인데 앞으로 더 꼼꼼하게 더블체크 해보는게 좋을 것 같다.
'내배캠Unreal_TIL > UE' 카테고리의 다른 글
| [TIL] 2026-01-09 | C++ 문자 종류 판단, Actor 라이프 사이클, Transform, 리플렉션 시스템 (0) | 2026.01.09 |
|---|---|
| [TIL] 2026-01-08 | 언리얼 엔진 기본 구조, 빌드 문제 해결, Actor 클래스에 컴포넌트 추가 (0) | 2026.01.08 |
| [TIL] 2025-12-22 | UE와 VS 충돌 ? 해결 및 언리얼 C++ 시작하기 (0) | 2025.12.22 |
| [UE5] 언리얼 엔진 그림자 깨질 때.. 해결, 나나이트 (0) | 2025.12.08 |
| [TIL] 2025-12-04 | 환경 디자인, 머티리얼 애니메이션 (0) | 2025.12.04 |