전체 글 116

[UE4] InputComponent

프로젝트 세팅의 입력설정에서 언리얼 엔진이 제공하는 가상 입력 설정을 사용할 수 있다. 이를 사용하면 다양한 기기와 멀티 플랫폼에 효과적으로 대응할 수 있다. 설정이 완료되면 폰의 게임 로직에서 이를 사용하도록 코드를 작성한다. 언리얼 엔진은 입력 설정을 처리하기 위해 InputComponent라는 언리얼 오브젝트를 제공한다. 입력 설정과 폰 연결(Binding)시키기 폰의 SetupInputComponent()함수에서 연결할 수 있다. InputComponent는 BindAxis와 BindAction이라는 두 가지 함수를 제공한다. 폰이 이를 이용해 신호를 받으려면 입력 설정의 이름과 이와 연동할 언리얼 오브젝트 인스턴스의 함수 포인터를 지정한다. PlayerInputComponent->BindAxis..

UE4 2022.09.30
[UE4] 버전업 이후 달라진 것들

1. 4.22 버전부터 Possess함수 대신 OnPossess함수를 상속받도록 구조가 변경됐다. 2. 4.27 버전에선 CapsuleComponent가 SceneComponent와 호환되지 않는다 와같은 오류가 발생할 수 있는데, #include "Components/CapsuleComponent.h" 헤더파일을 추가해주면 간단히 해결된다. 3. 버전업 이후 수많은 헤더파일들이 세분화되어서 2번과 같은 오류나, 불완전한 클래스형식 "%$#%@%"에 대한 포인터 연산을 허용할 수 없다 와 같은 오류가 자주 발생한다. 이럴 땐 간단히 해당 클래스나 함수명, 변수명을 구글링한 후 언리얼 Documents에서 알려주는 헤더파일을 추가해주면 된다.

UE4 2022.09.26
[UE4] PlayerController

GameMode에 PlayerController 배정 게임모드는 플레이어가 입장할 때 플레이어 컨트롤러라는 특별한 액터도 함께 배정한다. 폰을 조종하는 역할을 맡는다. 게임모드의 생성자에서 플레이어컨트롤러의 클래스 정보를 넘겨주면 된다. PlayerController 가 배치되어 있는 폰에 빙의하는 법 폰의 Auto Possess Player 속성을 사용하면 레벨에 이미 배치돼 있는 폰에 플레이어 컨트롤러가 빙의할 수 있다. 원하는 폰을 레벨에 배치한 다음 디테일 윈도우 하단에 위치한 Auto Possess Player 항목을 Player 0으로 설정한다. Player 0은 로컬 플레이어를 의미한다.

UE4 2022.09.26
[UE4] 언리얼 코딩 표준

https://docs.unrealengine.com/4.27/ko/ProductionPipelines/DevelopmentSetup/CodingStandard/ 언리얼 엔진4 코드베이스에 에픽게임즈가 사용하는 표준과 규칙들. 코딩 표준 언리얼 엔진 4 코드베이스에 에픽게임즈가 사용하는 표준과 규칙입니다. docs.unrealengine.com 자세한 내용은 위의 docs를 참고하자. 1. 클래스 체계 클래스 체계는 작성자보단 읽는 사람을 기준으로 체계를 잡아야 한다. 읽는 사람 대부분은 클래스의 공용 인터페이스를 쓸 것이기에, public을 먼저 선언하고, private을 나중에 구현한다. 2. 작명규칙 - 변수이름, 유형 이름 등의 이름 내 각 단어의 첫 글자는 “대문자”로 써야 하며, 단어 사이에 ..

UE4 2022.09.26
[UE4] GameMode

게임이 시작되기까지 플로우 1. 게임 앱의 초기화 : UGameInstance::Init() 2. 레벨에 속한 액터의 초기화 : AActor::PostInitializeComponents() 3. 플레이어의 로그인 : AGameMode::PostLogin 4. 게임 시작 : AGameMode::StartPlay(), AActor::BeginPlay() 1. GameModeBase 클래스를 상속받는 액터 생성. 클래스 생성 후 제작한 게임모드를 현재 레벨에만 적용하려면 월드세팅 윈도우에서 Game Mode 섹션에 있는 GameMode Override항목을 누른 후 제작한 게임모드를 선택하면 된다. 2. 게임모드에 폰을 지정하기. 게임모드 클래스의 소스파일에 지정할 폰의 헤더파일을 추가해주고, 다음과 같이 ..

UE4 2022.09.26