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

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

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

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

WebGL

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

Q&A

解決済

1回答

2030閲覧

Unity:webglにてエクスポートのエラー

Reika

総合スコア21

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

WebGL

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

0グッド

0クリップ

投稿2018/11/24 12:28

前提・実現したいこと

UnityのWebGLのエクスポートのやり方について質問させてください。

エクスポートするときに1つのScriptがエラーが出ました。そのエラーを取り除いでエクスポートしたいです。
タイトルのSceneのスタートボタンと終了ボタンのScriptなのですが、どうしたらいいでしょうか?

使用しているUnityのバージョンはUnity 2018.2.17fです。

作成している方法は以下の通りです。
0. スタートボタンと終了ボタンを作成する
1.スタートボタンと終了ボタンのScript(GameSystem.cs)を作成。
2.そのScriptをCreatEmptyに適用させる。
3.そのCreatEmptyを作成していたボタンのButton(Script)の中のOn Clickの所を追加し、Rentime OnlyをEditor And Runtimeに変更し、そこにCreateEmptyを入れ、選択するところをGameSystem,GameStartにする。

この操作でプレイすると実行はされます。

下記に4つのエラーメッセージを載せておきますので、だれか分かる方お願いします。

発生している問題・エラーメッセージ

Assets/GUI/GameSystem.cs(16,21);errorCS0234:The type or namespace name`EditorApplication`does not exist in the namespace`UnityEditor`.Are you missing an assembly reference? Error building Player because script had compiler errors Build completed with a result of `Failed` UnityEngine.GUIUtility:ProcessEvent(Int32,InPtr) UnityEditor.BuildPlayerWindow+BuildMethodException:2 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer(BuildPlayerOptions options)[0x0021f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethod.cs:187 at UnityEditor.BuildPlayerWindow+CallBuildMethod(Boolean askForBuildLocation,BuildOptions defaultBuildOptions)[0x0007f]in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethod.cs:94 UnityEngine.GUIUtility:ProcessEvent(Int32,InPtr)

該当のソースコード

C#

1using System.Collections; 2using UnityEngine; 3using UnityEngine.SceneManagement; 4 5public class GameSystem : MonoBehaviour{ 6 7//スタートボタンを押したら実行する 8public void GameStart(){ 9SceneManager.LoardScene("Main"); 10} 11 12//終了ボタンを押したら実行する 13public void GameEnd{ 14UnityEditor.EditorApplication.isPlaying = false; 15Application.Quit(); 16} 17 18} 19

試したこと

エラーが出ているScriptをEditorというフォルダに入れたらいいというサイトを見つけたので、実行しました。ただ、その場合エラーは消えたのですがScriptの内容が実行できなくなりました。ボタンを押しても反応しません。

補足情報(FW/ツールのバージョンなど)

フォルダの関係は以下の通りです。
Assets
↳GUI
↳Title
↳GameSystem.cs

試したときのEditorの位置
Assets
↳Editor
↳GameSystem.cs

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

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

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

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

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

guest

回答1

0

ベストアンサー

これが原因かどうかは分かりませんが、UnityEditor以下の機能は、エディタ上で動作することを想定しており、ビルド後は使用できません。
以下のようにエディタ以外では、UnityEditor.EditorApplication.isPlaying = false;を無効にしてみるとどうでしょうか。

C#

1//終了ボタンを押したら実行する 2public void GameEnd() { 3#if UNITY_EDITOR 4 UnityEditor.EditorApplication.isPlaying = false; 5#endif 6 Application.Quit(); 7}

投稿2018/11/24 12:41

fiveHundred

総合スコア9778

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

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

Reika

2018/11/24 13:03

fiveHundredさん回答ありがとうございます。 教えてもらったScriptで実行したらエラーが減りました! ありがとうございます。 重ね重ね教えてもらえればと思うんですが、1つエラーがありまして、教えてもらえないでしょうか? エラー文 Invaild build path:c:/user/reika/desktop UnityEngine.GUIUtility:ProcessEvent(Int32,IntPtr)
fiveHundred

2018/11/24 13:34

フォルダパスが正しくないというエラーです。 パスが本当に正しいのかチェックしてください。 (usersがuser(sが抜けている)になっているので、そこがおかしいかもしれません) あるいは、C:\直下に新しいフォルダを作ってみるなどして、別のフォルダでやってみるとうまくいくかもしれません。 なお、エラーメッセージは可能な限りコピペしてください。
Reika

2018/11/24 13:37

fiveHundredさん アドバイスありがとうございます。 次からはコピペでやります! 無事できました! なぜだか分かりませんが、エクスポート先をDownloardに変更したら実行できました。 ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問