virt_flyのブログ -136ページ目

virt_flyのブログ

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

イメージ 1

 

T-34がDL可に!

 

FlightGear用に自作したT-34中戦車を、当ブログのハンガーからダウンロードできるようにしました。

他の飛行機同様にaircraft(機体)の一つとしてFlightGaerで起動し、飛びわせぬものの走らせることができるT-34と、ジオラマよろしく配置しあるいは走らせておくAI用のT-34の2つです。

前者の方は、使い方を簡単に説明したREAD_MEがありますからまだしも、後者の方は何もありませんでしたから、少々ここで説明をさせていただきます。プログラムやAIシナリオがわかる方には先刻ご承知のことばかりでしょうが…。

使い方の説明

1)FlightGearで起動し動かせるT-34(T-34-20150531.zip)

◯インストール
通常の飛行機の場合と同様、解凍したファイルをフォルダごとFlightGearのルート下の/Aircraftディレクトリ下に置きます。

◯起動
通常の航空機と同様、ランチャーでT-34−76を指定するか、コマンドラインからfgfs --aircraft=T-34-76と入力して起動させます。

 
◯操作
 
[操縦]
 "."           アクセル
 ","           ブレーキ
 "→" or エルロン操作   右折
 "←" or エルロン操作   左折
 "M"           後進
 "m"           前進
 
[砲操作]
 "Insert"          砲塔右旋回     最新版では”↓”に変更
 "Enter"           砲塔左旋回       最新版では”↑”に変更
 "5"             砲塔の旋回ストップ
 "]"           砲口を上向ける
 "["           砲口を下向ける
 "e"             発射…以降一定間隔で自動的に繰り返します(^_^?)



2)AI用のT-34(T-34-ai-20150531.zip)

◯インストール
FlightGearのルート下の/AI/Aircraftディレクトリ下に解凍したファイルをフォルダごと置きます。

◯使い方の基本
FlightGearの世界で駐機している飛行機や勝手に飛び回っている飛行機は、AIシナリオにもとづきパソコンがコントロールしているAI機です(他にマルチプレイの他機の場合もありますが)。同様に、AI戦車を駐車させたり、パソコンにまかせて走行を自動実行させたい場合も、飛行機のAI機と同様に、AIシナリオを記述する必要があります。

AIシナリオの例は、/AIディレクトリにあるxmlファイルにあります。わかりにくければホームページの「仮想飛行」のAIシナリオのページをご覧ください。

記述したAIシナリオは、/AIディレクトリに置き、ランチャーで指定するか、コマンドラインからfgfs --aircraft=T-34-76 --ai-scenario=〇〇〇(〇〇〇はAIシナリオ名)と入力して実行します。

◯砲塔の向きや砲身の傾き、砲撃の設定変更

[砲塔]
砲塔は、デフォルトでは少し右を向いています。これを変更するには、/AI/Aircraft/T-34/Models下にあるT-34-76ai.xmlをエディタで開き、<path>AI/Aircraft/T-34/Models/T-34turret42.xml</path>とパス指定している箇所の下の<heading-deg>の値を変更します。正面は0、ここでは右向きは負の数字を与えてください。

[砲身]
砲身の角度は、デフォルトでは少し上を向いています。これを変更するには、/AI/Aircraft/T-34/Models下にあるT-34turret42.xmlをエディタで開き、<path>T34-76barrel.xml</path>とパス指定している箇所の下の<pitch-deg>の値を変更します。水平は0。

[砲撃]
砲の発射は、デフォルトで有効になっており、一定間隔で閃光と砲煙を模した画像が表示されるようになっています。無効にしておきたい場合には、先のT34-76barrel.xml中の<!-- Gun fire! -->以下の<model>から</model>までをコメントアウトしてください(前後を<!--と-->ではさむ)。

イメージ 1

↑砲撃しながら雪原を疾駆するT-34/76を再現。本体、AIとも砲撃が可能に。

 

AI戦車用には独自のxmlファイルを用意


T-34/76本体が操縦できるようになり、砲塔や砲身も動かせるようになったので、続いて砲撃の閃光と砲煙も再現しました。いよいよAIの方も、転輪が回り履帯が動き、砲塔や砲身の向きが指定でき、砲撃を再現できるようにしなければなりません。

足回りの設定

先に、転輪の回転には<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>を使用としていましたが、AIシナリオで周回させたところ、転輪が回転しているように見えません。そこで、今一度<property>velocities/true-airspeed-kt</property>を用いて試したところ、今のところ問題なく動いているようです。
失礼。一点だけ重大な問題がありました。バック時の転輪の逆回転は、Nasalでも記述しないかぎり、後進時専用のxmlファイルをもうけ、<type>spin</type>中の<factor>の値を前進時と逆に(正の数)にしておく必要がありました。

転輪の位置が上下にずれてしまう問題も、AIでは一層ずれがひどくなることがわかったため、プログラムをチェックすることにしました。関係しそうなところは、<type>translate</type>の<interpolation>~</interpolation>内の<entry>タグの記述しかもうありません。わからないまま2番目の<entry>の<ind>の数値をマイナスにしてみました。それでよいのかは知りませんが、少なくとも転輪が浮き上がる事態は解消しました。

砲塔・砲身の位置設定

足回りが解決しましたので、次は砲塔、砲身です。xmlファイルで方向や傾きを指定してやることを考えれば、3Dモデル本体から砲塔、さらに砲身を分離させて、当該3Dモデルに対応する3Dモデル設定xmlファイルをもうけ、コのファイルをpath指定するとともに、向きや傾きを記述する方法がよさそうです。塗装用のテクスチュアもpath指定してやれば希望のペイントが選べます。

wingman用との区別

さて、wingmanを用いて戦車部隊を編成すると、キーをクリックして本体の砲塔や砲身を動かすと、いっしょにwingman戦車の砲塔と砲身も動き出します。この時、wingman戦車のxmlファイルを先のAI戦車のものにしてしまうと、砲身がとんでもない動きをしてしまいます。というのも、本体のT-34/76が砲塔、砲身、車体の3Dモデルが1ファイルなのに対して、AI戦車の方は3つのファイルに分離して再構成しているのですから、違った挙動になるのもいたしかたありません。wingman用にはあくまでも、一体のものを用意し、AI戦車用は別にしなければなりません。

砲撃の再現

本体の砲撃は、先に自作した軽巡用艦ooyodoの主砲の発射をコピーし、閃光をそれらしく燃焼ガスが前方へ放出される感じにし、砲煙を含め全体を小さくしてみましたが、AI戦車の方はooyodoの高角砲からまんまのコピー。T-34の砲が高射砲の転用とのことだったもので、同じようなものかと。ド派手にすぎるでしょうか? 日本の軍艦が高角砲を発射したときの航空写真をみましたが、その閃光はかなりなものでしたが。


T-34/76の一応の完成ですから、ダウンロードできるようにしなければなりません。みなさんにAI戦車として利用してもらえるかな。
T-34/85の中には、今回作成したT-34/76 1942年 112工場製の転輪とそっくりなものを持つものもあるようです。車体の少しの修正と砲塔の乗せ替えで、T-34/85を作ってもよいかも。

イメージ 1
↑キー操作で砲塔を回転させたり砲身を上下にふれるようにした自作のT-34/76

 

影を落とさぬ3Dモデルへの対処

 

自作のT-34/76戦車の砲塔をキー操作で回転できるようにし、砲身も上下にふれるようにしました。そこで、その様子をスクリーンショットに撮っていて気がついたのですが、砲塔の下に本来できるはずの影がありません。

曇りならばいざ知らず、天気のよい日に影がないのはどうもしっくりしないので、FlightGearを動かす時はいつもRembrandt効果を有効にしているのですが、しばしば機体の大半で影をつくらない機体があったりして不思議に思っていたものです。

ひらめくところがあり、今回は砲塔の3Dモデルのコピーをとり、法線をみな内向きにした上で砲塔の内側に張り付けてみました。案の定、砲塔は影を落とすようになりました。上にかかげた画像がそれです。右のフェンダーもまだ法線の向きがおかしいようですね。対処しときましょう。

影のできない理由の少なくとも一部には、対応できたようです。