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

パスワード:


パスワード紛失

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

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

もっと...

T-4 製作記 Step6: 詳細な3Dモデルの制作 (その2)

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

通常 T-4 製作記 Step6: 詳細な3Dモデルの制作 (その2)

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
depth:
14
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-2-1 1:23
Tat  長老   投稿数: 375
では、アニメーション設定ファイルの説明に移ります。

今回はアニメーションの説明をする都合上、 T-4 の2008/01/14版を基に説明して行きます。

アニメーション設定ファイル(というよりも 3Dモデルの設定ファイル)は、

T-4/Models/T-4.xml 
になります。ファイルの最初の方は、こんな感じになっています。

<?xml version="1.0"?>

<!-- chordinate system :-fwd/back+, y:-LR+, z:-down/up+ -->

<PropertyList>
 <path>T-4.ac</path>

 <!-- ailerons -->
 <animation>
  <type>rotate</type>
  <object-name>aileron.left</object-name>
  <property>surface-positions/left-aileron-pos-norm</property>
  <factor>-15</factor>
  <center>
   <x-m>1.8</x-m>
   <y-m>-3.21</y-m>
   <z-m>0.23</z-m>
  </center>
  <axis>
   <x> 0.260</x>
   <y>-0.955</y>
   <z>-0.135</z>
  </axis>
 </animation>

 (以下略)

chordinae system という typo は放置しておくとして、FlightGear ではおなじみの XML ファイルです。また PropertyList タグで始まるのも FlightGear の他の設定ファイルと同じです。PropertyList のすぐ下にある <path> タグでは 3Dモデルの AC3D ファイルを指定します。そして、その次の行から始まるのが、今回説明するアニメーション定義となります。アニメーションの種類には rotate, translate, interpolation などがありますが、1つの書き方さえ覚えてしまえば大体なにをしているかの見当がつくようになります。そこで、今回はまず animation タグの構成要素について左エルロンの例を説明します。より詳細なアニメーションについての設定については、$FG_ROOT/Docs/model-howto.html を参照ください。

** animation タグ
FlightGear 内のアニメーション定義を行います。内包するタグには type, property, factor, center, axis 等があります。このタグ内に記述した情報により 3Dモデル上のオブジェクト、フライトモデル上のオブジェクトの位置や状態、アニメーションの中心位置、回転軸などを記述します。では、内包するタグ(animation タグの属性)の説明に移ります。

*** type 属性
アニメーションの種別を記述します。値には rotate(回転), translate(移動), interpolation(補間), billboard, scale, blend, select などがありますが、良く利用するのは rotate, translate, interpolation, select でしょう。この値を none にするとアニメーションは行わず、object-name 属性に記述されたオブジェクトをグルーピングを行います。ギアの構成オブジェクトの複雑なアニメーションなどを記述する時などは、グルーピングが便利でしょう。

*** object-name 属性
アニメーションを行う AC3D モデルのオブジェクト名です。複数記述する事ができます。

*** property 属性
object-name のアニメーションに関連付ける フライトギアのプロパティを指定します。エルロン等のオブジェクトは surface-positions/xxxx-pos-norm に保持されています。上述した T-4.xml の例では左エルロンのオブジェクトである aileron.left は

  <property>surface-positions/left-aileron-pos-norm</property>

という風に surface-positions/left-aileron-pos-norm に関連づけられます。この値は -1 から 1 までの範囲で変化します。なお、左エルロンの場合は -1 から 0.75 の間で変化します。(JSBSim のフライトモデルでそう定義しました)

※ アニメーション定義の属性とフライトギアの属性とを区別する為に、前者は属性とし、後者はプロパティとします。

*** factor 属性
T-4の場合、左エルロンは -11.75°〜15°の間で変化しますが、property 属性は -1 から 0.75 の間で変化するようになっています。factor 属性では property 属性の値を回転する際の角度に変換する際の乗数を指定します。左エルロンの場合 -1 から 0.75 を -11.75 から 15 にマップするので、乗数は -15 となります。

*** center 属性
回転軸の中心点を x-m, y-m, z-m のサブ属性で指定します。この座標は AC3D 又は Blender で確認してください。T-4の左エルロンでは付け根の機体中心側である (1.8, -3.21, 0.23) を指定しています。ちなみに AC3D の y軸、z軸はフライトギア上では z軸、y軸にそれぞれマッピングされていますので注意してください。

*** axis 属性
回転軸を指定します。左エルロンの場合、center 属性で指定した座標(エルロンの内側の端)とエルロンの外側の端とを結ぶ直線の傾きになります。Blender ではこの軸を自動計算してくれるスクリプトがあるようですが、AC3D には無いので、2点の座標から割り出します。単純に2点間を結ぶベクトルとして記述しても構いません(多分)。

アニメーションタグを指定したら、早速フライトギア上で動作するかを確認してみましょう。正しく記述できていればエルロンを操作したらオブジェクトも回転するはずです。軸や中心が間違えていたら面白い動きをするでしょう。良くある間違いは axis のベクトルを逆向きにすることと、y軸とz軸とを入れ替えてしまうといったものです。

説明を簡単にするために、今回は左エルロン以外のオブジェクトのアニメーションは省略しました。機体を開発する際に一番複雑なアニメーションはランディングギアの収納です。これに関しては参考になるリンクを紹介しておきます。
- Animating Landing Gear Retraction in FGFS: A Tutorial (英文)
投票数:12 平均点:3.33

投稿ツリー

  条件検索へ


 検索

高度な検索
 新しい登録ユーザ
ejupyw 2024-4-23
efynom 2024-4-23
aruny 2024-4-23
asubawa 2024-4-22
matkamobi 2024-4-22
ehypem 2024-4-22
ovazahur 2024-4-22
adaniqoxa 2024-4-22
ugiduvew 2024-4-22
aeco 2024-4-22
 最近の画像(画像付)
自作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