분류 전체보기 16

[내배캠] 13일차 C++ Text RPG 만들기

안녕하세요!사실 이 이후에 객체지향적 설계 강의를 들었습니다. 요약하자면 "어떻게 코드를 작성해야 프로그램이 더 부담없이 원활하게 잘 실행되고 모든 사용자에게 호환성이 좋을 것인가?"를 고민하고 좋은 코드란 무엇인가에 대해 알아보는 Chapter인데, 월요일 부터 Text RPG를 만드는 과제를 진행하고 있어서 여기에 몰두하느라 어제는 글을 작성하지 못했습니다... 그래서 오늘은 제가 이틀 동안 몰두하여 만든 Text RPG의 시연 영상을 올려두겠습니다!https://drive.google.com/file/d/18bMdr0lBYGqRRjrp67HPrUBmXNTvcHgU/view?usp=sharing TextRPG_Test.mp4 drive.google.com 현재 대략 기본 기능의 80퍼센트 정도 구현이..

[내배캠] 11일차 C++ 학습 내용 정리

안녕하세요!어제는 템플릿까지 학습 하였습니다.오늘은 STL 기초와 객체지향적 설계에 대해 학습 해보도록 하겠습니다. STL(Standard Template Library)C++ 표준 라이브러리의 하나로 컨테이너, 알고리즘, 반복자, 등의 템플릿 기반 구성요소를 포함하고 있는 라이브러리 입니다.STL을 이용하면 다양한 자료구조와 알고리즘을 직접 구현하지 않고 사용할 수 있습니다.STL은 컨테이너, 알고리즘, 반복자, 등의 구성요소를 갖는다고 했는데 모두 템플릿으로 구현되어 있고 메모리 관리를 내부적으로 하고 있기 때문에 STL을 사용하여 컨테이너 등을 사용할 때 메모리 해제를 직접 고려하지 않아도 된다는 편리함이 있습니다. STL : 컨테이너(Container)컨테이너(Container)는 단어 그대로 데..

[내배캠] 10일차 C++ 학습 내용 정리

안녕하세요!어제는 스택 메모리와 힙 메모리까지 진행하고 과제를 하였는데요.오늘은 어제 내용에 이어서 계속 진행해 보도록 하겠습니다. 댕글링 포인터(Dangling Pointer)이미 해제된 메모리의 주소 값을 가지고 있는 포인터를 댕글링 포인터(Dangling Pointer)라고 합니다.두 포인터가 같은 메모리의 주소 값을 가지고 있을 때, 한 포인터가 delete 키워드로 메모리를 해제하면 같은 주소 값을 가지고 있던 또 하나의 포인터가 댕글링 포인터(Dangling Pointer)가 되는 것입니다. 댕글링 포인터(Dangling Pointer)가 위험한 이유는 해제된 메모리에 접근 하는 것은 예상할 수 없는 동작을 일으킬 수 있고 Segmentation fault(세그먼테이션 오류) 즉, 접근이 허용..

[내배캠] 9일차 C++ 학습 내용 정리

안녕하세요!오늘도 계속해서 C++ 객체지향 프로그래밍에 대해서 학습할 예정입니다. 앞으로의 진행 순서는 다형성에 대해 학습한 후, 지금까지 학습한 내용으로 과제를 하나 진행할 겁니다.그리고 자원 관리, 템플릿, STL 기초, 객체지향 설계, ... 순서로 진행이 되겠습니다. 오늘의 목표는 과제를 끝내고 제출하는 것까지로 설정하였습니다!바로 학습 시작 해보도록 하겠습니다. 다형성(Polymorphism)동일한 인터페이스에서 함수나 메소드가 다양한 동작으로 작동할 수 있는 객체 지향 프로그래밍의 특성입니다. 지난 글과 마찬가지로 실제로 코드를 작성해보고 그 코드를 설명하면서 학습을 진행하겠습니다. 먼저 animal.h 헤더파일을 만들고 그 곳에 Lion, Wolf, Dog 클래스를 선언하였습니다.각 클래스에..

[내배캠] 8일차 C++ 학습 내용 정리

안녕하세요! 오늘도 어김없이 C++ 학습 내용 정리를 시작하겠습니다.저번 주 금요일로 하여금 Unreal Blueprint와 C 언어 기초 강의가 끝났기 때문에 이번 주는 계속해서 C++를 학습하는 시간을 가지게 됩니다. 그럼 집중해서 학습해 보도록 하겠습니다. 클래스(Class)C 와 C++의 가장 큰 차이점은 C 언어는 절차지향언어 이고 C++ 언어는 객체지향언어 라는 점입니다.절차지향언어는 위에서 아래로 순차적으로 코드를 실행하고 객체지향언어는 객체 단위로 코드를 실행합니다.그래서 C++ 부터는 객체라는 개념을 도입하고 그 중간에 클래스(Class)가 있습니다.객체지향에 대해서는 다음 파트에서 더 자세히 다뤄보고 클래스에 대해 학습 하겠습니다. 클래스는 객체를 만드는 설계도 혹은 청사진, 붕어빵 틀..

[내배캠] 5일차 Unreal Blueprint 내용 정리(2) 및 7일차 C++ 학습 내용 정리

안녕하세요!이틀 째 비가 내리고 있어 이제 "여름이 왔구나" 느끼고 있습니다.글을 쓰기 전, 진행 현황 확인과 복습을 위해 프로젝트를 다시 한 번 훑어보았습니다.현재 프로젝트에 들어간 기능은 지난 글로 모두 정리가 끝난 것 같아 빠뜨린 기능 설명이나 추가적인 설명이 필요하시다면 댓글 남겨주시면 확인 즉시 답변 드리겠습니다! 구현 기능 목록 BP_Character- Set Mapping Context- Create Player HUD- Move Control- Look Control- Zoom In & Zoom Out- Fire Mechanism- Reload Mechanism- Player Damage Mechanism BP_Ant- Random Move Mechanism- Chase Mechanism ..

[내배캠] 5일차 Unreal Blueprint 내용 정리(1)

안녕하세요! 어제는 Unreal 프로젝트 마무리 짓느라 글을 못 적었습니다ㅠㅠ따라서 오늘 어제 내용까지 함께 작성하도록 하겠습니다! (오늘 메뉴는 고봉밥으로 준비했습니다. ㅎㅎ) 일단은 적부터 마무리 했습니다.Custom Event 노드를 생성해 MoveRandom으로 이름을 설정해주고 CanMove(bool), IsChasing(bool) 변수를 만들어 현재 레벨을 순찰해도 되는 상태인지, 그리고 해당 액터가 플레이어 캐릭터를 추적하고 있는 상태인지 확인 했습니다. 이후 AI MoveTo 노드를 생성해서 Self 노드를 연결해 자기 자신이 어떤 액터인지 입력해주고 Get Actor Location에서 Get Random Reachable Point in Radius를 통해 현재 위치에서 순찰할 도착 지..

[내배캠] 4일차 Unreal Blueprint로 적 구현과 C언어 기초

안녕하세요!오전 Unreal Blueprint 강의에서 적 AI의 플레이어 추적 기능과 폭발 기능, 플레이어 피해 기능을 구현하였습니다.바로 시작하겠습니다. 우선 Fab에서 적당한 몬스터 에셋을 다운로드 받습니다.그리고 Blueprints 폴더 안에 AI 폴더를 생성해주고 마우스 우클릭 후, Blueprint Class에서 Character를 선택해서 파일을 하나 만들어 이름을 BP_ANT로 설정 했습니다. BP_ANT로 들어와서 Components 창에서 Add를 눌러 플레이어 인식 범위와 폭발 작동 범위가 될 Sphere Collision 두 개를 추가 해준 후, 이름을 인식 범위 Collision은 Sphere로 두었고 폭발 작동 범위 Collision은 ExplosionSphere로 설정하였습니다..

[내배캠] 3일차 Unreal Blueprint로 총 기능 구현과 C언어 기초

안녕하세요!오늘은 오전 Unreal 강의에서 Blueprint를 이용해 FPS게임에서의 줌 기능과 총알 발사, 총알 장전 기능을 구현하였습니다. 이전 시간에 마우스 우클릭을 하면 화면에 "조준모드"와 "일반모드"가 번갈아 가면서 출력되도록 구현하였습니다.오늘은 문자열 출력을 대신해 실질적으로 플레이어 화면이 줌 인 되도록 구현하였습니다. Add Timeline 노드를 통해 기본 상태에서는 보간(Lerp)을 통해 카메라가 부드럽게 줌 인이 되고 조준 상태라면 부드럽게 줌 아웃이 되도록 구현했습니다.Timeline 노드를 더블 클릭하여 들어오면 어떻게 보간할 것인지 설정할 수 있는 창이 나옵니다.저는 총 길이(Length)를 0.25초로 설정하였고 처음 0에서 시작해서 최종적으로 1에 값이 나오는 선형보간을..

[내배캠] 2일차 Unreal Blueprint로 캐릭터 움직임 구현과 C 언어 기초

안녕하세요! 오늘은 오전 Unreal 강의에서 Blueprint를 이용해 캐릭터 이동 및 카메라 회전을 구현하였습니다. 우선 캐릭터 이동과 카메라 회전을 구현하기 전, 지난 시간에 설정하였던 1인칭 팔에 애니메이션을 설정해주고 총의 위치를 팔과 맞도록 조정을 진행하였습니다. 1인칭 팔에 애니메이션을 설정하는 것은그림과 같이 Mesh (CharacterMesh0)의 Details에서 Animation 칸에 Anim to Play를 FP_Rifle_Idle로 변경하여 설정해주었습니다. 그 후 Mesh에서 Skeletal Mesh Asset의 SK_Mannequin_Arms 이미지를 더블 클릭해 SK_Mannequin_Arms 창을 열어주고 Preview Animation 버튼을 눌러 FP_Rifle_Idle..