Unreal Engine - 데디케이티드 서버 10 (콤보 공격)
·
Unreal Engine
1. 플레이어 쪽 함수 세팅새로운 인풋 액션인 IA_ComboAttack을 추가한 후 Input Binding 진행Section을 사용해야 하기 때문에, SectionName에 사용할 변수를 추가//헤더FName ComboAttackSectionName;FName DefaultComboAttackSectionName;//cppvoid ADXPlayerCharacter::HandleComboAttackInput(const FInputActionValue& InValue){ if (!HasAuthority() && IsLocallyControlled()) { PlayAnimMontage(ComboAttackMontage, 1.f, ComboAttackSectionName); //ServerRPCCombo..
UE5 Issues - Dash Skill (데디케이티드 서버)
·
Unreal Engine
1. Dash 애니메이션 세팅Dash 애니메이션 같은 경우는 대체로 Root Motion 애니메이션이 많다.그러나 우리가 원하는 속도나 거리, 시간을 이동시키기 위해서는 루트 모션을 사용하지 않고, 아래와 같은 세탕으로 코드를 잠금시킨 후 코드에서 움직이도록 하였다. 해당 애니메이션을 이용해 애니메이션 몽타주를 만들어 주면 된다. 2. 스킬 시스템과 연동현재 스킬은 아래와 같은 구조로 구성되어 있다.UObject를 상속받은 SkillBase 를 상속하여 만든 각각의 스킬 클래스 (실제 스킬의 실체)UActorComponent를 상속받은 SkillComp를 통해 스킬 사용스킬을 사용하는 흐름은 아래와 같이 정리할 수 있다.PlayerController와 IMC 바인딩void AGS_GuardianCont..
문자열 관련
·
알고리즘(코딩테스트)
1. 기본공백 포함 하는 문자열 입력 받을 때string str;getline(cin, str); 문자 -> char'a' -> 97'z' -> 122'A' -> 65'Z' -> 90 2. 특정 문자 고르기int idx = pattern.find('*'); st = pattern.substr(0, idx);en = pattern.substr(idx + 1); 3. 숫자만 있는 string인지 체크하기bool IsNumber(string query){ for (const char& ch : query) { if (!isdigit(ch)) return false; } return true;} 4. char 로 string 만들기https://www.acmicpc.net/problem/1213연속한..
Unreal Engine - 데디케이티드 서버 9 (게임 종료)
·
Unreal Engine
1. 캐릭터 Death 처리 흐름StatComponent의 OnOutOfCurrentHP -> PlayerCharacter와 Delegate 바인딩PlayerCharacter -> PlayerControllerPlayerController -> GameMode 코드//게임 모드void ADXGameModeBase::OnCharacterDead(ADXPlayerController* InController){ if (!IsValid(InController) || AlivePlayerControllers.Find(InController) == INDEX_NONE) { return; } AlivePlayerControllers.Remove(InController); DeadPlayerControllers.Ad..
TIL day 94
·
TIL
최근 최종 팀 프로젝트 준비 및 회의로 인해서 개인 공부를 많이 진행하지 못했습니다.. 1. 코딩 테스트오랜만에 코딩테스트 문제를 풀었습니다.이번 문제는 저번에 정리한 MST를 활용한 문제였습니다.https://gbleem.tistory.com/170 MST참고자료https://blog.encrypted.gg/1024 [실전 알고리즘] 0x1B강 - 최소 신장 트리안녕하세요, 오늘 다룰 주제는 최소 신장 트리(Minimum Spanning Tree)라는 개념입니다. 보통 코딩 좀 치는 사람들 사이에서는 MSgbleem.tistory.com 문제는 백준 class 5 "도시 분할 계획" 입니다.https://www.acmicpc.net/problem/1647 코드MST 기본 코드에 한가지 조건만 추가해 주..
Unreal Engine - 데디케이티드 서버 8 (게임 흐름)
·
Unreal Engine
1. PlayerController타이틀 전용 컨트롤러 및 맵 추가 동작 모습게임 시작 전 start 화면 구현Start 버튼을 누르면 Join Server 수행 구조Title Level (새로운 레벨 추가)GameModeBase_Title (새로운 GameMode 추가)DXTitlePlayerController (새로운 PlayerController 추가 -> 위젯 띄워주기)구현 내용ADXTitlePlayerControllervoid ADXTitlePlayerController::BeginPlay(){ Super::BeginPlay(); if (!IsLocalController()) { return; } //not server if (IsValid(UIWidgetClass)) { UIWidgetI..
Unreal Engine - AI (2)
·
Unreal Engine
1. AI 애니메이션 구현1 - 1. Overview캐릭터와 AI의 입력 방식의 차이점캐릭터플레이어의 입력을 받은 후 AddMovementInput을 통해 이동 처리가 이루어진다."입력값"에 따라 애니메이션 블랜딩을 수행AIAIController가 이동 및 행동을 결정, MoveToActor 또는 MoveToLocation을 통해 내비게이션 기반 이동 처리"AI의 상태 (이동속력 등)" 에 따라 애니메이션 변경애니메이션 전환 방식캐릭터애니메이션 BP에서 플레이어의 입력값을 기반으로 Speed나 Direction 값을 세팅,Speed나 Direction 등의 변수를 통해 애니메이션 전환AIBT나 BB에서의 AI 행동감지 또는 애니메이션 BP로직으로 애니메이션 변경MoveTo 등의 함수를 통해 움직임이 실행..
알고리즘 수업 최종 정리
·
알고리즘(코딩테스트)
이전 내용https://gbleem.tistory.com/87 1, 2 주차 알고리즘 정리1. STL 기본 구조STL이란C++ 내장 템플릿 기반 라이브러리컨테이너, iterator, 알고리즘으로 구성되어 있다.주요 컨테이너vector동적 배열로 구현된 컨테이너원소 삽입/삭제를 마지막 원소에 할때는 O(1gbleem.tistory.com 1. 정렬https://gbleem.tistory.com/98 버블, 선택, 삽입 정렬 + 퀵 정렬업데이트) 병합 정렬과 이분탐색 알고리즘 추가자세한 예시는 해당 글에 있고, 전반적인 정리는 아래 링크의 글을 참고하면 된다.https://gbleem.tistory.com/128 정렬 및 탐색 알고리즘 정리1. 정렬 알gbleem.tistory.com 버블 정렬앞에서부터 ..
Unreal Engine - AI (1)
·
Unreal Engine
1. NavMeshBoundVolume1 - 1. OverviewNavMeshBoundVolume은 AI가 움직이는 영역을 정의할 수 있는 범위를 말한다.액터 배치 -> 볼륨 -> 내비메시 바운드 볼륨 해당 볼륨의 특징으로는 기본적인 세팅에서는 동적인 범위 생성이 불가능하다는 점이다.아래와 같이 레벨에 설치 후 단축키 P를 통해서 내비메시가 깔린 범위를 체크할 수 있다. 그러나 게임 플레이 도중, 장애물이나 여러 움직임에 따라 내비메시의 범위를 조절하고 싶다면, Dynamic 설정을 해주어야 한다.프로젝트 세팅 -> 엔진 -> 네비게이션 메시 -> 런타임 -> 런타임 생성디폴트 값으로는 static으로 되어있지만, 동적으로 생성하기 위해서는 dymamic을 선택해주면 된다. 1 - 2. Dynamic 종..
MST
·
알고리즘(코딩테스트)
참고자료https://blog.encrypted.gg/1024 [실전 알고리즘] 0x1B강 - 최소 신장 트리안녕하세요, 오늘 다룰 주제는 최소 신장 트리(Minimum Spanning Tree)라는 개념입니다. 보통 코딩 좀 치는 사람들 사이에서는 MST라고 많이들 부릅니다. 그런데 Spanning이나 신장 이 단어가 너무 낯설지blog.encrypted.gg 1. 최소 스패닝(신장) 트리신장 트리란주어진 방향성이 없는 그래프의 부분 그래프들 중에서 모든 정점을 포함하는 트리를 말한다.부분 그래프란 주어진 그래프에서 일부 정점과 간선만을 택해서 구성한 그래프를 말한다.참고) 트리는 무방향이면서 사이클이 없는 연결 그래프그림 예시신장트리가 아닌 예시는 모든 정점을 포함하지 않거나, 사이클이 존재하기 때문..