
最近Unityで「UnityML-Agents 実践ゲームプログラミング」に沿ってAI使用でのロボット用プログラミングに励んでいたのですが、なかなかつまずくところも多く記憶に残っているものを備忘録もかねて載せていきたいと思います。
9章で実行時に以下のようなオブジェクトの参照がオブジェクトのインスタンスに設定されていませんというエラーが発生しました。
NullReferenceException: Object reference not set to an instance of an object
RollerAgent.CollectObservations (Unity.MLAgents.Sensors.VectorSensor sensor)
原因は、「CollectObservations」 で観察項目を追加しているにも関わらず、「BehaviorParameters」の「VectorObservation」の「SpaceSize」が0になっていたというものでした。
「BehaviorParameters」の「VectorObservation」の「SpaceSize」は観測する項目数と同じかそれ以上にする必要ありということです。
「BehaviorParameters」の「VectorObservation」の「SpaceSize」を「CollectObservations」 で追加した観察項目数と同じにすることでエラーはなくなりました。
以上が、「Unity ROS ロボットプログラミング実践入門」で「UnityException: Tag: t4u_Magnet is not defined.」のエラーが発生した時の対応方法になります。
関連記事:
【Unity】Unityで親オブジェクトにアクセスする方法 - Django Girls and Boys 備忘録
【Unity】Unityで背景を設定する方法 - Django Girls and Boys 備忘録
【Unity NavMesh】NavMeshObstacleを追加する方法 - Django Girls and Boys 備忘録
【Unity】NavMesh、NavMeshAgentの使用方法 - Django Girls and Boys 備忘録
【Unity】オブジェクトの影をなくす方法 - Django Girls and Boys 備忘録
【Unity】オブジェクトの影(シェイド)を消す方法 - Django Girls and Boys 備忘録
【Unity】「Unityの教科書」 初心者から中級者まで、ゲーム開発の頼れるガイド - Django Girls and Boys 備忘録
【Unity】「ML-Agents 実践ゲームプログラミング」でPyTorchのインストール時にエラーが発生した時の解決方法 - Django Girls and Boys 備忘録
【Unity】ML-Agentsにおけるエピソード完了 - Django Girls and Boys 備忘録
【Unity】『UnityではじめるML-Agents実践ゲームプログラミング』について - Django Girls and Boys 備忘録