ストランドを表示およびレンダリングする

 
 
 

表示とレンダリングの面で、ストランドは通常のパーティクルと少し異なります。このセクションでは、ストランドに関して理解しておく必要があるいくつかの問題について説明します。

ストランドを表示する

ストランドを作成する場合、任意のパーティクルのシェイプを選択できます(「ICE パーティクルのシェイプ」を参照)。このシェイプが、ストランドの長さに沿って繰り返されます(セグメントごとに 1 つのシェイプ)。インスタンス化されたジオメトリを含め、すべてのシェイプ タイプを使用できます(「ICE パーティクルインスタンス」を参照)。

[Shape]が[Segment]の場合、ストランドの長さに沿って、各ポイント位置から各ストランドの位置まで一定の線が描画され、パーティクルがストランドとしてレンダリングされます。このシェイプ タイプを使用することで、簡単にヘアをシミュレートできます。

ビューポートでは、選択したシェイプにかかわらず、各シェイプの最後に 1 つのパーティクルがある線としてストランドが表示されます。ストランドがどのようにレンダリングされるのかを確認する場合は、レンダ領域を描画する必要があります。

   

左: ビューポートのシェード ビューで表示された球体のストランド。

右: ボリューム シェーダでレンダリングされた同じストランド。

以下に、他のストランドのシェイプがレンダリングされた状態を示します。

Blobs(ブロブ)

短形

ボックス

ヒント:パーティクル ストランドがカメラに近いときにうまく表示されない場合は、ビューポートの[カメラ表示]プロパティ エディタで[視錐台除去](View Frustum Culling)オプションをオフにしてみてください。このオプションがオンの場合、カメラの視野内にある領域だけが描画されるため、ストランドではなく実際のパーティクルが除去されます。

視覚化のためのストランドのシェイプを表示する

[Create Strands]コンパウンドなどでストランドのプロファイル カーブを変更する場合は特に、ストランドの実際のシェイプがレンダリング時まで不明なため、ストランドの操作が難しくなることがあります。Display Strand Shape(ストランド シェイプの表示)コンパウンドは断面ハルラインを作成し、レンダリングを行わずにビューポートにストランドボリュームの実際のシェイプの近似を表示します。

このコンパウンドは、パーティクルによって使用されるシェイプを特定できないため、手動で設定する必要があります。

このコンパウンドを使用するには、通常どおりにストランドを作成し、このコンパウンドの[Execute]出力を[Simulation Root]ノードの[PostSimExecute]ポート、または[ICETree]ノードのポートに接続します。

シェイプ プロファイルが変更されたストランドが、[Display Strand Shape]を使用してレンダリングされたボリュームを視覚化しているところ。

ストランドをレンダリングする

ストランドはレンダリング時に mental ray プリミティブに変換されます。[Segment]シェイプの場合は mi_hair プリミティブ、他のシェイプの場合はジオメトリ プリミティブが使用されます。

使用しているシェイプのタイプや必要なエフェクトに応じて、ストランドではサーフェイス シェーダとボリューム シェーダのどちらも使用できます(以下を参照)。

ストランドのシェイプにインスタンス化されたジオメトリを使用している場合は、サーフェイス シェーダを使用してジオメトリをレンダリングする必要があります。

ストランドのレンダリング時にパーティクル カラーを使用する

Render Treeでストランドのパーティクルカラーを使用するには、Render Tree の ICE パーティクル カラーを使用するの説明に従って、[Color Attribute]シェーダを使用します。

ストランドでパーティクルのカラーではないカラーを使用する場合は、ストランドでサーフェイス シェーダまたはボリューム シェーダを使用するか(以下を参照)、ポイントごとのカラーの配列である[StrandColor]属性を設定します。この属性は、[Particle Density(パーティクル密度)]シェーダや Particle Strand Gradient Compound(パーティクルの束のグラディエント コンパウンド) など、一部のシェーダで認識され、使用されています。

サーフェイスとしてストランドをレンダリングする

ストランドのシェイプ タイプはすべて、サーフェイスとしてレンダリングできます(以下の「セグメント シェイプおよびポイント シェイプの絶対サイズをレンダリングする」も参照)。

以下のシェーダを試してみてください。

  • 標準のサーフェイス シェーダ([Phong]、[Lambert]、[Constant]など)。

  • ヘアシェーダ、特に[Hair Gradient Material]シェーダ(「Hair Gradient Material シェーダを使用する」(「ヘア」)を参照)では、グラディエントを使用してカラーと透明度をストランドに沿って定義できます。これは、[Strand Dynamics]でヘアのようなストランドを作成するために[Segment]シェイプを使用している場合に特に便利です(「ストランドダイナミクスの作成」を参照)。

  • グラディエント シェーダをサーフェイス シェーダに接続し、各ストランドのセグメントにグラディエントを適用します。

    [Phong]シェーダに接続されたグラディエント シェーダで、[球]のシェイプが使用されています。

  • ストランドには、テクスチャが施されるように、自動的に UV が適用されます。UV の割り当ては、ストランドに対して設定したシェイプ タイプによって若干異なります。ただし、イメージ ノードを直接適用した場合にどのようにレンダリングされるのかは、Render Tree で確認できます。

セグメント シェイプおよびポイント シェイプの絶対サイズをレンダリングする

セグメント シェイプおよびポイント シェイプは、他のシェイプ タイプと若干異なります。これらのシェイプは、一定のラスタ空間幅でストランドをレンダリングします。つまり、カメラから遠く離れたストランドも、カメラに近いストランドと同じラスタ空間の厚さでレンダリングされます。

セグメント シェイプまたはポイント シェイプを使用する場合にストランドの厚さを実際の Softimage 単位で設定するには、[Set Segment Size Mode]コンパウンドを使用してパーティクルの[Size]または[StrandSize]属性をコントロールします。このコマンドは内部的に[ShapeSizeAbsolute]属性を設定します。

ストランド セグメントのサイズを設定するには

  1. ストランドを持つポイント クラウドを選択します。

  2. [ICE]ツールバーから[パーティクル](Particles) [エミッション時](On Emission) [ストランド](Strands) [セグメント サイズ モード](Segment Size Mode Geometry)を選択します。

    ポイント クラウドの ICE ツリーに[Set Segment Size Mode]コンパウンドが追加され、放出コンパウンドの[Execute on Emit]ポートに接続されます。

  3. [Set Segment Size Mode(セグメントサイズモードの設定)]プロパティ エディタで、[モード](Mode)として[Softimage Units(Softimage 単位)]または[Pixel Units(ピクセル 単位)](ラスタ スペース)を選択します。

  4. [Softimage Units(Softimage 単位)]を選択した場合は、必要に応じてパーティクルの[Size]または[StrandSize]属性を設定し、必要なストランドの厚さにします。

       

    セグメント シェイプ タイプのストランド ヘアの生えたモンスター。セグメントのサイズ モードが Softimage 単位に設定されています。ストランドがカメラから遠くてもカメラの近くにあっても、そのサイズは絶対単位のままである点に注意してください。

ボリュームとしてのストランドをレンダリングする

これらのパーティクル ボリューム シェーダで任意のシェイプのタイプのストランドを使用して、ライトや煙の跡など、さまざまなタイプのストランド エフェクトを作成できます。

  • [Particle Strand Gradient Compound(パーティクルの束のグラディエント コンパウンド)]コンパウンドは、パーティクルのストランドをレンダリングするためのカラー/アルファ グラディエントをセットアップします。このコンパウンドには[2D Gradient]シェーダが含まれています。このコンパウンドを[Particle Renderer]コンパウンドまたは[Particle Shaper]コンパウンドに接続することもできます。

  • [Particle Density(パーティクル密度)]シェーダのストランドのパラメータは、ストランドのサイズと密度(不透明度)のフェードインとフェードアウトの長さでストランドをレンダリングします。このシェーダを[Particle Volume Cloud]シェーダと関連付けて使用できます。

    [Particle Density]コンパウンドに接続された[Particle Strand Gradient]コンパウンドで、[Segment]シェイプが使用されています。[Particle Density]コンパウンドは、[Particle Volume Cloud]シェーダに接続されています。