On this page |
Fur SOPは、サーフェスポリゴンやポイントクラウドから生えたヘアーを表現したカーブセットを作成します。 CVEXシェーダを適用することで、アトリビュートや生成されたカーブの形状を制御することができます。
サーフェスポリゴンを指定した時に生成されるカーブの数は、スキンポリゴンの面積と密度の乗算で決まります。
スキンポリゴンの面積は、オプションのarea
アトリビュートから取得するか、またはオプションのrest
アトリビュートやポイントポジションで定義した頂点位置から計算されます。
ヘアーの根元の位置を明示してヘアーを生成することもできます。例えば、ポイントクラウドを1番目の入力に接続します。とはいえ、法線(N
)アトリビュート、Rest方向(restxdir
, restydir
, restzdir
)を指定する必要があります。
オプションの2番目の入力にはガイドカーブを指定します。
ガイドカーブの形状は、生成されるカーブ(CVEXシェーダを適用する前)の形状を補間し、Fur SOPの Length と Vertices を無視します。
位置ベースの補間を使用するなら、ガイドカーブジオメトリ上のFloat3 Primitiveアトリビュートguideorigin
を指定ください。
guideorigin
アトリビュートが存在する時、 Guide Radius は各ガイドカーブから影響を受ける面積の大きさを意味します。
オプションの3番目の入力にはクランプ(束)カーブを指定します。
クランプ(束)カーブ上のclumporigin
とclumpradius
アトリビュートを使って、生成されるカーブをそれぞれクランプ(束)にマッピングします。
オプションの4番目の入力には、分け目用のカーブを指定します。
アトリビュート ¶
Fur SOPは入力ジオメトリから以下のアトリビュートを使います。
名前 |
ソース |
クラス |
タイプ |
説明 |
---|---|---|---|---|
|
Skin |
Primitive |
Float |
このアトリビュートは、スキンジオメトリ内の各ポリゴンの面積を記述します。これはプリミティブから生成されるカーブの数に影響します。このアトリビュートは任意であり、見つからなければ、各プリミティブの面積が計算されます。 |
|
Clumps |
Primitive |
Float3 |
Restスキン上の各クランプ(束)の原点の位置を記述します。 |
|
Clumps |
Primitive |
Float |
クランプ(束)原点からヘアーがクランプのメンバーとなる最大距離。 |
|
Skin |
Any |
Float |
このアトリビュートは Density パラメータのスカラー乗数として使われ、生成されるカーブの数に影響します。この値をCVEXスキンシェーダで小さくすると、密度が下がるので、いくつかのカーブが削除されます。このアトリビュートは任意であり、見つからなければ、1の値が使われます。 |
|
Guides |
Primitive |
Float3 |
Restスキン上の各ガイドカーブの位置を記述します。 |
|
Guides |
Primitive |
Float |
ガイドカーブの原点からヘアーが影響を受ける最大距離。 |
|
Skin |
Point |
Float3 |
ガイドカーブを使用しなかった場合、このアトリビュートは、生成されるカーブの方向を記述します。 |
|
Skin |
Point or Vertex |
Float3 |
このアトリビュートは、スキンジオメトリ内の各ポイントのRestポジションを記述します。これは、生成されるカーブの数を決定する時の各ポリゴンの面積の計算に影響します。この値は、生成される各カーブをクランプ(束)にマッピングする時にも使われます。このアトリビュートは任意であり、見つからなければ、ポイントポジションが使われます。 |
Fur SOPは、CVEXシェーダで利用可能な以下の特別なアトリビュートを作成します:
名前 |
クラス |
タイプ |
説明 |
|||
---|---|---|---|---|---|---|
|
Vertex |
Float3 |
指定したクランプ(束)ヘアーの各頂点の位置を記述します。このアトリビュートは、Guide Shaderでのみ利用可能です。 |
|||
|
Primitive |
Float3 |
クランプ(束)ヘアーが生えるスキン上の位置を記述します。 |
|||
|
Primitive |
Integer |
生成される各カーブの固有IDを含んでいます。これは読み取り専用アトリビュートです。 |
|||
|
Primitive |
Float3 |
ヘアーが生えるスキン上の位置を記述します。 |
|||
|
Vertex
P
|
|||||
|
Primitive |
Float3 |
|
|||
|
Primitive |
Float3 |
|
|||
|
Primitive |
Float3 |
|
Fur SOPを使えば、任意のアトリビュートを補間(そしてCVEXシェーダによる制御)することができます。 以下のアトリビュートは、Mantraに関連するアトリビュートです。
名前 |
タイプ |
説明 |
---|---|---|
|
Float3 |
カーブの表現に使用するリボンの向きを決めるためのヒントとなる方向。 |
|
Float |
レンダリングするカーブの幅。 |
パラメータ ¶
Fur ¶
Group
ヘアーが生えるスキンジオメトリ内のプリミティブ。
Primitive Type
作成するジオメトリタイプ。
Polygon
ポリラインを作成します。
NURBS
NURBSカーブを作成します。
Segments
生成される各カーブのセグメント数(“Guides”入力でジオメトリを指定すると、無視されます)。
Length
生成されるカーブの長さを指定します。
Seed
乱数生成のシード値。
Density
生成されるカーブの数は、スキンポリゴンの面積と密度の乗算で決まります。
この値は、オプションのfurdensity
アトリビュートのスカラー乗数として動作し、カーブの密度を決めます。
Display Ratio
表示するカーブの割合を指定します。
Guide Radius
ガイドカーブの原点からヘアーが影響を受ける最大距離。
Clump Radius
クランプ(束)原点からヘアーがクランプのメンバーとなる最大距離。
Use Closest Clump
各ヘアーを一番近いクランプ(束)と関連付けます。
Remove Unclumped Hairs
Clump(束)と関連付いていないヘアーすべてを削除します。
Remove Unguided Hairs
ガイドヘアーから影響を受けていないヘアーすべてを削除します。
Parting Radius
分け目からヘアーが影響を受ける最大距離。
Attributes ¶
Skin ¶
Skin Shader
Skin Shader パラメータには、スキンジオメトリから補間されるアトリビュートを制御するCVEX SHOPを指定します。
各アトリビュートは、生成されるカーブ毎に1つの値を持ちます。
各カーブ固有の値を取得するには、hairid
の値を読み込みます。
furdensity
変数の場合、値を小さくすると、ヘアーが少なくなりますが、値を大きくしても何の効果もありません。
New Class
転送されるアトリビュートのクラス。
Skin Attributes
生成されるカーブに転送されるスキンジオメトリのアトリビュートのリストを指定します。 転送されるアトリビュートの値は、CVEXシェーダによる修正を含みます。
Set Hair ID
生成される各カーブの固有値を含んだhairid
アトリビュートを作成します。
Guide ¶
Guide Shader
Guide Shader パラメータには、ガイドとクランプ(束)のジオメトリから補間されるアトリビュートを制御するCVEX SHOPを指定します。
各アトリビュートには、生成されるカーブの頂点毎の値を持ちます。
特別なP
変数は、頂点位置の操作に使用します。
New Class
転送されるアトリビュートのクラス。
Guide Attributes
生成されるカーブに転送されるガイドとクランプ(束)のカーブのアトリビュートのリストを指定します。 転送されるアトリビュートの値は、CVEXシェーダによる修正を含みます。
Examples ¶
Clumping Example for Fur geometry node
Fur SOPは髪の毛のようなカーブをインスタンス化するために使用します。
このケースでは、1つ目のFur SOPでクランプ(束)に適用するカーブを作成しています。 2つ目のFur SOPではクランプ(束)を定義しています。
FurBall Example for Fur geometry node
このサンプルでは、Fur SOPがガイドカーブとスキンジオメトリに応じて髪の毛のようなカーブを作成する方法を説明しています。
FurBallWorkflow Example for Fur geometry node
このサンプルでは、Fur SOPとMantra Fur Procedural SHOPをアニメーションするスキンジオメトリに適用する方法を説明しています。 CVEXシェーダを使って、ジオメトリに割り当てられたアトリビュートに応じて髪の毛の見た目を定義しています。
FurPipelineExample Example for Fur geometry node
このサンプルでは、カスタムシェーダを使ってFur SOPで生成したファーの外観を定義する方法を説明しています。
FurRandomScale Example for Fur geometry node
このサンプルでは、CVEXシェーダを使ってプロシージャルなエフェクトをFur SOPで生成したカーブに適用する方法を説明しています。 Fur SOPのガイドジオメトリとスキンジオメトリの入力からのアトリビュートすべてをCVEXシェーダで利用可能です。 CVEXシェーダは、各カーブの固有IDを示す“fur_id”と各ポイントの位置を示す“P”のアトリビュートを使用します。
FurTextureMap Example for Fur geometry node
このサンプルでは、テクスチャマップを使ってファーに色を付ける方法を説明しています。
See also |