Yak-3の機体ファイルの不具合を直そう(1) | virt_flyのブログ

virt_flyのブログ

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

↑機体の表示の不具合を修正したYak-3

 

作業は簡単!

 

フライトシミュレータ−のFlightGearでは、飛ばそうとする飛行機によっては機体が表示されなかったり、動かない、パーツの動きに異常がみられる、などということが時折見受けられます。

 

機体の作者のプログラミングや3Dモデリングのミスと思われるものの他、FlightGearなどのバージョンアップに伴うと見られるものがあるようです。

 

それにしてももったいない話です。せっかく苦労してつくられた機体なのですから、ちゃんと動くようにしてやりたいものです。

 

前回は、機体が表示されないというとんでもな前進翼機のSu-47を直してやりましたが、今回はYak-3の不具合を直そうと思います。

 
青と黄の飛行機様の物体が表示されてしまう
 
FlightGearのYak-3は、コクピットや計器パネルがつくられておらず作成途上といった感じで、塗装も一種類しかないのですが、第2次世界大戦当時のソ連軍戦闘機の大胆で派手なペイントを再現してみるには絶好の機体とばかりに利用させてもらい、すっかり気に入っていました。
 
ところがいつごろからか、起動すると飛行機様の青と黄の積み木細工のようなものを背負って表示されるようになりました。お気に入りですから、こんな不具合は御免被りたいものです。
 
↑FlightGearでYak-3を飛ばそうとしたら…
 
↑外部ビューに切り替えたら青と黃の飛行機様のものが機体にかぶさっている
 
ファイルを調べたところ、bf109やp51D、f4uなどの文字が見られ、他の機体ファイルからプログラムを読み込んで利用しているようにみられるところから、そうした機体のバージョンアップで齟齬が生じたものかとはじめは思いました(注1参照)
 
しかし、実際は青と黄の飛行機様の出現は実際にはロゴ表示にかかわる部分が悪さをしていたようです。
 
xmlの当該部分に関する記述にあるRGBファイルは存在せず、acファイルでは別のpngファイル名が指定されているにもかかわらずこれまた存在しないことがわかりました。結局xml上の当該記述をコメントアウトすることで解消しました。
 
一見、プログラミングのミスに思えますが、FlightGearのバージョンもかなり違う以前にはなんの不都合も生じていなかったのですから、原因はよくわかりません。
 
具体的な対処法は以下の通りです。それほど難しい作業でもないと思いますから、みなさんも挑戦してみてください。
 
●yak3-set.xml内の一部ロゴに関する記述の修正
 
問題のxmlファイルは、yak3フォルダ直下のyak3-set.xmlです。
Yak-3など機体ファイルのある場所はAircraftフォルダです。ただし、いくつか存在します(注2参照)ので自分でさがしてもらう必要があります。
 
yak3-set.xml内の修正は、赤色で示した文字の挿入です。
 

   

   ・
   ・
   ・
              <lbs>270.0</lbs>
              </opt>
    </weight>

<!-- Logo and Number -->
   <!-- <model>
       <corsair>
           <front>logos/skull.rgb</front>
           <number>logos/224.rgb</number>
      </corsair>
  </model> -->
</sim>
   ・
   ・
   ・
 
 

機体側面の一部が四角く白くなってしまう

 

まだロゴの問題が残っています。青と黄の飛行機様の出現は解消されましたが、Yak-3の機体左側のロゴ表示が予定されていた箇所が四角く白くなっています。

 

↑ロゴ用の画像ファイルがないため機体側面に白い箇所が…

 

機体の3Dモデルから、一部ロゴ表示用のオブジェクトを削除する必要があるのです。

 

●機体の3Dモデルファイルであるyak3.acからの一部ロゴ表示用オブジェクトの削除

 

機体の3Dモデルであるyak3.acファイルは、yak3フォルダー内のModelsフォルダー内にあります。変更がなければ、削除するオブジェクトの名称はCube.009のはずです。

 

3Dモデリングソフトをお持ちの方は、それを使って当該不要なオブジェクトを削除してください。

 

お持ちでない方は、acファイルをテキストエディターで開き、該当箇所の文字列を削除します。ただし、Cube.009と書かれた箇所が複数ありますので気をつける必要があります。

 

削除すべきはname "Cube.009"と書かれた部分でなければなりません。少し下にtexture "logo.png"と書かれていればOKです。したがって、当該箇所を探す際はlogo.pngで検索することをおすすめします。

 

削除はlogo.pngと書かれた箇所より少し戻ったところで最初にでてくるkids 0から次のkids 0までの間を削除します。念のためacファイルの当該箇所を赤字で示します。長いので途中を略しています。

 

※この方法は推奨されるべきものかわかりませんので、自己責任でということになります。間違いやすそうですのでacファイルはバックアップしておくか、最悪ダウンロードからやりなおしてください。

 

   ・
   ・
   ・
173 0.774267137051 0.589726448059
21 0.767654061317 0.602030873299
kids 0
OBJECT poly
name "Cube.009"
data 8
Mesh.005
texture "logo.png"
texrep 1 1
crease 30.000000
numvert 42
3.739363 -0.395016 0.448286
3.733666 -0.404075 0.45839
3.738456 -0.404075 0.457649
3.491275 -0.404075 0.210468
3.570505 -0.404075 0.476374
3.491275 -0.404075 0.485597
3.816545 -0.320048 0.385637
4.237527 -0.320048 0.385637

   ・
   ・
   ・
41 0.362098872662 0.00362525507808
SURF 0x10
mat 3
refs 4
40 0.387029916048 0.00362525507808
0 0.334938645363 0.0156930498779
2 0.333730876446 0.00362525507808
41 0.362098872662 0.00362525507808

kids 0
OBJECT poly
name "Cube.010"
data 8
Cube.010
texture "yak-3-1.png"
texrep 1 1
crease 30.000000
numvert 86
0.945076 0.046339 0.383238
0.996502 0.085071 0.4083
0.996502 0.110007 0.349716
   ・
   ・
   ・

 

ようやく機体外観は問題なく見えるようになりましたが、パイロットがいなくなっています。ドローンが幅を利かす時代になりつつありますから、操縦士は乗っていなくてもいいか…。
 
 
注1)今のところ関係する他の機体のバージョンアップが何らかの不都合を生じさせている様子はみられません。不都合が生じるのは、関係する他の機体がインストールできていない場合です。具体的にはプロペラの高速回転時の再現が表示されないのがその例です。インストールしなくてもBf-109の機体から関係する3Ðモデルをコピペし、3Ðモデル設定xmlを若干修正すれば解消されることからも明らかです。
なお、Yak-3の最新のファイルパッケージのrevisionは20170405で、以前から私が使ってきたファイルパッケージにはrevisionがなかったので、版が違うようです。機体ファイル側のバージョンの違いにもとづく違いがあるかもしれませんので、ここで修正の対象にするのは最新版にしています。
 
注2)FlightGearでは、使用したい機体を置く場所は、通常Aircraftを冠したフォルダーです。自分でこしらえることもでき、便利になった反面、目的の機体がどこにあるのか探さなければならないことにもなりました。
Ubuntuでの主なAircraftディレクトリーの場所は、①/usr/share/games/flightgear/Aircraft、②/Home/.fgfs/Aircraft、③さらにその下位の/Home/.fgfs/org.flightgear.fgaddon.trunk/Aircraft、④あるいは自分でこしらえたディレクトリー(例:/Home/ユーザー名/flightgear/Aircraft)。
Windowsでの主なAircraftフォルダーの場所は、①もともとはデフォルトの/Program Files/FlightGear 〇〇〇(バージョン)/data/Aircraft、②/Users/ユーザー名/FlightGear/Downloads/Aircraft/org.flightgear.fgaddon.trunk/Aircraft、③あるいは自分でこしらえたフォルダー(例:/Users/ユーザー名/Documents/FlightGear/Aircraft)。