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

パスワード:


パスワード紛失

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

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

もっと...

Re: マルチカメラアングル機能の黒い枠発生

このトピックの投稿一覧へ

なし Re: マルチカメラアングル機能の黒い枠発生

msg# 1.5
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009-2-15 2:14 | 最終変更
toshi  長老   投稿数: 1526
zero1962 さん

マルチカメラ設定ファイルを工夫すると、問題を回避できる可能性があることに気付きました。

以下の設定ファイルを試してみていただけますでしょうか?

800x600b.xml
<PropertyList>
<sim>
<rendering>
<camera-group>
<window>
<name>FlightGear - 800x600</name>
<host-name type="string"></host-name>
<display>0</display>
<screen>0</screen>
<width>800</width>
<height>600</height>
</window>

  <!-- c172p-set.xml: position the pilot viewpoint and angle -->
  <!-- <x-offset-m archive="y">-0.21</x-offset-m> -->
  <!-- <y-offset-m archive="y">0.30</y-offset-m> -->
  <!-- <z-offset-m archive="y">0.36</z-offset-m> -->
  <!-- <pitch-offset-deg>-12</pitch-offset-deg> -->

<!-- camera 1 - Cockpit view -->
<camera>
<window>
<name>FlightGear - 800x600</name>
</window>
<viewport>
<x>600</x>
<y>0</y>
<width>200</width>
<height>600</height>
</viewport>
<view>
<x>0</x>
<y>0</y>
<z>0</z>
<pitch-deg>0</pitch-deg>
</view>
<frustum>
<top>0.052</top>
<bottom>-0.052</bottom>
<left>0.0347</left>
<right>0.0693</right>
<near>0.1</near>
<far>120000.0</far>
</frustum>
</camera>

<!-- camera 2 - Rear view -->
<camera>
<window>
<name type="string">FlightGear - 800x600</name>
</window>
<viewport>
<x>600</x>
<y>150</y>
<width>200</width>
<height>150</height>
</viewport>
<view>
<x>0.2</x>
<y>0</y>
<z>15</z>
<pitch-deg type = "double">0</pitch-deg>
</view>
</camera>

<!-- camera 3 - Gear view -->
<camera>
<window>
<name>FlightGear - 800x600</name>
</window>
<viewport>
<x>600</x>
<y>0</y>
<width>200</width>
<height>150</height>
</viewport>
<view>
<x>0.2</x>
<y>-2</y>
<z>3</z>
<pitch-deg type = "double">0</pitch-deg>
</view>
</camera>

<!-- camera 4 - Cockpit view -->
<camera>
<window>
<name>FlightGear - 800x600</name>
</window>
<viewport>
<x>0</x>
<y>0</y>
<width>600</width>
<height>600</height>
</viewport>
<view>
<x>0</x>
<y>0</y>
<z>0</z>
<pitch-deg>0</pitch-deg>
</view>
<frustum>
<top>0.052</top>
<bottom>-0.052</bottom>
<left>-0.0693</left>
<right>0.0347</right>
<near>0.1</near>
<far>120000.0</far>
</frustum>
</camera>

<gui>
<window>
<name type="string">FlightGear - 800x600</name>
</window>
</gui>
</camera-group>
</rendering>
</sim>
</PropertyList>

前回の 800x600.xml に対する変更点は以下のとおりです。
1. 黒い四角を表示する原因となっているコックピットのカメラを最後に設定した
2. コックピット画面を2つに分け、それぞれ<frustum>で描画領域を指定した。

私の試した限りでは、1.により、黒い四角は描画されなくなるようです。
ただし、先に設定したカメラと、後で設定したカメラの描画領域が重なる場合、後で設定したカメラで上書きされてしまうため、カメラの配置によっては「サブ画面」が見えなくなります。

そこで、2.を使って、最後に設定するカメラの描画領域が、他のカメラの描画領域と重ならないようにしています。
この例におけるカメラの設定順は以下の通りです。
- 右側のコックピット (200x600)
- リア (200x150)
- ギア (200x150)
- 正面および左側のコックピット (600x600)

<frustum>の中身の数値が正しいかどうかは自信が無いのですが、FOVを55、アスペクト比を4:3とし、0.1m 前方のnear plane の大きさをタンジェントを使って計算してあります。
0.1 * tan(55/2) = 0.052 --- top と bottom の値
0.052*4/3 = 0.0693 --- 画面分割前のleft と right の値

もしかすると、<perspective>を使ったほうが計算が簡単かもしれませんが、まだ試していません。

ただ、<frustum>を指定することによる弊害として、x/X キーによるズームが出来なくなってしまうようです。
投票数:23 平均点:4.78

投稿ツリー

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
ubasoba 2024-4-25
itusura 2024-4-25
oritel 2024-4-25
udisypo 2024-4-25
ubilegyb 2024-4-24
exuxyma 2024-4-24
okejufym 2024-4-24
abytani 2024-4-24
AidaVaze 2024-4-24
adyxyw 2024-4-24
 最近の画像(画像付)
自作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