[JBDP]
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 公式マニュアルの下書きを翻訳したものです。 最終的な公式マニュアルでは変更が予想されます。
また、画像は本家への直接リンクになっています。


Blender Documentation 日本語版
原文の最終更新日: 08:22, 2 December 2005
日本語版 初版作成日: 2005-12-03 (土) 12:05:37 by na5312

前ページ / 原文(2005-12-02版) / 次ページ


Blenderでのヘアー・毛・羽

これらの機能は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:

P-fig1.jpg

図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を表示したい場合*1Display:セクションに有るMeshも押します。

ここでパーティクルが見えるようにする必要が有りますが、ジェネレーターがMeshからどのようにパーティクルを放射するか、をまだ設定していません (エミッターの表面に留まり続けるため糸状には見えません)。 パーティクルを見えるようにするにはParticle Motionパネルの方でNormalを 0.010 にセットします。 Sphereが図2のような感じになったと思います。 もしそうならなかった場合は、Shadedビューに切り替えるため[Z]キーを押してください。 (補足: Shadedプレビューのホットキーは[Shift Z]、見え方は図2の1枚目です。)

図2:*2

round
round

 この図は随分単調に見えると思いませんか? 丸いボールから毛が突き出てるだけです。 もっと見栄えをよくしましょう! そうするには毛をもっと楽にして(ease out)、オブジェクトが周囲になじむようにアンチエイリアスをかける必要が有ります。 髪の毛の太さと先端の見栄えを変えることもできますが、それは後でやります。 まずは本物っぽく、柔らかくてふわふわな感じに見える髪の毛を植える方法から見ていきましょう。

Strand Shader

Blenderは新しいシェーダーを手に入れました! このシェーダーは新機能strandポリゴンの向きに追随するように実装されました。 別の言い方をすると、strandを選択してテクスチャーや陰影を設定した場合、strandの向きに従うということです。 さらに髪の毛にgradient (≒テクスチャによる濃淡)をつけると、髪の毛の先端を次第に透明にできます。 高い解像度の場合、これは魔法のような効果を与えてくれます。 この手法はアンチエイリアシングとして知られています。 とにかく1ピクセルより細くしてレンダリングすることはできません。このため上記の「トリック」を使って、髪の毛の先端をより細く、段々見えなくなるようにします。

図3:

P-fig3.jpg

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

図4:

P-fig4.jpg

ここでBlendタイプのテクスチャにカラーのgradientを追加しましょう。 Colorsパネルへ切り替え[Colorband]ボタンを押して追加メニューを表示します。 デフォルトの色を白に、左から右へフェードアウトさせます(陰影付きの小さなウィンドウで、小さな線状のマーカーをドラッグ&移動し、位置を合わせてください)。

(訳者補足: 具体的には次の2手順。図5は&#65533;を実施した状態になっています。
&#65533;左側の縦線マーカーを[LMB]するか、Cur:ボタンを0に変更して選択、
 色を白、アルファ(Aボタン)を1.000にする。
&#65533;右側の縦線マーカーで同様に、色を黒、アルファを0.000にする。)

 全部正しく設定し終わったら図5のように見えるはずです。

図5:

P-fig5.jpg

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

図6:

P-fig6.jpg

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

図7:

P-fig7.jpg

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

図8:

P-fig8.jpg

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

図9: ここでは(Startを12.0に、)Shapeを-0.900に設定したため、結果はスパイクのようになります。

P-fig9.jpg

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

図10:

P-fig10.jpg

さて、すべての準備 (footwork)が終わりました。やっとヘアー/ファーの一番面白いところに取りかかれます。 パーティクルの設定画面に戻り、毛をフサフサにしましょう。

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

図11:

P-fig11.jpg

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

図12:

P-fig12.jpg

ヘアーガイドを使ってヘアーを生成しよう

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

図14-2:

P-fig14b.jpg

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

図13:

P-fig13.jpg

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

図14:

P-fig14.jpg

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

図15:

P-fig15.jpg

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

もっと詳しく知りたいですか? 続きを読んでください。

髪を囲むガイドには、複数のCurveを使えます。 Curveを複製し、図16のように少し左右へねじってください。

図16:

P-fig16.jpg

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:

P-fig17.jpg

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

図18:

P-fig18.jpg

図18のような髪の生成を、あなたはもう完全にコントロールできます。 各Curve Guideの長さを変えると、Curveに近い髪の長さも変ります。

これで終りでは決してありません。 Blenderでの髪のコントロールに限界は無いと言ってよいでしょう。 ねじる事もできるし、編んだり巻いたりそらしたり、やりたい事は何でもできます。 世界に名だたるヘア・ドレッサーになってください。 あなたの作るキャラクターはもうハゲではないのです!


Tommy Helgevold (JoOngle?) This page was last modified 08:22, 2 December 2005.


日本語版 補足

このセクションは原文に無いため、適宜編集・削除しても構いません。

関連資料

サンプルファイル

fileManual-PartXIII-Particle_Hair_Fig14.blend

Tips

影について

改訂履歴 兼 コメント


前ページ / ↑目次 / 次ページ


*1 訳者補足: 具体的な例。 v2.37aまではパーティクル・エミッター自体を描画できなかったため、地肌を表示するには「エミッターと同じ形でマテリアルが違うMesh」を別に用意する必要がありました。 v2.40からはエミッター自体も描画可能になったため、次の設定をしておけばそのまま地肌に使えます。
*2 訳者補足: 図2の2枚目は一見Wireframeプレビューに見えますが、WireframeではこのようにMeshにシェーディングが掛かりません。恐らくこちらもShadedプレビューであり、複製してDrawType?=Wireにしたオブジェクトを重ね合わせているのだと思います。
*3 訳者補足:図8はこんな感じでレンダリングしてあるようです。・・・ライトは3つ、エミッターの左手前・右手前・上でオブジェクトより奥。 Shadingコンテキスト[F5]→World設定で背景色を青→灰色。 Sceneコンテキスト[F10]OSA=オン、Shadow=オフなど。
*4 訳者補足: (トラブルシューティング)Amount:パラメータを増やしても毛の本数が増えない場合は、From:セクションのFacesボタンがオンになっているか確認してください。
*5 訳者補足(余談): Curveに初めて触る人向けTips ・・・最初にCurveの基点とオブジェクトの原点をそろえておくと後で楽です。具体的には、作成直後に制御点を全選択[A]→左右どちらかに1ユニット移動します。 その後は原点に有る制御点は移動しないようにします。
*6 Curve Guideを使うとメモリ消費量が増加・・・例として「Amount=20000、解像度=800x600、Render Size=100%、OSA=無し」の場合、RenderウィンドウのMem:表示が 90MB→140MBに増加。増加量は解像度に依存するかもしれません。
*7 訳者補足: その他に以下などが変更されています。 Emit:Step:(パーティクルの間引き)を5→1にしてstarndを滑らかに。 Emit:Disp:(プレビューでのパーティクル省略) 20% → 1%。 Display:Mesh:(エミッター表示)オフ。
*8 訳者補足: (トラブルシューティング) Guideの影響の重ね合わせがうまく行かない場合は、MinDist?:を下げてみてください。・・・Blenderの他の変形機能(Bone、Hookなど)では、影響度100%の変形を重ね合わせても比率配分されますが、v2.40β版(2005-11-28版RC1)で複数のGuideが半径MinDist?以内で重なっている場合、どれか1つのGuideしか機能しません。

添付ファイル: fileManual-PartXIII-Particle_Hair_Fig14.blend 1549件 [詳細]
リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Fri, 12 Dec 2008 01:18:08 JST (426d)
Link: LMB(2398d) 目次(452d) 未翻訳のドキュメントリスト(989d)

Modified by Hige

"PukiWiki" 1.3.4 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 4.3.11

HTML convert time to 0.651 sec.