【Unity】サーバーからローカルに画像を落として利用する方法


プロジェクトの中にリソースを含めたくないとか、データの更新するために外部化したいみたいなときに
画像データをダウンロードして利用すると便利です

Unityでは【Application.persistentDataPath】で開かれるディレクトリに保存することで利用可能です
Windowsで開発しているならば、実際にデータを放り込んでダウンロード後の扱いについても簡単にチェック出来ます
下のソースはサーバーからダウンロードして、ローカルに保存する処理です。
StartCoroutineを使って呼び出せば簡単にダウうロードすることが出来ます。
_strUrl     :サーバーへのURL
_strLocalPath :ローカルパス。相対位置の調整したいときなどに利用
_strFilename  :実際のファイル名。拡張子服務

サンプルコードの中にあるm_bLoadEndはクラスのメンバー変数で、ロード完了通知として利用してます。
(イベント投げるように設定してあればそちらの方がいいかも知れません。)
また、ファイルのアクセスはたまに例外も投げられるので、try-catchで囲んでおくと安心!

ちなみに私はテキスト系や画像は生データ、サウンドファイルはアセットバンドル、という感じで使い分けてます。
いろいろ試してみましたがサウンドファイルはそのままでは扱えないっぽくて、アセットバンドル経由でしかうまく鳴らせませんでした。
だれか偉い人教えて!!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">