![]() |
Blenderでのヘアー・毛・羽 | |
|
http://f11.aaa.livedoor.jp/~hige/index.php?%5B%5BBlender%A4%C7%A4%CE%A5%D8%A5%A2%A1%BC%A1%A6%CC%D3%A1%A6%B1%A9%5D%5D |
この文書はBlender 2.40 公式マニュアルの下書きを翻訳したものです。 最終的な公式マニュアルでは変更が予想されます。
また、画像は本家への直接リンクになっています。
←前ページ / 原文(2005-12-02版) / 次ページ→
これらの機能はBlender 2.46でアップデートされました。詳細はリリースノート"Hair と Fur"を参照の事。
Relevant to Blender 2.40
ページ内目次
Blenderには強力な (awesome)パーティクル・ジェネレーター(直訳すると、粒子を生成する仕組み)が有ります。 それはパーティクルを作り出すだけではなく、髪の毛の房のようなものを作り出す事も可能であり、頭髪、毛皮、そして鳥の羽にも使えます。 これらはパーティクルをレンダリング可能なポリゴンの糸に変換する事によって実現されます。 ポリゴンの糸は決して1ピクセルより細くはなりません。 これにより描画エンジンが糸を描画する時、ウソっぽくならないようにします。(訳注:この一節は適当。原文→"The polygon strands never go below 1 pixel in size and this helps keeping rendering artifacts at bay when the rendering engine renders the strands. " ) まずはパーティクル・ジェネレーターと、その動作の理解から始めましょう。 次の図はパーティクル・ジェネレーターがBlender 2.40でどう見えるかを示したものです。
図1:

図1を見て判るように沢山のオプションが有ります。 このParticlesメニューを見つけるには、まず最初にパーティクル・エミッター(粒子を放射するもの)を作成しなければなりません。 パーティクル・エミッター(粒子生成の母体)は何でもいいのですが、1つのオブジェクトにするのが良いと思います。 sphereを追加するところから始めましょう。[Space]→<Add>-<Mesh>-<UVsphere>メニューで追加します。 球の分割はだいたい縦が20セグメント、横を20ラインにします。 [Tab]でObjectモードへ抜けてください。
次に[F7]COLOR(gray)を押してボタンウィンドウをObjectコンテキストに変更すると、Particlesパネルが見つかるでしょう(訳注:[F7]に続けて、ウィンドウヘッダに有るオレンジのPhysics buttonsアイコンを押す必要が有ります)。 [NEW]ボタンを押すと、先に図1で示した設定画面が現れるはずです。 今回は髪の毛か毛皮を作ろうとしているため、パーティクルの種類をstatic (静的)に変更する必要が有ります。そこでStaticボタンを押してください。 もし動画にするつもりならば、続けてAnimatedボタンも押してください。 (このままだとパーティクルが点として描画されるので)生成された粒子の間をstrand (糸)でつなぐためにベクトルの設定を有効にします。Display:セクションに有るVectボタンも押してください。 パーティクルstrandが生成されている間もMeshを表示したい場合*1、Display:セクションに有るMeshも押します。
ここでパーティクルが見えるようにする必要が有りますが、ジェネレーターがMeshからどのようにパーティクルを放射するか、をまだ設定していません (エミッターの表面に留まり続けるため糸状には見えません)。 パーティクルを見えるようにするにはParticle Motionパネルの方でNormalを 0.010 にセットします。 Sphereが図2のような感じになったと思います。 もしそうならなかった場合は、Shadedビューに切り替えるため[Z]キーを押してください。 (補足: Shadedプレビューのホットキーは[Shift Z]、見え方は図2の1枚目です。)
図2:*2


この図は随分単調に見えると思いませんか? 丸いボールから毛が突き出てるだけです。 もっと見栄えをよくしましょう! そうするには毛をもっと楽にして(ease out)、オブジェクトが周囲になじむようにアンチエイリアスをかける必要が有ります。 髪の毛の太さと先端の見栄えを変えることもできますが、それは後でやります。 まずは本物っぽく、柔らかくてふわふわな感じに見える髪の毛を植える方法から見ていきましょう。
Blenderは新しいシェーダーを手に入れました! このシェーダーは新機能strandポリゴンの向きに追随するように実装されました。 別の言い方をすると、strandを選択してテクスチャーや陰影を設定した場合、strandの向きに従うということです。 さらに髪の毛にgradient (≒テクスチャによる濃淡)をつけると、髪の毛の先端を次第に透明にできます。 高い解像度の場合、これは魔法のような効果を与えてくれます。 この手法はアンチエイリアシングとして知られています。 とにかく1ピクセルより細くしてレンダリングすることはできません。このため上記の「トリック」を使って、髪の毛の先端をより細く、段々見えなくなるようにします。
図3:

図3はMaterialメニュー[F5]です。 ここで新しいマテリアルを作り、テクスチャを追加します。 なお、実用を考えるとマテリアルを2つ作る必要があります。これはパーティクル放射元であるオリジナルのMeshオブジェクトを、パーティクルと同時に表示するためです。 しかし今のところは、パーティクルのgradient設定に専念するため、マテリアルは1つにしておきましょう。 図3に示したのと全く同じ内容に、正確に設定してください(訳者補足: 新規マテリアルのデフォルト設定に対して次の2つのボタンを押すだけで良いようです)。 Strandボタンはstrandへのマッピングを、Alphaボタンはアルファチャンネルを有効にします。 アルファチャンネルはテクスチャを透明にしたり、背景が透けないようにしたりします。 これが前に話した、テクスチャが消えていくトリックです。 「消えていくテクスチャ」を設定しましょう。 Blendタイプの陰影をテクスチャ・スロット1に追加すると図4のようになります。
図4:

ここでBlendタイプのテクスチャにカラーのgradientを追加しましょう。 Colorsパネルへ切り替え[Colorband]ボタンを押して追加メニューを表示します。 デフォルトの色を白に、左から右へフェードアウトさせます(陰影付きの小さなウィンドウで、小さな線状のマーカーをドラッグ&移動し、位置を合わせてください)。
(訳者補足: 具体的には次の2手順。図5は�を実施した状態になっています。
�左側の縦線マーカーを[LMB]するか、Cur:ボタンを0に変更して選択、
色を白、アルファ(Aボタン)を1.000にする。
�右側の縦線マーカーで同様に、色を黒、アルファを0.000にする。)
全部正しく設定し終わったら図5のように見えるはずです。
図5:

オーケイ、パーティクルstrandにフェードアウト効果を出すgradient設定の準備が終わりました。 Shadingコンテキスト[F5]に戻り、[Col]ボタンのチェックを外してください。こうする理由は、テクスチャのColorbandの色ではなく、最初に作った (マテリアルの)色をstrandに使うためです。 こちらを色の変化として使うには、Materialパネルの不透明度 設定=Aボタンを 1.000 → 0.000 にしてください。(訳注: 2つ先の図、図7の右下を参照のこと。)
図6:

ここで髪の毛の色を設定します。 Materialボタンウィンドウ ([F5])へ移動し、そこに表示されている色を調整します。 さらにアルファ値のスライダー Aをスライドさせてゼロに設定します。こうする事により、図4で設定したアルファ・チャネルのgradientが、実際の透明度を100%コントロールすることになります。 もちろん、100%コントロールさせたくないなら、このパネルでの設定を好きに変えても構いません。 でも今はこうしておきましょう。
図7:

以上の設定を全て終えたら[F12]を押してレンダリングして下さい。 描画結果は次のようになるはずです*3。
図8:

ご覧の通り、柔らかくふわふわした髪の毛になりました。 ここでパーティクルを増やしたい所ですが、まだやることが有ります。 BlenderのMaterialパネルには他にもオプションが有ります。それはTangentシェーダーです(MaterialパネルのStrandsボタンを押すとポップアップ表示されます)。 Tangentシェーダーは、より太い/細いstrandのカーブを作り出します。 これはパーティクルstrandの長さに依存します。 これを調整してstrandの根元/先端をもっと太く/細く描画できます。また、尖った感じ/丸っこい感じの程度も調整できます。
図9: ここでは(Startを12.0に、)Shapeを-0.900に設定したため、結果はスパイクのようになります。

これをレンダリングすると次のように見えます。
図10:

さて、すべての準備 (footwork)が終わりました。やっとヘアー/ファーの一番面白いところに取りかかれます。 パーティクルの設定画面に戻り、毛をフサフサにしましょう。
Particlesパネルで粒子をもっと沢山にしましょう...2万くらいに(Amount:パラメータ。プレビュー表示が重くなるため、低スペックPCでは次のDisp:を先に設定した方が良いです)*4。 あなたのPCが速くない場合はDisp:の値を20%位にしてください。こうするとプレビュー再生では設定した粒子の20%だけが表示され、レンダリングではすべての粒子が描画されます。 沢山のパーティクルstrandを追加したので、これにいくらか重さを追加しましょう。 ご存知の通り重力は下向きに働くため、Z軸方向の力を約 -0.02に変更します(Force→Z:パラメータ)。 毛を少し縮れてばらついた感じにするためVelocityセクションの下に有るRandom:を0.005にします。 毛が分散して生えるさまをもっと見栄え良くするために、毛が頂点と面の両方からランダムかつ均等に生えるようにします。 これらの設定は下に有る図11を見てください。(Particlesパネル・From:セクションのRandでばらつき、Evenが均等化)
図11:

以上の設定でレンダリングすると、図12のように見えるでしょう。 そうなってない場合は、ライトの設定がサンプルとかなり違っているのかもしれません。 パーティクルstrandでシェーディングを行うにはライトがとても重要です。 きちんとしたライティングを行いたい場合は、マニュアルにライティングのチュートリアルとランプの節が有るのでどちらかをチェックしてください。 きちんとしたライティングができるように宿題を終わらせてからこのチュートリアルをやり直すと、すばらしい結果を得ることができるでしょう。
図12:

新機能「ガイド」を使うと非常に簡単です。 あなたが作った毛の固まりに対して毛の流れをガイドするには、Curveを追加し、ガイドとして設定します。
まず[Space]→<Add>-<Curve>-<Bezier Curve>メニューを実行します。 Curveが選択された状態で[F7]メニューに切り替え、Field and Deflectonの下にあるドロップダウンメニューを探してください:
図14-2:

選択したCurveがCurve Guideになり、あなたのヘアー・ボールがすぐさま影響を受けた事が判ると思います。 また髪の形がGuideに沿っていることにも気づいたでしょう。 もちろんCurveをどんな形にしようがあなたの自由です*5。 Bezierカーブを動かしたり[E]で新しいセグメントを追加した場合でも、Blenderはリアルタイムで表示を更新します。 (訳者補足: Curve Guideを使うと意外にメモリ消費量が増加するため、低スペックPCでは気をつけてください。)*6
図13:

改めて言っておきますが、質の高い髪を描くにはライトと影がとても重要です。 ライトの設定方法をよく学べば、ふさふさで美しい髪を得ることで報われるでしょう。 光沢が有り綺麗な髪を実現する良い方法は、Specularityを少し下げ、Hardnessの値をだいたい70〜100に増やします。 もっとふさふさで「ふわふわな」髪を描画するためにやる事は、Shadersコンテキスト[F5]でMirror Transpパネルに有るZtransparencyオプションを選択する事です。 この設定は透明度つきでアルファ・レイヤーに描画するため、アンチエイリアスが少し良くなるだけではなく、総合的にずっと良い結果をもたらします。 もちろんこれはレンダリングに時間が掛かりますが...そうするだけの価値が有ります。 Ray Transparencyオプションを有効にしてDepth:を望む値に設定する事もできます。 こちらは少し速くなりますが、Ztransparencyほど見栄えが良く有りません。
図14:

どう?素敵な髪でしょう。 これの設定が見たいですか? いいでしょう、図15をチェックしてください。 (訳注: 原文 → "Nice hair huh? Want to see the settings for it? Here you go, check out fig-15." )
図15:

素敵な髪にするために、我々が設定した内容を見てください。 パーティクル・エミッターのオブジェクトは少し縮小してあります (just for effect - really)。 Particle Motionパネル・Velocity:セクションに有るNormal(放射スピード)を上げました。パーティクルの寿命のランダムさRLife:=0.4にしてスピードを変化させています。*7 Bezier Curve Guideをサイズ変更、回転させ、髪にこれらのバリエーションを与えようとしています。 これらがどんなに柔軟で、どれほど多くのバリエーションを取る事ができるか知れば、あなたは驚くに違いありません。
もっと詳しく知りたいですか? 続きを読んでください。
髪を囲むガイドには、複数のCurveを使えます。 Curveを複製し、図16のように少し左右へねじってください。
図16:

Objectコンテキスト[F7]でFields and Deflections設定を再び確認します。
Additiveボタンを押してください。 このボタンは、Curve Guideに approximationフィールド(≒半径に応じた力場? approximation=接近/近似)を追加します。 こうしてから2つ以上のCurve Guideを重ね合わせると、設定したMinDist?:とFall-off:の値に応じて、髪の毛の各部分に影響を与えます。
2つのCurveのMinDist?:を図17のような小さい値にしてから、Fall-off:の値を実験してみてください(小さな数から始めること)。 パーティクル・エミッターに近い場所で、2つのCurveをお互いに重ね合わせると、Fall-off:/MinDist?:/MaxDist?:の値について、影響をリアルタイムに見ながら調節できます。*8
これらの設定値はあなたが置いたCurve Guideとそのセグメントの数、パーティクル・エミッターのサイズなどに依存します。 言い換えると、作品によって適した値が変わります。
図17:

すべての設定と調整が終わったら、パーティクル・エミッターを分割するとよいかもしれません。 例えば次の図のように。
図18:

図18のような髪の生成を、あなたはもう完全にコントロールできます。 各Curve Guideの長さを変えると、Curveに近い髪の長さも変ります。
これで終りでは決してありません。 Blenderでの髪のコントロールに限界は無いと言ってよいでしょう。 ねじる事もできるし、編んだり巻いたりそらしたり、やりたい事は何でもできます。 世界に名だたるヘア・ドレッサーになってください。 あなたの作るキャラクターはもうハゲではないのです!
Tommy Helgevold (JoOngle?) This page was last modified 08:22, 2 December 2005.
このセクションは原文に無いため、適宜編集・削除しても構いません。