logo
ホーム •  フォーラム •  日本語wikiトップ •  アカウント情報 •  サイト内検索 •  新規登録
 ログイン
ユーザー名:

パスワード:


パスワード紛失

新規登録
 メインメニュー
 米国サイト
 オンライン状況
215 人のユーザが現在オンラインです。 (4 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 215

もっと...

F-14BのCockpit View以外でHUDが表示できない

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2011-2-24 20:58
inoue  常連 居住地: 東京  投稿数: 41
F-14BのCockpit View以外でHUDを表示させようとしていますが、うまく
いきません。

環境は、次のとおりです。

・OS: Windows XP SP3
・FlightGear Version: 2.0.0

それで、/data/Aircraft/f-14b/Models/Cockpit/hud.xmlの次の部分、

----------------------------------------------------------------------

<animation>
<type>select</type>
<object-name>hud</object-name>
<condition>
<equals>
<property>sim/current-view/name</property>
<value>Cockpit View</value>
</equals>
<property>sim/hud/visibility[1]</property>
</condition>
</animation>

----------------------------------------------------------------------

を、丸ごと削除しても、あるいは書き足して次のようにしても、

----------------------------------------------------------------------

<animation>
<type>select</type>
<object-name>hud</object-name>
<condition>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Cockpit View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Helicopter View</value>
</equals>
</or>
<property>sim/hud/visibility[1]</property>
</condition>
</animation>

----------------------------------------------------------------------

いずれにしてもCockpit View以外の、(Helicopter Viewを含めて)どのViewでも
HUDは表示されません。

メニューのFileからBrowse Internal Propertiesのコマンドを選択して、
/sim/hud/visibility[1]や/sim/hud/visibilityを操作しても、
Cockpit View以外では表示されません。

また、/data/Aircraft/f-14b/Nasal/hud.nasに次の記述を見つけて、

----------------------------------------------------------------------

# This generic func is deactivated cause we don't need it and we have a better
# use for "h" keyboard shortcut.
aircraft.HUD.cycle_color = func {}

var pilot_g_alpha = props.globals.getNode("sim/rendering/redout/alpha", 1);
var hud_intens_control = props.globals.getNode("sim/model/f-14b/controls/hud/intens");
...
...
...

----------------------------------------------------------------------

あっ! これは手掛かりなのでは? と思い、どこかで、この「generic func」を
「deactivated」にしているのだろうと考えて、さんざん捜してみたのですが、
どうにも見つかりませんでした。

FlightGearと出会って一ヶ月弱、ずっとCessna 172PでHelicopter View、
HUDに頼りつつ楽しんできました。今回、初めてF-14Bに挑戦してみて
戸惑っています。

*やっぱり戦闘機って速いですね、ものすごく・・・。

どなたかご存知の方、ご教授くだされば幸いです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-2-24 22:15 | 最終変更
sambar  長老 居住地: 岡山  投稿数: 484
inoueさん、こんばんは。

先ほどf-14b/Nasal/hud.nasを読んでみたのですが、どうやら
hud.nas内の var update_hud関数では以下のようにしてるようです。
・視点がコックピット視点かどうか判定する
・視点がコックピット視点なら、いろいろな処理をする。
・視点がコックピット視点でないなら、「hudを透明にする」

具体的には以下のこの部分です。
var update_hud = func {
	var v = view.getValue();
	if (v == "Cockpit View") {
		var h_intens = hud_intens_control.getValue();
		var h_alpha  = hud_alpha.getValue();
		var g_alpha  = pilot_g_alpha.getValue();
		hud_alpha.setDoubleValue(h_intens - g_alpha);

	} else {
		hud_alpha.setDoubleValue(0);
	}
}


というわけで、「強制的にif文を成立させる」か、「この条件判定をしない」ように変更してやればどの視点でもf-14専用HUDが表示されるようになります。

具体的には、
・if文の前の「var v + view.getValue();」→「var v = "Cockpit View" ;」に変更する
・if文の行を 「 if (v == "Cockpit View") {」→「if (v==v) { 」と変更する、
・if文その物を消してしまって、else{ }の部分も削除する (括弧の数に注意)

等の方法があります。
投票数:4 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-2-25 18:27
inoue  常連 居住地: 東京  投稿数: 41
sambarさん、バッチリです!

やりたかったとおりのことが実現しました。

ご教授くださった中で二番目の手順にしました。後でカスタマイズする時のことを
考えて、

var v = view.getValue();

の部分は残しておき、続く行を、

if (v == v) {

と書き換えました。

またsambarさんに助けていただきました。ありがとうございます。

こうやって、このサイトに情報が蓄積されていくのは素晴らしいことですね。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-2-28 2:02
takehiro  長老 居住地: Kawasaki  投稿数: 101
遅レスですが、nasalには詳しくないのですがreturnつかえましたか?
使えれば即効でreturnすればいいのでは。
投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-2-28 18:15
inoue  常連 居住地: 東京  投稿数: 41
takehiroさん、初めまして。ご助言、ありがとうございます。

実は、「return」の意味が分からないのですが、returnのキーを押せば
何とかなるかも、ということなのでしょうか。

そうでしたら、以前の、Cockpit View以外でHUDが表示できなくて
悩んでいた頃の状態に戻した上で、幾つかの場面でreturnのキーを
押してみたのですが、何も変化がありませんでした。

本来は、どういう結果が期待できるものなのでしょうか?
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011-3-2 21:17
takehiro  長老 居住地: Kawasaki  投稿数: 101
inoueさん、失礼いたしました。
if文の条件式を強制的に真にしなければならないのでした。
sambarさんが書かれている内容で間違いはありませんので・・・

ちなみにreturnというのは、プログラムの関数(この場合はインライン関数になるんでしょうか)が、呼び出し元に結果を返す命令のことです。
結果を返すということは、関数の中の処理をそこで終了することを意味します。
ここでいう関数はプログラムの処理の塊のようなもののことです。
投票数:2 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011-3-3 11:06
inoue  常連 居住地: 東京  投稿数: 41
takehiroさん、合点がいきました。

returnというのは構文の中で使うもののことですね。
キーボードのreturnと取り違えていました。

ご教授、ありがとうございました。
投票数:6 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-6-14 2:25
Tat  長老   投稿数: 375
別スレッド で、F-14B を使っている時に FlightGear のデフォルト HUD を表示させる事ができないかという話が出てきました。

そこでその方法とファイルを公開しておきます。

1. 変更方法
対象となるのは以下の2つのファイルです

1) data/Aircraft/f-14b/f-14b-set.xml
2) data/Aircraft/f-14b/Nasal/hud.nas

2. 変更概要
f-14b-set.xml では F-14B 専用の HUD 記述と、HUD表示切替キーの記述を無効にして、デフォルトのHUDを利用できるようにします。具体的には、202行からの <hud> タグと 1165行目からの <key n="104"> のタグをコメントアウトします。

hud.nas では デフォルトの HUD操作を無効にする部分や色設定を無効にします。具体的には以下のコードとなります。

# Commented out by TAT for enabling FlightGear's default HUD
# aircraft.HUD.cycle_color = func {}  <-- これ

var pilot_g_alpha      = props.globals.getNode("sim/rendering/redout/alpha", 1);
var hud_intens_control = props.globals.getNode("sim/model/f-14b/controls/hud/intens");
var hud_alpha          = props.globals.getNode("sim[0]/hud/color/alpha", 1);
var view               = props.globals.getNode("sim/current-view/name");
var OurRoll            = props.globals.getNode("orientation/roll-deg");

var eye_hud_m          = 0.6686;
var hud_radius_m       = 0.105;

aircraft.data.add("sim/model/f-14b/controls/hud/intens", "sim/hud/current-color");

# Commented out by TAT for enabling FlightGear's default HUD
# hud_alpha.setDoubleValue(0); <--- これ

「これ」で示された部分がデフォルトHUD に関する制御部分です。最初の部分は、data/Nasal/aircraft.nas に記述された HUD.cycle_color() というメソッドを上書きして何も処理をしないようにしています。2番目はHUDの色の初期値を透明にしています。

これらを全て無効にすれば、デフォルトのHUDが利用できるようになります。

3. 変更ファイル

上記変更を反映した2つのファイルを以下のURL に置きました。
ダウンロードして、f-14b のフォルダで展開してください。

http://macflightgear.sourceforge.net/wp-content/uploads/temp/f-14b-default-hud.tar.gz
投票数:2 平均点:0.00

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
egokew 2024-4-26
ugajan 2024-4-26
judol987 2024-4-26
uwimahu 2024-4-26
egesy 2024-4-26
hdtghf 2024-4-26
yxobyja 2024-4-26
egaxur 2024-4-26
yfihegil 2024-4-26
mcwbangluo 2024-4-26
 最近の画像(画像付)
自作11機目 F/A-18... (2022-5-27)
自作11機目 F/A-18...
飛んでみる八尾空港 (2022-4-10)
飛んでみる八尾空港
作ってみる八尾空港 (2022-4-2)
作ってみる八尾空港
F117 nighthawk (2021-5-19)
F117 nighthawk
HiTouchさん宛の画像... (2020-11-8)
HiTouchさん宛の画像...
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Theme designed by OCEAN-NET