hljs.initHighlightingOnLoad();

전체 글

Unreal

TSubclassOf vs TSoftClassPtr

TSubclassOf란?언리얼 엔진에서 특정 클래스의 서브 클래스를 안전하게 참조할 수 있도록 도와주는 템플릿 클래스이다.언리얼 엔진에서 UObject 또는 AActor 기반 클래스를 다룰 때, 특정 클래스의 하위 클래스(서브 클래스)만을 저장할 수 있는 변수를 만들 때 사용된다.하드 레퍼런스클래스가 항상 메모리에 로드된 상태에서 바로 접근한다. 왜 필요한가?일반적인 UClass* 포인터를 사용하면 모든 UObject 타입을 받을 수 있어 타입 안전성이 떨어진다.TSubclassOf는 UClass*로 변환될 수 있어, 언리얼 엔진의 클래스 시스템과 자연스럽게 통합된다. 사용법TSubclassOf ActorClass; ActorClass 변수에는 AActor를 상속한 클래스만 저장 가능 TSoftClass..

Unreal

액션 바인딩 추가 및 캐릭터 동작 구현

1. 캐릭터 클래스에서 입력 액션 연결의 개념PlayerController는 키나 마우스 입력을 감지하고, 각 IA를 활성화해 줄 뿐이다.그 다음 캐릭터 클래스에서 "어떤 함수가 호출될지"를 바인딩해 주어야 최종적으로 동작이 이루어진다.PlayerController는 IMC를 활성화한다.해당 IMC에는 UInputAction들이 키보드/마우스와 맵핑되어 있다.캐릭터는 SetupPlayerInputComponent() 함수를 통해 "각 액션이 발생했을 때 어떤 함수를 실행할지"를 등록한다.이렇게 등록한 함수들이, 실제로 움직이거나 점프하는 등 캐릭터 동작을 수행한다.2. 캐릭터에 액션 바인딩 추가하기Character.h FInputActionValue를 전방 선언한다.  IA_Move와 IA_Jump 등을..

Unreal

Enhanced Input System의 이해 및 Input Action 설정하기

1. Enhanced Input System이란?UE5에서는 이전 버전에서 사용하던 전역 Project Settings -> Input 시스템을 대체하거나 확장하기 위해 Enhanced Input 시스템이 제공된다.Enhanced Input은 입력 설정을 IMC(Input Mapping Context)와 IA(Input Action)이라는 개념으로 나누어 관리한다.2. Input Action (IA)2-1. 개념Input Action은 캐릭터의 이동, 점프, 발사, 줌 등과 같이 특정 동작을 추상화한 단위이다.예를 들어 WASD 이동을 담당하는 IA_Move, 스페이스바 점프를 담당하는 IA_Jump, 마우스 회전을 담당하는 IA_Look 등을 만들 수 있다.2-2. 생성 방법 Content Browse..

Unreal

Player Controller

1. PlayerController란?PlayerController는 사용자가 키보드, 마우스, 게임 패드 등에서 입력을 받으면, 그 입력을 해석하여 캐릭터나 다른 오브젝트에게 동작을 명령하는 핵심 클래스이다.특히 멀티플레이 환경에서는, 각 플레이어마다 개별 PlayerController가 생성되므로, 여러 사용자의 입력을 충돌 없이 분리하고 관리할 수 있다.언리얼 엔진의 중요한 철학 중 하나는 "플레이어 입력은 PlayerController에서 처리한다."이다.이를 통해 입력 처리 로직과 실제 캐릭터의 동작 로직을 분리할 수 있어, 코드를 구조적으로 관리하기가 훨씬 수월해진다. 1-1. 입력이 처리되는 기본 흐름키보드, 마우스, 게임 패드 등 입력 장치로부터 사용자 조작 신호가 들어온다.이 신호는 Pl..

알고리즘

[C++] Boj 1759 암호 만들기

문제 링크1759 암호 만들기접근조건을 만족하는 모든 경우의 수를 찾는 문제이므로 백트래킹을 사용하여 풀이하였다. 알고리즘k번째 문자를 뽑기 위해 다음과 같은 절차를 거친다. 만약 지금 뽑을 문자가 이미 사용되었다면, continue만약 지금 뽑을 문자가 이전에 뽑은 문자보다 사전순으로 앞에 있다면, continue (증가하는 순서로 배열되어야 하기 때문) 문자를 뽑는다. 만약 이 문자가 모음이라면, 모음 개수를 +만약 이 문자가 자음이라면, 자음 개수를 + 여기까지 왔다면, 문자가 사용된 것도 아니고, 사전순에 위반하는 문자도 아니므로 문자를 확정해 준다.이후 사용했다고 중복 배열에 표시. 다음, k + 1 번째 문자를 뽑기 위해 재귀함수를 실행한다. 이렇게 진행하다가 필요한 모든 문자를 다 뽑았다면,..

Unreal

Pawn과 Character 클래스 이해하기

1. Pawn 클래스란?Pawn은 플레이어 혹은 AI가 소유(Possess)할수 있는 가장 상위 클래스이다. 즉, 엔진에서 "무언가를 조종한다"고 할 때 기본이 되는 형태가 Pawn이다.Pawn에는 이동 로직이나 충돌 처리, 중력, 네트워크 이동을 위한 기능들이 기본적으로 포함되어 있지 않다.보행(걷기, 달리기, 점프 등)에 필요한 시스템(캡슐 콜리전, 중력, 지형 따라가기)을 모든 단계에서 직접 구현해야 하므로, 사람 캐릭터를 처음부터 Pawn으로 만들기에는 다소 부담이 크다.이러한 특성 덕분에, 비행기, 드론, 카메라처럼 기존 Characater의 이동 방식을 벗어난 특수한 로직을 완전히 자유롭게 구현할 때 유용하다.2. Character 클래스란?Character는 Pawn을 상속받아 만들어진 자식..

Unreal

GameMode 이해하기

1. GameMode란?GameMode는 게임의 전반적인 규칙과 흐름을 총괄 관리하는 역할을 하는 클래스이다.싱글 플레이에서는 서버와 클라이언트 개념이 나뉘지 않으므로, GameMode가 온전히 로컬에서 동작하여 게임 전체를 제어한다.어떤 Pawn(또는 Character)을 플레이어에게 스폰해 줄지, 어떤 PlayerController를 사용할지, 승패 조건이나 점수 계산 방식은 어떻게 설정할지 등 게임 플레이의 핵심 로직을 담당한다.프로젝트 전역 혹은 레벨별로 필요한 GameMode를 구분해 설정할 수 있다.2. GameMode의 주요 기능과 책임플레이어 Pawn/Character 스폰게임이 시작될 때(또는 플레이어가 리스폰될 때) DefaultPawnClass 또는 지정한 Pawn 클래스를 자동으로 ..

알고리즘

[C++] Boj 15666 N과 M (12)

문제 링크15666 N과 M (12)풀이N과 M (11) 문제 풀이에서 비내림차 수열만 방지하면 되는 문제이다. 따라서 조건문에 비내림차 수열을 방지하는 조건을 추가하여 문제를 풀이하였다. 코드#include #include using namespace std;// N개 중에서, M개 뽑음int N, M;// n번째로 뽑은 수를 저장int picked[10];// 숫자 모음int numbers[10];// k 번째로 저장할 수를 탐색 void Solve(int k){ if (k == M) { for (int i = 0; i 0 && picked[k - 1] > numbers[i])) continue; picked[k] = numbers[i]; tmp = p..

(ꐦ •᷄ࡇ•᷅)
모르겠으면 외워