언리얼5-15 C++ <입력 기능 구현>
언리얼엔진5 C++2024. 11. 21. 21:47언리얼5-15 C++ <입력 기능 구현>

게임은 입력 장치를 통해서 플레이어의 입력을 받아 게임과 상호작용을 하고 게임의 반응을 출력장치로 돌려주는 것이 기본적인 로직이다그렇기 때문에 언리얼엔진으로 게임을 만들기 위해서는 사용자로부터 기본적인 입력을 받도록 기능을 구현하는 방법을 알아야 한다 언리얼엔진에서는 입력을 크게 두 가지로 구분하는데 바로 축 입력과 액션 입력이다먼저 축 입력은 점프나 공격, 상호작용을 할 때처럼 마우스 버튼이나 스페이스바, e키를 누르는 것처럼 간단하게 눌렀다가 떼는 입력을 의미한다그리고 액션 입력은 이동이나 마우스 좌표처럼 연속적인 값을 가지는 입력을 의미한다 언리얼엔진에서 입력을 받기 위해서는 먼저 축이나 액션을 추가하고 그 입력이 어떤 입력인지 이름을 정한다 ex) Jump그리고 그 이름으로 동작할 키 입력을 추가..

언리얼5-13 C++ <.h 헤더 선언>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-13 C++ <.h 헤더 선언>

이번에는 언리얼 엔진에서 C++ 프로그래밍을 작업할 때 발생하는 헤더 포함 문제에 대해서 이야기할 것이다  언리얼 엔진 5에서의 프로그래밍은 C++를 기반으로 구성되어 있기 때문에 다른 헤더 파일에 정의된 클래스나 기능을 사용하기 위해서는 헤더를 포함하는 전처기리가 필수이다 일반적인 C++ 프로젝트에서는 헤더가 꼬이거나 중복 호출되는 경우만 조심하면 되고 헤더의 순서 자체는 별로 중요하지 않은 것에 비해서 언리얼에서의 헤더 포합은 약간 복잡하고 귀찮은 편이다 언리얼 C++가 아닌 다른 C++ 프로젝트에서는 프로그래밍 작업 도중에 필요한 헤더가 생긴다면 상단의 전처리기들 제일 아래에 필요한 헤더의 include 선언을 추가할 것이다  하지만 언리얼에서는 헤더를 포함할 때 위치가 중요하다  간단하게 예시를 ..

언리얼5-12 C++ <뷰포트에 로그 출력하기>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-12 C++ <뷰포트에 로그 출력하기>

UE5-11 C++ 에서는 디버깅을 하기 위해 간단한 로그를 출력하는 방법을 알아보았다하지만 이렇게 사용한 로그는 글자가 가득한 출력 패널에서 나오기 때문에 개발자가 빠르게 알아보기 쉽지 않으므로 간단한 로그의 경우에는 좀 더 쉽고 빠르게 볼 수 있는 형태의 로그가 필요하다 그래서 언리얼 엔진에서 출력 로그 패널 대신 뷰포트의 화면에 로그를 띄우는 방법을 알아보도록 하자언리얼 프로젝트를 C++ 타입으로 생성한 다음, 블루프린트와 C++를 이용해서 뷰포트에 로그를 출력하는 방법을 알아볼 것이다  먼저 블루프린트를 이용하는 방법은,콘텐츠 브라우저 패널의 Content 폴더에서 빈 공간에 우클릭을 한 후 블루프린트 클래스 항목을 선택해서 Actor를 상속받는 블루프린트 클래스를 생성해 준다  생성된 블루프린트..

언리얼5-49 C++ <Cpp 클래스 재사용하기>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-49 C++ <Cpp 클래스 재사용하기>

게임을 제작하면서 이전에 사용했던 프로젝트의 C++ 클래스를 다시 사용하고 싶은 경우가 있을 것이다 이번에는 이전 프로젝트에 만들었던 C++클래스를 다른 프로젝트에서도 다시 사용하고 싶은 경우에 대해서, 즉 C++ 클래스를 재사용하는 방법에 대해서 알아볼 것이다 예시를 위해서 C++ 클래스를 만들 CurrentProject와, CurrentProject에서 만든 클래스를 옮길 CopyProject를 하나씩 먼저 만들고,  CurrentProject에서 상단 메뉴바에 [Tools > New C++ Class...]를 선택하고 Actor클래스를 부모클래스로 상속받아서 생성한다  그리고 CurrentProject를 생성한 폴더의 경로로 가서, 클래스 폴더를 열고 언리얼엔진에서 생성했던 TestActor 클래스..

언리얼5-48 C++ <Quixel Bridge와 Nanite>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-48 C++ <Quixel Bridge와 Nanite>

이번에는 퀵셀 브릿지에 대해서 알아보자 퀵셀브릿지는 물체를 직접 스캔하여 만들어진 고퀄리티의 3D모델과 2D 텍스쳐를 제공하고 엔진에서 사용하기 쉽게 만들어주는 프로그램이다 퀵셀 브리지(Quixel Bridge) - Unreal Engine 퀵셀 브리지브리지는 메가스캔과 메타휴먼을 비롯한 언리얼 엔진의 3D 콘텐츠 세계로 여러분을 안내합니다.www.unrealengine.com  퀵셀 브릿지는 원래는 별도의 회사에서 제공되는 서비스였는데 2019년에 에픽 게임즈에서 퀵셀사를 인수했고 언리얼엔진5에 기본기능으로 내장되어서 손쉽게 고퀄리티 에셋을 임포트 할 수 있게 되었다  퀵셀 브릿지를 사용하기 위해 먼저 언리얼엔진을 실행하고 프로젝트를 생성한다  언리얼엔진에 내장된 퀵셀 브릿지를 여는 방법은 크게 두 가..

언리얼5-47 C++ <클릭한 위치로 캐릭터 이동 시키기>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-47 C++ <클릭한 위치로 캐릭터 이동 시키기>

이번에는 언리얼 엔진에서 클릭한 위치로 캐릭터를 이동시키는 기능을 구현해 보도록 할 것이다흔히 AOS게임, 대표적으로 '리그오브레전드', '도타' 등이 있을 것이다 클릭한 위치로 이동하는 기능은 이미 언리얼 엔진에 구현되어 있지만, 이 프로젝트를 진행하면서 여러 지식들을 공부해 보자먼저 언리얼 엔진을 실행하고, C++ 타입으로 해서 ClickMove라는 이름으로 새 프로젝트를 생성한다  그다음에는 언리얼5-46 C++ 에서 했듯이 에픽게임즈 런처의 마켓 플레이스에서 'MCO Mocap Basics'를 검색해서 나오는 에셋들을 다운로드하여 프로젝트에 추가해 준다  이미 다운로드 받아져 있는 경우, 라이브러리 탭에서 아래쪽 보관함에 있는 애셋을 프로젝트에 추가하면 된다  캐릭터 메시와 애니메이션을 모두 추가..

언리얼5-46 C++ <탑 다운 게임 기능 구현>
언리얼엔진5 C++2024. 11. 21. 21:46언리얼5-46 C++ <탑 다운 게임 기능 구현>

이번에는 언리얼 엔진으로 탑다운 게임의 컨트롤 방식을 구현하는 방법을 알아보도록 할 것이다  이번 작업을 완료하면 프로젝트 좀보이드, HumanitZ 게임 등과 같이 위에서 바라보는 형태로 진행되고 키보드의 WSAD로 캐릭터를 이동하며, 마우스 커서로 방향을 바라보면서 상호작용하는 형태의 프로젝트가 완성될 것이다  우선 C++ 프로젝트를 선택하고 시작용 콘텐츠를 없음으로 하여 프로젝트를 생성한다  그리고 프로젝트를 더 쉽게 진행하기 위해서 메뉴바의 [File > New Level..]을 선택하고 Basic 맵을 열어주고, (단축키: Ctrl + 'N')  그다음에는 레벨 맵에 플레이어의 이동에 방해가 될 오브젝트들을 몇 개 배치해 준다  이렇게 변경된 레벨 맵을 기본 맵으로 설정하기 위해서 [File >..

언리얼5-45 C++ <레벨 간 이동 기능 제작하기>
언리얼엔진5 C++2024. 11. 21. 21:45언리얼5-45 C++ <레벨 간 이동 기능 제작하기>

언리얼 엔진으로 월드 공간인 레벨에서 다른 레벨로 이동하는 기능을 구현하는 방법을 알아볼 것이다 우선 언리얼 엔진을 실행한 다음 템플릿을 삼인칭으로 선택하고 C++ 타입으로 프로젝트를 생성한다  프로젝트 생성이 완료되고 나면 기본 레벨은 이렇게 간단한 지형과 장애물이 배치되어 있는 형태를 하고 있을 것이다  이 맵의 바닥을 늘여주고 벽의 크기를 조절한 다음 복사해서 붙여 넣는 작업을 해서, 캐릭터가 진입할 수 있는 통로를 만들어주면 된다 통로를 만든 다음에는 현재 레벨 저장 버튼을 눌러서 레벨의 수정 사항을 저장해 준다 그다음에는 이 레벨에서 넘어갈 다른 레벨을 만들어보자  에디터의 상단 메뉴바에서 [File > New Level] 항목을 선택해서 새 레벨 창을 띄워준다이 창에서는 새 레벨의 타입을 Ba..

image