전체 글 101

[내일배움캠프 - 언리얼] DAY 11 - 클래스로 자동차 만들기

#include #include using namespace std;// 자동차 클래스class Car{public: string modelName; // 모델 이름 float speed; // 자동차 속도 변수 Car(string modelName) // 매개변수로 모델 이름을 받는 생성자 { Car::modelName = modelName; speed = 0; // 초기 속도 0 } void Accelerate() // 가속 함수 { speed += 10; } void Brake() // 브레이크 함수 { if (speed >= 10) speed -= 10; else speed = 0; } void DisplayInfo() // 이름과 속도를 출력하는 함수 { cout > inpu..

[내일배움캠프 - 언리얼] DAY 10 - 포인터 실습

포인터로 함수 호출, 숫자를 출력#include using namespace std;void PrintNumber(int* pNumber){ cout 포인터와 레퍼런스로 두 수를 교환하는 함수를 제작#include using namespace std;void SwapByPointer(int* pA, int* pB){ if (pA == nullptr || pB == nullptr) return; // 예외처리 int temp; temp = *pA; *pA = *pB; *pB = temp;}void SwapByReference(int& refA, int& refB){ int temp; temp = refA; refA = refB; refB = temp;}int main(){ int A = 1; int B =..

[내일배움캠프 - 언리얼] DAY 9 - 포맷 장난치기

#include #include using namespace std;/*안내 문구 표시문제 3가지 제시1. 1 - 1 = ?2. 1 + 1 = ?3. 1 / 1 = ?틀리면 포맷 진행하는 척장난으로 넘어감*/void WrongAnswer(){ system("cls"); cout > input; system("cls"); cout > input; if (input == 0) { cout > input; if (input == 2) { cout > input; if (input == 1) { cout Sleep(n) : 시간만큼 프로그램 대기system("cls") : 프로그램 화면 초기화

[내일배움캠프 - 언리얼] DAY 8 - 간단한 상태창 만들기

#include #include using namespace std;// [HP, MP, 공격력, 방어력, 힘, 민첩, 지능] 배열 생성// 배열 초기화int status[7] = {0, 0, 0, 0, 0, 0, 0};// 포션 생성 및 초기화int HPPotion, MPPotion = 0;// 레벨, 경험치 생성 및 초기화int level, expP = 0;// HP, MP 입력 함수void HPMP(){ cout > status[0] >> status[1]; // HP, MP 상태 배열에 입력 받기 if (status[0] > status[2] >> status[3]; // 공격력, 방어력 상태 배열에 입력 받기 if (status[2] > status[4] >> status[5] >> status..

[내일배움캠프 - 언리얼] DAY 7 - C++ 프로그래밍 기초(1)

#include - iostream이라는 헤더파일에는 C++ 표준 라이브러리의 입출력 기능이 있다.- #include로 해당 헤더파일의 기능들을 불러올 수 있다. int main()- C++ 프로그램이 실행 될 때 가장 먼저 호출되는 함수- 모든 프로그램은 반드시 있어야 한다. cout - cout은 출력할 수 있게 해주는 명령어- endl은 개행으로 줄 넘김 기능 return 0;- 프로그램이 정상적으로 종료되었음을 운영체제에 알리는 역할 간단한 계산기#include using namespace std;int main(){ int a, b, result; // 입력 받을 숫자 a, b , 결과값 result // 첫 번째 숫자 입력 받기 cout > a; // 두 번째 숫자 입력 받기 cout > b;..

[내일배움캠프 - 언리얼] DAY 6 - C언어 함수 코드 읽기

#include int add(int a, int b) { return a + b;}int main() { printf("합: %d\n", add(3, 7)); return 0;}실행 순서main 함수 시작-> printf 의 add 함수-> add 함수의 a, b 에 3, 7 대입, 10 반환-> printf의 "합: 10" 출력 후 줄 넘김-> 프로그램 종료 #include void checkEvenOdd(int n) { if (n % 2 == 0) printf("짝수입니다\n"); else printf("홀수입니다\n");}int main() { checkEvenOdd(9); return 0;}실행 순서main 함수 시작-> checkEvenOdd 함수-> 함수..

[내일배움캠프 - 언리얼] DAY 5 - 블렌더 스페이스와 움직이는 액터

애니메이션 적용플레이어의 속도에 따라 애니메이션 변경블렌드 스페이스 생성 (Idle -> Walk -> Run)액터 이동- 시작시 액터의 현재 위치 저장- 매 프레임마다 액터의 현재위치와 시작위치가 설정한 거리보다 작으면 설정한 속도만큼 이동한다.트리거트리거 작동시 캐릭터를 z축으로 3000만큼 발사한다.레벨 디자인 제작패트롤 액터 블루프린트플레이 영상

[내일배움캠프 - 언리얼] DAY 4 - 플레이어 캐릭터와 나만의 레벨 디자인

플레이어 캐릭터플레이어 캐릭터는 게임에서 플레이어가 조종하는 핵심 오브젝트이다. 플레이어 캐릭터 만들기블루프린트 클래스 > 캐릭터로 생성할 수 있다.메시에 추가했던 스켈레탈 메시를 선택한다.캡슐 컴포넌트와 메시를 조정하여 바라보는 방향과 콜라이더를 설정한다.스프링암과 카메라를 설정한다.스프링암의 길이와 각도를 설정하여 최적의 시점을 찾는다. Enhanced Input SystemUE5에서 새롭게 제공하는 입력 시스템- 기존보다 더 명확한 입력 분기 가능- 코드 없이 시각적으로 입력 제어 가능- 다양한 장치 지원Input Action과 Input Mapping Context를 생성하여 설정한다. Look과 Move는 둘다 x, y축을 사용하므로 값을 Axis 2D로 반환한다.Jump는 Boolean 타입..

[내일배움캠프 - 언리얼] DAY 3 - 블루프린트를 이용한 비주얼 스크립팅

블루프린트란?블루프린트는 언리얼 엔진에서 제공하는 비주얼 스크립팅 시스템이다.비주얼 스크립팅은 코드 작성 없이 노드 기반의 블럭을 연결하여 프로그래밍 하는 것이다.블루프린트 변수변수 : 상수를 저장할 수 있는 그릇부울(Boolean) : 참/거짓 두 가지 상태만 가짐바이트(Byte) : 정수. 가장 크기가 작음(0~255)인티저(Integer) : 정수. 일반적인 정수(-21억~21억)인티저64(Integer64) : 정수. 가장 크기가 큼플로트(Float) : 실수. 정밀도가 더 우월함(double-precision)이름(Name) : 문자열. 엔진 내부에서 사용, 불변인 경우스트링(String) : 문자열. 일반적인 문자열 (ex. 플레이어명)텍스트(Text) : 문자열. 퀘스트 설명같이 다국어 변환..

[내일배움캠프 - 언리얼] DAY 2 - 게임 개발 과정과 언리얼 엔진

게임 개발 과정? 이전에 나는 게임 개발 과정을 자세히 알지 못하지만 기획 -> 아트 디자인 -> 개발 -> 배포 순으로 생각하고 있었다.그런에 이번에 배워보니 비슷하긴 하지만 게임 개발은 대부분 규모와 기간이 큰 프로젝트가 많으며 게임 기획자, 아티스트, 프로그래머, 사운드 디자이너 그리고 PD 가 계속해서 소통하고 협업하며 다같이 이끌어 나가는 것이었다. 언리얼 엔진 알아가기 언리얼 엔진에서 에셋 세트를 하나 다운 받아 실행 시켰다. - 여기서 중앙에 보이는 큰 화면이 뷰포트로 월드를 직접 보면서 탐색하고 오브젝트를 배치할 수 있다.- 오른쪽 상단의 계층 구조를 보여주는 것은 아웃라이너로 현재 씬에 배치 된 오브젝트들을 보여준다.- 오른쪽 하단은 디테일 패널로 선택한 오브젝트의 속성을 보고 편집할 수..