1. Stat Component
1.1 Base Stat
- 기본 데이터 스탯이 필요하므로 Structure & Enum로 부터 생성
- 처음 생성된 스탯 및 현재 스탯을 생성
- Stat Component 추가 및 Base Stat Settings
1.2 Set, Get Stat Value
1.2.1 Base Stat Value
- 기본 스탯 데이터는 변경할 수 없으므로 변경을 하려면 Set member 사용
- Base, Max 설정 가능
1.2.2 Current Stat Value
- SETTER & GETTER Create
- 값을 수정하려면 value의 값이 0이 아닐 경우 변경
- 캐릭터의 피가 0이 아닐 경우 변경
2. Stat
2.1 Initialize Stat
- 생성된 스탯으로부터 모든 값을 초기화
- 모든 키 값을 돌면서 현재 스탯 저장
2.2 Health
2.2.1 Take Damage
- Stat Component의 스탯 데이터를 이용해 데미지를 입힘
- 데미지가 입력받으면 현재 데이터 수정
- Event Point Damge 수정
2.3 Stemina
2.3.1 Stemina Regen
- 사용한 스테미너는 다시 복구해야함
- 현재 스태미너 스탯에서 Regen Rate를 만든 후 최대치를 넘기지 않으면서 사용
- 만약 최대 스테미너가 넘게 되면 사용하지 못하게 해야하므로 타이머 설정
- 만약 스킬이나 공격, 회피를 하고 바로 스테미너가 차지 않도록 Delay 사용
- 최대 스테미너가 넘게 되면 사용하지 못하게 해야하므로 타이머 초기화
2.3.2 Start Regen
- 현재 스탯을 변경하는 함수에서 리젠이 되는 스탯을 bool값으로 관리하면서 사용
- 각 공격, 회피 등 마다 스테미너 사용하게 설정
3. UI
3.1 Main HUD
- 모든 UI를 관리하는 Main HUD 생성
- Main HUD를 관리하는 Play Controller 생성 및 Viewport 추가
- Stat 추가
3.2 Stat Bar
3.2.1 Tick
- 매 틱마다 스탯이 변경되는 것을 변경하게 된다면 무리가 올 수 있음
- 그러므로 매 틱이 아닌 그 함수가 실행될 때마다 설정해야함
3.2.2 Dispatchers
- Stat Component에서 Current Value Updated 생성 및 변수 추가하고 값이 변경 될때마다 CALL
- Stat Bar에서 플레이어의 Stat Component를 불러와서 이벤트 바인딩함
- 값이 변경될때 마다 이벤트를 생성하여 변경된 값에 맞게 변경
'Create Game > [UE5] BLUEPRINT & C++' 카테고리의 다른 글
[UE5] COMBAT SYSTEM - HIT REACTION (0) | 2022.12.31 |
---|---|
[UE5] COMBAT SYSTEM - TARGETING SYSTEM (0) | 2022.12.31 |
[UE5] COMBAT SYSTEM - VARIETY OF ATTACKS (2) | 2022.12.30 |
[UE5] COMBAT SYSTEM - STATE MANAGER (0) | 2022.12.30 |
[UE5] COMBAT SYSTEM - ATTACK COLLISION (0) | 2022.12.29 |