
Contains : 배열,세트,맵 같은 단일변수가 아닌 변수내에 특정 원소가 포함 되어있는지 검사하는 노드 (리턴은 bool값)
Set : 순서가 중요치 않은 상황에 원소를 저장하는데 쓰이는 컨테이너
Hashing 방식을 사용하기 때문에 원소의 추가, 검색, 제거가 매우 빠르다.
그래서 순서가 중요치 않은 상황에서는 Array보다 Set를 사용하는 것이 더 실용적이다.

Hashing : 들어온 값을 해시함수를 거쳐 해시테이블에 저장되는 방식

Sequence : 가로로 점점 늘어나는 그래프를 세로로 늘려 가독성을 늘리는 용도의 노드
Then 0 의 노드를 수행하고 Then 1, Then 2 순서대로 진행된다.
가로로 긴 그래프를 원하는곳에서 잘라 세로로 이어붙이면 된다.
하지만 딜레이가 있는경우는 무시하고 먼저 실행되는 부분 부터 실행된다.
사진대로 실행할 때 : 4 → 1 → 2 → 3
Then 0의 Delay 시간 2초로 실행 할 때 : 4 → 3 → 1 → 2
Then 1의 Delay 삭제후 실행 할 때 : 3 → 4 → 1 → 2
피격 보수

이제 적은 공격당하면 피격모션이 나오고 체력이 0이하가 되면 죽는 모션이 나온다.
문제점이 여러개 있고 해결방법을 알아보자
문제점1 : 적이 죽었지만 계속 때릴수 있고 죽는 애니메이션이 계속 재생된다.
→ 해결방법 : 적의 Generate Overlap Events를 off시킨다.
문제점2 : 죽는 모션이 끝나도 ABP_Character에서 디폴트 포즈를 보내오기 때문에 죽었지만 좀비마냥 살아난다.
→ 해결방법 : 적을 없애던지 더이상 블렌드 시키지 않는다.
블렌드 시키지 않기

Die_Montage에 있는 블렌드 옵션에서 Enable Auto Blend Out의 체크박스를 해제한다.
False가 되었기 때문에 Die_Montage가 재생이 끝난후에 블렌드 아웃하지 않고 마지막 포즈 즉 쓰러진 모습을 유지한다.
적이 많다면 시체의 산이 쌓일것이다.
적을 없애기

DestroyActor : 액터를 제거하는 노드
Set Life Span : 액터의 수명을 설정하는 노드 수명이 다되면 액터는 제거된다.(LifeSpan을 0으로 설정하면 제거 X)
위의 두 노드로 시간을 설정하여 자연스럽게 사망한 적을 월드에서 제거한다.
하지만 이렇게 적을 제거 하지만 적에게 다른 오브젝트(무기)가 있을경우 적이 제거돼도 오브젝트는 남아있다.
그럴땐 오버라이드 함수 Destroyed 이벤트에서 오브젝트도 같이 없애주면된다.


'언리얼 BluePrint 정리' 카테고리의 다른 글
| 06/15 학습 정리( Add Material Parameter, Retriggerable Delay, Time Dilation) (0) | 2023.06.16 |
|---|---|
| 06/14 학습 정리 ( MAP, Dynamic Material Instance ) (2) | 2023.06.15 |
| 06/09 학습 정리( Attack 보수) (0) | 2023.06.11 |
| 06/08 학습 정리(Preset, Apply Damage) (0) | 2023.06.08 |
| 06/07 학습 정리(Hit, Physics, Delta Time) (0) | 2023.06.08 |