728x90
- 주제
>> 왜 구글 시트를 활용하는가?
>> Unity에서 구글 시트 API 사용 준비
>> Unity에서 HTTP 요청 설정하기
- 공부내용
Unity에서 구글 시트와 연동하여 데이터를 읽고 쓰는 작업은 게임 데이터를 동적으로 관리하고 실시간으로 업데이트하는 데 유용하다. 이번 글에서는 Unity와 구글 시트를 연동하기 위한 기초 개념과 준비 작업을 알아본다.
1. 왜 구글 시트를 활용하는가?
구글 시트는 다음과 같은 장점 때문에 Unity 프로젝트에서 유용하다:
- 클라우드 기반 관리: 어디서나 데이터 수정 가능.
- 실시간 업데이트: 별도의 코드 배포 없이 데이터 업데이트.
- 협업 용이: 팀원이 동일한 데이터를 쉽게 편집 가능
2. Unity에서 구글 시트 API 사용 준비
Unity와 구글 시트를 연동하려면 Google Apps Script를 활용하여 API를 설정해야 한다.
2-1. 구글 시트 생성
- 새 구글 시트를 열고 데이터를 저장할 테이블 형식을 만든다.
- 예: Name과 Score 열을 포함.
2-2. Google Apps Script 설정
- 구글 시트의 도구 > 스크립트 편집기를 클릭.
- 아래 코드를 입력하여 API를 설정한다.
function doGet(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data');
const action = e.parameter.action;
if (action === 'load') {
const rows = sheet.getDataRange().getValues();
const json = rows.map(row => ({ name: row[0], score: row[1] }));
return ContentService.createTextOutput(JSON.stringify({ data: json }))
.setMimeType(ContentService.MimeType.JSON);
}
if (action === 'overwrite') {
const names = e.parameter.names.split(',');
const scores = e.parameter.scores.split(',');
sheet.clearContents();
for (let i = 0; i < names.length; i++) {
sheet.appendRow([names[i], scores[i]]);
}
return ContentService.createTextOutput('success');
}
}
2-3. 스크립트 배포
- 배포 > 웹 앱으로 배포를 선택.
- 애플리케이션 액세스를 모든 사용자로 설정하고 URL을 복사.
3. Unity에서 HTTP 요청 설정하기
Unity에서 데이터를 요청하기 위해 UnityWebRequest를 사용한다.
아래는 HTTP 요청을 위한 기초 코드를 작성한 예제다:
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
public class GoogleSheetLoader : MonoBehaviour
{
private string sheetUrl = "https://script.google.com/macros/s/your-deployed-url/exec";
public void LoadDataFromSheet()
{
StartCoroutine(LoadDataCoroutine());
}
private IEnumerator LoadDataCoroutine()
{
string loadUrl = $"{sheetUrl}?action=load";
UnityWebRequest request = UnityWebRequest.Get(loadUrl);
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
Debug.Log($"Data Loaded: {request.downloadHandler.text}");
}
else
{
Debug.LogError($"Failed to load data: {request.error}");
}
}
}
이제 Unity에서 데이터를 불러오는 준비가 완료되었다.
다음 글에서는 Unity에서 구글 시트 데이터를 실제로 불러오고 처리하는 방법에 대해 알아본다.
728x90
반응형
'유니티' 카테고리의 다른 글
Day 55 - Unity에서 구글 시트 데이터 수정 및 업데이트 (2) | 2024.12.12 |
---|---|
Day 54 - Unity로 구글 시트 데이터 불러오기 (2) | 2024.12.12 |
Day 52 - 멀티플레이 서버 리소스 관리 전략 (2) | 2024.12.11 |
Day 51 - 멀티플레이 사용자 데이터 저장 및 로드 전략 (0) | 2024.12.10 |
Day 50 - 멀티플레이 실시간 랭킹 시스템 구현 (0) | 2024.12.10 |