virt_flyのブログ -19ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑Bombable対応化したYak-3は、Ju EF 128の機関砲が当たれば黒煙をひく様になった

 

<search-order>タグのPREFER_AIって?

 

フライトシミュレーターのFlightGearでは、AIのスクリプト化の動きの中で、AI機の飛行はAIシナリオを使ったのでは表示できなくなったはず。なのに、Bombable add-onにおいては、AIシナリオを使ってコンバットフライトシミュレーションを実現できているのは何故?

 

確かに、例外はあって空母での発着や編隊飛行の他、ヨット、それにグライダーの牽引もそうでしょうか。かなりAIシナリオの種類は減りはしましたが、Bommbableもそうした例外の一つのようです。

 

例外かどうかは、AIシナリオ中の〈type〉タグに書かれた文字列で識別し、Aircaftなら機体の描画を拒否しているのかなと疑うのですが、一概にはいえません。わかれば、AI機を飛ばす抜け道になるのではと探ってきました。

 

ようやく、Bombable add-onを確かめてみる段になったら、案の定AI機は正常に描画され、しかもAIシナリオが使われていることもわかったのです。ここはAIシナリオを調べてみる価値があるというものです。

 

旧バージョンとAIシナリオに違い

 

↑AI機のYak-3の反撃を受け火を噴くJu EF 128ーBombable add-onのおかげでFlightGearで空戦が可能に

 

手に入った旧バージョンのBombable add-onは、5.0の一つ前の4.6の他、一番古いものは3.0pでした。

 

現行のバージョン5.0と、他の旧バージョンとでは、AIシナリオに明らかな違いがあります。4.6や3.0pにはない<search-order>タグが5.0では使われ、PREFER_AIと書き込まれています。
 
ちなみに<type>タグは変わらずAircraftでしたから、AI機にもかかわらず描画されるたとなれば、この記述以外に理由が考えられません。「検索順」「AI優先」て何のことかわからないものの、ひょっとして、AI機を上空で旋回飛行させるAIシナリオに使えるのでは⁉

 

さっそく、以前のAIシナリオに<search-order>PREFER_AI</search-order>を書き込んで試してみることにしました。

 

みごとAI機が旋回!

 

↑旋回するAI機ーYak-3(前方)とBF-109G(後方)

 

スムースにはいかず試行錯誤の繰り返しの末、ようやくかつてのようにAI機が旋回するようになりました。

 

なぜ<type>タグがaircraftなのに機体が描画されるかは不明のままなので、とりあえず旋回用に使用したAIシナリオを後に掲げることにします。

 

旋回は、<bank>タグに代え<roll>タグを使うことで実現できました。また、Bombable add-onのAIシナリオを参考にしましたが、Bombable add-onを使用しようがしまいが関係なく実現できます。

 

なお、AI機は、$FG ROOT直下のAIディレクトリ(Ubuntu)、FG/data/AI(Windows)に置くのが無難なようです。

 

また、Bombable add-onを使用する場合は、旋回させたいAI機はBombable非対応にしておく必要があります。さもないと、旋回を途中でやめて勝手にどこかへ飛んでいってしまいます。

 

 

【例:AI機の旋回飛行用テストAIシナリオ】

 

 <?xml version="1.0"?>
 <PropertyList>
     <scenario>
         <name> (RJBB) Yak-3 turn</name>
         <description>
     </description>

        <entry>
            <search-order>PREFER_AI</search-order>
            <type>aircraft</type>
            <callsign>virt_fly</callsign>
            <name>Yak-3-1</name>
            <model type="string">Aircraft/yak3/Models/Yak-3-ai.xml</model>
            <latitude type="double">34.4313</latitude>
           <longitude type="double">135.2522</longitude>
           <altitude type="double">200</altitude>
           <speed>84</speed>
           <roll type="double">30</roll>
           <heading type="double">280.0</heading>
        </entry>

     </scenario>
 </PropertyList>

 

 

後ろめたさがある

 

かつてできたことができないのはどうにも悔しく、意地になってAI機の旋回を実現しましたが、手放しには喜べません。なんらNasalスクリプトは使っていませんから。

 

AIのスクリプト化の方向からして、推奨されていないAIシナリオの使用で目的を実現しようとするのは、流れに棹さす行為。正々堂々、Nasalプログラムを書いてりゃ、後ろめたさを感じずに済むのでしょうが…。

↑Bombable add-onのお陰で、ドイツ空軍Ju EF 128のミサイル攻撃で火をふくB-17を再現できた

 

普通に表示できた火をふくAI機

 

最近は海外に住む日本人がふえました。周囲の人に聞けば大概の方から、どこどこに親戚がいると耳にします。

 

そりゃ、GDPですらドイツに抜かれ第4位と衰退著しい我が国では、自分の将来を考えて国外に出ることを選択する人が少なくないのでしょう。

 

日本を捨てられずというより単に甲斐性がなく、国内に居残り続けるしか能のない身には、なかなか外国語を耳にすることがなく、比較的聞く英語ですら意味や発音がよくわからないのが困りもの。不勉強なだけとしかられそうです。

 

Bombableって?

 

意味は漠然とはわかっても、日本語らしい表現にどう訳すとよいのでしょう。「爆撃可能」では、いかにも直訳的でとってつけた感があります。

 

発音に近いカタカナにしようと思えば、これがまた難しい。爆撃機などを意味するBomberは、発音的にはボマーが近いようですが、よくボンバーと書かれています。日本人には、ボマブルよりボンバブルのほうが通りが良さそうにも思えます。

 

結局、適当な訳もわからず発音も知らないので、原語のアルファベットのままで済ませてしまうことがしょっちゅうです。

 

コンバットフライトシミュレーターにするadd-on

 

ということで、今回の話題はBombable 5.0です。フライトシミュレーターのFlightGearをコンバットフライトシミュレーターにする、すなわち爆撃や空戦を可能にするadd-onで、昨年6年ぶりにバージョンアップされました。

 

なぜBombable add-onか? FlightGearではAIのスクリプト化がすすみ、AIシナリオを使ってAI機がとばせなくなったので、ターゲットにAI機も使われるBombableではどうなったかが関心事であったからです。

 

久しぶりにインストールして試してみることにします。

 

①Bombable 5.0のインストール

 

Bombable 5.0は、こちらからダウンロードします。

 

旧いバージョンとは違って、Bombableの新バージョンでは圧縮凍ファイルはどこに解凍(展開)して置いてもOKです。FlightGearのランチャーのメニューバーにある[Add-ons]をクリックし、次にAdd on Module foldersの[Add]クリックして、先に解凍したBombableのフォルダーを指定してやればよいからです。

 

②AircraftはBombanle対応が必要


Bombableを使う場合は、Bombableに対応したAircraftでFlightGearを起動する必要があります。相手に打撃を加えられるように、実際に銃撃やミサイル攻撃、爆撃ができる機体でないとならないわけです。

 

今回は、Bombable対応の自作のJu EF 128を使いました。

 

Ju EF 128で相手機を撃墜、あるいは自機のJu EF 128も墜落して炎上したことで、Bombable非対応の機体を対応したものに改造する方法には、Ju EF 128をBombable対応化した方法が、現在も有効であることが証明されたと言えます。方法は、以前このブログで紹介しています。

 

なお、ターゲットとなるAI機もBombable化が必要です。

 

③Bombableの設定

 

Bombable対応の機体でFlightGearを起動したら、Bombable Objects Settingsを開いて設定を行います。

 

Bombable Objects Settingsは、FlightGear画面上部のメニューバーにある[Bombable]タブをクリックし、開いたドロップダウンメニューから[Bombable Options]を選ぶと開きます。

 

↑開いたBombable 5.0のデフォルトのBombable Objects Settings画面

 

スキルに合わせて難易度が選べるようになっています。初心者はデフォルトの設定からはじめるのがよさそうですが、スキルがアップすれば3つのテキストボックスにリストから選んで相応しいレベルを入力することができます。

 

④AIシナリオの選択

 

実際に空戦や爆撃を行うには、さらにAIシナリオが必要です。BombableのファイルにはSenariosフォルダーに多数のAIシナリオが用意されています。

 

まだAIシナリオが使えるの?というのは置いといて、ここは素直にFlightGear画面上部のメニューバーの[AI]から[Traffic and Scenario Settings]を選び、開いたAI Traffic and Scenario Settingsにて目的のAIシナリオにチェックを入れ、後は[Close]するだけ。

 

Bombableは堪能できたが…

 

久しぶりのBombableを堪能できました。ただし、FlightGear2020.3.19でのこと。開発版だからでしょうか、FlightGear2020.4.0ではエラーが表示されます。
 

冒頭のスクリーンショットは、Bombable 5.0に添付されていたBOMB-MarinCountyB-17BombersWithZeroCover.xmlを使い、ゼロ戦にエスコートされたB-17の編隊をJu EF 128が迎え撃ったところを捉えたものです。

 

ターゲットであるゼロ戦やB-17のAI機は、心配に及ばず普通に表示され、攻撃を受けると火をふき煙をひいてくれました。

 

ここで、納得いかないというのも変ですが、AIシナリオでは飛ばせなくなったAI機が、どうしてBombable 5.0では飛んで見せてくれるのでしょう?

↑Flight-planningにあるView route

 

ランチャーにあるFlight-planning

 

前回の当ブログでは、フライトシミュレーターソフトのFlightGaerにある機能の一つ、フライトプランにもとづく自動操縦を実行する手順について書きました。

 

FlightGearのルートマネージャーを使って作成したフライトプランをもとにオートパイロットを実行するこの方法の他に、FlightGearのランチャーにはよく似た感じのFlight-planningがあります。

 

開き方

 

フライトプランを話題にした手前、両者は同じなのか、違いがあるのか、調べてみないわけには行きません。実際に飛行機を飛ばして試してみることにしました。

 

Flight-planningは、立ち上げたランチャーの左側にあるブルーのメニューバーの一番上に3つ横並びした白丸マークをクリックし、現れたドロップダウンメニュー中の同名の箇所をクリックすることで表示されます。

 

本格的ぽく見える

 

↑ランチャーにあるFlight-planningを開いた画面

 

フライトプランと言うだけに、ランチャーのFlight-planningにも、出発と到着の空港のICAOコードが入る欄があり(何故かはじめから到着空港がKSFOになっている)、ルートと表示されたWaypointが入ると思しきボックスもあり、巡航速度、巡航高度の欄もあります。

 

そればかりか、のっけからコールサインもしくはフライトナンバー、航空機の形式や飛行方式(有視界飛行か計器飛行か)、出発時間や所要時間を入力する箇所があって、少しは本格的に行政に提出するような気分にさせてくれるものです。実際に日本の航空当局に提出するものはアルファベットの1文字の書き込みが多くて印象は随分違うことでしょう。

 

こうした項目を入力しても、実際にはFlightGearで飛行機を飛ばすのには何ら意味はなく、少しはありそうなUsingのHigh-level(jet)airwaysなどの選択結果でさえ、何ら違いは見られなく思います。

 

というのも、ルートマネージャーの場合にはないGenerate routeという機能がFlight-planningの方にはあって、ボタンを押すといくつものWaypointが表示されてRouteにはターゲットの略号が羅列され、飛行経路が作成されるのですが、Usingの選択結果によてこれが変わったようには見えません。ケースにもよるのかもしれませんが…。

 

Generate route

 

便利そうなGenerate routeですが、少し説明が必要です。

 

Generate routeは、出来合いのフライトプラン(fgfpファイル)を読み込ませないとボタンが有効にならないのです。ナンノコッチャですよね。

 

↑Flight-planningでGenerate routeを実行したときの画面

 

Flight-planningでは、[Load]で既存のfgfpファイルを読み込むか、[Generate route]で一括入力、[Clear route]で一括削除以外に、Routに入力あるいは個別編集はできません。

 

それなら、Generate routeで完璧な飛行経路ができればよいのですが、中部国際空港から関西国際空港間で[Generate route]を実行したら、作成された飛行経路はまず東へ浜松まで飛び引き返し、今度は中国まで行って戻ってくる形のとんでもないものになりました。

 

それでも、長距離飛行を強いられたお陰で、当初FlightGearの自動操縦では、フライトプランがあってもJump Toを実行しないかぎり自動的に次のWaypointをめざさないと誤認していたことがわかったのですから、効能はありました。

 

[save]でfgfpファイルに保存はできますから、FlightGearを起動してルートマネージャーで読み込み直すなら、修正することは可能です。

 

Generate routeは、使い方を間違っていないとすれば、失礼ながらなんとも中途半端です。

 

Flight-planningを設けた意味は?

 

それでは、FlightGearのランチャーにFlight-planningを設けた意味は何なのでしょう。

 

Flight-planningを開くと上部に[Fly with a flight-plan]があって、フライトプランにもとづく飛行をするかどうかをスライドスイッチで選択するようになっています。

 

いかにもランチャー段階でフライトプランにもとづく飛行を選択しておけば、FlightGearを立ち上げたら直ちにオートパイロットが働き自動操縦に入れそうに思えます。

 

残念ながら、すでにフライトプランが読み込まれているものの、ルートマネジャーを一旦開きアクティベートを実行するとともに、オートパイロットでも[GPS/FMS Heading:]、ついで

[Heading Control]にチェックを入れて設定を済ませないと、実際のところは自動操縦にはなりません。

 

なお、Generate routeはおまかせなので高度は指定されませんから、高度維持の必要がある場合は、かわりにオートパイロットで直接高度維持を指定するのがよさそうです。

 

ちなみに、Flight-planningでsave、loadを実行した際には、保存用、読み込み用の画面が開きっぱなしになるようなことはありません。

 

また、ランチャー起動時の空港とフライトプランの出発空港が異なる場合はクリックを促され、クリックすると空港が出発空港に変更されるのは評価できます。

 

のぞむらくは、FlightGearが起動したときにはアクティベートが済んでおり、オートパイロットも設定済みとなっていること。そうなれば利用価値もあがろうというものです。