언리얼5-41 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(3)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:45언리얼5-41 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(3)>

C++ 튜토리얼 - 1인칭슈팅FPS(2)를 이어서 진행하면서 캐릭터에 애니메이션을 추가하는 방법을 알아보도록 할 것이다언리얼5-40 C++ 일인칭 슈팅 C++ 튜토리얼 | 언리얼엔진 5.3 문서 (unrealengine)  작업에 들어가기 전에 리소스를 다운로드 받은 뒤 압축을 해제해준다애니메이션 샘플 메시 FPP_Animation.zip (출처: 베르의 게임 개발 유튜브) FPP_Animations.zip drive.google.com 에디터로 돌아와서 콘텐츠 브라우저의 Content폴더에 우클릭해서 Animations 폴더를 만든다  그리고 Animations 폴더를 선택하고 [Import] 버튼을 눌러 방금 압축해제한 파일들을 전부 선택해서 Import All 버튼을 눌러준다[이 때 Mesh섹션의 ..

언리얼5-40 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(2)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:45언리얼5-40 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(2)>

언리얼5-39 C++ 에 이어서 진행해 보자일인칭 슈팅 C++ 튜토리얼 | 언리얼엔진 5.3 문서 (unrealengine)  그럼 우선 일인칭 캐릭터가 발사할 발사체와 발사 기능을 구현해 보자 먼저 발사체를 발사하기 위한 입력을 추가하기 위해 프로젝트 세팅 패널을 열고, Input 섹션에서 Action Mappings에 'Fire'라는 이름으로 왼쪽 마우스 버튼을 등록해 준다  그다음에는 발사체 클래스를 추가할 차례이다 에디터의 상단 메뉴 바에서 [Tools > New C++ Class..]를 선택해서 Actor를 부모클래스로 한 "FPSProjectile"라는 이름의 클래스를 생성한다  클래스 생성이 완료되면 FPSProjectile 클래스의 헤더 파일의 상단에 #include "Components..

언리얼5-39 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(1)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:45언리얼5-39 C++ <Cpp 튜토리얼 - 1인칭슈팅 FPS(1)>

이번에는 언리얼 엔진 C++ 튜토리얼 문서중 하나인 일인칭 C++ 슈팅 튜토리얼을 따라서 진행하면서 기본적인 일인칭 슈팅 게임을 만드는 방법을 배워보도록 할 것이다일인칭 슈팅 C++ 튜토리얼 | 언리얼엔진 5.3 문서 (unrealengine)  이번 1인칭 FPS 튜토리얼은 총 3편까지 있고 이때까지 했던 튜토리얼의 집합체 같은 느낌으로, 굉장히 길고 복잡하다 먼저 프로젝트 카테고리로 게임을 선택하고 기본 템플릿을 선택한 후에, C++ 타입을 선택하고 시작용 콘텐츠를 포함하지 않은 채로 FPSProject라는 이름의 프로젝트를 생성한다  그 다음에는 Content Browser 패널에서 Content 폴더에 우클릭을 한 뒤 'New Folder'을 선택해서 Maps 폴더를 생성한다  그리고 상단 메뉴 ..

언리얼5-36 C++ <Cpp 튜토리얼 - UMG와 유저 인터페이스(2)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:44언리얼5-36 C++ <Cpp 튜토리얼 - UMG와 유저 인터페이스(2)>

저번 글에 이어서 C++ 튜토리얼을 따라 메인 메뉴를 완성한 다음으로, 레벨이 시작된 후에 메인 메뉴를 뷰포트에 로드하는 '게임 모드 에셋'을 구성해보자언리얼5-35 C++  콘텐츠 브라우저의 Content 폴더에서 빈 공간에 우클릭을 하고 블루플니트 클래스 항목을 선택한 뒤,  부모 클래스로 '프로젝트이름 GameModeBase'를 선택한 "MenuGameMode" 블루프린트 클래스와, 게임 내에서 마우스 커서를 보이게 하기 위해 Player Controller 클래스를 상속받은 "MenuPlayerController"라는 이름의 클래스를 생성한다  "MenuPlayerController" 클래스가 생성되고 나면 콘텐츠 브라우저에서 블루프린트 파일을 더블클릭해서 블루프린트 에디터를 연다  블루프린트 클..

언리얼5-35 C++ <Cpp 튜토리얼 - UMG와 유저 인터페이스(1)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:44언리얼5-35 C++ <Cpp 튜토리얼 - UMG와 유저 인터페이스(1)>

언리얼 프로그래밍 튜토리얼 중에서 'UMG와 유저 인터페이스' 부분 페이지를 따라 진행할 것이다UMG와 유저 인터페이스 | 언리얼엔진 5.3 문서 (unrealengine)  시작하기 전에 우선 게임 카테고리에서 다른 코드가 포함되지 않은 기본 템플릿을 선택하고 프로젝트의 타입을 C++로 선택한 다음 프로젝트를 생성한다 프로젝트가 생성된 다음에 제일 먼저 해야 할 일은 언리얼 모션 그래픽, UMG를 사용하기 위한 모듈 종속성을 구성하는 일이다  그전에 모듈에 대해서 이야기해 보자면, 언리얼 엔진의 기능은 다수의 모듈로 나누어져 있고, 그중에서 필요한 모듈을 묶어서 사용하는 방식이다 Custom ModuleUMGSlateCoreSlateCore UObjectEngineInput CoreCore처음으로 생성..

언리얼5-33 C++ <Cpp 튜토리얼 - 플레이어 제어 카메라(2)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:43언리얼5-33 C++ <Cpp 튜토리얼 - 플레이어 제어 카메라(2)>

저번 글에 이어서 직접 해보기 항목을 진행해 보자언리얼5-32 C++  직접 해보기 항목은 굉장히 많이 있는데 , 이번에는 간단한 항목 2가지 정도만 해보자달리기 키 부여하기플레이어 오브젝트 뒤에 따라오는 카메라 제작 먼저 달리기 키를 부여하기 위해 Action Mappings에서 Sprint라는 이름으로, Left Shift 키를 넣어준다  그리고 폰 클래스의 헤더파일에서 달리기 키를 눌렀을 때 이동 속도가 증가할 수 있도록 SpeedFactor 변수와달리기 키를 눌렀을 때 작동하는 StartSprint( ) 함수, 키를 뗐을 때 작동하는 StopSprint( ) 함수를 선언한다  이 값들을 사용하기 위해 소스파일의 Tick함수에서 SpeedFactor을 곱해서 이 값에 따라 오브젝트의 이동속도를 조절..

언리얼5-32 C++ <Cpp 튜토리얼 - 플레이어 제어 카메라(1)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:43언리얼5-32 C++ <Cpp 튜토리얼 - 플레이어 제어 카메라(1)>

이번에는 언리얼엔진 문서에 있는 C++ 튜토리얼을 진행하며 카메라와 폰을 동시에 조작하는 방법을 배워 볼 것이다플레이어 제어 카메라 | 언리얼엔진 5.3 문서 (unrealengine.com)  이미 카메라 컴포넌트를 붙여서 제어하는 방법은 앞서 몇 번 다루어 봤지만, 복습한다는 느낌으로 조금 더 자세하게 다루어보자언리얼엔진을 실행하고 C++타입으로 StarterContent에 체크한 후 프로젝트를 생성한다  튜토리얼을 더 쉽게 진행하기 위해 [All > Content > StarterContent > Maps]에서 Minimal_Default 맵을 더블클릭해서 열어준다  먼저 카메라를 부착할 폰을 생성하기 위해 Pawn를 부모클래스로 하고 이름을 PawnWithCamera로 해서 C++클래스를 생성한다..

언리얼5-30 C++ <Cpp 튜토리얼 - 컴포넌트와 콜리전(2)>
언리얼엔진5 C++/C++ 프로그래밍 튜토리얼2024. 11. 21. 21:43언리얼5-30 C++ <Cpp 튜토리얼 - 컴포넌트와 콜리전(2)>

저번 글에 이어서 직접 해보기를 해보자언리얼5-29 C++  첫 번째 과제: 부모 중심을 도는 컴포넌트 제작두 번째 과제: 일정 시간 후 스폰 해제세 번째 과제: 컴포넌트를 이용해 다른 액터에 붙이기 그럼 첫 번째 과제로 자동으로 부모 중심 궤도를 도는 컴포넌트를 만들어 보자먼저 Scene Component 클래스를 부모 클래스로 해서 공전 컴포넌트를 만들어야 한다 공전(Revolution)이기에, 우선 RevolutionSceneComponent라는 이름으로 새 클래스를 생성한다  그리고 소스 파일로 가서 정적 메시를 나타내는 Static Mesh Component를 생성하고 RevolutionMesh라는 이름으로  Mesh 포인터에 할당해 준다  Mesh 컴포넌트를 현재 객체에 첨부하고 나서 상대적인..

image