[シェイプ インスタンス](Shape Instance)を使用すると、シーン内の任意の参照オブジェクトをパーティクルとして使用できます。
定義可能な参照オブジェクトはイベントごとに 1 つだけですが、1 つのオブジェクトに任意の数のサブオブジェクトを含めることができるため、パーティクル フローで各サブオブジェクトを別個のパーティクルとして扱うことができます。また、テストを使用してパーティクル ストリームを複数の分岐に分割し、各分岐に対して異なるパーティクル シェイプを定義することも可能です。
オペレータの名前が示すように、参照ジオメトリはパーティクル システム内でインスタンス化されます。このため、元のジオメトリに加えた物理的な変更はすべて、パーティクル システム内ですぐに反映されます。元のジオメトリを非表示にしても、パーティクルは表示されたままです。ただし、元のジオメトリを削除すると、パーティクルも削除されます。
変換およびアニメートされた参照オブジェクトの使用
モディファイヤを持つ参照オブジェクトをアニメートしてから、[アニメートされたシェイプ](Animated Shape)をオンにすると、アニメートされたパーティクル シェイプを作成できます。ただし、[シェイプ インスタンス](Shape Instance)は、参照オブジェクトに直接適用された回転および位置変換をすべて無視します。[シェイプ インスタンス](Shape Instance)が使用するのは、純粋なスケール コンポーネントのみです。たとえば、ビュー参照座標系を使用してオブジェクトを不均一にスケールすると、オブジェクトのシェイプがゆがむ場合があります。ゆがみが回転変換の副作用によるものである場合、パーティクルのシェイプには反映されません。ただし、参照オブジェクトに適用される変換を含むモディファイヤおよび類似の機能は、インスタンス化されたパーティクルに反映されます。たとえば、参照オブジェクトに適用される回転変換をパーティクルで使用する場合、参照オブジェクトに対して[X フォームをリセット](Reset XForm)機能を使用します。[X フォームをリセット](Reset XForm)は[ユーティリティ](Utilities)パネルから実行できます。
ヒント: ただし、階層全体を単一のパーティクルとして使用する場合は、階層内の子や孫のオブジェクトに適用される回転および位置アニメーションをパーティクル フローで使用できます。これを実行するには、階層を作成し、子や孫のオブジェクトをアニメートしてから、親を参照オブジェクトとして指定します。[パーティクル分類](Separate Particles For)
[オブジェクトと子](Object And Children)にはチェックマークを付けないでください。後で、この手順について説明します。
アニメートされた参照オブジェクトを使用する場合、参照オブジェクトをパーティクル システムでインスタンス化した後で非表示にすることをお勧めします。
手順
例: パーティクル システムで参照オブジェクトの回転および位置アニメーションを使用するには:
- ティーポットなど、パーティクルのシェイプとして使用するオブジェクトを作成してから、ダミーのヘルパー オブジェクトを作成します。
- [移動](Move)および[回転](Rotate)ツールを使用して、ティーポットをアニメートします。
- [位置合わせ](Align)ツールを使用して、ティーポットをダミーの中心に配置します。
この手順は必須ではありませんが、安定した結果を得るのに役立ちます。
- ティーポットからダミーにドラッグして、ティーポットをダミーの子としてリンクします。
任意のオブジェクトを親として使用できますが、レンダリングを行わないダミーを使用すると、最終的なアニメーションに表示するインスタンス化されたパーティクルをすべてアニメートできます。
- 既定値のパーティクル フロー システムを作成します。
- パーティクル ビューで、[回転](Rotation)オペレータを削除します。
- [シェイプ](Shape)オペレータを、[シェイプ インスタンス](Shape Instance)オペレータで置き換えます。
- [シェイプ](Shape)オペレータのパラメータ内で、ダミーをパーティクル ジオメトリ オブジェクトとして指定します。
- [アニメートされたシェイプ](Animated Shape)をオンにします。
- 高い視覚効果を実現可能な連続したアニメーションの場合は、[アニメーション オフセット キー](Animation Offset Keying)で[同期](Sync)を[パーティクル エージ](Particle Age)または[イベント期間](Event Duration)に設定します。
インタフェース
[パーティクル ジオメトリ オブジェクト](Particle Geometry)領域
このコントロールを使用して、パーティクル ジオメトリとして使用するオブジェクトを定義できます。このオブジェクトは、「参照オブジェクト」と呼ばれます。
- [パーティクル ジオメトリ ボタン]
- このボタンをクリックしてから、パーティクルのシェイプとして使用するシーン内のジオメトリ オブジェクトを選択します。マウス カーソルを参照オブジェクトとして有効なオブジェクトの上に置くと、マウス カーソルが十字形に変化します。有効なオブジェクトには、グループや階層などの複数シェイプ オブジェクトが含まれます。[パーティクル分類](Separate Particles For)領域を参照してください。
参照オブジェクトを選択すると、その名前がボタンに表示されます。
ほぼすべてのジオメトリ オブジェクトを参照オブジェクトとして使用できます。既定値では、オペレータは、シェイプのアウトラインで定義された領域内を埋めることで、閉じたスプラインをレンダリング ジオメトリに自動的に変換します。代わりにシェイプ アウトラインを使用する場合、元のシェイプを選択し、[修正](Modify)パネル [レンダリング](Rendering)ロールアウトで[レンダ メッシュを表示](Display Render Mesh)をオンにします。[レンダリング可能](Renderable)をオンにする必要はありませんが、[厚さ](Thickness)や[側面](Sides)など、他の[レンダリング](Rendering)の設定はすべてレンダリングされたパーティクルに反映されます。
パーティクル フローが、閉じていないラインや円弧などの開いたシェイプを自動的に「埋める」ことはありません。これらのシェイプをパーティクルとして使用する際にレンダリングするには、[修正](Modify)パネル [レンダリング](Rendering)ロールアウト [レンダ メッシュを表示](Display Render Mesh)をオンにします。
[シェイプ インスタンス](Shape Instance)オペレータが、ジオメトリ オブジェクトが未定義の対象に対して有効で、ビューポートの表示タイプが[ジオメトリ](Geometry)に設定されている場合、パーティクルはビューポート内に文字 X で表示されます。
注: 参照オブジェクトとして使用される複数シェイプ オブジェクトが、マテリアルの適用されたオブジェクトと適用されていないオブジェクトの両方で構成されている場合で、[マテリアルを取得](Acquire Material)がオンのときは、パーティクル フローは最初に利用可能なマテリアルを、マテリアルの適用されていない任意のオブジェクトに適用します。
注: 参照オブジェクトとして NURBS サーフェスを使用できますが、NURBS カーブは使用できません。NURBS カーブをパーティクル ジオメトリとして使用する場合、最初に Cap などのメソッドを使用してサーフェスに変換してください。
ヒント: 最善の結果を得るには、アニメートされた参照オブジェクトを使用する際、元のオブジェクトを非表示にしてからレンダリングするか、[オブジェクト プロパティ](Object Properties)を使用して[レンダリング可能](Renderable)チェック ボックスにチェックマークを付けないことをお勧めします。
注: 参照オブジェクトなどのグループを使用する場合、選択する前にグループが閉じていることを確認してください。開いているグループを選択すると、グループ全体ではなく、クリックしたグループ メンバーだけが追加されます。
[パーティクル分類](Separate Particles For)領域
3ds Max には、グループ化、リンクによる階層構築、アタッチなど、異なるオブジェクトを結合して単一のエンティティにする多数のメソッドが存在します。 既定値では、複数シェイプ オブジェクトなどをパーティクル ジオメトリとして使用する場合、各パーティクルはすべてのメンバー オブジェクトで構成されます。または、この領域内のオプションを使用して、各メンバー オブジェクトを別個のパーティクルとして扱うようパーティクル フローに指示することもできます。チェックマークが付いている場合、既定値では、各メンバー オブジェクトは X 軸上の位置に従い、左から右の順序で単一のパーティクルとして使用されます。このため、たとえば、フロント ビューポート内でテキストを作成して参照ジオメトリとして割り当て、[オブジェクト要素](Object Elements)にチェックマークを付けると、文字が適切な順序で表示されます。
[複数シェイプをランダム](Multi-Shape Random Order)にチェックマークを付けると、順序をランダムに変更できます。
[パーティクル分類](Separate Particles)内の項目は、任意に組み合わせてオンにできます。既定値では、すべてがチェックマークが付いていません。
- グループ メンバ
- チェックマークが付いている場合、グループ メンバは別個のパーティクルとして扱われます。
- オブジェクトと子
- チェックマークが付いている場合、リンクされたオブジェクトは個別のパーティクルとして扱われます。
- オブジェクト要素
- チェックマークが付いている場合、単一のメッシュ オブジェクトのサブオブジェクト要素は、個別のパーティクルとして扱われます。
- [頂点](Vertices)と[面](Faces)
- 各パーティクルの頂点および三角形の数を示します。参照ジオメトリが複数シェイプであり、[パーティクル分類](Separate Particles)内の適切なチェック ボックスにチェックマークが付いている場合、頂点および面の平均数が表示されます。
- シェイプの数
- 異なるパーティクル シェイプの数を表示します。参照ジオメトリが複数シェイプで、かつ[パーティクル分類](Separate Particles For)領域内の適切なチェック ボッククスにチェックマークが付いていない場合、この数値は常に 1 になります。チェックマークが付いている場合には、存在する異なるシェイプの数が表示されます。
- スケール %
- すべてのパーティクルに対して均一なスケール係数を指定します。範囲は 0 ~ 100000 です。既定値ではチェックマークが付いていて、値は 100 です。
複数シェイプ オブジェクト メンバーのスケーリングの中心は、オブジェクトの結合方法に応じて個別に扱われます。グループ化およびリンクされたオブジェクトの場合、オブジェクトの基点に関してスケールが実行されます。オブジェクト要素の場合、スケールの中心は各オブジェクトのジオメトリの中心(すべての頂点の平均化された位置)になります。
この値はアニメートできません。パーティクル サイズをアニメートする場合は、[スケール](Scale)オペレータを使用します。
- 変動 %
- ランダム化されるスケール変動のパーセンテージを指定します。[独自性](Uniqueness)の設定を使用して、ランダム化を変更します。指定できる範囲は 0 から 100 です。既定値は 0 です。
この値はアニメートできません。スケールの変動をアニメートする場合は、[スケール](Scale)オペレータを使用します。
- マッピングを取得
- このチェック ボックスにチェックマークが付いている場合、参照オブジェクトから取得されたすべてのマッピング データがパーティクルに転送されます。既定値ではチェックマークが付いています。
- マテリアルを取得
- このチェック ボックスにチェックマークが付いている場合、参照オブジェクトから取得されたマテリアル データがパーティクルに転送されます。既定値ではチェックマークが付いています。
参照オブジェクトがグループで、グループのメンバーに対して異なるマテリアルが適用される場合、すべてのマテリアルを含むマルチ/サブオブジェクト マテリアルが新たに作成され、パーティクル マテリアルとして使用されます。
ヒント: マテリアルは「頑固」であるため、マテリアルがアタッチされている参照オブジェクトを指定した後で[マテリアルを取得](Acquire Material)のチェックマークを消しても、マテリアルはパーティクルに適用されたままになります。インスタンス化されたシェイプのマテリアルがパーティクルに適用されるのを防ぐには、参照オブジェクトを指定する前に[マテリアルを取得](Acquire Material)のチェックマークを消してください。
- サブ マテリアル ID オフセット(Sub-Mtl ID Offset)
- マルチ/サブ オブジェクト マテリアルを使用したマテリアル継承を使用すると、[シェイプ インスタンス](Shape Instance)オペレータがこの値を[マテリアル ID](Material ID)の値に加えてサブマテリアル ID を作成します。パーティクル フローはこの ID を使用して、マテリアルのサブマテリアル ID に基づいて、どのマテリアルのサブマテリアルを継承してイベントのパーティクルに適用するのかを決定します。
- 複数シェイプをランダム
- このチェック ボックスにチェックマークが付いている場合、シェイプがランダムな順序でパーティクルに割り当てられます。チェックマークが付いていない場合、パーティクル フローにより、複数シェイプ オブジェクト内の各シェイプが、シェイプの X 座標の順序に従い、単一のパーティクルとして放出されます。つまり、最も低い X 軸座標を保持するシェイプが最初に放出され、次に 2 番目に低いシェイプ、という具合に続いていきます。このオプションは、[パーティクル分類](Separate Particles For)領域のチェック ボックスの少なくとも 1 つにチェックマークが付いている場合にのみ利用可能です。 既定値ではチェックマークは付いていません。
たとえば、パーティクルから語または成句を表示させる場合、フロント ビューポートで作成した押し出しテキストを参照オブジェクトとして使用し、[パーティクル分類](Separate Particles For) オブジェクト要素にチェックマークを付けますが、[複数シェイプをランダム](Multi-Shape Random)ではチェックマークを消したままにします。
- アニメートされたシェイプ
- チェックマークが付いている場合、[範囲外のタイプのパラメータ カーブ](Parameter Curve Out-of-Range Types)のコントロールで適用された循環アニメーションを含む、参照オブジェクト内の任意のアニメーションがパーティクルにより使用されます。チェックマークが付いていない場合、パーティクルはアニメートされません。
このオプションとともに[アニメーション オフセット キー](Animation Offset Keying)のコントロールを使用すると、参照オブジェクト アニメーションをパーティクルと同期させる方法を指定できます。次のセクションを参照してください。
注: このオプションを使用するパーティクルは、[シェイプ インスタンス](Shape Instance)オペレータを持つイベント内に存在している間だけアニメートされます。[シェイプ](Shape)オペレータを持たない別のイベントに移動すると、パーティクルは同じシェイプを維持しますが、アニメーションは停止します。イベント間を移動してもアニメーションを継続するには、[シェイプ インスタンス](Shape Instance)オペレータを
グローバル イベントに配置する方法が最も簡単です。それ以外の場合は、パーティクルをアニメートする必要のあるイベントごとに、このオペレータを配置する必要があります。
- 高速シェイプ評価(Fast Shape Evaluation)
- このオプションをオンにすると、パーティクル シェイプの評価が最後の統合ステップだけで行われるようになり、[シェイプ インスタンス](Shape Instance)オペレータの実行が速くなります。これは、[出力](Output)サブオペレータの[履歴従属](History-Dependent)オプションに似ています。
サンプルのシーン SpidersForCaching.max を使用してオプションの動作を確認できます。このオプションをオンおよびオフにして、ビューポートで最初のフレームから最後のフレームに切り替える時間を比較してください。
- 現在のシェイプを取得
- このチェック ボックスにチェックマークが付いている場合、各パーティクルがイベントに入る際に、パーティクル フローは参照オブジェクトからパーティクルのシェイプを取得します。このため、参照オブジェクトがアニメートされる場合、パーティクルがイベントに入る時間が異なると、取得されるシェイプも異なります。ただし、これらのシェイプはアニメートされません。このオプションがオフの場合、フレーム 0 からシェイプが取得されます。既定値ではチェックマークは付いていません。
このオプションが利用できるのは、[アニメートされたシェイプ](Animated Shape)にチェックマークが付いていない場合のみです。
[アニメーション オフセット キー](Animation Offset Keying)領域
この領域内のコントロールは、[アニメートされたシェイプ](Animated Shape)にチェックマークが付いている場合にのみ利用できます。
- 同期
- 参照オブジェクト アニメーションをパーティクルと同期させる方法を選択できます。
- [絶対値時間](Absolute Time) すべてのパーティクルが、指定された任意の瞬間に同一のシェイプを保持します。
- [パーティクル エージ](Particle Age) 参照オブジェクトのアニメーションが、パーティクル エージと同期されます。参照オブジェクト アニメーションのフレーム 0 は、各パーティクルが発生するフレームに対応します。
- [イベント期間](Event Duration) 参照オブジェクト アニメーションのフレーム 0 は、パーティクルがイベントに入る瞬間に対応します。
- ランダム オフセット
- このチェック ボックスにチェックマークが付いている場合、各パーティクルのアニメーションの始まりがランダムに変化します。アニメーションの始まりが変化するフレーム数を数値で指定します。
- パーティクル シェイプを更新
- インスタンス化されたパーティクル シェイプを、参照オブジェクトから更新します。このオプションは、階層化された参照オブジェクト内のオブジェクトを変更した後で使用します。
ほとんどの場合、参照オブジェクトが変更されると、パーティクル フローはインスタンス化されたパーティクルを自動的に更新します。ただし、階層の深部にあるオブジェクトを変更した場合、パーティクル インスタンスが更新されないことがあります。このような場合、[パーティクル シェイプを更新](Update Particle Shape)をクリックしてインスタンスを更新します。
[独自性](Uniqueness)領域
[独自性](Uniqueness)の設定を使用すると、スケール変動のランダム化、アニメーション オフセット、および複数シェイプのランダム化を変更できます。
- シード
- ランダム化の値を指定します。
- 新規
- ランダム化する式を使用して新規シードを計算します。