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

프로그래밍 작업을 할 때 캐스팅, 즉 형 변환은 상당히 중요하고 자주 쓰이는 것이다특히 여러 클래스가 상속으로 엮여있는 상황이라면 더더욱 중요해진다 언리얼 엔진에서는 레벨에 배치되는 모든 클래스가 AActor 클래스를 상속받고 있고, 개발자가 만들어내는 클래스 역시 상당수는 AActor 클래스를 상속받게 된다 그렇기 때문에 몇몇 함수들에서는 메인이 되는 부모 클래스를 매개변수로 받거나 돌려준다 간단한 예시를 들기 위해서 프로젝트를 생성하고 Actor 클래스를 상속받아서 Projectile이라는 클래스를 생성한다 Actor 클래스를 상속받아서 Projectile이름의 클래스와 Projectile 투사체와 상호작용할 MyActor 클래스도 만들어 준다 클래스 생성이 완료되면 MyActor 클래스의 헤더 ..

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

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

언리얼 엔진의 물리 시뮬레이션은 콜리전과 트레이스 반응을 통해서 다른 오브젝트의 유형과 상호작용하는 방식에 의해 정의된다이 콜리전 반응과 트레이스 반응 설정을 보기 위해서 C++타입으로 StarterContent 없이 프로젝트를 생성하고, 언리얼 에디터의 상단 메뉴 바에서 [Edit > Project Setting..] 항목을 선택해서 프로젝트 세팅 창을 켜고 좌측 목록에서 콜리전 항목을 선택한다 그리고 표시되는 화면의 Preset 섹션을 통해서 여러 종류의 콜리전 프로파일을 볼 수 있다 [왼쪽 삼각형 모양을 누르면 펼쳐볼 수 있다] 여기서 해당 유형의 콜리전 프로파일이 다른 콜리전 프로파일과 어떤 방식으로 상호작용하는지 정할 수 있는데 아무 애셋을 선택하거나 New 버튼을 클릭하면 언리얼 엔진의..

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

이번에는 언리얼 공식 문서의 프로그래밍 튜토리얼 중에서 컴포넌트와 콜리전 편을 따라서 진행하면서 컴포넌트를 만들어 계층 구조에 넣고 게임플레이 도중에 제어하는 방법, 컴포넌트를 사용하여 Pawn이 입체 오브젝트로 된 월드를 돌아다니도록 만드는 방법을 배울 것이다컴포넌트와 콜리전 | 언리얼 엔진 5.3 문서 (unrealengine.com) 이번 튜토리얼 역시 C++ 프로젝트에 시작용 콘텐츠를 포함해서 생성한다 튜토리얼을 더 쉽게 이해하기 위해 Minimal_Default라는 이름의 맵을 더블클릭하여 열어준다 이제 제일 먼저 컴포넌트를 붙여서 레벨을 돌아다니고 다른 오브젝트와 충돌하게 될 커스텀 Pawn을 만들어 보자에디터의 상단 메뉴바에서 [Tools > New C++ Classes] 항목을 선택해..

이번에는 튜토리얼을 통해서 Pawn 클래스를 확장하고 플레이어의 입력에 반응하도록 하는 방법을 배울 것이다플레이어 입력 및 폰 | 언리얼엔진 5.3 문서(unrealengine.com) 언리얼5-15 C++ 에서도 이미 같은 내용을 다루었으나 복습 차원에서 다시 한번 진행해 보자 우선 시작용 콘텐츠를 포함한 C++ 프로젝트를 생성한다 튜토리얼을 더 쉽게 이해하기 위해 [All > Content > StarterContent > Maps]에서 Minimal_Default 맵을 더블클릭해서 열어준다 프로젝트를 생성하고 나면 [Tools > New C++ Classes] 항목을 선택하고, Pawn 클래스를 부모클래스로 생성한다[클래스의 이름은 MyPawn으로 하자] 언리얼 엔진에서 말하는 Pawn은 플레이..