[B.C. Ch3 Assignment4] Pawn 클래스 3D 캐릭터 만들기
·
Unreal Engine/Project
미리 구현된 Character 클래스 대신, Pawn에서부터 직접 컴포넌트를 구성하고, 최신 Enhanced Input 시스템을 통해 입력 데이터를 처리하며, 캐릭터가 월드를 자유롭게 누비는 로직을 직접 설계. Pawn 클래스 3D 캐릭터 만들기 프로젝트 링크 Github (Public): https://github.com/devcol-main/BC_Ch3_Assignment_4 GitHub - devcol-main/BC_Ch3_Assignment_4Contribute to devcol-main/BC_Ch3_Assignment_4 development by creating an account on GitHub.github.com Google Drive (Share as Commenter) : https..
[Debugging] Pawn 클래스 3D 캐릭터 만들기| [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/Debugging
Debugging Log - [B.C. Ch3 Assignment4] Pawn 클래스 3D 캐릭터 만들기 Pawn 클래스 3D 캐릭터 만들기 [B.C. Ch3 Assignment4] Pawn 클래스 3D 캐릭터 만들기미리 구현된 Character 클래스 대신, Pawn에서부터 직접 컴포넌트를 구성하고, 최신 Enhanced Input 시스템을 통해 입력 데이터를 처리하며, 캐릭터가 월드를 자유롭게 누비는 로직을 직접 설계. Pawn 클devcol.tistory.com 코드에서 EnhancedInputComponent 는 들어와 지는데, MoveAction 는 false 가 계속 나오는 상황. ```cppvoid APawnBaseCharacter::SetupPlayerInputComponent(UInp..
캐릭터 동작 구현과 입력 처리 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
캐릭터 동작 구현과 입력 처리 캐릭터 동작 구현과 입력 처리 관련 이전에 한 것들 GameMode Class 가 관리하고 있는 것: Character Class, Player ControllerCharacter Class 가 월드에 스폰 되도록Player Controller: 사용자의 입력과 Character 사이에의 연결 (Poses 빙의)IMC 활성화 [Unreal Engine/UE 기초] - GameMode | [언리얼 엔진 C++ (Unreal Engine C++)] GameMode | [언리얼 엔진 C++ (Unreal Engine C++)]GameMode GameMode 이해하기 1️⃣ GameMode란?GameMode는 게임의 전반적인 규칙과 흐름을 총괄 관리하는, 일종의 컨트롤 타워 역할..
캐릭터 애니메이션 적용 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
캐릭터 애니메이션 적용 애니메이션 블루프린트 이해하기 1️⃣ 애니메이션 블루프린트 (Anim Blueprint)란?애니메이션 블루프린트는 언리얼 엔진에서 캐릭터의 골격(스켈레톤) 기반 애니메이션을 시각적으로 설계하는 데 특화된 전용 Blueprint입니다.일반 블루프린트가 게임 로직 (Game Logic)(예: 캐릭터의 이동, 공격, 상호작용)을 시각적으로 구현하는 것과 유사하게, 애니메이션 블루프린트는 캐릭터의 골격 움직임과 모션 전이(Transition) 등을 그래프나 State Machine을 통해 손쉽게 구현하도록 돕습니다.보통은 스켈레탈 메시, 애니메이션 시퀀스, State Machine 등을 연결하는 “중간 다리” 역할을 하며, 캐릭터가 달리는 동작, 점프하는 동작, 아이들(Idle) 동작 ..
Enhanced Input System 입력 매핑 구현하기 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
Enhanced Input System 입력 매핑 구현하기 PlayerController, IMC, IA PlayerController 이해하기 1️⃣ PlayerController란?PlayerController는 사용자가 키보드, 마우스, 게임패드 등에서 입력을 받으면, 그 입력을 해석하여 캐릭터나 다른 오브젝트에게 동작을 명령하는 핵심 클래스입니다.언리얼 엔진의 중요한 철학 중 하나는 “플레이어 입력은 PlayerController에서 처리한다”는 것입니다. 이를 통해 입력 처리 로직과 실제 캐릭터의 동작 로직을 분리할 수 있어, 코드를 구조적으로 관리하기가 훨씬 수월해집니다.입력이 처리되는 기본 흐름키보드, 마우스, 게임패드 등 입력 장치로부터 사용자 조작 신호가 들어옵니다.이 신호는 Playe..
Character 클래스 구현 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
Character 클래스 구현 Pawn과 Character Class 정의 1️⃣ Pawn 클래스란?Pawn은 플레이어 혹은 AI가 “소유( Possess )”할 수 있는 가장 상위 클래스입니다. 즉, 엔진에서 “무언가를 조종한다”라고 할 때 기본이 되는 형태가 Pawn이 됩니다.Pawn에는 이동 로직이나 충돌 처리, 중력, 네트워크 이동을 위한 기능들이 기본적으로 포함되어 있지 않습니다.보행 (걷기, 달리기, 점프 등)에 필요한 시스템 (캡슐 콜리전, 중력, 지형 따라가기)을 모든 단계에서 직접 구현해야 하므로, 사람 캐릭터를 처음부터 Pawn으로 만들기에는 다소 부담이 큽니다.그 대신 비행기, 드론, 카메라처럼 기존 Character의 이동 방식을 벗어난 특수한 로직을 완전히 자유롭게 구현할 때 ..
GameMode | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
GameMode GameMode 이해하기 1️⃣ GameMode란?GameMode는 게임의 전반적인 규칙과 흐름을 총괄 관리하는, 일종의 컨트롤 타워 역할을 하는 클래스입니다.다른 곳에서 사용하는 GameManager 와 동일하다고 생각하면 됩니다.단! GameMode는 Singleton처럼 “하나만 있는 관리자”처럼 보이지만, 직접 Singleton으로 만드는 클래스는 아니고 언리얼이 월드 단위로 자동 관리하는 게임 규칙 클래스예요.GameMode는 언리얼 엔진이 월드마다 하나씩 생성해서 관리하는 게임 규칙 관리자싱글 플레이에서는 ‘서버’와 ‘클라이언트’ 개념이 나뉘지 않으므로, GameMode가 온전히 로컬에서 동작하여 게임 전체를 제어합니다.어떤 Pawn (또는 Character)을 플레이어에게 ..
[B.C. Ch3 Assignment3] 회전, 이동, 랜덤, 생성
·
Unreal Engine/Project
[B.C. Ch3 Assignment3] 회전, 이동, 랜덤, 생성 1️⃣ Intro : 회전 발판으로 배우는 언리얼 C++의 핵심 구조Tick 함수 활용 : DeltaTime을 활용하여 프레임 독립적인 회전 및 이동 로직 구현동적 Transform 제어 : AddActorLocalRotation()과 위치 변경을 통한 실시간 오브젝트 제어리플렉션 시스템 이해 : UPROPERTY를 활용하여 변수를 에디터에 노출하고 조정하는 방법 학습회전 발판, 이동 플랫폼과 같은 동적 퍼즐 오브젝트를 C++로 직접 구현변수 값을 에디터에서 조정하며 게임플레이를 효율적으로 튜닝플랫폼, 함정, 트랩, 엘리베이터 등 다양한 환경 상호작용 오브젝트 제작에 활용됩니다.2️⃣ 필수 기능퍼즐 오브젝트 설계[x] 스테이지 ..
[Debugging] 잘못된 포인터로 인한 언리얼 엔진 크래쉬 | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/Debugging
잘못된 포인터로 인한 언리얼 엔진 크래쉬 문제언리얼 엔진 실행시 갑자기 Crash 해버리는 상황 발생 트러블슈팅 과정 언리얼 엔진이 갑자기 계속 터져 (Crash)서 처음에는 컴퓨터 문제있은 줄 알았다, 왜냐하면 현재 메모리가 부족하다고 계속 경고창이 떴었기 때문에 (Memory Pressure Warning). 그래서 재부팅도 몇번 했는데 해결 안됐고… 디버깅을 걸어도 엔진이 크래쉬 해버려서 무척 당황했었다.원인잘못된 포인터SpawnActor 할 때 처음에 가 아니라 특정 Actor로 설정해서 만들었었다. 이때는 당연히 문제없이 잘 가동되었는데… 문제는 이대로 실수로 복붙 해서 사용해서 SpawnActor 가 잘못된 것을 받는 바람에 크래쉬 된 것이었다.아래처럼 수정하니 정상 작동되었다.if (R..
리플렉션 시스템 (Blueprint 와 C++ 관계, UCLASS, UPROPERTY, UFUNCTION) | [언리얼 엔진 C++ (Unreal Engine C++)]
·
Unreal Engine/UE 기초
리플렉션 시스템: Blueprint 와 C++ 관계, UCLASS, UPROPERTY, UFUNCTION Blueprint 와 C++ 관계 Blueprint (시각적 스크립팅) 이해Blueprint는 언리얼 엔진에서 제공하는 시각적 스크립팅 도구로, 노드 (블록)를 연결하여 게임 로직을 작성합니다.장점Blueprint 그래프를 수정 후, 에디터에서 Play 버튼을 누르면 곧바로 결과를 확인할 수 있습니다. 아이디어를 빠르게 검증하고 반복할 때 큰 장점이 됩니다.“레고 블록”을 쌓듯이 노드를 연결해 로직을 작성하므로, 프로그래밍 언어에 익숙하지 않은 초급자도 쉽게 접근할 수 있습니다.한계점노드 수가 많아질수록 그래프가 복잡해져, 가독성과 유지보수가 어려워질 수 있습니다.C++과 비교했을 때, Bluepr..