UnityシーンからUI(ボタン)をクリックしてマップへ戻った際のイベント継続について
この様な設定でUnityシーンを呼び出し
・マップシーンはアンロードしない
・変数は#0002を指定
・Unityシーンから戻った後もイベントが続く
こちら↓のUnityシーンからシーン上のボタンをクリックしてマップへ戻った際に続けてメッセージを表示すると次のようなエラーが出ます
エラー内容はこちら↓
MissingReferenceException: The object of type 'StandaloneInputModule' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Component.GetComponents[T] () (at <f712b1dc50b4468388b9c5f95d0d0eaf>:0)
UnityEngine.EventSystems.BaseInputModule.get_input () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/BaseInputModule.cs:69)
UnityEngine.EventSystems.StandaloneInputModule.GetRawMoveVector () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/StandaloneInputModule.cs:455)
UnityEngine.EventSystems.StandaloneInputModule.SendMoveEventToSelectedObject () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/StandaloneInputModule.cs:483)
UnityEngine.EventSystems.StandaloneInputModule.Process () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/StandaloneInputModule.cs:285)
UnityEngine.EventSystems.EventSystem.Update () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:514)
そもそもとして、Unityシーンを呼び出した後はその時点でイベントを終了させた方がいいのでしょうか?
ちなみに、サンプルの様に時間経過でマップへ戻る場合は続けてメッセージを表示させてもエラーは出ませんでした
-
正式评论
ご報告誠にありがとうございます。
弊社環境でテストしたところ、現象を再現することができませんでした。
Unityシーン側の設定について、詳細をお伺いしてもよろしいでしょうか。お手数をおかけしますが、何卒よろしくお願い申し上げます。
-
返答ありがとうございます
そちらの環境では再現できないという事でしたので
こちらのUnityシーンの設定を報告させて頂きますシーンにあるのはUIのみで背景にイメージとボタンを3つ配置しています
その内のMapへ戻るというボタンを押すとマップシーンへ戻るようにしていますスクリプトはCanvasにアタッチして、各ボタンがクリックされた時にこのスクリプト内のメソッドを実行するようにしています
スクリプトの内容はこの様にしています
確認のため時間経過で戻るようにもしていますが、このコードを追加する前からエラーは出ていますので
この部分は関係ないと思います(最初に投稿している通り、時間経過で戻る場合はエラーになりません)試しに、シーン連携のサンプルにボタンを追加して
ボタンを押してマップに戻るようにした所、やはり同じようにエラーが出ましたボタンがクリックされた時の処理はConnectionUniteTestファイルに追加しました
この状態でUnityシーンからマップシーンへ戻るとイベントの一時中断は問題なく実行されるのに、メッセージの表示を実行するとエラーが出ます
どうか、よろしくお願いします
0 -
詳細な状況のご報告をいただきありがとうございます。
新規追加したシーンのEventSystemを選択してInspectorをご確認いただけますでしょうか。
添付の画像のようにエラー表示がされている場合に、ご連絡いただいた実装でエラーが出ることを確認致しました。
エラーの解消には「Replace with InputSystemUIInputModule」を押してModuleを更新し、シーンを保存してください。EventSystemはUniytのUIのRaycastイベント等を管理するコンポーネントで、シーンにUI要素(UnityEngine.UIのコンポーネント)が追加された際に自動作成されます。
Unity内の旧InputSystemの処理順の整合性に問題があるためと思われますので、現在は新InputSystemを使用することが推奨されています。
(エラーがある状態でも、フラグをセットするなどでUpdate内でシーンを切り替えた場合は正常に戻ることができました)こちらの問題が確認できないようでしたら、引き続き調査をさせていただきますので、恐縮ですが続報をいただけましたら幸いです。
よろしくお願い致します。0 -
教えていただいたとおりにモジュールの更新をしたらエラーが出なくなりました
ご対応ありがとうございます!1
请先登录再写评论。
评论
4 条评论