Rembrandtを試す-1 | virt_flyのブログ

virt_flyのブログ

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

イメージ 1

 ↑画像は、Rembrandt効果を有効にしたFlightGear。従来と違って、翼の下など日陰になる部分の影が再現されるようになったことが何よりうれしいですね。地上で発射するバカはいませんが、ミサイルの下にも影ができ、胴体にもフィンのつくる影が落ちています。

 FlightGearがv2.8.0にバージョンアップして何が変わったのかまだよくわかりませんが、実装されたといわれるRembrandtがやはり気になります。

 とはいっても、日本語の記事は少なく、Rembrandtがいったい何なのかもさっぱりわかってはいないのですが、この暑さでは英文を読む気力もわきませんので、とりあえずは日本のサイトのフォーラムの記事を参考にして、試してみることにしました。

Rembrandtを有効にする

 FlightGearに実装されてはいても、デフォルトでは使えるようにはなっていないということですので、記憶をたよりに日本のサイトを探して、有効にする方法を見つけてきました。フォーラムの「各種設定について」中の「Pilatus PC-9M の設定に関して」でHydeさんが書かれています。

 もちろんコマンドラインからfgfs --enable-rembrandt と入力、Enterでも起動します。
 ランチャーのウイザードで[Advanced...]から入って、Propertiesを選び、[New]をクリックして sim/rendering/rembrandt/enabled=true と入力、起動するほうが、一般的なんでしょうけれど。

影がリアル

 以前のことは定かでありませんが、最近までのFlightGearでは飛行機の影まで機体側で用意しなければならず、墜落でもした際は影も地面に突き刺さる有様でした。何よりも、翼の下など本来影ができてしかるべきところが、影もなく明るいのではリアルさにあまりにも欠けていてかなりしらけさせられます。

 ところがrembrandtを有効にして、FlightGearを起動させておどろいたのは、この点が解消されて、違和感のない影ができることです。発射されたミサイルにも影がついていきます。これでこそ、リアルフライトシミュレーターというものです。

キャノピーが不透明に

 影には満足したのですが、なんと我が愛機Ju EF128を起動してみたら、真っ暗。キャノピーが真っ黒になってしまっているではありませんか。

 ここは,Rembrandtを有効にしても問題が生じない機体と比較してみるしかないと、Cessna 172Pのacファイルならびに3Dモデル設定xmlファイル(c172p.xml)を調べてみました。

 acファイルには問題なさそう。3Dモデル設定xmlファイルにそれらしい記述を見つけ、風防ガラス部分の名称をJu EF128の3Dモデルのパーツ名にあらため、Ju EF128,xmlに書き込みました。
   <!-- Transparent Surfaces for Rembrandt rendering -->
   <effect>
       <inherits-from>Aircraft/c172p/Models/Effects/glass</inherits-from>
       <object-name>glass</object-name>
       <object-name>rear_glass</object-name>
   </effect>

 ちなみに、FlightGearの他の機体はどうなっているでしょう。
 キャノピーが透明な、DHC2やFー14B、A6M2も、いずれもCessna 172Pと似た記述がそれぞれの3Dモデル設定xmlファイルにみられます。Cessna 172Pと違うのは、<inherits-from>の記述が、下記のようになっていることだけでした。
       <inherits-from>Effects/model-transparent</inherits-from>

 間違いなさそうに思うのですが、今のところ確認ができているのはJu EF128だけで、Fー16のキャノピーを透明にできないかと試したものの、他の理由によるのか成功していませんのであしからず。

デフォルトで有効でないのがわかります

 他にも、エキゾーストが真っ黒になっていたり(F-16)、白っぽい筒に見えたり(Fー14B)、計器盤やランプが見えにくく、レシプロ機ではプロペラの回転が黒い円板状に見えるらしいので、Rembrandtを使用するには機体側でのこれへの対応が必要なようです。実装されていてもデフォルトで有効になっていない理由がわかります。