unrealengine 60

NPC 대화 Widget에 애니메이션 추가

NPC 대화 UI가 열릴 때와 닫힐 때, 그리고 다음 대사 출력 Button에 애니메이션 효과를 추가해주었다.우선 WBP에서 각각의 애니메이션을 생성해주었다.; NPC 대화 UI 열릴 때, UI 닫힐 때, 다음 대사 ButtonNPC 대화 UI 애니메이션의 경우, 아래와 같이 코드에서 작업을 해주었다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111NPCD..

Player 사망 시 사망 UI 출력 및 경험치 감소

RPG에서 빈번하게 사용되는 시스템인 Player 사망 UI 출력과 사망 페널티 효과를 구현하였다.우선 아래에 있는 기능들이 모두 들어가야한다.플레이어 사망 시, 마지막 공격자의 이름이 표시되는 UI를 출력사망 페널티로 잃게 되는 경험치량과 퍼센티지 (%) 계산하여 UI에 표시현재 레벨에서 Player가 보유 중인 경험치가 페널티 경험치보다 부족할 경우, 레벨을 차감하고 추가로 경험치를 깎아야함 우선은 Player가 사망 시 뜰 UI의 디자인 및 애니메이션 작업을 해주었다.Player를 사망하게 한 공격자의 정보, Player가 잃은 경험치량 및 퍼센티지가 Text Block에 출력되도록 추후에 작업을 해줄 것이다. 다음으로 기존 작업자가 작성해둔 Player의 사망 관련 함수들의 흐름 및 경험치 관리 ..

ClassComponent 추가 변동 사항; 매개변수 추가

25.09.03 변동 사항ClassComponentBase에 있는 ClassChange 함수에 직업과 직업 차수를 가리키는 Gameplay Tag를 매개변수로 추가해주는 작업을 하였다.ClassChange 함수를 생성한지 꽤 돼서, Delegate를 통해 다른 클래스에서 전직 퀘스트라던가 계보 시스템에 사용되고 있었기에 찾아서 전부 수정해주었다.우선은 ClassChange 함수가 들어있는 ClassBaseComponent의 수정 사항이다.ClassBaseComponent1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071..

Player의 레벨과 신규 스킬 해금 연동

이번엔 지난 번에 작성했던 신규 스킬 해금 Widget을 Player의 레벨 시스템 및 Player가 습득 가능한 스킬들의 데이터와 연동하여, Player가 특정 레벨에 도달했을 때 해당 레벨에 해금되는 스킬에 대한 정보를 스킬 해금 Widget에 띄워보는 작업을 해보았다.우선은 기존 작업자가 작성해둔 Player의 Level Up 및 경험치 관련 함수들을 PlayerStateBase에 작성해둔 것을 확인했다.그리고 스킬 해금 흐름은 서버가 모든 권한을 갖고 스킬 해금을 처리한 뒤, 클라이언트에게는 해당 스킬이 해금되었으니 UI에 표시해주도록 해줄 것이다.전체적인 흐름은 아래와 같다.Level Up감지 (서버): PlayerStateBase에서 플레이어의 경험치가 올라 레벨이 변경되는 순간 감지해금 스킬..

신규 스킬 해금 Widget 및 알림 Widget 출력

신규 스킬을 해금할 때 Widget이 출력되고 스킬창에 신규 스킬이 생겼다는 알림을 표시하도록 할 것이다.우선 신규 스킬이 해금됐음을 알릴 Widget을 생성해준다.아래의 코드를 바탕으로 하여 WBP를 생성해준다.SkillUnlockedWidget.h12345678910111213141516171819202122232425262728293031323334#pragma once #include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "SkillUnlockedWidget.generated.h" /** * */UCLASS()class MyGame_API USkillUnlockedWidget : public UUserWidget{ GENERA..

GAS를 사용하여 직업 별 Aura 출력 구현

GAS의 Gameplay Tag 기능을 통한 상태 연동으로 Player의 직업(클래스)과 직업 차수(클래스 티어)를 확인하여 Aura에 대한 정보를 담고 있는 Data Asset에서 Tag에 맞는 Aura를 출력하도록 해보았다.GAS를 활용하기 위해서는 Gameplay Tag를 이용해야 하기에, 우선은 Aura와 관련된 Tag들을 추가해줘야한다.Project Settings에서 Gameplay Tag로 가서 아래와 같이 Tag를 추가해주었다.Aura는 Player에게 출력할 Effect 중 하나이기에 Effect 하위 항목으로 Aura를 넣어주었고, 직업 및 직업 차수 별로 출력할 Aura를 다르게 해줄 것이기에 Gameplay Cue에서 직업에 직업 차수 별 Tag를 추가해주었다.다음으로 직업과 직업 ..

Super Pack Magic VFX

https://www.fab.com/listings/b1856f28-224b-437a-8aba-50effbcae6b2위 링크에 있는 "Super Pack Magic VFX" Asset에 대한 간단한 분석 및 사용법이다.해당 Asset은 Niagara System만 들어있는 Asset으로, 자신이 원하는 효과의 Niagara System만 골라 편집해서 사용하면 되는 Asset이라 설명할 것이 없다.아래와 같이 여러개의 폴더가 있고, Demo 폴더를 제외하고 전부 Niagara System들이 들어있는 폴더이다.Demo 폴더에 있는 Level에 들어가면 모든 Niagara System들을 볼 수 있으나, 굳이 Demo에 들어가지 않고 폴더 별로 들어가서 봐도 된다.이번 글에서는 Asset의 사용법에 관해 ..

Font Material를 만들어 Gradient 효과 글꼴 적용

Rich Text Block에 사용할 글꼴에 Gradient 효과를 주기 위해, Font Material을 사용하여 만들었다.일반적인 Material을 생성해주듯이 새 Material을 생성해주고, Material Domain을 "User Interface" 로, Blend Mode를 "Translucent" 로 설정해준다.그리고 아래 그림과 같이 노드들을 연결해준다.그러면 위와 같이 Gradient 효과가 반영된 Material이 생성되었다.아래와 같이 Rich Text Block에 적용 중인 DT로 들어가, Font Material을 적용시킬 Row Name을 생성 후 Font Material에 위에서 생성한 Material을 할당해준다.Rich Text Block에 적용할 텍스트이기에, WBP의 T..

Level Up! VFX

https://www.fab.com/listings/0faab4dd-ca3e-4fec-8f9f-9b336f055f05위 링크에 있는 "Level Up! VFX" Asset에 대한 간단한 분석 및 사용법이다.분석하고 사용하기에 크게 어려움이 없는 쉬운 Asset이다.해당 Asset 폴더 중, "Blueprints" 폴더의 "BP_VFX_CustomLevelUp" 위주로 확인하면 된다."Shared" 폴더에는 Level Up Effect를 나타내기 위한 Particle이나 Texture, Material이 들어가있고, "UI" 폴더에 있는 WBP들은 해당 Asset의 사용법을 안내하는 Widget들이기에 크게 신경 쓰지 않아도 된다.이번에는 사용법보다 Asset에 대한 분석을 먼저 해야 적용법을 이해하는 데..

NPC - Player 상호작용 (Paused)

NPC와 NPC의 대사에 관한 설계가 끝났으니, NPC와 Player의 상호작용을 추가해주었다.https://bobyul.tistory.com/103 NPC 및 NPC 대사 설계NPC의 대화 시스템을 만들기 전, 우선 NPC에 관한 정보와 NPC가 하는 대사들을 저장하는 구조체를 생성해야하고, 구조체를 생성하기 전에도 어떤 식으로 데이터를 관리할 것인지를 미리 구상해둬bobyul.tistory.com NPC와 상호작용 - BP이제 위에서 완성한 대사 UI가 NPC를 클릭했을 때 보여지도록 해야한다.NPC를 좌클릭했을 때 대사 UI가 출력이 되도록 BP로 작성해보았다.좌클릭을 했을 때 발생할 Event는 NPC BP에서 아래와 같이 생성해주었다.NPC를 클릭하면 Player의 Input을 비활성화하면서 N..