virt_flyのブログ -151ページ目

virt_flyのブログ

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

イメージ 1
↑AIシナリオで飛ばすAI機もWingmanの編隊機もプロペラは無事回転

 

FlightGear3.2.0RC2版でもプロペラは回転

 
 AI機の回転するプロペラの再現の問題は、単純でした。

 

 違うバージョンのFlightGearというか別なパソコン上では問題が再現せず、おかしなことだと思いましたが、よくよくパス指定を調べれば、問題を起こす場合と起こさない場合でパス指定先が異なります。

 

 同一ファイルにしているとばかり思っていたのに、使用するFlightGearでF1M2が微妙にことなっていたわけです。くわしくは申しませんが、AI機のテクスチュアを指定したいために、不正規ないい加減な3Dモデルxmlを記述したのが影響したものでした。ズルせずに書いたxmlファイルに差し替えることで、問題は解決です。

 

 AI機に似ているのがWingmanの編隊機です。前述の問題を解決しようとしている最中に、Wingman機の場合ならプロペラはどうなっているかと、試してみたところ、はじめは回転していたプロペラが全然回らなくなり、あるいは回転するプロペラが見られなくなりました。どうもプログラムをいじり回している時は、ときどきパソコンを再起動させないと、改変前の影響が残りありえない動きをするときがあるように思えてならないことがしばしば。今回もそんな気がします。

 

 一難さってまた一難!?かのようですが、かつて一度経験済みのことだったのをすっかり忘れていたんでしょうね。自作のH6Kに編隊飛行をさせていたことを思い出して、プログラムを確認してみました。Wingmanで編隊飛行する僚機のプロペラを回すには、AI機に似て速度を条件指定に用いて回転状態のちがいを再現しています。ただし速度は、/instrumentation/airspeed-indicator/indicated-speed-ktを使っていたのでした。

 

 問題は解決は喜ばしいのですが…。元々頭もよくないのに、こんな調子で脳が劣化するようじゃ、FlightGearをいじれるのもそう長いことではなさそう

 

 画像は、次期正式リリースのFlightGear3.2.0のRC2版で試したもの。AI機もWingman機もプロペラは無事回転しています。当たり前でしょうが、RC2版でもooyodoの操船は可能なことを確認しました。

 

イメージ 1

 

今度はAI機のプロペラの回転に問題

 またまた、プロペラの回転の再現に問題です。

 

 F1M2のAI機をよく見てみると、高速回転していて見えるはずのないプロペラが見えています。高速回転時を再現して見せるデイスク状の3Dオブジェクトと低速時のプロペラが同時に表示されてしまっています。

 

 ooyodoの甲板上のF1M2をカタパルトから射出した場合は、プロペラの回転になんの問題もなくきれいに回転しているのに、AIシナリオにて上空を旋回させているF1M2のプロペラがおかしいのは変です。

 

 selectの条件指定に問題があるのではと思うものの、四苦八苦。歳をとるにつれて脳の劣化が急速進行しているのでしょう。こんな基本的なことが、いまだに解決にできないのですから。絶不調!

 

 どうしてもの場合は、3Dモデルからプロペラを削除したものをもうけて手当てするしかありません。

 

 AI機としては問題解決にはなりませんが、同じ不完全ならば、仮にも飛ばせるF1M2がましかと、お詫びがわりにこれをダウンロードできるようにしておきました。ハンガーからダウンロードしてください。

 

 仮にというだけに、FDMはaeromaticが標準的な機体形状をもとに入力項目の値から推測したものそのままであって、チューニングどころかフロートの記述を追加したくらいで、ほとんど手を入れておりません。見てくれでは舵や補助翼が可動ですが、コクピット、計器盤の作製は手つかずです。したがって、あくまでAI機扱いにしています。

 

 機体の塗装用テクスチュアができたら、機体を起動して出来栄えを見たいものです。機体が起動できるなら、select-liveryを使うとペイントの切り替えが簡単になります。F1M2を仮に飛ばせるようにしたのもそのためだったわけです。

 

 塗装用テクスチュアは、著作権が絡みそうなものは除外しましたが、他は大概同梱しました。頑張るだけ、いよいよアンバランスになったり、センスのなさを露呈してしまってます。同梱はしてませんが、イラストを翼に描いたオタク趣味のペイントは、スケール変更にミスって解像度が荒くなってしまいました。

 

 あれもこれも、まだまだ修行がたりません。

イメージ 1
↑軍用機は地味なので、映える今様の塗装も設けたというのに、一時は…
 

select-liveryとRembrandtが両立しない!?

 
 いやあ、あせりました。
 
 わがF1M2は、大雑把なフライトモデルによってとりあえず飛ばすことはできるようにしてあったので、いくつかテクスチュアが増えてきたこの際、select-livery機能を使ってペイントの切り替えが容易にできるようにしたいと思ったものでした。

 

 そこでまずてはじめに、プロペラの回転がRembrandt効果の有効な時にも、それらしく向こうの景色が透過して見えるように対応を施そうとしていたところ、何か異変を感じ、その後気が付くと、なんと回転するプロペラのはずが、機体自体のテクスチュア画像が回転して見えるようになってしまっていたのです。

 

 機体のテクスチュア画像とプロペラの回転する様を再現するテクスチュア画像が、別々に用意されているのはよくあることです。なのにF1M2で起きたこの問題は解決せず、結局は機体と回転するプロペラ画像を一つのテクスチュアにまとめるしかありませんでした。

 

 四苦八苦の末ようやくプロペラの不具合は回避したものの、今度はselect-livery機能で機体のペイントが替えられるようにしようと、3Dモデル設定xmlファイルを記述していたところ、試しに起動したF1M2は、全体が黄色く発光しているかのように表示されてしまうではありませんか。

 

 Rembrandt効果を無効にすれば生じませんが、影の存在しない世界は違和感を感じずにはおれませんから、個人的にはRembrandt効果は必須なので、これはかなりへこみます。3Dモデリングの苦労は何だったのか、と。

 

 なんとか解消できないかと思い、あれこれ試して原因を探ったのですが、わかりません。

 

 他の機体ではなんら問題を生じませんから、FlightGear本体の問題ではなさそうです。一方他の機体でacファイルをF1M2のものと差し替えても、それくらいなら現象は再現されません。逆に、他の機体のacファイルもってきて差し替えたら、同じパーツ名の箇所があると、その部分が発光して見えます。となると、3Dモデル自体には問題がないのかもしれません。先の他の機体でacファイルをF1M2のものと差し替えた例でも、合わせて3Dモデル設定xmlも差し替えると、置き換えられた機体は黄色く発光するようになることから、3Dモデル設定xmlがかなり怪しくも思われます。しかし、おかしなところはなさそうなので、3DモデルをAI機として使用する際に、中途半端なliveryの記述をしていたまま、aircraft化に使ったことにより惹起した不都合とも思えなくもありません。

 

 悔しいですが、お手上げ状態かと思われた時です。エディタが落ちたというような表示を見かけました。パソコンを強制終了した時にもみかけたことのないものです。気が付けば、Rembrandt効果、select-livery機能とも有効にしているにもかかわらず、機体が黄色く発光することもなく、ペイントの切り替えもできるように戻っていました。厳密には、select-liveryの記述に一部不足があるにもかかわらず、切り替えができるものですから、似たようなxml

ファイルをテスト的にいくつも書いていたものを読みにいっているのではないかと疑い、余計なファイルを一切削除もしています。

 

 いずれも、異変を感じた後に事態が悪化したり改善しており、ひょっとするとエディタに不具合があり、不完全なファイルをつくっていたのかも、と思ってしまいます。素人の勘違いかもしれませんが。

 

 結果的に、復旧して事なきを得ましたが、一時はかなりあせり、万策尽きたと落ち込んだものでした。黄色く発光する様をスクリーンショットに残しておけばよかったと思うのも、いまだからこそです。ちなみに、プロペラの回転する様を再現する画像は、機体と同じ画像ファイルのままとし、元には戻しませんでした。同じようなことが起こるのを恐れて、すっかりビビってます。

 

 いつか似たようなことに遭遇した際の参考にできるよう、このメモを残しておくことにしました。