上記のようにファイルダイアログを表示させて画像を読み込ませる機能を追加しようとして結構手間取ったのでメモ。 以下で使用しました。
OpenUIEasecheck | フリーゲーム投稿サイト unityroom
下記サイトを参考にしています。ただUnityの新しいバージョンでは少し書き換えが必要 qiita.com
以下に自分が変更した箇所と注意点を書きます。
注意点1.Unityでjslibファイルに日本語を(コメントも)書くとエラーの可能性あり
ビルド時に以下のエラーが発生
どうも関数に日本語が入っているとダメっぽい?
参考サイト qiita.com
注意点2.jslibファイルでunityのcanvasidが#canvasからunity-canvasに変更
unityのcanvas id の定義がある時期を境にunity-canvasに変更されている。
そのためcanvasidを利用したコードは必要に応じて#canvasからunity-canvasに変更する必要がある。
このidの場所については
インストールしたUnityのバージョンフォルダの
Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates\Defaultのアドレスにある、
index.htmlファイルを見ることで確認できる。
参考サイト qiita.com
メモ WWW形式は旧形式とかでるのでUnityWebRequestでやってみようとしたのですが、texture2dのところがうまくいかなかったのでWWW形式のままで行いました。
追記:rawimage にすると
UnityWebRequest uwr = UnityWebRequestTexture.GetTexture(url);
rawimage.texture = ((DownloadHandlerTexture)uwr .downloadHandler).texture;
でよりシンプルになるが、ImageとRawimageどちらを使うのがいいのかいまいち分からない。
変更後のコード