본문 바로가기
Unreal/Manual

Unreal C++ CSV로 만든 데이터 DataTable로 가져오기

by Dev_카페인 2023. 11. 28.
반응형

[Unreal/C++] CSV로 만든 데이터 DataTable로 가져오기

 

본 게시물에서는 Excel을 이용하여 애니메이션 정보를 가지고 있는 CSV 파일을 만들고 Unreal 임포트를 통해 DataTable로 변환하여 사용하며, 만들어진 DataTable을 C++ 코드로 불러오는 방법을 기술합니다.

 

애니메이션을 위한 CSV 파일을 준비합니다.

A1 컬럼은 비워둡니다. 언리얼 엔진에서 파일을 import 할 때, 첫 번째 컬럼은 건너뛰어 버립니다.

첫 번째 컬럼 값은 Row ID 를 나타내고 데이터 테이블에서 Row 를 구분하기 위해 필요합니다.

Type과 Animation 등 RowName은 C++ 코드에서 struct 변수명으로 사용될 예정입니다.

파일 -> 다른이름으로 저장 -> CSV (쉼표로저장) -> 파일 이름을 적고 저장합니다.

 

액터나 액터 컴포넌트 등 필요에 따른 클래스를 상속받아 클래스를 제작합니다.

#include ".generated.h"와 UCLASS 사이에 해당 구조체를 작성합니다.

이 때 struct는 주의사항이 몇 가지 있습니다.

1. USTRUCT()와 GENERATED_BODY() 가 필요합니다.

2. FTableRowBase를 상속받습니다.

3. CSV 파일에서 정의한 RowName과 변수 이름을 동기화 시킵니다.

4. #include "Engine/DataTable.h" 헤더파일을 포함합니다.

클래스에는 구조체와 데이터 테이블을 포함합니다.

 

작성이 완료되면 CSV파일 임포트를 위해 컴파일을 해줍니다.

 

언리얼 콘텐츠 브라우저에서 임포트를 누르고 해당 CSV 파일을 선택합니다.

임포트는 DataTable로 하고 데이터 테이블 행 타입은 작성한 구조체로 설정합니다.

 

임포트가 완료되면 DataTable파일이 생성되고 정상적으로 데이터가 들어왔는지 확인합니다.

 

작성한 코드의 DataTable을 에디터나 코드를 작성하여 설정해줍니다.

BeginPlay에서 데이터를 확인해봅니다.

 

 

 

 

 

UDataTable::CreateTableFromCSVString

Create table from CSV style comma-separated string.

docs.unrealengine.com

 

반응형