언리얼 엔진5 45

[UE5] 블루아카이브 TPS게임 개발일지 (62) - 대사 기능 적용

대사가 나오는 경우는 두가지로 분류할 수 있다.칸나가 특정 구역에 들어가는 경우적 / 칸나가 특정 이벤트에 반응하는 경우 1번을 위해서, BP_ConversationTrigger를 만들었다.트리거에 칸나가 들어오면, OnComponentBeginOverlap 이벤트를 수행한다.ConversationManager의 Set Conversation을 호출한다. Speaker와 Content 두 변수 우측의 눈 표시를 눌러, 해당 변수가 인스턴스마다 지정될 수 있도록 할 수 있다.  결과적으로 특정 구역에서 칸나 / 적이 대사를 하게 하려면, 맵에 BP_ConversationTrigger를 배치한 뒤 디테일 패널에서 Speaker, Content에 원하는 문장을 넣어주면 된다.    2번을 위해서는, 해당 이벤..

[UE5] 블루아카이브 TPS게임 개발일지 (61) - 대사 시스템 (Typewriter 효과)

칸나와 적의 대사를 자막처럼 넣어, 게임이 덜 심심하도록 해볼 것이다. 제일 먼저, ConversationManager 클래스를 만들었다. GameManager와 같이 SubSystem을 상속받은 클래스이며, 대사를 칠 캐릭터들은 ConversationManager의 SetConversation만을 호출하면 되도록 할 것이다. ConversationManager.h:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Subsystems/GameInstanceSubsystem.h"#include "ConversationManager.gen..

[UE5] 블루아카이브 TPS게임 개발일지 (59) - 사망 연출 제작 3

이제 헤일로가 깨지게 하기 위해서는 Halo 클래스의 BreakHalo 함수를 호출하기만 하면 된다. void AKannaCharacter::Die(){ GetMesh()->SetCollisionEnabled(ECollisionEnabled::NoCollision); DisableInput(UGameplayStatics::GetPlayerController(GetWorld(), 0)); ZoomOutCamera(); UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance(); if (AnimInstance && DieMontage) { PlayDieMontage(AnimInstance); } Halo->BreakHalo(); SpringArm->Socket..

[UE5] 블루아카이브 TPS게임 개발일지 (58) - 사망 연출 제작 2

지난 포스팅에서 만든 지오메트리 컬렉션은 헤일로 클래스에 넣을 것이다. 평상시에는 지오메트리 컬렉션이 스태틱 메시의 역할을 해주다가, 칸나의 체력이 0이 되면 메시를 깨뜨릴 것이다. Halo.h:// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "Halo.generated.h"class UGeometryCollectionComponent;UCLASS()class KANNATPS_API AHalo : public AActor{ GENERATED_BODY() public: // Se..

[UE5] 블루아카이브 TPS게임 개발일지 (57) - 사망 연출 제작 (Geometry Collection)

HP가 0이 될 시 사망하는 연출을 만들어볼 것이다. 원작 설정 상 캐릭터들은 총을 좀 맞아도 죽지 않지만, 본 게임에서는 좀 밋밋할 것 같아 실제로 죽는 연출을 만들 것이다.  사망 연출을 위해 필요한 것은, 뭐니뭐니 해도 헤일로가 깨지는 연출이다.   언리얼 엔진에서 Destructible Mesh를 구현하기 위해서는 Geometry Collection을 사용하면 된다.에디터 좌측 상단의 Mode를 Selection에서 Fracture Mode로 바꾸고, 필드에 헤일로 스태틱 메시를 배치한뒤, New를 눌러 새로운 지오메트리 컬렉션을 만들어주었다. 그리고 좌측의 Fracture 탭의 Uniform 방식을 선택한 뒤, Fracture 버튼을 눌러 메시를 조각내주었다.ViewSettings의 Min Vo..

[UE5] 블루아카이브 TPS게임 개발일지 (56) - EX 스킬 제작 4

이번엔 busted 이펙트를 만들 것이다. 이전에 카이저 PMC 병사 가슴팍의 마크를 구현하기 위해 3d Text 플러그인을 사용한 바가 있다.https://ciel45.tistory.com/19 블루아카이브 TPS게임 개발일지 (8) - 적 모델링 임포트작중 적으로 등장할 캐릭터는 원작의 최종장 내용과 마찬가지로 카이저 PMC이다. 그런데 칸나의 3d 모델링은 부스에서 구할 수 있었지만, 아무리 찾아봐도 카이저 PMC 병사의 모델링은 구할 수 없ciel45.tistory.com 이번에도 해당 플러그인을 사용하여 busted 3d 텍스트를 만들고, 큐브로 테두리를 만든 다음 스태틱 메시로 변환해주었다.   그리고 만들어진 스태틱 메시에서 머티리얼을 적당히 어울리는 것으로 변경해주었다.  이 busted ..

[UE5] 블루아카이브 TPS게임 개발일지 (55) - EX 스킬 제작 3 (UParticleSystem)

이번엔 총구로 빛이 모이는 연출을 만들 것이다. 언리얼 마켓플레이스의 Infinity Blade: Effects 에셋은 에픽게임즈가 예전에 만든 ios 게임 인피니티 블레이드의 이펙트들이 담긴 에셋이다. 무료이면서 양질의 이펙트들이 많이 포함되어 있다.https://www.unrealengine.com/marketplace/en-US/product/infinity-blade-effects Infinity Blade: Effects in Epic Content - UE MarketplaceInfinity Blade: Effects includes visual effects ranging from fire and smoke to curious lights and magical reactions, all wi..

[UE5] 블루아카이브 TPS게임 개발일지 (53) - EX 스킬 제작 1

우선, 칸나가 권총을 들고 있을 땐 EX스킬을 사용할 수 있어야 하고, 소총을 들고 있을 땐 EX스킬을 사용할 수 없어야 한다.KannaCharacter 클래스가 각 무기 종류에 대해 의존성을 가지는 것은 피하려고 한다. 오직 AGun 클래스에만 의존하게 하는 것이 목표이다.따라서 AGun 클래스에 KannaCharacter에서 사용할 여러 프로퍼티를 만들어주었다.// AGun.h 중 일부bool HasExSkill; //EX 스킬을 사용 가능한 총인지bool ExSkillReady; // true 시 다음 발사 시 EX 스킬이 나간다. //KannaCharacter에서 호출할 함수FORCEINLINE virtual void ReadyExSkill() {ExSkillReady = true;} Rea..

[UE5] 블루아카이브 TPS게임 개발일지 (51) - EX 게이지 제작

이번엔 EX 스킬 게이지를 만들어 볼 것이다. 10칸으로 나누어진 게이지가 시간의 흐름에 따라 천천히 차는 것을 볼 수 있다. 언리얼 엔진에서 이러한 게이지를 구현하기 위해서는 UProgressBar를 사용하면 된다. 일전에 만들어두었던 KannaTPSOverlay 클래스에 EX 게이지에 해당하는 UProgressBar를 새로 만들었다. //KannaTPSOverlay.h에 변수 추가UPROPERTY(meta = (BindWidget))UProgressBar* ExGauge;UPROPERTY(meta = (BindWidget))UTextBlock* ExNumberText; ExGauge가 그 UProgressBar이다.ExNumberText는 현재 몇 코스트가 찼는지를 나타내기 위한 UTextBlock이..

[UE5] 블루아카이브 TPS게임 개발일지 (50) - 맵 제작

슬슬 개인적으로 제일 어렵다고 느끼는 맵 제작을 할 때가 왔다. 최근 약 1~2주 동안은 계속 레벨디자인 작업만 한 것 같다.  발키리 경찰학교를 구현하기 위해서, 키 이미지를 참고하였다. 건물 전반적으로 푸른 느낌이 나고, 심문실은 건조한 느낌이 들도록 하는 것을 목표로 하였다. 처음에는 무료 에셋만으로 맵을 만들어보려했지만, 한계를 느끼고 언리얼 마켓플레이스에서 경찰서 느낌이 나는 에셋을 구매하였다. https://www.unrealengine.com/marketplace/ko/product/police-station-and-interrogation-room-pack-modular Police Station (Office) & Interrogation Room (Modular), 카테고리 배경 - U..