색을 변경 한 후 일정시간 뒤에 색이 원래대로 돌아오는 것을 구현
1. 다음과 같이 그래프를 연결함
- Delay 함수를 이용하고, Duration 값을 0.1을 주어 0.1초 뒤에 "Change Material" 함수 실행
2. "Color" 값에 Enemy Material 의 원래 16진 선형 값을 복사, 붙여넣기 해 설정해줌
플레이를 해 보면 0.1초뒤에 원래 색으로 돌아오는것이 정상적으로 확인된다.
3. 새로 만든 부분을 다음과 같이 "Change Color" 로 정리하여 둔다
<사망 처리 구현>
1. 사망처리를 위해서는 애니메이션 몽타주가 필요하다. 믹사모에서 애니메이션을 다운받아 변환하여 탐색기에서 표시 > 엔진에 넣어준다.
2. 생성 > 애님몽타주생성 Montage 파일로 옮기기
3. 몽타주에 넣어줄 슬롯을 생성하기 위해 Skel_Mannequin > 애님 슬롯 애니 > "FullBody" 생성
4. ABP_Enemy 를 다음과 같이 설정하여 준다.
1) Savepose (캐시 포즈 새로 저장) > "Final Pose" 생성
2) 몸 전체 동작이 나오도록 해야해서 전체를 섞기 위해 Bone Name은 Root로 설정, FullBody 가 들어오는 순간 전체를 섞어 FullBody의 몽타주가 플레이 될 수 있도록 해줌
* 주의 : 다음의 경우 임시적인 구현일 뿐, 잘못된 구현임
사망에서는 제대로 처리되는 걸로 보이지만 실무에서는 몽타주가 플레이가 되면 이전거를 다 죽여버려서 뒤에게 다 초기화가 됨
5. 애님 몽타주 설정 이어서 해주기
1) 애니 플레이 끝 시간을 늘려 마지막 동작 플레이 시간을 늘려주기
2) 몽타주 플레이시 딜레이 타임을 0으로 만들어 주기
3) 플레이가 늦게 시작되니 34초에 몽타주 섹션 "Start" 생성
* 몽타주 섹션 : 지정한 구역부터 몽타주를 플레이시키기 위해 사용
6. BP_Enemy 이벤트 그래프 설정
1) Change Color 에 노드를 추가로 연결하여야 하므로 다음과 같이 노드를 열어준다.
2) if 연결하여서 Health 연결
Hp를 가져와서 Health가 0보다 작거나 같느나 0보다 작거나 같으면 사망하도록 설정한다.
3) 노드접기 > "Die"
이제 사망 처리의 경우 내부로 들어가서 True 로 처리하고, 사망이 아니면 False 로 출력하여 연결 될 수 있게 다음과 같이 처리
4) 사망일 경우 다음과 같이 처리
만들어 두었던 몽타주 섹션 "Start" 지점부터 GetHigBackFall 애니메이션 몽타주가 실행됨
5) 파괴 처리 세팅
- Start Section 까지 1.163f 정도 + 시간만큼의Delay 를 해주고 Destroy Actor 를 해주면 사망후 파괴된다
- Self 파괴후 칼도 Destroy 처리를 해줌
*Play Anim Montage : 애니메이션 플레이 시간이 리턴됨
현재 이 구현은 True가 계속 들어오기 때문에 죽은 후 때리면 다시 살아난다는 버그를 가지고 있다.
다음 시간에 이어서 이 문제를 해결하고 Fitting 피격 처리를 추가 진행할 예정이다.
휴일에 공부를 하면서 즐거운 시간을 보내 행복했다
내일 출근이 기대된다
'Unreal Engine > 게임클래스 - 언리얼엔진 기초' 카테고리의 다른 글
[27강] Player Combo - 1 (1) | 2024.06.16 |
---|---|
[26강] Damaged Enemy - 4 (0) | 2024.06.10 |
[24강] Damaged Enemy - 2 (1) | 2024.06.06 |
[23강] Damaged Enemy - 1 (1) | 2024.05.15 |
[22강] Enemy (1) | 2023.10.13 |