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
Unity 2019.3にアップデートすると、Unityは「XR Legacy Input Helpers」というパッケージを自動的にインストールしたようです 参照画像を参照 、パッケージマネージャーを開いてパッケージを更新し、パッケージを更新しようとしましたが、これによりエラーがさらに発生しました。
何も使用していないためパッケージの削除が機能することがわかり、Unityがパッケージをインストールした理由がわかりません。もしこのパッケージを使っていたら、どうしたらいいのか分かりません。
問題の解決策を見つけてくれた@BugFinder&と@Ankitに感謝します。
プロジェクトを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
に言及している行を削除し、ファイルを保存します。