UnityでAssetフォルダにない画像ファイルを読み込む

2020年2月5日  2020年6月13日 
UnityでAssetフォルダにない画像ファイルを読み込む方法を調べました。
この方法を知っておくと、ユーザーが作成した画像やスクリーンショットの表示など様々な場面で役に立ちそうです。

Assetフォルダにない画像ファイルを読み込む方法


下記のスクリプトでAssetフォルダにない画像ファイルを読み込むことができます。

using UnityEngine;
using System.IO;

public class Sample : MonoBehaviour
{
    public Texture2D LoadTexture(string imagePath)
    {
        // ファイルがない場合はnullを返す
        if (!File.Exists(imagePath))
        {
            return null;
        }

        // ファイルを読み込む
        var fileData = File.ReadAllBytes(imagePath);
        var tex = new Texture2D(2, 2);
        var success = tex.LoadImage(fileData);

        // ファイルをロードできない場合はnullを返す
        if (!success)
        {
            return null;
        }

        return tex;
    }
}

LoadTextureの使い方


LoadTextureメソッドの使い方は下記の通りです。

パラメータとして読み込みたいファイルパスを渡します。

var imagePath = Path.Combine(Application.dataPath, "ImageToLoad.png");
var tex = LoadTexture(imagePath);

環境


Windows 10 Pro
Unity 2019.3

ー記事をシェアするー
B!
タグ

コメント

このブログを検索

自己紹介

自分の写真
yayao
Unityを使って、モバイルゲームを作っています。
人気の投稿