2026/03/04 TIL
오늘의 목표
- 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를 계속 누르면 카메라 기준으로 오른쪽으로 이동한다)
도전 과제: 점프 구현
<문제>
- 스페이스바를 입력받을 수 있도록 인풋액션을 생성, 맵핑 컨텍스트에 등록해주세요. 이 때 인풋 액션의 이름은 ‘IA_NBC_Jump’ 로 하겠습니다.
- *점프는 Digital(bool)을 사용합니다.
- 생성된 인풋 액션의 이벤트 노드의 Started에 Jump 노드를 연결해주세요.
<구현>

<실행>

구현 완!
나만의 레벨 디자인하기
나의 레벨 디자인

아직 구현은 안 해봤다.
기본 수업 내용을 다 따라잡은 뒤 해보는 걸로 하자.
4. Unreal Blueprint 라이브세션 Day 5
블렌더 스페이스와 움직이는 액터
캐릭터에게 애니메이션을 만들어주자.

기본 idle 애니메이션을 적용한 모습
블렌드 스페이스로 가만히 서있다가 뛰는 애니메이션을 만들어 준다.

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


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

제대로 달리는 것을 확인.
오늘의 배운 점: 캐릭터 애니메이션 적용 방법.
오늘의 아쉬운 점: 지난 주 내용을 복습하느라 오늘 수업 내용을 복습하지 못했다. 추가로 복습을 진행할 것!