障害物にくっつくICE パーティクル

 
 
 

[Stick to Surface]および[Stick to Location]コンパウンドを使用すると、衝突時にパーティクルが障害物のサーフェイスまたはオブジェクトのサーフェイスの特定の場所にくっつくようになります。そして、パーティクルが障害物から落ちる(はがれる)別の条件を設定しない限り、その寿命の間ずっとそこにとどまります。

たとえば、サーフェイスにスプレーされるペイント、磁石にひきつけられてくっつく金屑、カップケーキのアイシングに振りかけられたチョコチップなどのエフェクトを作成できます。障害物ではデフォーメーションのアニメートが可能であり、パーティクルは変化するサーフェイスのシェイプに従います。これは、サーフェイスに当たる湿った雪や泥を作成する場合に便利です。

[Stick to Surface]および[Stick to Location]コンパウンドは、単独で使用することも、状態システムを介したより大きなエフェクトの一部として使用することもできます。

パーティクルは、落下するパーティクルのフィールドを通過するときに、球(障害物)のサーフェイスにくっつきます。

障害物にパーティクルをくっつける

障害物のサーフェイスにパーティクルをくっつけるには

  1. パーティクルがくっつくサーフェイスとして使用する1つまたは複数のオブジェクトを作成します。これらのオブジェクトには、ポリゴン メッシュや NURBS サーフェイス オブジェクトなどのジオメトリック サーフェイスが必要です。パーティクルがシミュレーションのいずれかの時点でこれらの障害物に到達するようにします。

  2. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  3. [ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [サーフェイスへの貼り付け](Stick to Surface)を選択します。

    このコマンドはコンパウンドをICEツリーに追加し、[Simulation Root]コンパウンドの[Execute]ポートに接続します。

  4. くっつくためのサーフェイスとして使用する1つまたは複数のオブジェクトを選択します。続けて、各オブジェクトの[Get Data]ノードを[Stick to Surface]コンパウンドの[Surface]ポートに接続します。

    オブジェクトを後からICEツリーに追加することもできます。その場合、各オブジェクトの名前をICE Treeビューにドラッグし、その[Get Data]ノードを作成してから、追加の障害物として接続します。

  5. [Stick to Surface]プロパティエディタでは、衝突方法の設定(デフォームオブジェクトまたはスタティック)、パーティクルサイズの使用または障害物からのオフセットの作成、および障害物のサーフェイス法線に沿ったパーティクルの整列を行うことができます。

  6. パーティクルをサーフェイスからはがす方法については、「障害物からパーティクルを離す(はがす)」を参照してください。

オブジェクトの特定の場所にパーティクルをくっつける

特定の場所にパーティクルをくっつけるには

  1. パーティクルがくっつく場所として使用できる、適切なオブジェクトを作成します。以下のようなオブジェクトを作成できます。

    • パーティクルが衝突する障害物オブジェクト。

    • パーティクルのエミッタオブジェクト。

    • パーティクルがスライドするオブジェクト。

    • パーティクルのゴールとなるオブジェクト。

    • [Input Location]ポートに接続する任意のサーフェイスオブジェクト。

  2. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  3. [ICE]ツールバーから[パーティクル](Particles) [エミッション後](After Emission) [位置への貼り付け](Stick to Location)を選択します。

    このコマンドは[Stick to Location]コンパウンドをICEツリーに追加し、[Simulation Root]コンパウンドの[Execute]ポートに接続します。

  4. [Stick to Location]プロパティエディタで、使用しているオブジェクトのタイプに応じて、パーティクルがくっつく適切な場所を定義します(手順 1 を参照)。

状態システムでのスティックコンパウンドの使用

状態システムでスティックコンパウンドを使用するには

  1. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  2. ICE Tree では、必要に応じて[State]コンパウンドを設定します。「パーティクル状態設定の作成の概要」を参照してください。

  3. [Stick to Surface]または[Stick to Location]コンパウンドの[Execute]出力を[State]コンパウンドの[Execute Every Frame]ポートに接続します。

  4. [Stick to Surface]または[Stick to Location]コンパウンドの[Execute]出力を[State]コンパウンドの[Execute Every Frame]ポートに接続します。

  5. 引き続き、[State]コンパウンドで必要なエフェクトを作成します。

障害物からパーティクルを離す(はがす)

[Stick to Surface]コンパウンドによってパーティクルが障害物にくっついている場合、[Stick to Surface]プロパティエディタでパラメータを設定するか、状態システムで[Unstick from Surface]コンパウンドを使用することによって、障害物のサーフェイスからこれらのパーティクルを離す(はがす)ことができます。

フォースと角度のしきい値に達すると、パーティクルは球からはがれます。

オブジェクトにくっついているパーティクルを解放するには

[Stick to Surface]プロパティエディタで、サーフェイスからパーティクルを解放する条件をセットアップできます。

  1. オブジェクトにくっつくようにパーティクルを設定します(「障害物にパーティクルをくっつける」を参照)。

  2. [Stick to Surface]プロパティエディタを開き、次のパラメータを設定します。

    • [Allow Unstick]パラメータをオンにします。これによって、[Angle Threshold]および[Force Threshold]が適切な値になれば、パーティクルがオブジェクトのサーフェイスから解放されるようになります。

    • [Angle Threshold]を設定します。これは、パーティクルがオブジェクトから離れる(はがれる)前に、オブジェクトが達する必要のある角度です。この値は、障害物のサーフェイス法線および重力、またはシーン内のその他のフォースに基づいたものです。角度が小さいとパーティクルは容易にはがれず、角度が大きいと容易にはがれます。

    • [Force Threshold]を設定します。これは、パーティクルが障害物から離れる(はがれる)ようにするために必要な最大フォースです。この値が最もよく使用されるのは、障害物が移動しているときに、障害物の速度に基づいてサーフェイスからパーティクルを解放する場合です。しきい値を高くするとパーティクルがはがれにくくなり、しきい値を低くすると容易にはがれるようになります。

状態システムでくっついたパーティクルを解放するには

  1. パーティクル放出を作成します。「基本的なパーティクル放出を作成する」を参照してください。

  2. ICE Tree では、必要に応じて[State]コンパウンドを設定します。「パーティクル状態設定の作成の概要」を参照してください。

  3. [Stick to Surface]コンパウンドの[Execute]出力を[State]コンパウンドの[Execute Every Frame]ポートに接続します。

  4. [Unstick from Surface]コンパウンドを[Surface Interaction]グループからICE Treeビューにドラッグします。

  5. その[Execute]出力を[State]コンパウンドの[Execute Once on Enter State]ポートに接続します。

  6. 引き続き、[State]コンパウンドで必要なエフェクトを作成します。