초보 코린이의 성장 일지
UE4 충돌 및 인터페이스 활용 본문
인터페이스를 활용하여 동작들을 관리
블루프린트 -> 블루프린트 인터페이스 생성 -> 함수 추가 및 설정
구조체도 하나 생성해주고 지정해준다.
Enemy로 가서 상단의 클래스 세팅을 누른 후 부모 클래스를 지정해주고 인터페이스 만든 IDamage를 추가해준다.
그럼 왼쪽에 인터페이스란에 들어온다. 이제 정의를 해주면 된다
사용할 변수들과 인터페이스 목록
컴포넌트 추가를 눌러서 -> StateComponent를 생성 -> get으로 가져와서 On State Type 이벤트 바인딩에 연결
-> 커스텀 이벤트 이름을 OnStateTypeChanged로 동일하게 수정 -> switch 만들어주고 연결 -> 그다음 Hitted 연결
무언가 때리면 State Type가 바뀔테니 스위치 문에서 Hitted로 들어가서 이벤트 발생하는 구조
Hit가 되면 Damaged 이벤트가 콜해진다 -> Attacker를 Set로 세팅 -> Csuser 변수를 Actor로 만들어서 Set으로 세팅
-> HitData는 변수유형을 만든 구조체 FHit Data로 바꿔준다 -> State Component로 상태를 변경시켜 줄 것이다.
StateComponent를 눌러 편집을 눌러주면 자동으로 내부로 들어가 진다.
함수를 2가지 추가해 줄 것이다.
IsHittedMode, SetHittedMode
둘다 Type를 Hitted로 변경해준다. 결국 설정이 완료되면 위에있는 노드처럼 마지막에 상태를 Hitted Mode로 변경 시켜주게된다.
Hit Data가 break를 통해 들어간다.
그리고 Set Damage를 클릭해서 내부로 들어간다.
캐릭터 형변환해서 Attacker 세팅 의미가 사라졌으므로 수정해준다.
필요한 애니메이션 몽타주를 2개 만들어준다.
이동 할 수 있는 애니메이션이므로 슬롯 UpperBody로 설정
멈춰야 하기 때문에 같은 애니메이션에 이름만 수정해주고 슬롯을 FullBody로 설
이제 충돌을 시키려면 공격범위나 데미지 등 다 다르기 때문에 엑셀로 하나 작업을 해 줄 것이다.
다 멈추게 만들고 시작할것이기 때문에 레퍼런스 복사 눌러서 엑셀표에 작업해 줄 것이다.
수치들 설정해준다. Montage에 있는 경로는 위에 복사한 레퍼런스 Stop이며 3가지다 동일하다.
오른쪽에 짤린 부분
Sword가 인식해야하므로 알맞은 경로에 저장 파일형식 중요
위 엑셀표 내용은 구조체 만든 목록과 일치하다.
임포트해서 확인해보면 잘 들어온것이 보일 것이다. 이제 사용할 수 있도록 Weapon로 가서 정리해준다.
사용 할 함수와 변수
변수 유형은 FHit Data로 설정해줘야한다.
Load HitDatas 내부 노드
Combo_Sword로 가서도 지정해 줘야한다. DT_HitData_Sword 선택
콤보로도 와서 노드 생성해줘야한다.
전과 달라진건 마지막 On Begin Overlap 생성 후 연결 끝
공격하면 캐릭터 중에 누군가는 맞는 현상이 발생하기 때문에 그 대상을 지정해줘야한다.
IDamge로 형변환 할 수 있는 조건은 인터페이스로부터 상속 받은 존재만 가능하다.
As IDamage가 인터페이스 연결 부분에서 인터페이스 Damaged로 콜을 해준다
attacker은 이 무기에 소유자 Character가 들어간다
Causer은 자기자신 self
Hit Data는 Hit Datas로 배열을 받아 Get(참조)로 Index를 받아준다.
그럼 충돌하게되면 콜해지고 IDamage가 콜이되면서 damage만큼 들어간다.
이제 어택 모션 몽타주에 충돌 구간을 만들어 줄 것이다.
충돌 노티파이 생성
노티파이 생성했을때와 동일하게 내부 설정
몽타주 Attack 애니메이션 1, 2, 3에 ANS Collision 추가
마지막으로 Combo_Sword가서 캡슐 추가해주고 충돌처리 조건 완료
https://www.youtube.com/watch?v=sAz5B-AZoI0
- 조금씩 틀이 잡히기 시작한다
- 하지만 어렵다
'언리얼' 카테고리의 다른 글
UE4 경직(Hit Stop), 카메라 진동, 무기 추가(Fist) (0) | 2023.01.19 |
---|---|
UE4 임팩트 추가 및 사운드 (0) | 2023.01.18 |
UE4 State 무기 장착, 해제 (0) | 2023.01.12 |
UE4 State로 동작 및 무기 교체 작업 (0) | 2023.01.11 |
UE4 플레이어와 적 애니메이션 하나로 사용하기 / 무기 클래스 나누는 과정 밑작업 (0) | 2023.01.10 |