[[Nasal スクリプト集]]

* 概要 [#u198638b]
rocking_nimitz.nas は空母 Nimitz のピッチ方向/ロール方向の揺れを再現することで、揺れる空母上での離着陸を体験する為のスクリプトです。あくまでも疑似体験的なものであるため、天候にはまったく左右されませんし、機体が甲板上に沈み込む等リアリティーに欠ける部分もありますが、とりあえず楽しんでみてください。

* インストール方法 [#m8a16d88]
添付ファイルのソース (rocking_nimitz.nas) を  ~/.fgfs/Nasal/rocking_nimitz.nas として保存してください (Windows の場合は  C:/Documents and Settings/<ユーザ名>/Applciation Data/flightgear.org/Nasal/rokicing_nimitz.nas)。 あとは FlightGear を起動するだけで準備完了です。特に機体/空母側の変更は必要ありません。

* 使用方法 [#h83bb0cb]
空母に Nimitz を指定して FlightGear を起動すれば Nimitz の揺れが有効になります。

* 処理概要 [#jdd6021b]
Nimitz のピッチ角度をピッチ周期 pitch_interval, ±最大ピッチ角 max_pitch のサインカーブで変化させます。
ロールも同様に 周期 roll_interval, 最大ピッチ ± max_roll のサインカーブで変化させます。1秒毎のタイマーで1秒後の角度を指定し、 interpolate で1秒間掛けてその角度に徐々に変化させるようにしています。最大ピッチを 0.5 以上にすると75%の確率で着陸時にクラッシュします。周期や最大角を変えてみるとどれだけ揺れるかが判ると思います。

* ソース [#f7a66927]
このソースは参考に表示しているものです。ダウンロードは下の添付ファイルをクリックして保存してください。

 ###############################################################################
 # rocking_nimitz.nas by Tatsuhiro Nishioka
 # - Simulates a brief pitching / rolling deck
 #
 # 2008/07/30
 # Copyright (C) 2008 Tatsuhiro Nishioka (tat dot fgmacosx at gmail dot com)
 # This file is licensed under the GPL license version 2 or later.
 #
 ################################################################################
 
 var max_pitch = 0.4;
 var max_roll = 0.9;
 var pitch_interval = 3;
 var roll_interval = 4;
 
 var rock_nimitz = func {
     var sec = getprop("/sim/time/elapsed-sec");
     var pitch = math.sin(sec / pitch_interval * 3.14) * max_pitch;
     var roll = math.sin(sec / roll_interval * 3.14 ) * max_roll;
     interpolate("/ai/models/carrier[0]/orientation/pitch-deg", pitch, 1);
     interpolate("/ai/models/carrier[0]/orientation/roll-deg", roll, 1);
     settimer(func { rock_nimitz(); }, 1 );
 }
 
 _setlistener("/sim/signals/fdm-initialized", func { rock_nimitz(); });

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS