Post

UE - 플랫폼 게임 분석

UnrealEngine

UE - 플랫폼 게임 분석

DataTable 클래스의 DT_attackTable, DT_Sword_attackTable

이 데이터 테이블의 사용처를 알기위해 분석해봤다.

사용처

BP_BaseAbility

BP_BaseAbility에선 Throw 이벤트에서 사용한다.

이렇게 데이터 테이블의 데이터를 가져와

대상 BP_FighterHit 함수의 매개변수로 사용한다.

BP_Damager

함수 FuncOverlapFighter에서 사용하는데, BP_BaseAbility와 비슷하게 Hit의 매개변수로 사용된다.

생성 위치

BP_Fighter

BP_Fighter 에 맴버 변수로 사용된다.

리플리케이션 하진 않고, 기본값으로 DT_attackTable을 사용하고 있다.

BP_BaseAbility

BeginPlay에서 Set할 때 (Parent에서 AttackDataTable을 가져와 Set한다.)

결론

어빌리티의 정보를 가져올 때 사용하는 데이터 테이블로, 네임 타입의 변수로 데이터를 가져와 Hit의 매개변수로 사용한다.

그럼 이 네임 변수는 어디서 가져오나?

BP_damageInfo

BP_damageInfoAttack 이라는 변수에서 가져온다.

BP_damageInfoBP_BaseAbility를 상속받는 기술들에서 찾을 수 있다.

아래 이미지의 빨간 것들이 BP_damageInfo다.


여기서 사용한 AttackDamager를 만들 때 설정한다.

여기서 Attack 네임을 설정해준다.

이걸 부모인 BP_BaseAbility에서 사용하기 위해 Construction Script 에서 Get All Child Actors 로 찾는다.

그 뒤 damageInfo의 Attack을 Attacks에 넣는다.

This post is licensed under CC BY 4.0 by the author.