[내일배움캠프] 본 과정 학습내용

[내배캠] 1일차 학습 내용 정리

홍이니 2026. 6. 26. 20:03

안녕하세요! 어제까지의 베이스캠프를 끝마치고 오늘 부터 본 과정에 들어왔습니다.

오늘은 오전에 Unreal Blueprint에 대해 잠깐 배우고 오후에 C언어에 대해 잠깐 배우는 날이였습니다.

Unreal 시간에는 프로젝트 생성 및 새 Level 생성, Fab에서 에셋을 프로젝트에 추가하고 사용하는 방법에 대해서 배웠습니다.

 

우선 튜터님께서 중요하다고 강조하고 제가 중요한다고 느낀 부분은 프로젝트 생성 시,

프로젝트 파일의 위치! 그리고 프로젝트의 이름! 입니다.

 

프로젝트 파일은 되도록 내장 디스크에 저장하고 내장 디스크에서도 프로젝트만 따로 저장하는 디스크가 있으면 좋고 없어도 프로젝트를 저장하는 공간이라는 인식을 할 수 있는 공간에 저장하는 것이 나중에 파일의 위치, 경로를 찾거나 불러올 때 좋으므로 중요한 내용이라고 생각했습니다.

또한 프로젝트의 이름은 복잡하지 않고 이 프로젝트가 무슨 프로젝트인지 명확하게 구분이 될 수 있는 이름으로 짓는 것이 좋으므로 중요한 내용이라고 생각했습니다.

 

프로젝트를 생성하고 나서 기본적으로 필요한 폴더들(Blueprints, Levels)을 만들어주고 Levels 폴더 안에 L_Test 라는 이름으로 새 Level을 만들었습니다.

두 번째 사진의 World Settings에서 GameMode Override설정을 채워주기 위해 Character Blueprint와 GameMode Blueprint를 생성해주었고 사진과 같이 설정 해주었습니다.

 

이후 만들어준 BP_Character로 들어와서 컴포넌트에 Camera를 추가해주고 위치 수성을 해주었습니다.

(사진에 보이는 팔과 총은 이후에 추가된 부분 입니다.)

 

이후 L_Text 레벨에 만든 BP_Character를 생성하였습니다.

 

사진과 같이 위에서 Window 탭 아래에 있는 Fab을 선택해 Fab 홈페이지에 접속 후 M16을 검색하여 무료 에셋을 구매했습니다.

그리고 Add to Project 버튼을 통해 프로젝트에 추가하였습니다.

 

Add Feature or Content Pack... 버튼을 눌러 First Person을 선택해서 First Person StartContents 들을 받습니다.

 

이후 BP_Character에서 컴포넌트 창에서 Camera에 귀속되게 Skeletal Mesh를 추가한 후 이름을 Gun으로 설정하였습니다.

추가로 왼 쪽의 디테일 창에서 Mesh에 Skeletal Mesh Asset 설정에서 아까 받았던 M16의 Skeletal Mesh를 찾아 설정해주었습니다.

같은 방식으로 컴포넌트 창의 Mesh (CharacterMesh0)를 선택해 디테일에서 Skeletal Mesh Asset를 일인칭 Skeletal Mesh를 찾아 설정해주었습니다.

 

오늘의 Unreal 강의 내용은 여기까지 였으며, 첫 날이기에 대부분의 시간을 설정 값을 수정하고 엔진에 대한 설명을 하는 내용으로 마무리 되었습니다.

 

오후 시간에는 C언어 기초 강의를 들었습니다.
Unreal과 마찬가지로 첫 시간이였기에 실습보다 이론 위주의 강의로 진행되었습니다.

 

내용은 먼저 코딩이란 컴퓨터가 이해 할 수 있도록 "컴퓨터가 이해 가능한" 명령서를 작성하는 과정입니다.

컴퓨터는 이진법으로 구성된 기계어(Low Level Language)만을 이해할 수 있고 이것을 조금 더 사람이 이해할 수 있는 형태로 변형한 언어가 어셈블리어(Assembly Language)이며, 더욱 사람이 활용하기 편리하도록 변화한 언어가 고급언어(High Level Language)입니다.

 

사람이 작성한 명령서(코드)를 소스코드(Source Code)라고 하며 사람이 작성한 어셈블리어와 고급언어의 형태는 컴퓨터가 바로 이해할 수 없으므로 사람이 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 변환 하는 역할을 컴파일러, 컴파일러가 기계어로 변환하는 작업을 컴파일이라고 합니다.

 

코드는 기본적으로 위에서 부터 아래로 실행되며 main() 함수를 통해 실행됩니다.

그리고 출력하는 함수 printf() 를 배웠습니다.

printf는 print formatted의 약자로 "양식에 맞게 출력하다"라는 뜻이라고 합니다.

 

printf() 함수에 쓰이는 문자열로 "탈출 문자열(Escape Sequence)"이 있는데 해당 문자열은 탈출 문자 "\"와 함께 쓰이는 문자열로
"\"(탈출 문자) 뒤에 오는 문자에 따라 의미가 달라집니다.

 

"\n" 개행을 의미하는 탈출 문자열로 Enter의 역할을 합니다.

"\t" 탭(Tap)을 의미하는 탈출 문자열로 말 그대로 Tap의 역할을 합니다.

"\'" 따옴표 출력을 의미하는 탈출 문자열로 문자열에 '(따옴표)를 표시할 때 사용됩니다.

"\"" 쌍따옴표 출력을 의미하는 탈출 문자열로 문자열에 "(쌍따옴표)를 표시할 때 사용됩니다.

\\ 역 슬래시 출력을 의미하는 탈출 문자열로 문자열에 \(역 슬래시)를 표시할 때 사용됩니다.

%% % 출력을 의미하는 탈출 문자열로 문자열에 %를 표시할 때 사용됩니다.

 

비슷한 역할을 하는 기능으로 서식 지정자(Format Specifier)가 있습니다.

% 뒤에 오는 문자에 따라 양식에 맞게 입출력 할 수 있게끔 도와주는 역할을 합니다.

 

"%d" Decimal의 약자로 10진수로 대체됩니다.

"%o" Octal의 약자로 8진수로 대체됩니다.

"%x" Hexadecimal의 약자로 소문자 x는 소문자로, 대문자 X는 대문자로 대체됩니다.

"%u" Unsigned의 약자로 양수로 대체됩니다.

"%c" Character의 약자로 문자로 대체됩니다.

"%s" Spring의 약자로 문자열로 대체됩니다.

"%f" Floating Point의 약자로 float 자료형에서 표시할 소수점 자릿 수를 지정할 때 사용됩니다.

"%lf" Long Floating Point의 약자로 double 자료형에서 표시할 소수점 자릿 수를 지정할 때 사용됩니다.

 

리터럴(Literal)이란?

리터럴(Literal)은 소스코드에 적힌 값 그 자체를 의미합니다.

 

위 사진에서 처럼 입력 값은 0xe이지만 컴파일되어서 출력된 값은 e인 것 처럼 여기서 리터럴은 0xe가 됩니다.

 

이전 글에서도 한 번 나왔던 자료형에 대해서도 학습하였습니다.

https://hiroaki9902.tistory.com/4

 

[내배캠] 4일차 밀린 진도 따라가기(3)

오늘도 계속해서 진행해 보도록 하겠습니다!일단 어제 강의가 끝나고 간단한 과제가 있어서 진행하였는데요. Jump 기능을 구현하는 것이었고 Unreal에서는 블루프린트에서 Jump 액션을 통해 간단하

hiroaki9902.tistory.com

 

다시한번 말씀드리자면 위에 표에 나와 있듯 Bool 변수는 크기가 1byte이고 참(True) 또는 거짓(False)값을 저장할 수 있습니다.

Char 변수는 Bool 변수와 같이 크기가 1byte이고 글자 하나를 저장할 수 있습니다.

Short 변수, Int 변수, Long 변수, LongLong 변수는 전부 정수를 저장할 수 있는데 저장하는 정수의 범위가 다릅니다.

마찬가지로 Float 변수, Double 변수, LongDouble 변수 역시 전부 실수를 저장할 수 있는데 저장하는 실수의 범위가 다릅니다.

 

이후 변수와 상수에 관해 학습하였습니다.

변수(Variable)은 변하는 값, 상수(Constant)는 변하지 않는 값을 의미합니다.

변수의 경우, 자료형 변수명 = 값;으로 선언과 초기화를 해줄 수 있습니다.

상수의 경우, const 자료형 상수명 = 값;으로 선언과 초기화를 해줄 수 있습니다.

 

추가적으로 unsigned 키워드 또는 서식 지정자 %u를 통해 양수 값만 받을 수 있는 변수 혹은 상수를 선언할 수 있습니다.

오버플로우(Overflow)란 자료형이 표현 가능한 크기를 넘어선 경우, 의도와 다른 값이 표현되는 것을 의미합니다.

 

변수와 Unsigned 키워드에 관한 내용도 이전에 작성했던 블로그 글에 나와있어 URL을 올려두겠습니다.

https://blog.naver.com/hiroaki9902/223717584650

 

C++ 프로그래밍 (1일차)

자료형 (Data Type) 자료형(Data Type)이란 데이터를 저장하고 읽을 때, 해당 데이터를 인식하는 형식...

blog.naver.com

 

오늘은 여기까지 학습하였습니다.

지금까지 긴 글 읽어주셔서 감사합니다!