Unreal5 공부/TIL

2026/03/04 TIL

anna59 2026. 3. 4. 21:06

 

오늘의 목표

  • C++ 문법 챕터 1-1: 프로그래밍 기초 수업 듣기
  • 알고리즘 수업 듣기
  • 오늘 수업 내용 복습
  • 지난 주 수업 내용 공부하기( Unreal Blueprint 라이브세션 Day4, 5, TIL 특강, C언어 세션)
  • 3/3 수업 내용 복습 (C언어 세션 동적할당 8-2, 구조체)

 

1. C++ 문법 수업 (챕터 1-1: 프로그래밍 기초)

IDE (통합 개발 환경)

프로그래밍 언어 ->컴파일, 링킹->실행 과정을 대신 해줌.

 

[ C/C++ 라이브 세션 미니 퀴즈 ] 아래 소스코드를 "천천히 읽기"로 적어주세요.

 

 


// Main.c

#include <stdio.h>

int main(void)
{
	int i = 1;

	while (i < 5)
	{
		printf("%d ", i);

		++i;
	}

	return 0;
}

1. 변수 i를 선언하고 1을 대입한다. (i : 1)

2. while문에서 조건식을 검사한다.

3. i는 1이므로 조건식은 참이다.

4. while 문의 중괄호 안쪽으로 들어간다.

5. printf 메세지를 출력한다. (현재 출력값: "1 ")

6. i를 1 증가시킨다. (i : 2)

7. while문에서 조건식을 검사한다.

8. i는 2이므로 조건식은 참이다.

9. while 문의 중괄호 안쪽으로 들어간다.

10. printf 메세지를 출력한다. (현재 출력값: "1 2 ")

11. i를 1 증가시킨다. (i : 3)

12. while문에서 조건식을 검사한다.

13. i는 3이므로 조건식은 참이다.

14. while문의 중괄호 안쪽으로 들어간다.

15. printf 메세지를 출력한다. (현재 출력값: "1 2 3 ")

16. i를 1 증가시킨다. (i : 4)

17. while문에서 조건식을 검사한다.

18. i는 4이므로 조건식은 참이다.

19. while문의 중괄호 안쪽으로 들어간다.

20. printf 메세지를 출력한다. (현재 출력값: "1 2 3 4 ")

21. i를 1 증가시킨다. (i : 5)

22. while문에서 조건식을 검사한다.

23. i는 5이므로 조건식은 거짓이다.

24. while 바깥으로 빠져나온다.

25. return 0를 만났으므로 프로그램을 종료한다.

 

최종 출력값: "1 2 3 4 "

// Main.c

#include <stdio.h>

int main(void)
{
	int i;

	for (i = 1; i < 5; ++i)
	{
		printf("%d ", i);
	}

	return 0;
}​

1. 변수 1를 선언한다.

2. for문에서 i에 1을 대입한다. (i : 1)

3. for문에서 조건식을 검사한다.

4. i는 1이므로 조건식은 참이다.

5. for문의 중괄호 안쪽으로 들어간다.

6. printf 메세지를 출력한다. ("1 ")

7. i를 1 증가시킨다. (i : 2)

8. for문에서 조건식을 검사한다.

9. i는 1이므로 조건식은 참이다.

10. for문의 중괄호 안쪽으로 들어간다.

11. printf 메세지를 출력한다. ("1 2 ")

12. i를 1 증가시킨다. (i : 3)

13. for문에서 조건식을 검사한다.

14. i는 1이므로 조건식은 참이다.

15. for문의 중괄호 안쪽으로 들어간다.

16. printf 메세지를 출력한다. ("1 2 3 ")

17. i를 1 증가시킨다.(i : 4)

18. for문에서 조건식을 검사한다.

19. i는 1이므로 조건식은 참이다.

20. for문의 중괄호 안쪽으로 들어간다.

21. printf 메세지를 출력한다. ("1 2 3 4 ")

22. i를 1 증가시킨다.(i : 5)

18. for문에서 조건식을 검사한다.

19. i는 1이므로 조건식은 거짓이다.

20. for문 바깥으로 빠져나온다.

21. return 0를 만났으므로 프로그램을 종료한다.

 

최종 출력값: "1 2 3 4 "

 

 

 

2. c++ 자료구조 & 알고리즘 수업

 

3. Unreal Blueprint 라이브세션 Day 4

플레이어 캐릭터와 나만의 레벨 디자인

 

이전 수업에 만들었던 이동 블루프린트에서 캐릭터가 움직일 때 버벅이는 오류, 위 아래 카메라 조정이 안 되는 오류가 있어 수정한 후에 본격적으로 애니메이션을 만들도록 하겠다.

 

코드를 다시 리뷰하다 보니 BP_Character 블루프린트의 Get Actor Forward Vector가 Get Forward Vector로 들어가 있는 것이 보인다. 이게 문제인 거 아닐까?교제해본다.

 

<실행>

확인 해 보니 버벅이는 것이 그대로다. 계속해서 코드를 리뷰해본다.

 

자세히 확인해보니 뒤로 갈 때만 캐릭터가 버벅인다.

 

문제가 무엇인지 모르겠어서 처음부터 다시 캐릭터를 만들어보고 확인해보기로 했다.

 

여기까지 해냈다.

 

잘 움직인다.

 

이제 카메라 시점 변환을 구현해보겠다.

 

 

위 아래 시점 변환도 잘 된다! 

 

 

 

카메라에 동화되지 않고 캐릭터를 움직이게 만들었다.

 

이젠 로직에서는 수업을 들으면서 따라하다가 놓친 부분이 있었던 것 같다.

캐릭터가 카메라에 동화되어 움직이는 것이 아니라 따로 움직이게 하는 과정에서, 무브먼트 방향으로 회전 조정을 설정하는 것을 놓친 것 같다.

 

이제 적용이 되었으니 지난 수업 분량을 다 구현한 뒤 Day 5 애니메이션을 구현하도록 하겠다.

 

<구현>

 

캐릭터가 월드 기준이 아니라 스스로의 카메라를 기준으로 움직이게 구현.

(D를 계속 누르면 카메라 기준으로 오른쪽으로 이동한다)

 

도전 과제: 점프 구현

<문제>

  1. 스페이스바를 입력받을 수 있도록 인풋액션을 생성, 맵핑 컨텍스트에 등록해주세요. 이 때 인풋 액션의 이름은 ‘IA_NBC_Jump’ 로 하겠습니다.
  2. *점프는 Digital(bool)을 사용합니다.
  3. 생성된 인풋 액션의 이벤트 노드의 Started에 Jump 노드를 연결해주세요.

<구현>

<실행>

구현 완!

 

나만의 레벨 디자인하기

나의 레벨 디자인

아직 구현은 안 해봤다.

기본 수업 내용을 다 따라잡은 뒤 해보는 걸로 하자.

 

4. Unreal Blueprint 라이브세션 Day 5

블렌더 스페이스와 움직이는 액터

 

캐릭터에게 애니메이션을 만들어주자.

 

기본 idle 애니메이션을 적용한 모습

 

블렌드 스페이스로 가만히 서있다가 뛰는 애니메이션을 만들어 준다.

Speed가 0일때 가만히 서 있음 / Speed가 500일 떄 최대 속도로 달림

vector로 속력을 구해서 Speed 변수 값을 설정한다.

 

 

 

<실행>

 

제대로 달리는 것을 확인.

 

 

오늘의 배운 점: 캐릭터 애니메이션 적용 방법.

오늘의 아쉬운 점: 지난 주 내용을 복습하느라 오늘 수업 내용을 복습하지 못했다. 추가로 복습을 진행할 것!