unreal

[Unreal_C++_DarkSoul]#18_Sound Sound를 구현합니다. Overview 개요 및 설계 코드 영상 #1. 개요 및 설계 1. 개요 [디자인 패턴]#13_이벤트 큐, Event Queue [디자인 패턴] #13_이벤트 큐, Event Queue 게임 디자인 패턴 중 "디커플링 패턴"에 대해 알아보겠습니다. "게임 프로그래밍 패턴"의 15 항목, "이벤트 큐"에 해당하는 내용입니다. 의도 이벤트를 보내 webddevys.tistory.com 게임 플레이에 필요한 사운드 이펙트들을 재생하기 위해 Sound 클래스를 구현합니다. Sound 객체는 월드 어느 곳에서도 배경 음악을 재생합니다. Sound 객체는 캐릭터의 자연스러운 행동 연출을 위한 사운드 이펙트를 재생합니다. Event Qu..
[Unreal_C++_DarkSoul]#17_Grid 클래스 공간 분할 패턴을 활용한 Grid 클래스를 구현합니다. Overview 개요 코드 영상 #0. 개요 1. Grid 클래스? Grid 객체는 월드에 배치되어 Grid 객체가 정의한 지정 구간 내 위치한 Enemy 객체들을 관리합니다. 공간 분할 패턴(Spatial Partition Pattern) : Grid 객체는 공간 분할 패턴을 통해 "주변 객체 탐색" 성능을 최적화합니다. 월드 내 객체가 많아질수록, 이들을 탐색하는 작업은 느려집니다. 따라서, 플레이어의 현재 위치 값을 통해 Grid 객체를 특정하고, Grid 객체가 관리하는 적 객체 목록을 순회하여 탐색 성능의 최적화를 구현합니다. 객체 풀(Object Pooling) : Grid 객체..
[Unreal]#24_Deactivate와 DeactivateImmediate Unreal 개발 중 Niagara Component 클래스의 Deactivate 관련 함수에 대해 알아보겠습니다. Overview 개요 코드 정리 #0. 개요 1. 마법 발사체의 이펙트 Proejctile 클래스를 상속하는 Projectile_Magic(마법 발사체) 유형의 객체는 기본적으로 세 가지 이펙트를 컴포넌트로 갖습니다-Muzzle Effect(발사 효과), Projectile Effect(발사체 효과), Hit Effect(충돌 효과). 이때, 각 이펙트는 Niagara Component 클래스를 상속하여 Niagara Component 클래스의 함수들을 활용하는데, 활성화 시점과 비 활성화 시점에 각각 Activ..
[Unreal]#24_ParallelFor Unreal 개발 중 "ParallelFor"에 대해 알아보겠습니다. Overview 개념 코드 적용 사례 #0. 개념 1. Task Graph?? Unreal Engine의 Task System은 "Task Graph"로 사용자가 작성한 게임 플레이 코드를 비동기적으로 실행할 수 있도록 해주는 Job Manager입니다. Task Graph는 방향성 비 순환 그래프입니다. 말 그대로, 방향성 비 순환 그래프는 개별 요소들이 특정한 방향을 갖고, 서로 순환하지 않는 그래프입니다. Task Graph는 Task의 비동기적 처리, 처리에 대한 결과 대기, Prerequisite 지정(전제 조건, 혹은 어떤 Task가 실행을 모두 마쳐야 실행 가능한 Task를 의미)..
[Unreal_C++_DarkSoul]#13_Impact Effect Combo 공격 무기들의 충격 이팩트를 구현합니다. Overview 개요 및 설계 코드 결과 영상 개요 1. 목적 Combo 공격을 수행하는 무기들의 Impact Effect를 구현합니다. Combo 공격 무기의 충돌 이벤트에서 적절한 위치에 Impact Effect를 활성화하는 것이 목표입니다. 2. 설계 먼저, Power 컴포넌트는 데이터 멤버로 속해 있는 무기 클래스에 대한 정보를 Data Table을 통해 전달받습니다. 이때, Power 컴포넌트는 Imapct Effect 정보를 "TArray"에 저장하고, Fname과 bool 자료형은 각각 무기의 Sekeltal Mesh에 별도로 추가한 Socket 이름과 활..
[Unreal]#23_FString, FText, FName 변환 Unreal 개발 중 "FString, FText, FName"에 대해 알아보겠습니다. Overview 문자열 자료형 종류 변환 방법 요약 문자열 자료형 [Unreal]#15_FText, FString, FName [Unreal]#15_FText, FString, FName Unreal 개발 중 "FText, FString, FName"에 대해 알아보겠습니다. FName 재사용 시에도 데이터 테이블에 한 번만 저장되어 초경량 시스템을 제공합니다. 대 소문자 구분이 없고, webddevys.tistory.com 변환 방법 1. FName FString // 1. FName to FString FString String = Name..
[Unreal]#22_TTuple Unreal 개발 중 "TTuple" 자료형에 대해 알아보겠습니다. Overview 개념 코드 #0 개념 1. TTuple? 논리적으로 관련 있는 두 자료형을 하나로 묶기 위해 사용합니다. TTuple은 UObject 클래스가 아니라 TTupleBase 템플릿 구조체를 상속하므로 UPROPERTY 등 리플렉션과 함께 선언할 수 없습니다. TTuple은 한 번에 두 개의 값을 반환하고자 하는 함수 등에 활용됩니다. #1 코드 // 1. Init TTuple TestTuple = TTuple("Apple", 1); TTuple TestTuple2 = MakeTuple("Oragne", 2); // 2. Get FString String1 = TestTuple.Get(); u..
[Unreal_C++_DarkSoul]#12_Targeting 회전 속도 Player의 Targeting 동작 수행 시 발생하는 부자연스러운 회전 속도 문제를 해결합니다. Unreal 포트폴리오 작업 과정을 기록합니다. Overview 문제 해결 결과 화면 문제 Player의 Targeting 동작 수행 과정에서 발생하는 부자연스러운 회전 동작 Player의 Targeting 동작으로 인해 부자연스러운 연출이 불가피합니다. 문제 해결 [Unreal_C++_DarkSoul]#6_기능 구현, Targeting 기능 [Unreal_C++_DarkSoul]#6_Targeting 기능 Player 근방의 적들을 인지하고, 선택된 적 객체를 Focusing 하는 기능을 구현합니다. 포트폴리오 진행 사항을 기록하기 ..
[Unreal_C++_DarkSoul]#11_Parkour(Vaulting) 장애물을 비교적 수월하게 극복하기 위해 Parkour 동작을 구현합니다. Unreal 포트폴리오 작업 과정을 기록합니다. Overview 개요 설계 상세 내용 게임 플레이 화면 개요 1. 목적 Player가 장애물을 보다 자연스럽게 넘어갈 수 있도록 합니다. Player가 기본 동작만으로 극복할 수 없는 장애물들을 키 입력 하나로 보다 수월하게 극복할 수 있도록 합니다. Player의 게임 플레이 과정에서 찾을 수 있는 재미 요소(?)를 추가하기 위함입니다. 2. 개요 먼저, First Person Character를 기준으로 세 가지 Line Tracing을 수행합니다. 세 가지 Line Tracing을 통해 장애물과 FPC과..
[Unreal_C++_DarkSoul]#10_AIController AI의 행동 방식을 정의하는 과정에서 발생한 문제를 해결합니다. Unreal 포트폴리오 작업 과정을 기록합니다. Overview 문제 해결 문제 1. AIController::Tick() void AAIC_CastleKnight::Tick(float DeltaSeconds) { Super::Tick(DeltaSeconds); SetFocus(PlayerPawn); MoveToActor(PlayerPawn, 100.f); if (UKismetMathLibrary::Distance2D(FVector2D(GetPawn()->GetActorLocation()), FVector2D(PlayerPawn->GetActorLocation())) < 2..
Hardii2
'unreal' 태그의 글 목록 (2 Page)