====== 動いている間だけ燃えるオブジェクト ====== \\ ===== 概要 ===== {{ :chaosgroup:phoenixfdmaya:phx3_maya165_tutorials_emitonlywhenmoving_heroimage_v01.png?600 |}} \\ このページでは、エミッタオブジェクトが移動したときにだけ放出するように、炎のシミュレーションを修正する際のガイドです。アニメーションするタイヤからの煙の軌跡や魔法の杖から飛ぶようなスパークなど、後ろに軌跡を残すエフェクトに役立ちます。 \\ \\ ===== 手順 ===== まず、ファイル→プロジェクトウィンドウから新規プロジェクトを作成します。 ウィンドウの右上隅にある **[新規]**ボタンをクリックし、名前を付けます。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_001_02.png?600 |}} \\ Phoenix FDはシミュレーションデータを現在選択されているプロジェクトのデータディレクトリに保存します。ファイル→プロジェクトの設定…から手動で別のプロジェクトディレクトリを指定することができます。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_001.png?300 |}} \\ \\ ファイルから現在のプロジェクトのSceneディレクトリを選択しシーンを保存します。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_002.png?600 |}} \\ エミッタとして使用するジオメトリを作成します。この例では、デフォルトのポリゴン球が使用されています。 ジオメトリの名前をsource_geo_01に変更します。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_003.png?600 |}} \\ ソースジオメトリを選択した状態で、Phoenix FDシェルフのFireプリセットボタンをクリックします。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_004.png |}} \\ \\ これにより、すぐシミュレーションできる炎のセットアップが自動的に生成されます。 \\ {{ :chaosgroup:phoenixfdmaya:simfromframe_004_002.png?600 |}} \\ \\ **PhoenixFDSrc1**を選択します。アトリビュートエディタで**Discharge Modifiers**タブに移動し、**Source**の横にあるドロップダウンメニューから**Speed**を選択します。 \\ 表示されるオプションを注意してください。**Scale**パラメータは、グラフの横軸を拡張し、放出をより細かく制御します。 \\ 移動しているオブジェクトまたは頂点の速度は各フレームごとベクトルに計算されます。作るシーンの規模によって、非常に低い値または非常に大きな値でないと動作しない場合があります。 \\ **Space**を**World**に、**Scale**を1に設定します。 \\ 対応するX軸(速度)の時の値をY軸で指定します。 \\ この例では、1フレームあたりの速度がシーン単位で0.5の時、**discharge**に0.5を掛けた値を生成します。 \\ {{ :chaosgroup:phoenixfdmaya:emitonlywhilemoving_001.png |}} \\ \\ シミュレーションを開始します。 この時点では炎が発生しないことに注意してください。これはブジェクトが静止しており、モディファイアが**Discharge**に0をかけているためです。 \\ \\ ではグラフを変更してみましょう。 **Discharge Modifiiers**のグラフ左端**Positon** 0のポイントの**Value**を1に、**Position** 0.01のポイントの**Value**を0に設定します。 \\ {{ :chaosgroup:phoenixfdmaya:emitonlywhilemoving_002.png |}} \\ \\ このグラフは、オブジェクトが静止しているときに必ず炎が発生しますが、オブジェクトが移動を開始すると**Discharge**が0になることを意味します。 \\ \\ オブジェクトにアニメーションをつけてみて、シミュレーションを開始してテストします。 \\ {{ :chaosgroup:phoenixfdmaya:emitonlywhilemoving_result.mp4 |}} \\ 今回はオブジェクトが静止しているときにのみ炎が発生しますが、もちろんグラフを変更すれば動いている間だけ燃えるようなシミュレーションも可能です。 \\ \\