0 支持
1.9k 閲覧
unityroomにアップロードをしようとしましたが、実行すると以下のエラーが出て困っています。(2019.1.5f1)

Development build ありの場合:

An error occurred running the Unity content on this page, See your browser javascript console for more info. The error was : Uncaught RuntimeError: memory access out of bounds

Development build なしの場合:

An error occurred running the Unity content on this page, See your browser javascript console for more info. The error was : abort(273)at  Error

at jsStackTrace(新しいフォルダー.wasm.framework.unityweb:8:22477)....

よろしくお願いします。
閉鎖
初心者 (160 ポイント) | 1.9k 閲覧

回答 1

+2 支持
ベストアンサー

Unity 2018.2〜Unity 2019.4の場合は下記を順にご確認ください。

  1. Unityエディタ上で再生ボタンを押し、問題なく遊べるか。コンソールウィンドウに赤い文字でエラーが表示されていないか。
  2. Build SettingsでプラットフォームをWebGLに切り替えてBuildを押し、エラー等表示されずにビルドが成功するか。
  3. 出力されたBuildフォルダを開き、名前にwasmを含むファイルが出力されていることを確認。
    例:XXXXX.wasm.framework.unityweb など
  4. もしwasmではなくasmが出力されていた場合、以下を行ってください。
    1. プロジェクトフォルダにある ProjectSettings/ProjectSettings.asset をVSCodeなどのテキストエディタで開きます。
    2. "webGLLinkerTarget: 0" という行を探し、0を1に書き換えて保存します。(0はasm、1はwasmです)
  5. もう一度Build Settingsを開き、Build And Runを押す。ブラウザで問題なく遊べることを確認。(wasm形式のファイルが出力されていることを確認)
  6. unityroomのWebGL設定画面を開き、Unityのバージョンを正しく選択する。
    (2018.2〜2019.4を選んだ場合、wasm形式をアップロードすることになります)
  7. unityroomのWebGLアップロード画面を開き、拡張子を間違えないようにファイルを選択してアップロードする。(ファイル選択間違いによる実行時エラーがよくあります)
  8. アップロードが完了したら、ゲーム画面を開き、スーパーリロードを行う。(キャッシュ対策)
    1. WindowsのChrome:Shift+F5
    2. MacのChrome:Cmd+Shift+R

もしうまく行かないようであればコメントか追加返信ください。

達人回答者 (8.4k ポイント)
選択
0
ありがとうございます。
wasmファイルはちゃんと出力されていました。
webglにビルドは成功して、index.htmlを通常のブラウザで起動しましたが同じエラーが出て遊べません。
以下、アップロードした作品になります。
https://unityroom.com/games/3dshooting-test
よろしくお願いいたします。
(追記)
空のunity projectで出力しましたが正常に表示されているのでprojectの方に問題があるみたいです。
もしかしたらprojectが重すぎてビルドできないのかもしれません、すみません。
+1
chairoさん>
リンクありがとうございます。見てみました。
ロードは完了してUnityのロゴも表示されるのでビルドとアップロードは成功していますね。
ブラウザのコンソールを見てみると、
"NullReferenceException: Object reference not set to an instance of an object."
と表示されているので、これは実行時のエラーですね。

Unityエディタで再生ボタンを押して実行する(回答の手順1)際、コンソールウィンドウに赤いエラーが表示されていませんか?(Error Pauseをオフにしてあるとエラー出ても無視して動き続けるので気をつけてください)

* もしコンソールウィンドウにエラーが表示されている場合、先にその原因を突き止めて修正する必要があります。
* もしエディタ上でエラーが表示されない場合は、ビルド後のみに発生するエラーということなので原因特定難しそうです・・・(ちょっと私には調べ方分からない)
+2
起動して一番初めに呼び出されるシーン内のオブジェクトに用いられているスクリプトの中に、Awakeの呼び出し順序の問題がコード中にあったりしませんでしょうか?

丁度数日前に同じような事態に陥った際、色々検証した結果がAwakeの呼び出し順序に関係するものだったので、もしかして同じかな?と思いました。
完全に推測でしかないので的外れかもしれませんが、参考程度にどうぞ。
0
ありがとうございます。
うにうにさんとの情報を照らし合わせて調べてみましたが、ひょっとしてwebglではCinemachineは使用できませんか?
Cameraを除くHierarchyにある全てのオブジェクトを削除しましたが上手くいかず、その後Cinemachineを使っているカメラを差し替えたら表示されたので....
追記:
別のscene(CInemachine非使用)では遊べたので、Cinemachineが原因かもしれません。
0
おかげさまで表示できました!!
CameraにCinemachine Brainが付いていたのが原因みたいです。
お忙しい中、ご相談に応じてくださりありがとうございました!
【追記】
今回のエラーの原因は主に二つでした。今後誰かの参考にしていただければ幸いです。
・CameraのInspecterにCinemachine Brainが付いている
・デスクトップでプロジェクトを開いていた(恐らく全角日本語なのが原因)
ChinemachineBrainを削除し、Cドライブ直下にプロジェクトを写してビルドしたら上手くいきました。
ありがとうございました。
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

175 質問

157 回答

163 コメント

214 ユーザー