【Unity】カメラロール/エクスプローラの画像を読み込む

概要

スマートフォン / PC でカメラロール(Finder)から画像を読み込みたい。

unimgpicker-plusというパッケージを使う。スマホ(Android/iOS)のほか、スタンドアロン環境(Windows/Intel Mac/Linux)でカメラロールから画像をアプリ内に読み込むことが出来るUnityの拡張機能である。

最近、WebGLにも対応した様子。



手順

1. 上記のページから、unitypackageをダウンロード

2. 新規プロジェクトを作成

3. 入手したパッケージをプロジェクトにインポート

図1.パッケージの導入
図2.インポートの内容確認


4. 試しに画像とボタンを用意してみる

図3.Imageの作成
図4.Buttonの作成

適当に画面上の位置など整える

図5.整形


5. Assets/Unimgpicker/Prefabs にある “Unimgpicker.prefab” をヒエラルキーに追加

図6.Unimgpicker.prefab

Buttonに “AddImage” というスクリプトを探し出して追加。図7のようにコンポーネントの値を設定

図7.Add Imageの設定


Buttonのイベントも忘れずに登録。On Click() の+ボタンをクリックし、図8のように AddImage.OnPressShowPicker を加える。

図8.イベントの登録



6. 再生ボタンを押すと、ボタンのクリックで画像が読み込めるようになっていることが確認できる。

作成者: rarafy

2013年くらいからUnityを触っているかもしれません。 特に書くこともありませんが、趣味は部屋の掃除です。

6件のコメント

  1. 大変参考になる情報ありがとうございます。
    公開されているunimgpicker-plusですが、WebGLにも対応されていますか?

    1. oplove1994様
      大変励みになるコメント、ありがとうございます。
      少し昔の記事になるので記憶が定かではないのですが、ソースをちょっといじればすぐに対応できたはずです。要望があれば実装する、などと書いた記憶があります(自分のレポジトリですけれども)。
      https://github.com/rarafy/unimgpicker-plus/issues/2

      1. rarafy様

        お返事ありがとうございます。
        当方、iOSデバイス(Safari)でWebGLにて動画ファイル選択したいのですが、
        対応しているアセットが見当たらず、こちらに辿り着きました。

        現状はWebGL非サポートということですね。
        是非サポートして頂きたいのですが、すぐに対応して頂くのは難しいかと思いますので、
        どのあたりを改良するのかアドバイスを頂けないでしょうか。
        よろしくお願い致します。

        1. スクリプト自体は、Unimgpicker/Scriptsに入っているものが全てで、Unimgpicker.csで制御していたかと思います。

        2. ちょっといじってたらなんか動くようになったのでWebGLでも使えるアップデートをリリースしました。最新版はWebGLでも動作します。詳細はIssueをご覧ください。

          WebGL(Windows)では動作を確認しましたが、WebGL(iOS/Android)では未確認です。動くか確かめてから使ってください。
          動いたらレポジトリにスターください。

コメントする

メールアドレスが公開されることはありません。