web-dev-qa-db-ja.com

Unity 2019.3にアップデートした後、Unity WebGLをコンパイルできません

Unity 2019.2プロジェクトを持っていますが、Unity 2019.3に更新しました。プロジェクトを開くときにエディターにエラーはありませんでした。exe形式でWindowsデバイスにビルドすることもできます。だから私はいくつかの機能を開発し始めました、すべてがうまくいきました、それはまだWindowsの上に構築されます。プラットフォームをWebGLに切り替えようとしています。すべて問題ないようです。プロジェクトを実行することもできます。しかし、ビルドを押すとすぐに、次のエラーが発生します:(各エラーは行で区切られています)

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(185,13): error CS1069: The type name 'PoseData' could not be found in the namespace 'UnityEngine.XR.Tango'. This type has been forwarded to Assembly 'UnityEngine.ARModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Enable the built in package 'AR' in the Package Manager window to fix this error.

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(186,17): error CS0103: The name 'TangoInputTracking' does not exist in the current context

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(186,91): error CS0103: The name 'PoseStatus' does not exist in the current context

Error building Player because scripts have compile errors in the editor

Build completed with a result of 'Failed'
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityEditor.BuildPlayerWindow+BuildMethodException: Error building Player because scripts have compile errors in the editor
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00275] in <6f28216fea9f453abf2e05b770ed3ee4>:0 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <6f28216fea9f453abf2e05b770ed3ee4>:0 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

WebGLでビルドしようとした後、エディターでプロジェクトを実行できなくなりましたが、プラットフォームをWindowsに戻すとエラーが消え、エディターでプロジェクトを実行してWindows用にコンパイルすることもできます。しかし、WebGLに切り替えてコンパイルしようとすると、再び壊れます。

Unity 2019.3が現在パッケージに基づいている方法に何らかの関係があるようですが、UIの問題なのか、入力システムの問題なのか、その他の無限の問題なのかはわかりません。他の誰かがエラーを解読して解決策を提供できますか?

編集:パッケージマネージャーでUnity XRを更新しようとすると、次のエラーが発生しますが、今回は、プラットフォームを切り替えずにビルドするのではなく、エラーが発生します。

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(188,13): error CS1069: The type name 'PoseData' could not be found in the namespace 'UnityEngine.XR.Tango'. This type has been forwarded to Assembly 'UnityEngine.ARModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Enable the built in package 'AR' in the Package Manager window to fix this error.

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(189,17): error CS0103: The name 'TangoInputTracking' does not exist in the current context

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs(189,91): error CS0103: The name 'PoseStatus' does not exist in the current context
2
Jhon Piper

Unity 2019.3にアップデートすると、Unityは「XR Legacy Input Helpers」というパッケージを自動的にインストールしたようです 参照画像を参照 、パッケージマネージャーを開いてパッケージを更新し、パッケージを更新しようとしましたが、これによりエラーがさらに発生しました。

何も使用していないためパッケージの削除が機能することがわかり、Unityがパッケージをインストールした理由がわかりません。もしこのパッケージを使っていたら、どうしたらいいのか分かりません。

問題の解決策を見つけてくれた@BugFinder&と@Ankitに感謝します。

2
Jhon Piper

プロジェクトを2019.1から2019.3にアップグレードした後、次のエラーも発生しました

Library\PackageCache\[email protected]\Runtime\TrackedPoseDriver\TrackedPoseDriver.cs

ジョンパイパーの回答と同様に、com.unity.xr.legacyinputhelpersへの不要な依存関係が追加されていることがわかりました。

私の解決策はこの依存関係を削除するでした。パッケージマネージャーを使用する代わりに、これを手動で行うこともできます。これに必要な手順は次のとおりです。

1-開くprojectfolder/ Packages/manifest.json

2-次のようなものが表示されます。

{
  "dependencies": {
    "com.unity.2d.Sprite": "1.0.0",
    "com.unity.2d.tilemap": "1.0.0",
    "com.unity.ads": "2.0.8",
    ...
  }
}

3-このファイルで、パッケージcom.unity.xr.legacyinputhelpersに言及している行を削除し、ファイルを保存します。

2
Markus Weninger