質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

Q&A

解決済

1回答

2061閲覧

Unity WebGL でのスクリーンショットの取得、保存について

CrossHorn

総合スコア12

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2017/10/17 12:41

お世話になります。

現在、[ EditorUtility.SaveFilePanel(~) ]と[ Application.CaptureScreenshot(~) ]を使用して
WebGLビルドで生成されたアプリをブラウザで起動、
ブラウザ上でスクリーンショットを取得し、ブラウザを起動しているPC内の
保存場所を指定して保存するということを行いたいと思っているのですが、
UnityにてWebGLのビルドを行う際に
[ error CS0246: The type or namespace name `UnityEditor' could not be found. Are you missing an assembly reference? ]
というエラーが発生しており、[ using UnityEditor; ]とソース内で記載している個所が
問題の様なのですが、ビルドを行う場合、[ UnityEditor ]を使用することはできないのでしょうか。
( UnityEditor が使用できない場合、[ EditorUtility.SaveFilePanel(~) ]が使用できないと思うのですが )
ビルドでエラーが出る以上、スクリーンショットを取るというのは Unity エディタ上でしか行えないのでしょうか。

上記のエラーを回避する方法、もしくは、
WebGLビルドで生成されたアプリでスクリーンショットを取得、ブラウザを起動しているPC内の
保存場所を指定して保存する方法等が御座いましたら
ご教示頂きたく、ご質問させて頂きました。

恐れ入りますが、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

UnityEditorの機能群はエディターの機能を独自に拡張する場合に使うべきもので、実際の実行時には使えないかと思います。エディター用スクリプトは第1章 エディター拡張で使用するフォルダー - エディター拡張入門にあるような方法で実際の実行時には無効になるよう組み込むことになるでしょう。

SaveFilePanelの代替物ですが、Unity - Manual: WebGL: Interacting with browser scriptingによると、jslibファイル内に記述したJavaScriptをブラウザ上で実行させることができるようです(Unity - マニュアル: WebGL: ブラウザのスクリプトと通信を行うではExternalCallExternalEvalについても言及されていますが、これらは現在では非推奨になったようです)。GitHub - gkngkc/UnityStandaloneFileBrowser: A Native file browser for unity standalone platforms(デモ:https://gkngkc.github.io/)ではこの方法でダウンロードさせているようで、ダウンロード部分のJavaScriptコードはこのようになっていました。

投稿2017/10/17 20:53

編集2017/10/17 20:59
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CrossHorn

2017/10/18 09:13

ご回答誠に有難う御座います。 記載して頂いたURL先のサイトよりサンプルプログラムを取得し 必要な処理を現在開発中のアプリに追加し、ビルドを行い 動作確認を行ったところ、 スクリーンショットの取得、ダウンロードフォルダへの 保存等が行えるようになり、 問題となっていた点は解決致しました。 この度はご回答頂き誠に有難う御座いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問