UNITY/Firebase

[Firebase] Unity에서 Firebase storagy에 이미지 파일 업로드하기

멍정 2023. 11. 22. 16:13

멍하

멍정입니다.

게시글 하나로 끝내려고 했는데 아무래도 어려울 것 같아서 돌아온 파이어베이스 2탄입니다.

오늘의 주제는

유니티 이미지 파일을 파이어베이스 스토리지 업로드

입니다.


Firebase Storage

우선 파이어베이스에서 스토리지 설정을 먼저 해줍니다. 좌측바의 빌드에서 storage에 들어가서 시작하기를 눌러줍니다.

저는 빠른 설정을 위해 테스트 모드로 진행하였습니다.

위치설정은 다들 us로 진행한다고 하셔서 그대로 쭉쭉 진행하여 완료해줍니다.

storage 생성 완료!

스토리지 설정 후 저번에 설정하지 않은 google-serivces.json을 받아줍니다.

여기까지하면 firebase 설정 끝!



Unity Firebase Storage setting

유니티로 돌아와서 저번에 다운받은 firebase Unity SDK랑 google-serivces.json설정을 해줍니다.

firebase Unity SDK.zip파일을 풀어서 필요한 패키지를 임포트 해줍니다 

저희는 스토리지를 사용할거니까 스토리지를 임포트해주세요!

 

google-serivces.json파일은 Assets에 넣어주시면 기본적인 준비 완료!

google-serivces.json


유니티 이미지 파이어베이스 스토리지에 올리기

firebase docs 파일

 

Unity용 Cloud Storage로 파일 업로드  |  Cloud Storage for Firebase

Firebase 데모 데이가 시작되었습니다. Google 최고의 기술을 활용하여 AI 기반 풀 스택 앱을 빌드하고 성장시키는 방법에 관한 데모를 시청하세요. 의견 보내기 Unity용 Cloud Storage로 파일 업로드 컬렉

firebase.google.com

사실 유니티도 너무 오랜만이라서 파일 받아오는 형식도 잘 기억이 안나고..

지금 당장 이 기능을 바로 사용할 수 없어서 일단은 버튼에 연결했습니다. 

이미지 파일 하나 만들어서 현재 업로드한 파일이 무엇인지 확인할 수 있게 연결해두었습니다.

//ButtonController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ButtonController : MonoBehaviour
{
    public FirebaseController Firebase;
    public void uploadImage()
    {
        Firebase.PutImage("Assets/Photo.jpg"); //업로드 할 파일의 주소와 이름(?)
        
    }
}

 

//FirebaseController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Firebase.Database;
using Microsoft.Unity.VisualStudio.Editor;
using Firebase.Extensions;
using Firebase.Storage;
using System.Threading.Tasks;
using UnityEditor.SceneManagement;

public class FirebaseController : MonoBehaviour
{
    public UnityEngine.UI.Image myImage;
    
    public void PutImage(string IocalFileAddress)
    {
        byte[] byteTexture = System.IO.File.ReadAllBytes(IocalFileAddress);
        Texture2D texture = new Texture2D(0, 0);
        texture.LoadImage(byteTexture);
        FirebaseStorage storage = FirebaseStorage.DefaultInstance;
        StorageReference storageRef = storage.RootReference;
        string localFile = IocalFileAddress;
        StorageReference imagesRef = storageRef.Child(localFile);
        imagesRef.PutFileAsync(localFile);
        myImage.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
        
    }
    
}
코드를 하나하나 설명할 수도 없고.. 아무튼 스토리지에 사진이 잘 올라갔으니 된거 아닐까요?

파이어베이스 스토리지에 이미지 업로드 끝!

'UNITY > Firebase' 카테고리의 다른 글

[Firebase] Unity에서 Firebase 사용하기  (0) 2023.11.22