忍者ブログ
【備忘録】ベジエカーブで髪を作成する



Blenderでの髪の作り方はいろいろありますが、一番楽でリアルに近くできるのがベジエカーブだと思います。
今回はこちらの動画と、


こちらの記事を参考にしています。
機械系エンジニアの備忘録

ただ…。
自分のやり方ではAAAゲームのモデルのようなリアルな髪にはできていません。
同じベジエカーブを使ってもっとリアルな髪を作れている人もいるので、試行錯誤が足りないのだと思います。
もしも改善点がわかる方がいらっしゃいましたら教えていただけますと幸いです。



【髪のマテリアルを設定する】
上記の動画を参考に4つのテクスチャを作成します。
参考動画では板ポリで作成するためのチュートリアルなので複数の髪の束を作っていますが、今回はベジエカーブでざっくり作っていくので一面均一な髪のテクスチャでOKです。


動画を参考にマテリアルを設定しておきます。




【髪の断面用のベジエ円を作成する】
ベジエ円を新規作成します。
オブジェクト名を「_髪断面1」としておきます。


オブジェクトモードのままベジエ円をキャラクターの頭上に持ってきます。
作業をしやすくするためなので見やすい位置であれば頭上でなくてもOKです。


カーブのプロパティでシェイプのプレビュー解像度を1、ベベルの解像度を0にしておきます。
(片方の設定しか影響してない気がしますが念のため)
解像度を大きくするほど断面の凹凸が細かく滑らかになりますが、その分メッシュ化した時に頂点数がものすごく多くなってしまうので少な目にしておく方がいいでしょう。


編集モードに入り、すべての頂点を選択した状態で右クリックをして細分化を選択します。
これで頂点数が増えて断面の形が成形しやすくなります。
 

全体を選択したままSを押して縮小します。


表示モードを頭上からの平行投影モードにしておいて、各頂点を動かして髪の断面の形にします。

断面を複数作成して髪の部位によって毛束の形を変えることもできます。



【ベジエカーブで髪を作成する】
ベジエカーブを新規作成します。


カーブのプロパティでシェイプのプレビュー解像度を3~5にしておきます。


ベベルでオブジェクトを選択し、オブジェクトを先ほど作成した_髪断面1に設定します。


そうするとベジエカーブの断面がベジエ円で作成した形状になります。


カーブのマテリアルに上記で作成したマテリアルを設定します。




【髪を配置する】
編集モードに入り、ベジエカーブを配置していきます。
カーブの頂点をGで移動、Rで回転させながら思い通りの位置に配置していきます。


髪にねじりを加えたいときはCtrl+T。


毛束の太さを変えたいときはトランスフォームの半径の数値を変えます。


頂点数が足りないときは頂点を複数選択した状態で右クリックし、細分化を選択します。


増やした頂点の位置や回転、ねじれ、半径を調整することでより詳細に作りこむことができます。


あとは毛束をShift+Dで複製して増やし、ひたすら髪をはやしていきます。
左右対称の部分はミラーで作ると楽です。

最終的にこのようになります。
後ろの毛がはみ出ていますが、布なしの差分も想定して作っているので今はこのままで大丈夫です。

このままではエクスポートできないので髪のオブジェクトをすべて選択した状態で右クリックして変換、メッシュを選択します。
※あとから修正を加えたいときのためにメッシュ変換する前のカーブオブジェクトを複製しておいておきましょう。


メッシュ変換後、先ほどはみ出ている部分を編集モードやスカルプトモードで修正して完成です。



【UE5でのマテリアル設定】
Blender上で複雑にマテリアルを組んでいるとそのままUE5にはインポートできないので、インポート後に自分でマテリアルを設定しなおす必要があります。

BlendModeをMasked、ShadingModelをTwoSidedFoliageにします。
TwoSided、UseMaterialAttributesにチェックを入れます。
ベースカラー、ノーマル、アンビエントオクルージョンには直接テクスチャをつなぎます。
アルファテクスチャからはノードを2本出し、1本は直接オパシティに、もう一本はDitherTemporaIAAノードを介してオパシティマスクにつなぎます。
メタリック、スペキュラ、ラフネスの値をお好みで調整しておきましょう。


実際に見てみるとこんな感じです。


作るのは楽なのですがリアルさはいまいちなんですよね。
改善点等、わかる方がいらっしゃったらぜひ教えてください。


【追記(2024/09/22)】
髪の断面のカーブの形を画像のようにして、髪を形成するベジエカーブの先端の半径を0にせず太めにしておくと多少リアルな見た目になりました。
PR
【備忘録】リアルな目のマテリアルをテクスチャ化する

Blenderでのリアルな目の作り方はいろいろな方が作り方をアップしてくれています。
自分が参考にしたのはこちらの動画です。


ただ、Blenderでリアルな目を作っても、そのままUEには持っていけない…。
UEはUEで、メタヒューマンやパラゴンモデルに使われている目のマテリアル設定の仕方があるようですが、初心者が理解するのはハードルが高いです。
そういうわけで、今回は肌や服と同じように、ベイクしてテクスチャ化してしまうことにしました。

他の皆はどうやってUEでどうやってリアルな目を表現しているのか…。
もしかしたら正しいやり方があるのかもしれません。メタヒューマンの目だけを自作モデルに持ってくるとか。
たぶん十中八九それが正しそうなのですが、自分はその方法にたどり着けなかったので…。
こんな間に合わせの方法じゃなくてもできる正しい方法を知ってる方がいたらぜひ教えてください。

しかしひとまずは正しい方法にたどり着けなさそうなので、間に合わせのやり方でやっていきます。



【目のオブジェクトを作る】
動画の中ではがんがんサブディバイドしていて、その通りに作ると片目だけで頂点数が千とか万とかいってしまうので、ゲーム内で使用するオブジェクト用に少ない頂点数で作成していきます。
今回はセグメント数16,リング数12で作っていきます。


上の画像のように編集モードで角度を90度回転させてサイズを調整したら、オブジェクトモードに戻ってこのオブジェクトをコピーします。

一つ目のオブジェクト名を「目の表面」、二つ目のオブジェクト名を「網膜」としたら、「網膜」のオブジェクトを選択した状態で編集モードに入り、「網膜」が「目の表面」よりも少しだけ小さくなるように縮小します。


「目の表面」オブジェクトの一部を突出させます。


次に「網膜」オブジェクトの虹彩部分をくぼませます。




【UV展開】
「網膜」のオブジェクトをUV展開します。
下の画像のようにシームを入れるとわかりやすいかと思います。




【マテリアルの設定】
オブジェクトモードに戻って「網膜」オブジェクトをさらにコピーし、コピーしたオブジェクトを「虹彩」と名付けておきます。

この記事の最初に紹介している動画に倣って、目のマテリアルを設定してください。
ただし動画では一つのオブジェクトに網膜・虹彩二つのマテリアルを割り当てていますが、今回は「網膜」オブジェクト、「虹彩」オブジェクトにそれぞれ目のマテリアルを設定してください。

「網膜」オブジェクトはこのように。


「虹彩」オブジェクトはこのようになっていたらOKです。




【マテリアルをベイクする】
設定したマテリアルのカラーとノーマルをベイクします。
こういう時はTexToolsが非常に便利ですね。

「網膜」オブジェクト、「虹彩」オブジェクトをコピーしてそれぞれ名前を「網膜.lp」「網膜.hp」「虹彩.lp」「虹彩.hp」に変更します。
この4つのオブジェクトを選択した状態でTexToolsを開き、「BaseColor」を選んで「Bake×2」を押します。


下のように2種類の画像が得られます。
それぞれ名前を付けて保存しましょう。


最終的に必要なのは網膜と虹彩の部分だけなので、他の画像編集ソフトで下の画像のように編集しておきます。


ノーマルも同じようにベイクします。


こちらは「虹彩」だけでOK。




【オブジェクトを整理する】
このままUEに持っていくとベイク用、マテリアルの設定用の余計なオブジェクトが含まれてしまうので、必要なオブジェクト以外は削除するかレンダリングしないようにします。
UEに持っていくのは「網膜」オブジェクトと「目の表面」オブジェクトだけです。(「虹彩」オブジェクトはいりません。)
UEでは日本語の名前があるとエラーが起きるらしいので、FBXとしてエクスポートする前に、「網膜」は「eyes」、「目の表面」は「surface」など、英語の名前に変換しておきましょう。



【UEでのマテリアル設定】
「eyes」と「surface」にそれぞれマテリアルを設定します。

「eyes」のマテリアル設定は、ベースカラーとノーマルにBlenderでベイクした画像を張り付けるだけです。
詳細タブのShadingModelをClearCoatにすると光沢のある瞳になります。


「surface」にはテクスチャがないので、ベースカラーには適当に白をつないでおきましょう。
メタリックを1.0、ラフネスを0.0、オパシティはお好みで0.05~0.1くらいに設定します。


詳細パネルのマテリアルのブレンドモードをtranslucent、透過処理のLightingModeをSurfaceTranslucencyVolumeにしておきます。





そうすると「Surface」オブジェクトがこんな透明な球体になります。
これが「eyes」オブジェクトを包む構造になっているので…。


こんな感じの目が出来上がります。

メタヒューマンやパラゴンの目と比べると微妙ですね。
でも自分のようにUEでリアルな目の設定の仕方がわからない場合はこのやり方で何とか代用できるんじゃないかと思います。
でもできれば間に合わせの代用方法じゃなくてちゃんと正しい方法で目を作りたいので、UEでの目の作り方を知ってる方がいたらぜひ教えてくださいね。
去年の11月末からblenderをはじめて右も左もわからない初心者ですが、偉大な先達が公開してくれる参考資料のおかげで何とかなっています。
貴重な記述を公開してくれる先達には本当に感謝を申し上げたい。

もしかしたら超初心者の自分だけど、思いついた事や試したことをネットの海に流していけば、誰かの助けにはなれなくてもヒントになれるかもしれないと思い備忘録をしたためます。



【備忘録】ヘアパーティクルで作った髪を大きな印象を変えずになるべく楽にメッシュに変換する方法




というわけで、まずはヘアパーティクルで作ったこちらの髪を、


こんなふうに大きな印象を変えずになるべく楽にメッシュ変換する方法




【ヘアパーティクルで髪を作る】

まずはこちらの動画を参考にして髪の毛をはやします。




【ヘアパーティクルをメッシュに変換する】

いったん子パーティクルの表示数を「1」に減らしてから 、

メッシュ変換を行います。


そしたら次はこちらのサイトを参考にしてメッシュをカーブに変更します。
【–GRAPH 3D】Blenderのヘアーパーティクルをメッシュに加工する

カーブの面の向きをそろえるところまで出来たらまだメッシュ変換は行わず、カーブの形状を変えていきます。

シェイプからフィルモードを「ハーフ」にして、


ベベルから「断面」を選び、深度を「0.01m」に、断面の形状を画像のようにします。


するとカーブの断面が三つ折り重なって元のヘアパーティクルに近い立体感が出ます。


まだメッシュに変換しません。
「選択>最後を選択>選択を拡張」を利用して髪の房の先端から2~3点を選択し、


トランスフォームから平均半径を調整して、房の先端を尖らせます。


1~3つ目までを選択した状態で平均半径を0.5に、
「選択を縮小」して1~2つ目までを選択した状態で平均半径を0.25、
さらに「選択を縮小」して1つだけ選択した状態で平均半径を0にするとちょうどよくなります。


ここまで出来たらメッシュに変換してスムーズシェードをかけておきます。




【髪のマテリアル設定】

こちらの動画を参考に髪のテクスチャを作り、マテリアル設定をします。


参考動画のように細い房をいくつも作りません。
作るのはこんな感じの一枚です。
※同じマテリアルでまつ毛と眉毛も作ったので右端に髪じゃないテクスチャがありますが、髪だけ作るなら全面髪にしてしまってOK。


UVエディタに入ってメッシュ変換した髪を全選択するともうすでに展開が済んで、すべての房がぴったり重なって表示されているので、すべてのUVを重ねたまま髪のテクスチャとサイズを合わせます。

ただし、そのままだとテクスチャの向きが90度傾いてしまっているのでUVのほうを90度回転させて修正します。

するとこんな感じで出来上がります。


編集モードやスカルプトモードで整えて、光沢の調整をしたたものがこちら。




以上、ヘアパーティクルをなるべく楽にメッシュに変換する方法でした。
参考になった、あるいはもっといいやり方があるよという場合は教えていただけると嬉しいです。
<< 前のページ   |  HOME  |
プロフィール
HN:
山乃 ゆぎと
性別:
非公開
最新コメント
[09/06 グリペン]
[07/03 くらげ]
[04/30 NONAME]

Template by Emile*Emilie
忍者ブログ [PR]