Unity의 ScriptableObject와 똑같은 포지션이다.
Asset으로 관리되는 DataTable이고 자체적으로 직렬화돼있어 관리가 편하다
하지만, 소규모의 데이터테이블로는 사용하기 좋지만 전투나 아이템과 같은 대규모 데이터의 경우에는 UI적으로 관리하기가 어렵다.
1. Structure 생성
2. Structure에 필드 추가
각각의 필드들은 DataTable의 Column이 된다.
3. DataTable 생성
DataTable을 추가하면 Structure를 선택할 수 있다. 미리 만들어 놓았던 CreatureData Structure를 지정한다.
미리 만들어 놓았던 Structure의 필드들이 Datatable의 Column이 된 모습이다.
Row Name은 Key가 된다.
4. Data Table에 Data추가
Row Name(Knight) 키값에 따른 Structure의 필드들에 Value(flipbook)를 추가한다.
5. BluePrint에서 사용하기
제일 하위에 Get Data Table Row 노드를 가져온다.
해당 노드에서 만들어 두었던 CreatureDataTable을 가져오고, Row Name(Key)를 지정하여 데이터를 가져온다.
Row Found는 값을 찾은 경우 이어줄 Pin , Row Not Found는 값을 찾지 못하여 에러 처리를 위한 Pin이다.
Out Row에서는 결과값을 리턴해주며 Split Struct Pin으로 분리도 가능하다.
이제 VCreatureData Structure 타입으로 Data라는 이름의 변수를 추가하였으며,
Event BeginPlay로 게임이 시작되면 바로 Data 변수에 Knight에 대한 DataTable을 Set해준다.
기존에는 Select문에서 직접 FlipBook을 추가해주었다면
이제는 Data 변수에서 Get을 해와서 Select에 연결시켰다.
이제 FlipBook을 Select 노드에서 직접 바꾸는 것이 아니라
DataTable로 관리할 수 있다.
'게임엔진 > Unreal' 카테고리의 다른 글
[블루 프린트] 상속 (0) | 2024.06.17 |
---|---|
[블루 프린트] 객체(Actor) 이동 (0) | 2024.05.05 |
[블루 프린트] Enum (0) | 2024.05.05 |
[블루 프린트] 상태에 따라 분기 나누기 Switch와 Select 노드 (0) | 2024.01.31 |
[블루 프린트]입력 이벤트 여러가지 방법 (0) | 2024.01.30 |