EZ FLIGHT 539 リリース

multiwindow_01

今回「EZ FLIGHT」を半年ぶりにリリースしました。だいぶ、見ごたえがあり、また、キーコントロールやカメラビューも増やしてより快適に動くようになったと思います。

ただ、今回のリリースも直前にグラフィックボードがいかれ、ついでにPCがいかれるというアクシデントにまたまた見舞われ、いくつか改良を断念したものがあります。

1)マルチウィンドウ
画像にあるようなマルチウィンドウが可能になるようにためしてみたのですが、断念しました。これはたとえばマニュアルモードで自分が操縦しているときに、外からどういう風に見えるのか見るときなど使いたくなります。ところが、2つのビューを作るということは単純計算でメモリを2倍使うことになります。結果として、画面には上層雲や中層雲の画像が消えたり、グラフィックが乱れるという弊害をもたらし開発を断念しました。

2)衝突回避
オーバルコースで編隊が人工島をめぐるシーンがあって、とても気持ちがいいのですが、高層ビルをスーッと通過してしまいます。それで衝突回避のサブルーチンを作っていろいろためしたのですが、なかなかうまくいきませんでした。現在も作業中です。衝突回避のモデルをどうするか・・・実際の人間は総合的に頭で考えて衝突を回避しているのですが、それをオートパイロットでどう、処理するかモデル化が問題と思います。

3)戦闘機モデルの改善とアクロチームの追加および人工島の改良
グラフィックボードとPCがいかれてしまったので、戦闘機のモデルの改良と新しいアクロバットチームの追加、そして人工島のモデルの改良を断念しました。・・・3dモデルのソフトには3dsmaxを使っているのですが、PCが変わると今まで作っていたモデルを流用するのがすごく難しくなります。ソフトを使いこなしている人ならば可能でしょうが、私はまだ3dsにはわからない機能がたくさんあります。へたするとモデルを1から作り直していかねばならなくなります。私の作業のやり方はまず、フリーのモデルを探してきて、それを修正し、デザインマップを自分で作ってはりつけるという手順でやっています。・・・マッピングにはとても細かい作業が必要になり、米と麦がごちゃまぜになった茶碗から米だけ、麦だけに分けるような神経の細かい作業が必要になります。

とは、言え、新しいEZ FLIGHTでおおいに楽しんでください。改良は続けます。

エアショー

今回「EZ FLIGHT 396」をリリースするにあたり、一科目ですが、エアーショーの演技を披露するプログラミングを入れました。

6年前になりますが、ブルーエンジェルスのエアショーを見にいったことがあります。ニューヨーク・ロングアイランドのジョーンズビーチで毎年5月のメモリアルディに開催されるエアショーです。2日間で40万人が訪れると聞いています。(詳しくはこちらのブログをどうぞ。3回に分かれています。)本物はやはりビデオや映画とは違います。確かに遠くに飛んでいる戦闘機を見るので、双眼鏡や望遠付のカメラ、ムービーカメラを持っていないと今ひとつかもしれません。それでも実際に同じ空気の中を飛んでいるのを見るのは迫力があります。

ブルーエンジェルスはもちろんエアショーの中で「とり」です。それまではプロペラ機の演技などが続きます。さて、そろそろブルーエンジェルスの番かと思うと、浜の多くの人々が動きはじめます。場所取りです。広いビーチですから、ここも、あそこもあまり状態は変わらないと思うのですが、右に左に人は朝の通勤ラッシュのように動きます。本格的なカメラを持ったマニアはとくに日光の加減、背景などにも気をつかいながら、あちらこちらに動きます。

いよいよ演技開始、ゴーッという音と共に編隊が現れます。「ワアーッ!」観客から歓声があがります。次から次へとかっこいい演技が目の前で披露されます。この間、首をあげたっきりになります。やがて、静かになって、「おや、演技は終わったかな。?」と思うと浜の背後から6機が編隊でいきなり轟音を立てて接近し、観客を驚かせたりします。まるで忍者です。

私が一番感動したのはショーの最後、ブルーエンジェルスが浜に沿って、機を傾けながら低速で別れの挨拶をしたときです。パイロットには絶対に聞こえないだろうに、観客は惜しみない拍手、指笛でブルーエンジェルスの演技に喝采を送ります。とても感動的なシーンで、鳥肌がたちました。

また、機会があれば見にいきたいと思います。

空母・行方不明!

現在、新しいバージョン「EZ FLIGHT Ocean Republic All Stars」を開発しています。最後、新しいプログラム上で試験飛行を続けながらバグ取りをしています。実際の飛行機の試験飛行にも似て、時間がかかります。もちろん、一秒当たりのコマ数を増やし、早回しでも確認はできますが、実際にわれわれ人間の感覚でどう感じるか・・・が重要になるので、リアルタイムの設定で確認をしています。さすが「癒し系フライトシミュレータ」だけあって、試験飛行をしながら、よくディスプレイの前で寝てしまいます。(笑)

さて、今回、海面をチロチロとしか動いていなかった空母を人工島を周回させることにしました。それで・・・設定をしたのですが、編隊の動きのチェックに集中していたら、空母がどこに居るかわからなくなってしまいました。それで、急遽、編隊をマニュアルモードにして、空母の捜索をはじめました。(爆笑)

思ったよりも捜索は難航しました。よくテレビなどで海難救助で洋上捜索の話がありますが、広い障害物のない海だから簡単だろう・・・と思いますが・・・実際やってみるとぜんぜん違います。まず、どこらあたりに居るのか皆目見当がつかないのです。

捜索専用のレーダーも開発しなくてはなりません。(爆笑)
・・・

びびり現象

「びびり現象」がまだ未解決です。急角度で進路を変更するときにブルブルと編隊が震えます。普通、穏やかな進路変更であれば問題はありません。(左図上)しかし、急激に編隊が進路を変えるといろんなデータの計算値が激しく上下し、まるめ誤差が出てきて、その誤差を拡大する形で計算値が上下するようになってきます。そのためガタガタ、ブルブルと編隊が震えるようになってきます。(左図下)

なんとか、解決したいのですが、難しいです。いろんな数式のどの部分が影響を与えているのか、データを書き出し(Directorではムービーを動かしながら必要なデータを書き出す機能があります。)ながら確認をしているのですが、なかなか見つかりません。

Thunderbirds Model

米国空軍Thunderbirds は海軍のBlue Angelsとならんで、人気のあるアクロバットチームです。やはりモデルとして、登場させたい。!と、いうことで、Thuderbirds の機体であるF-16のフリーモデルをダウンロードして、これを修正することからは じめました。使うソフトウェアは3ds Maxというものです。左がほぼ、編集が終わった段階の状態なのですが、「3Dソフトウエアというものはかくも複雑なのか!」と思わせるほどメニューがフレームの周りに並んでいます。そしてそのメニューをクリックするとまた階層状になったメニューがぞろぞろと出てきて、メニューの数は数百にもなるのではないかと思います。その中で、編集につかうのはほんの数十のメニューだけ。・・・3Dの奥深さを知ります。

オートパイロット(2)

オートパイロットに話を戻します。オートパイロット、マニュアルの操作においても同じですが、どうやってなめらかに本物に近い操縦パターンを作ることができるかが、問題です。これを研究するためにLock On というソフトで作られたフライトシミュレータのムービーをずっと見続けました。(クリックするとそのサイトに飛びます。) そして、どのような操縦にしたら自然かを研究しました。それには同じように目標に向かうにも手順が必要ということがわかりました。
1)まず、目標点が定められたら、機を傾け(Roll)させ、目標点を機の真上にもってくるようにします。
2)次に操縦桿を引き(Pitch )上に機を向け、目標点が機の前方(目の前)に来るようにしてやります。
3)そして、最後に機の前方の目標点に対して、機がどれくらい傾いているかを計算し、再び機を傾け(Roll)て水平線に平行(まっ平らになるという意味ではなくて左右の傾きを持っていないという状態)にもっていきます。
機は常に目標点に向かって上に向かうように操縦すべきです。機を下に向ける(Pitchを下げる)ということはマイナスのGがかかり、人間に非常に不自然な状態になります。そして、この上の1から3までの流れをそれぞれの段階に優先順位を決め、できる限り滑らかに動くようにしてやります。上の操縦の中で左右の旋回(Yaw)については書いていてありませんが、左右旋回はRollにある程度引き起こされる、従属的な操縦要素です。ですからそのあたりは車の操縦とは少し異なります。

馬とニンジン(4)

さて、馬とニンジンの話にもどりましょう。この人工島をぐるりと回るパターンは新しいNav Pointを探すなかで4回のうち1回程度、起こるように設定してあります。

左のような人工島をぐるりとまわる時計の文字の位置に12個の仮想点をつくり、編隊が人工島の外にあるときに次にNav Pointを含むどの点に行こうかと、オートパイロットは計算をはじめます。そして、人工島を回ると決定したら、次に人工島の右端に向かうか、左端に向かうかを決めます。現在のプログラムでは人工島の細長い両端でよく発生します。

次に決めるのは、人工島を右回りに回るか、左回りに回るかの決定です。「あーそんなもん簡単じゃん。・・・!」と思われるかもしれませんが、私たちには目があって、左のような図を見て、自分の脳で判断しているからそういうことが言えるのです。これを編隊にどのように伝えるのかのアルゴリズムが必要になります。

現在のプログラムでは上の一連の流れを以下のように決定しています。

1)まず、人工島に回るとプログラムが決定したら、人工島の楕円上にならんだ1番から12番までの点に対して、計算をはじめます。そして、人工島の中心「C」とその1から12番までのポイントの角度が一番大きい点を次に向かう点として指定してやります。これは編隊が人工島の中央をつっきりその点に至るのではなく、どちらかの端に向かうようにするための方策です。

2)その点に達したら、次に右回りするか、左回りするかを編隊に教えてやらねばなりません。人工島を内側に見るような形で編隊を飛行させたいのです。・・・そのために向かうべき人口島の回りの点(図では8番)と次の点(番号9番)の二点について編隊との距離を計算してやります。L(8)、L(9)

3)それで L(N+1)>L(N)ならば、(図ではL(9)>L(8) )人工島を右旋回に回してやります。また L(N+1)<L(N)ならば左旋回のルートを取るようにしてやります。

本当は人工島をぐるっと一周させたかったのですが、今のプログラムではそこまでできていません。しかし、何か変化を作るために旋回の際にはどの程度、内側に傾けて旋回するかをランダムに決めて、旋回のパターンに変化をもたせるようにしています。

オーマイガッ!(Oh my God!)

最後のバグ取りの段階に入ったとき、私のPCにとんでもないことが・・・
グラフィックボードがいかれてしまいました。!
Shockwaveのソフト開発にこれがないと難しい。!なんで、こんなときに。!
・・・
バグ取りも中断。
・・・
まあ、バグ取りもきりがないのも事実。ひとつのバグをフィックスすると、それが原因で、どこかがおかしくなる。・・・どこかで見切りをつけないとリリースできないし。・・・
・・・
で、とりあえず
「EZ FLIGHT 327 Ocean Republic BA」
としてリリースしました。
まもなく、Vectorさんでダウンロードができると思います。

馬とニンジン(3)

あるとき、ホントにイージーなひらめきがありました。「馬にニンジンを持たせればいいじゃないか。」です。

飛行機を傾けて、ある一定の間だけ、旋回させるのならば、外側から飛行機をコントロールするのではなく、飛行機自体にニンジンをつけて自分で自分のニンジンを追わせればいいではないかと思ったのでした。。まあ、そのかわり、どういったコースをとるかは保証はできませんが。・・・そのコースが犠牲となる代わりに傾き角度をある範囲、ランダムに選べるようにして、旋回のパターンに幅を持たせることとしました。現在の周回コースはこのようにして作りました。これだと絶対にニンジンに追いつくという心配はなくなります。飛行機は前方の右か左の定点に向かって(その定点は自分が持っているのですが)進路をとることになります。

まあ、やはり堤防にそってぐるっと回る方法はいつかはやってみたいし、上の方法だとコースがランダムな分、高層ビルを透過してしまう確率も増えることとなりました。まあ、いたしかたないかもしれません。

馬とニンジン(2)

では、どうするか。?

楕円ではなく、円としてまわすのならば、式が少しは簡単になりそうです。それでLingoにあるrotate(回転)という命令を実行させることにしました。あるものの周りにx,y,zのどういう割合で回転させるかを指定してやればいのです。ところが、今度は何を親(中心)にして回すかで、少し問題がありました。親の座標をうまく読み取れていないようなのです。説明は難しいですが、この方法もなんか、うまくいきませんでした。

 

オーシャンリパブリック構想

Ocean Republic Video

Seasteading
似たプロジェクト

清水建設 GREEN FLOAT

海面上昇

海面が上昇し国土を失っていく国家にとってOcean Republicは居住地として大きな選択肢となるかもしれません。