XSIのシミュレーション
ヘア > ヘアの作成と削除 > スタイリング > ダイナミクスの適用 > レンダヘアの調整 > 髪色の設定
  Hairプロパティ > Generalタブ > Effectsタブ > Dynamicsタブ > Presetsタブ
   その他 Hair Generator Operator > Hair Dynamics Operator > Hair Renderer シェーダ

髪色の設定
ヘアには、デフォルトでHair Rendererシェーダがアタッチされる。Hair Rendererシェーダでは、レンダヘアのカラーや透明度などを設定することができる。カラーは、根元と先端にさまざまなカラーを指定したり、どこで根元・先端のカラーが開始し終了するかを指定することができる。

Render Treeで他のシェーダ(PhongシェーダやHair Geoシェーダなど)をアタッチすることも出来る。しかし、Hair Rendererシェーダは、他のシェーダと比較すると、髪束のカラーリング、透明度、シャドウを正確に制御したり、レンダリングを最適化しファイナルギャザリングを適用できる。また、ボリュームレンダリングまたはジオメトリレンダリングのどちらも使用できるため、ライトやシャドウなどのエフェクトに柔軟性を持っている。なので、ここではHair Rendererシェーダを使ったカラーリングについて記述する。

他のシェーダについてはマニュアルを参照のこと。


カラーのプリセット
XSIのライブラリには、ヘアカラーのプリセットが用意されている。これらはHair Rendererシェーダを基にしたバリエーションとなっている。
プリセットは、Net ViewXSI Local > Library > Render > Hair や、上のメインメニューからApplication > Tool bar > Shader Presets > Hairで表示することができる。プリセットをビューポートでヘアまたはRender TreeMaterialノードに直接ドラッグアンドドロップして使用する。


Hair Rendererシェーダを編集するには
・ヘアを選択し、Hairパネルから Modify > Shader
または、
・ヘアを選択してRender Treeを開き、Hair Rendererノードをダブルクリック
または、
・エクスプローラでHair Rendererシェーダのアイコンをクリック


レンダタイプの選択
レンダタイプは、HairプロパティGeneralページで、Render TypeVolumeまたはGeometryのどちらかを選択することができる。各レンダタイプの詳細はこちらHair Rendererシェーダ以外のシェーダを使用する場合はGeometryを選択する。Hair Rendererシェーダを使用している場合で、ヘアが大きく映る場合は、Volumeにしておくと良い結果が得られる。


テクスチャマップでカラーを設定するには
テクスチャマップでヘアにカラーを投影することができる。テクスチャマップを作成するには、テクスチャの投影方法を選択し、マップするカラーパターンを持つイメージファイルをリンクする。ヘアは普通のジオメトリを持つオブジェクトではないため、投影を直接適用することができないが、ヘアエミッタオブジェクトのテクスチャマッププロパティを最初に作成し、それをヘアに転送することで設定できる。
手順は以下のとおり。
1. ヘアエミッタオブジェクトを選択し、Get > Property > Texture Map > Texture Mapを選択する。
または、
ヘアエミッタオブジェクトを選択し、Get > Property > Texture Map > 投影タイプ(Cylindrical、Sphericalなどオブジェクトの形状に適したもの)を選択する。
2. Texture Mapプロパティエディタで、テクスチャ投影を設定し、マップとして使用するイメージを選択する。
3. プロパティエディタ上部のRenameボタンをクリックし、テクスチャマップに名前を付ける。
4. エクスプローラを開き、ヘアエミッタオブジェクトのツリーを展開してTexture Mapアイコンを表示する。
5. ヘアオブジェクトとヘアエミッタオブジェクトを選択し、HairパネルのTransfer Mapボタンをクリックする。これにより、エミッタオブジェクトからヘアオブジェクトにテクスチャ投影座標が転送され、マップを選択するように要求される。
6. エクスプローラで、作成したエミッタオブジェクトのテクスチャマップを選択する。
7. Hair Rendererシェーダのプロパティエディタで、マッピングしたいパラメータの1つ(Tip Colorなど)の右側にある接続アイコンをクリックし、Imageを選択する。転送したテクスチャマップを選択するか、その他の任意のイメージを選択する。
または、
Render Treeでイメージノードを作成し、Hair Rendererシェーダのパラメータ(テクスチャで制御したいパラメータ)に接続する。イメージノードをダブルクリックし、イメージを読み込み、投影タイプを選択する。


他のシェーダを接続するには
Hair Geoシェーダ(Hair Geometry Shadingシェーダ)では、ジオメトリレンダリングタイプを使用するヘアについてのみ、ディフューズ・アンビエント・スペキュラ・透明度を設定できる。このシェーダのパラメータには全てグラディエントスライダ(グラデーションを作るスライダ)を使用するオプションがある。Hair Geoシェーダを接続するには、
1. HairプロパティエディタのRender TypeGeometryを選択する。
2. RenderTreeを開き、Nodes > Hair > Hair Geometry Shading を選択する。
3. シェーダのアウトプットを、ヘアオブジェクトのMaterialノードのSurfaceShadowインプットに接続する。

Hair Renderシェーダに接続し直す場合は、SurfaceVolume(Render TypeをVolumeに設定している場合)とShadowPhotonインプットに接続する。