Unity | 유니티/Unity 버그 수정 일지

[Unity] BG Database 사용 방법(1)

maintain_H 2022. 11. 24. 16:40
반응형

 회사에 들어오기 전에 회사에서 현재 진행 중인 프로젝트 기능 구현을 외주를 맡겼었다.

외주를 받은 사람이 BGDatabase를 사용해 구현해놨는데, 처음 쓰는 에셋이여서 당황했다.

내가 구현한 것이 아니라서 처음부터 2주에 걸쳐 수정했다.

일단 문제가 인벤토리 구현이었는데 외주 받은 사람이 인벤토리 구현을 이렇게 해놨었다.

예를 들어 사과3개가 있다면 일반적으로 사과하고 개수가 표시가 되어야 하는데,

사과, 사과, 사과 이렇게 나왔다. 그 외에도 많은 문제들이 있었는데.. 

.

 

 그래서 여기 저기 구글링하고, 레퍼런스 읽어보면서 하나하나 실험하면서 데이터베이스를 싹 갈아엎었다.

BGDatabase를 사용하는 분들이 나처럼 많은 시간을 쏟지 않고 편하게 사용하길 바라면서 내가 알아낸 BGDatabase 사용 방법을 공유한다.

무작정 만져보고 터득한 방법이라 부족하더라도 이해바랍니다..!!

 

[BGDatabase란?]

Unity 게임 내 데이터를 위한 확장 가능한 데이터베이스이다.

Excel 및 Google 시트로 쉽게 내보내고 가져올 수 있다. 

 

- 에셋스토어 링크

https://assetstore.unity.com/packages/tools/integration/bg-database-112262

 

BG Database | 기능 통합 | Unity Asset Store

Use the BG Database from BansheeGz on your next project. Find this integration tool & more on the Unity Asset Store.

assetstore.unity.com

BG Database는 알아서 코드도 생성해주고 사용방법만 알면 생각보다 사용하기 편한 에셋이다.

무료로도 사용할 수 있지만 유료 기능에서는 Addons를 사용할 수 있다.

 

Addons에는 CodeGen이라는 기능이 있는데 이게 완전 꿀이다.

CodeGen은 데이터베이스를 생성하면 알아서 코드를 짜주는 기능이다.

 

 

[BGDatabase 사용 방법]

 

1) 데이터 베이스 생성

Window -> BGDatabase 를 눌러서 BGDatabase를 연다.

Database를 새로 만드는 것이기 때문에 Create new database file>>을 눌러준다.

 

Loader를 Resources로 설정한다.

Custom으로 하면 코드 직접 구현해야 한다고 한다.

 

그리고 위치를 미리 만들어 놓은 Resources 폴더로 지정한다.

그리고 Create를 눌러주면

BGDatabase 윈도우가 뜨고, 아까 지정한 Resources 폴더 밑에 bansheegz_database.byte 파일이 생성된다.

 

 

2) 플레이어 데이터 생성

이제 데이터를 만들어보자.

 

처음엔 아무 데이터가 없어서 이렇게 No data라고 뜬다.

 

데이터를 생성하기 위해 Configuration을 누르고, +를 눌러 Add meta를 띄운다.

Meta name에 이름을 넣고, Add 버튼을 눌러 추가한다.

나는 PlayerData를 저장할 거라서 이름을 PlayerData로 지정했다.

 

짠 이렇게 PlayerData가 생성되었다.

이렇게 변경사항이 있으면 위에 Repo is modified라고 수정됐다고 뜨는데, 웬만하면 바로바로 Save All을 눌러주자.

안 눌러서 다시 만든 적 있어서 그런 거 아님.

 

이제 PlayerData에 Data를 넣기 위해 + 버튼을 누른다.

 

그러면 이렇게 Add field to 창이 뜨는데 여기서 이름을 넣고, type을 선택해준다.

field type filter에 찾는 type을 넣으면 바로 찾아준다.

 

돈이 제일 중요하기 때문에 gold를 먼저 추가해준다.

저렇게 이름을 넣고, 자료형을 선택 후 Add field를 눌러준다.

 

그러면 이렇게 gold가 int 형태로 생성된 것을 볼 수 있다.

바로 Save All을 눌러준다.

 

PlayerData에 저장할 gold를 만들었다.

 

3) Entity 추가

놀랍게도 저렇게만 하면 데이터를 불러올 수가 없다..!!

다시 Database로 돌아와 +를 누른다.

 

그러면 이렇게 PlayerData0이 생성된다.

잊지 않고 Save All을 눌러준다. 

 

4) Code Generation 사용하기

이제 만든 데이터를 게임에서 불러오고, 저장할 수 있게 설정해야 한다.

Code Generation은 데이터에 빠르고 편하게 접근할 수 있게 지원해준다.

 

Code generator은 Use default를 눌러 자동으로 생성해준다.

Source File은 빈 스크립트(.cs)파일을 선택해준다.

Class names prefix는 클래스 앞에 붙일 문자를 쓰면 된다. 보통 DB_, BG_, B_ 등 짧은 문자를 넣는다.

Field names prefix는 필드 이름 앞에 붙일 문자를 쓰면 된다.

Entities prefix는 Entity 앞에 붙일 문자를 쓰면 된다.

 

다 안 적어도 크게 상관없지만, class에는 붙여주는 것이 좋다.

 

 

그리고 Save All을 누르고 Generate를 누르면 Code Generation 설정 끝!

 

이 창이 뜨면 성공적으로 완료된 것이다.

 

 

아까 만든 source.cs를 열어보면 이렇게 PlayerData에 gold가 추가된 것을 볼 수 있다.

나는 Class names prefixdp DB_를 넣어서 PlayerData 앞에 DB_가 붙었다.

 

이러면 BGDatabase를 사용하기 위한 기본적인 설정이 완성됐다!!

그럼 다음 글에서 이걸 이용해서 데이터 저장, 불러오기 등을 작성하겠습니다 ~.~

 

 

 

반응형