Unityを使ってみる その3(ROS#インストール後のAotHelperに関するエラー)

はじめに

 前回の記事でUnityにROS#をインストールし、カメラ映像のSubscribeを試していました。

▼こちらの記事です。

Unityを使ってみる その2(ROS#、カメラ映像のSubscribe)

はじめに  今回はUnityにROS#をインストールし、ROSでPublishされているカメラ映像をSubscribeできるようにしてみました。  ロボットの遠隔操作をするときに用いようと…

 プロジェクトを作成して起動したときは実行できていたのですが、再度プロジェクトを起動したときに問題が起きました。

▼セーフモードで起動し、The name 'AotHelper' does not exist in the current contextというエラーが出ていました。

 この状態だとプロジェクトを起動できません。今回の記事ではこのエラーへの対処について紹介します。

▼以前の記事はこちら

Unreal Engine 5を使ってみる その18(Meta Quest 3S、OpenXR、MetaXR)

はじめに  今回はMeta Quest 3Sを利用した、Unreal Engine 5でのVRについて試してみました。  そもそも私のPCでVRができるのか?を検証したもので、VR関連の機能につい…

Unityを使ってみる その1(Unityのインストール、チュートリアルの確認)

はじめに  今回はUnityをインストールして、チュートリアルを確認してみました。  これまでUnreal Engineも使ったことがあったのですが、ロボットと連携させることを考…

別プロジェクトの作成

 前回作成したプロジェクトが原因なのかと思い、別のバージョンでプロジェクトを作成してみました。

▼Unity 2022.3 LTSをインストールしました。

▼そのバージョンで、VR Multiplayer Templateのプロジェクトを作成しました。

 プロジェクトを起動して、前回の記事と同様の手順でROS#をインストールしました。

▼WindowからPackage Managerを開きました。

▼ROS#を追加しました。

 この状態で一度プロジェクトを閉じ、再度起動してみたところ、同じエラーが起きました。

▼セーフモードで起動し、AotHelper関連のエラーがまた起きていました。

 どうやら再現性のあるエラーのようです。

エラーへの対処

 AotHelperに関するエラーについて調べたところ、情報がありました。

▼以下のページに報告されていた解決策が有効でした。

https://discussions.unity.com/t/aothelper-compilation-error-when-installing-unity-services-packages/924194

 Newtonsoft.JSONで問題が起きているようでした。

▼古いバージョンだとプリインストールされている場合もあるという記述がありました。ROS#自体、Unity 6には完全に対応していないようです。

https://github.com/siemens/ros-sharp/wiki/User_Inst_Unity3DOnWindows

▼Projectの検索欄でIn PackageのNewtonsoft.Jsonを検索すると、複数あります。

 このうち、RuntimeのNewtonsoft.json.dllだけ残して、他のものは削除します。

▼以下のPluginsフォルダ、AOTフォルダに入っていた2つは削除しました。

▼以下のRuntimeフォルダのNewtonsoft.Json.dllだけ残しました。

▼削除後、コンパイルが行われました。

▼その後、プロジェクトを起動することができました!

 この状態でプロジェクトを閉じて再度開いても、問題なく起動できるようになっていました。ファイルを削除するのは一度だけでいいようです。

以前作成したプロジェクトへの対処

 改めて以前開けなくなったプロジェクトを開いてみました。

▼エラーが起きています。

 不要なNewtonsoft.Json.dllを削除しました。

▼以下のRuntimeフォルダのものだけ残しました。

▼問題なく起動することができました!

最後に

 一度エラーの対処をしてから、今のところ何回プロジェクトを再起動してもエラーは起きていません。ROS#は前回の記事でもテクスチャが表示されない問題があったりしたので、他にも問題が残っている可能性はあります。

 やはりUnityでROSを利用できるほかの手段も試すべきなのかなと思っているところです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です