T-4 製作記 Step6: 詳細な3Dモデルの制作 (その2)
Tat
投稿数: 375
では、アニメーション設定ファイルの説明に移ります。
今回はアニメーションの説明をする都合上、 T-4 の2008/01/14版を基に説明して行きます。
アニメーション設定ファイル(というよりも 3Dモデルの設定ファイル)は、
になります。ファイルの最初の方は、こんな感じになっています。
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 は
という風に 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 (英文)
今回はアニメーションの説明をする都合上、 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 (英文)
投票数:19
平均点:3.16
投稿ツリー
-
T-4 製作記
(Tat, 2007-12-18 1:21)
-
T-4 製作記 - 機体パッケージについて
(Tat, 2007-12-18 8:39)
-
T-4 製作記 - 作業手順
(Tat, 2007-12-18 21:15)
-
T-4 製作記 - Step1: 資料収集
(Tat, 2007-12-18 22:19)
-
T-4 製作記 - Step2: ラフな3Dモデル作成
(Tat, 2007-12-20 12:37)
-
T-4 製作記 - Step3: フライトモデルの作成 (1)
(Tat, 2007-12-20 23:17)
-
T-4 製作記 - メリークリスマス
(Tat, 2007-12-24 16:27)
-
T-4 製作記 - Step3 フライトモデルの作成 (2)
(Tat, 2007-12-27 1:51)
-
T-4 製作記 - Step3 フライトモデルの作成 (3)
(Tat, 2007-12-27 11:17)
-
T-4 製作記 - Coffee Break
(Tat, 2007-12-27 11:41)
-
T-4 製作記 - Coffee Break (2) Yasim モデルのチューニング
(Tat, 2007-12-29 1:26)
-
Re: T-4 製作記 Step4: 機体設定ファイル作成
(Tat, 2007-12-29 1:50)
-
T-4 製作記 Step5: テストフライト
(Tat, 2008-1-10 19:34)
-
T-4 製作記 Step6: 詳細な3Dモデルの制作 (その1)
(Tat, 2008-1-30 1:48)
- T-4 製作記 Step6: 詳細な3Dモデルの制作 (その2) (Tat, 2008-2-1 1:23)
-
T-4 製作記 Step6: 詳細な3Dモデルの制作 (その1)
(Tat, 2008-1-30 1:48)
-
T-4 製作記 Step5: テストフライト
(Tat, 2008-1-10 19:34)
-
Re: T-4 製作記 Step4: 機体設定ファイル作成
(Tat, 2007-12-29 1:50)
-
T-4 製作記 - Coffee Break (2) Yasim モデルのチューニング
(Tat, 2007-12-29 1:26)
-
T-4 製作記 - Coffee Break
(Tat, 2007-12-27 11:41)
-
T-4 製作記 - Step3 フライトモデルの作成 (3)
(Tat, 2007-12-27 11:17)
-
T-4 製作記 - Step3 フライトモデルの作成 (2)
(Tat, 2007-12-27 1:51)
-
T-4 製作記 - メリークリスマス
(Tat, 2007-12-24 16:27)
-
T-4 製作記 - Step3: フライトモデルの作成 (1)
(Tat, 2007-12-20 23:17)
-
T-4 製作記 - Step2: ラフな3Dモデル作成
(Tat, 2007-12-20 12:37)
-
T-4 製作記 - Step1: 資料収集
(Tat, 2007-12-18 22:19)
-
T-4 製作記 - 作業手順
(Tat, 2007-12-18 21:15)
-
フライトモデルの修正
(Tat, 2008-6-22 10:43)
-
Re: フライトモデルの修正
(hide, 2008-6-24 12:28)
-
Re: フライトモデルの修正
(Tat, 2008-6-26 12:51)
-
Re: フライトモデルの修正
(hide, 2008-6-27 11:42)
- Re: フライトモデルの修正 (sambar, 2008-7-25 1:22)
-
Re: フライトモデルの修正
(hide, 2008-6-27 11:42)
-
Re: フライトモデルの修正
(Tat, 2008-6-26 12:51)
-
Re: フライトモデルの修正
(hide, 2008-6-24 12:28)
- Re: T-4 製作記 (Tat, 2008-7-20 6:07)
- Re: T-4 製作記 (Tat, 2008-10-18 7:00)
-
Re: T-4 製作記
(Tat, 2012-7-21 13:02)
-
Re: T-4 製作記
(Hyde, 2012-7-21 22:21)
-
Re: T-4 製作記
(Tat, 2012-7-22 10:47)
- Re: T-4 製作記 (Hyde, 2012-7-22 11:18)
-
Re: T-4 製作記
(Tat, 2012-7-22 10:47)
-
Re: T-4 製作記
(Hyde, 2012-7-21 22:21)
- Re: T-4 製作記 (kozenigata, 2012-7-31 21:56)
-
T-4 製作記 - 機体パッケージについて
(Tat, 2007-12-18 8:39)