##本作業について
タイトル通り、settings.jsonの内容を書き換えることにより、システムの設定を色々変更します。
例えば、以下のようなことができます。
・SimModeSelecter実行時にモード選択を省略できる。
・シミュレート時の下に表示されるモニター画面3つをデフォルトでOFFにできる
・画面にノイズを入れられる
##settings.jsonについて
実は我々が初めてAirSimを実行したタイミングで、「ドキュメント」中に「AirSim」という名前で生成されているフォルダがあります。
この中に入っている「settings.json」が目的のファイルです。
Visual Studioなどで開くことができます。
もしも、初期化したくなった場合は、このファイル自体を削除してください。
そうすれば、AirSimを次に起動した時に、自動で新たなsettings.jsonを生成してくれます。
######注意!
このファイルの記述を誤ると、SimModeSelecter実行時にUnityがクラッシュします。
尤も、エラーが出た直後であれば、実行停止によってクラッシュを回避できるはずです。
このファイルの記述に関するエラーはUnity本体では認識できないため、実行していない状態ではエラーとして表示されません。
実行時にAirsimから警告される形となるため、このような挙動となります。
##作業内容
まずは公式サイトの解説を見てください。
必要なことは全て書いてあります。(英語ですが…)
一番重要なことは、公式サイトに書いてある通り**「全部コピペしてもエラーになる」**ということです。
横着せずに必要な機能を1つ1つ選んでコピペしましょう。
最も皆さんが使用するであろう「モード選択を省略する」だけは説明して、その他の機能は紹介に留めておきます。
###モード選択を省略する
"SimMode": ""という記述があると思います。
これを"SimMode": "Multirotor"に変更してください。
##機能紹介
公式ページの機能を日本語で軽く説明しておきます。(私がわかる範囲でですが)
公式ページで「名前」の欄で目当ての物を検索すれば、必要なコードが分かります。
| 名前 | 機能 | 
|---|---|
| SimMode | シミュレーションで使うモードを固定します。"Multirotor"にすればドローンモードを設定できる。 | 
| ViewMode | カメラの位置と挙動を決めます。デフォルトは"FlyWithMe" | 
| TimeOfDay | 時間経過で太陽の位置を変化させます。 | 
| OriginGeopoint | 緯度/経度/高度を設定します。TimeOfDayと併用する。 | 
| SubWindows | モード起動時に下にある3つのウィンドウの設定を行えます。"Visible": falseにすれば、起動時に見えなくなります。 | 
| Recording | 右下の録画ボタンからできる録画の挙動を設定できます。 | 
| ClockSpeed | シミュレータの速度を変えます。ドローン自体ではなく、全体の速度が変わります。スピードを上げると衝突に関する機能が使えなくなる点に注意。 | 
| Segmentation Settings | 「オブジェクトIDの初期化方法を決める」らしいのですが、イマイチ使い道がわからないです… | 
| Note on ImageType element | ?(カメラ設定の一部) | 
| CaptureSettings | ?(カメラ設定の一部) | 
| NoiseSettings | 様々な種類のノイズを付加できます。 | 
| Gimbal | カメラの回転を防止する機能です。3軸を個々に設定できます。 | 
| Vehicles Settings | (ドローン)本体に関する様々な設定を変更する。PX4は自動操縦をしたい方向け。 | 
| EngineSound | エンジン音を鳴らすかどうか(車専用) | 
| PawnPaths | (Unityでは使用不可?) | 
| PhysicsEngineName | 別の物理エンジンを使用する(車専用) | 
| LocalHostIp Setting | リモートマシンを使用する時、IPアドレスを設定する。 | 
| SpeedUnitFactor | 速度を表示します。単位はm/s | 
| SpeedUnitLabel | 速度の単位を変更します。SpeedUnitFactorと併用。 |