낑깡의 게임 프로그래밍 도전기

Unity C# : TriLibCore 사용 시 로드 파일 경로 반환 - 상편 -(StandaloneFileBrowser / UnityEditor) 본문

Unity C#

Unity C# : TriLibCore 사용 시 로드 파일 경로 반환 - 상편 -(StandaloneFileBrowser / UnityEditor)

낑깡겜플밍 2024. 6. 10. 14:42
반응형

TriLibCore를 사용한다면 StandaloneFileBrowser가 포함되어있어 약간의 스크립트 수정으로 파일 경로를 불러오는 기능을 활용할 수 있다.

 

 

우선 Assets > TriLib > TriLibStandaloneFileBrowser > StandaloneFileBrowser > TriLib 폴더에 들어가서 AssetLoaderFilePicker.cs 스크립트를 연다.

 

 

수정할 곳은 OnItemsWithStreamSelected 함수이다.

if문 조건 추가 및 foreach문 추가

유료 패키지라 함수명과 추가한 코드를 제외하고는 블러처리 하였다. 사용하시는 분이라면 바로 알 수 있음!

 

 

간단한 코드인데 반나절을 헤메었다. StandaloneFileBrowser 라는 패키지도 깔아보고 이미 내포된 기능이라는 것을 깨닫고 어느 부분에서 작동해야 좋을지 코드를 타고타고 가느라 우여곡절을 겪었다

 

 

 TriLibCore를 쓰는 사람이라면 파일 경로 출력을 하려고 StandaloneFileBrowser를 깔았다간 충돌이 나는 모습을 볼 수 있을 것이다.

 TriLibCore가 StandaloneFileBrowser를 가지고 있어서 기존 스크립트의 StandaloneFileBrowser키워드가 혼란을 일으킨 것이다. (LoadModelFromFilePickerAsync 함수 내부를 보면 StandaloneFileBrowser 키워드가 있는 것이 보인다.)

 

반응형

 

 참고로 유니티 에디터 기능을 사용한 파일경로 출력은 실행파일에서는 쓸수 없는 기능이므로 개발시 디버깅 확인용으로 밖에 쓸 수 없다.

* 그 용도로 필요하신 분을 위한 예시코드 추가

using UnityEngine;
using System.IO;
using UnityEditor;

public class FileLoader : MonoBehaviour
{
    public string filePath; // 파일 경로를 저장할 변수

    void Start()
    {
        // 파일 다이얼로그를 열어 파일을 선택하고 그 파일의 경로를 가져옴
        filePath = UnityEditor.EditorUtility.OpenFilePanel("Open File", "", "");

        // 선택한 파일의 경로를 콘솔에 출력
        Debug.Log("File Path: " + filePath);

        // 파일이 존재하는지 확인할 수도 있습니다.
        if (File.Exists(filePath))
        {
            // 파일이 존재하면 추가적인 작업을 수행할 수 있습니다.
            Debug.Log("File exists!");
        }
        else
        {
            Debug.Log("File does not exist!");
        }
    }
}

에러가 난다면 UnityEditor 네임스페이스를 추가해보기!

 

 UnityEditor 네임스페이스를 사용하기 위해서 using namespace UnityEditor; 선언을 한 스크립트는 Project 뷰 내 Editor 폴더 내에 모두 넣어두어야 한다는 글을 보았는데 그냥 일반 스크립트에서 해보아도 작동이 잘 되었다. 이 부분은 프로젝트를 진행하시는 분마다 확인이 필요할 듯하다.

 

 

 

라고 말하고 포스팅 하였지만 다음날 더 쉬운 방식을 찾았다...

https://22gp.tistory.com/145

 

Unity C# : TriLibCore 사용 시 로드 파일 경로 반환 (StandaloneFileBrowser / UnityEditor) -하-

https://22gp.tistory.com/143 TriLib > TriLibStandaloneFileBrowser > StandaloneFileBrowser > Tr" data-og-host="22gp.tistory.com" data-og-source-url="https://22gp.tistory.com/143" data-og-url="https://22gp.tistory.com/143" data-og-image="https://scrap.kakaoc

22gp.tistory.com

 

반응형