전체 글 403

[UE4] 비주얼 이펙트(VFX) : 나이아가라(Niagara), 파티클 시스템(Particle System), 캐스케이드(Cascade)

✨ 파티클 시스템 (Particle System) 파티클 시스템은 캐스케이드 시스템을 통해 구현되어 이펙트를 구성하는 작은 입자들을 사용해 시각적인 효과를 생성하는 시스템이다. 입자는 위치, 속도, 크기, 색상 등의 속성을 가지며, 이러한 속성들을 설정하여 입자의 동작을 조작할 수 있다. 🚩 캐스케이드 (Cascade) 캐스케이드는 Unreal Engine 4의 이전 버전에서 사용되던 비주얼 이펙트 시스템이다. 파티클 시스템을 생성, 편집 및 렌더링하는 데 사용되었다. 그러나 Unreal Engine 4에서는 캐스케이드를 대신할 수 있는 더욱 강력하고 유연한 Niagara 시스템이 도입되었다. ✨ 나이아가라 시스템 (Niagara System) 나이아가라 시스템은 Unreal Engine 4에서 도입된 ..

🎮Unreal4/Basic 2023.05.24

[UE4] SubAction-Sword 일섬(一閃) 스킬 : BoxTrace, LineTrace, 새 프로파일 만들기

이번 학습에서는 Sword의 스킬인 SubAction을 구현해보았다. Sword의 스킬로는 일섬을 구현하였는데, 일섬이란 번개같은 속도로 순간이동처럼 돌진하며 적을 베는 공격을 의미한다. 📦 SubAction 실행 구조 Player 클래스의 SetupPlayerInputComponent 함수에서 SubAction 키(마우스 오른쪽 클릭)를 추가해주었고, WeaponComponent의 SubAction_Pressed, Released 함수를 호출해주었다. WeaponComponent에서는 SubAction 객체가 존재한다면 해당 객체의 Pressed 함수와 Released 함수를 호출하도록 하였다. SubAction 클래스는 만들고자하는 스킬들이 SubAction을 부모로 상속받아 사용할 수 있도록 가상함..

🎮Unreal4/C++ 2023.05.23

[UE4] 잔상(GhostTrail) 구현하기 (UPoseableMeshComponent)

플레이어가 스킬을 사용할 때 나타나는 잔상효과를 구현하기 위해 GhostTrail을 구현하였다. 💻 Ghost Trail 클래스 생성 잔상(GhostTrail)을 만들기 위한 클래스 ACGhostTrail을 작성하였다. 속성값으로는 시작하기까지 걸리는 StartDelay 시간과, 잔상이 출력될 간격인 Interval, 잔상의 색상 Color, 잔상의 Material이 안쪽에서 바깥쪽으로 퍼져나가는 정도를 나타내는 Exponent를 지정하였다. ✨ GhostTrail Material 이후, 잔상을 그려나갈 Material을 제작해주었다. 베이스 컬러와 이미시브 컬러, 오파시티 값을 지정하여 투명한 잔상느낌을 낼 수 있도록 구현하였다. 🚨 이때, Material의 Usage속성 값 중 Used with Sk..

🎮Unreal4/C++ 2023.05.22

[UE4] Component 상속구조 정리

📚 Component 상속구조 상속 구조에서 UObjectBase, UObjectBaseUtility는 언리얼 엔진의 저수준 구현에 속하는 기초 코드로 게임 코드에서 직접 사용하지 않으므로 자세히 보지 않고, UObject는 Unreal4 오브젝트의 기본 클래스이기 때문에 자세히 보지 않는다. 📙 UActorComponent - Component가 될 수 있는 최소한의 기능을 가지고 있다. - UActorComponent에서 변환이 있으면 SceneComponent이고, 렌더링할 수 있다면 PrimitiveComponent이다. 📓 USceneComponent - Transform 정보가 추가되어 SceneComponent부터 실질적인 배치가 가능하다. - 그러나 렌더링이나 충돌 기능은 지원하지 않는다...

🎮Unreal4/Basic 2023.05.22

[백준/C++] 2566번 : 최댓값 - 2차원 배열에서 최댓값과 인덱스 찾기

최댓값 문제 과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. 예를 들어, 다음과 같이 81개의 수가 주어지면 이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. 예제 입력 1 3 23 85 34 17 74 25 52 65 10 7 39 42 88 52 14 72 63 87 4..

[Portfolio] UI & HUD 제작, 스태미나 기능 구현

https://youtu.be/7h8OdCLJ9fg 진행중인 작업 - 맵 수정 (조명설정) - UI 작업 (스킬 쿨타임 마무리) 진행 예정 작업 - 카메라 워킹 - 시네마틱 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 Knoc..

[Portfolio] OpenWorld - Parkour 적용

https://youtu.be/Uzv8MYgcBKo 진행중인 작업 - 맵 수정 - UI 작업 진행 예정 작업 - 카메라 워킹 - 시네마틱 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 KnockDown Hit 구현 - Hit P..

[Portfolio] OpenWorld 맵 제작

https://youtu.be/AHK_TyXw0KM 진행중인 작업 - 맵 수정 - UI 작업 진행 예정 작업 - 카메라 워킹 - 시네마틱 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 KnockDown Hit 구현 - Hit P..

[Portfolio] OpenWorld 제작

https://youtu.be/XcdZpcXhfQ4 진행중인 작업 - 맵 수정 - UI 작업 진행 예정 작업 - 카메라 워킹 - 시네마틱 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 KnockDown Hit 구현 - Hit P..

[Portfolio] Parkour Action 구현

https://youtu.be/9TVz1_mQtXE 진행중인 작업 - 맵 제작 및 적용 진행 예정 작업 - UI 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 KnockDown Hit 구현 - Hit Particle 추가 - D..

[Portfolio] Foot IK - Player, Enemy 적용

https://youtu.be/PpGcPd3b428 진행중인 작업 - Parkour 구현 - 맵 제작 및 적용 진행 예정 작업 - UI 진행 완료 작업 - 플레이어, 무기, 공격 애니메이션 에셋 찾기 - Dual Sword 이동 및 공격 애니메이션 적용 - Dual Sword Equip/Unequip 구현 - 기본 4콤보 공격 구현 - 공중 3콤보 공격 구현 - Dead 애니메이션 적용 (공중에서 Dead / 땅에서 Dead) - 공중콤보 Enemy 데미지 처리 - 방어, 방어해제, 반격(Parrying) 구현 - 타겟팅을 이용한 공중 7콤보 공격 구현 - 검기 Trail, Particle 적용 - DualSword Slash Skill 구현 - Enemy의 KnockDown Hit 구현 - Hit Pa..

[알고리즘] 다익스트라 (Dijkstra)

그래프 알고리즘 중 최소비용을 구하는 데는 다익스트라 알고리즘, 벨만-포드 알고리즘, 프로이드 워샬 알고리즘 등이 있다. 그중 다익스트라 알고리즘은 시작 정점부터 다른 정점까지의 최단 경로를 구하기 위한 그래프 알고리즘이다. 이러한 과정에서 도착 정점 뿐만 아니라 모든 다른 정점까지의 최단 경로를 방문하여 각 정점까지의 최단 경로를 모두 찾는다. 즉, 매번 최단 경로의 정점을 선택하여 탐색을 반복하는 것이다. 다익스트라 알고리즘은 노드의 재방문을 허용하지 않기 때문에 어느 간선의 가중치라도 음수가 있으면 안된다는 특징이 있다. (음수 간선이 존재할 때는 벨만-포드 알고리즘, SPFA 알고리즘을 이용하여 최소비용을 구할 수 있다.) 다익스트라에서 노드 간의 연결은 weight (가중치)값으로 판단한다. 특..

728x90