忍者ブログ

お知らせや近況報告

【備忘録】キャラクターのメッシュをリトポロジーする

【備忘録】キャラクターのメッシュをリトポロジーする

前回キャラクターの顔を作りましたが、頂点数が万を超えていてゲームの中で使用するには重すぎます。
前回の記事はこちら

リトポロジーとは簡単に言うと、このハイポリメッシュをローポリのメッシュに作りなおす――メッシュの流れ(トポロジー)を作り直す(リ-)――作業のことです。




【リトポロジー】
平面を追加して小さくしたものを、スカルプトしたハイポリメッシュの目の近くに移動してきます。


シュリンクラップモディファイアを追加します。


ラップ方法を最近接表面の点、スナップモードをサーフェスの外側、ターゲットにスカルプトした顔、オフセットを0.01mにします。


スナップモードをオンにして、面上の最近点にします。


編集モードで平面を移動して目頭の下に貼り付けます。


右側の二つの頂点を選択して、Eで延長しながら目のふちを覆っていきます。


一周できたら外周をAltで全選択してEで延長、Sで拡大して目のふちを平面が二周するようにします。
ミラーモディファイアも追加してクリッピングをオンにしておきましょう。


目頭の平面をEで延長して正中線上でクリッピングしておきます。


正中線上のメッシュを延長して鼻の頭を覆います。


唇をぐるっと一周するように覆います。


Ctrl+Rでループカットを追加しておきましょう。


正中線上のメッシュを首の付け根まで延長します。


目元に戻って、正中線上のメッシュを頭頂から後頭部、首の付け根まで延長します。


口の周りのメッシュを貼ります。
口を開いたときにメッシュを動かしやすいよう、トポロジーが同心円状になるようにしましょう。


メッシュの隙間を埋めていきます。










メッシュの大きさが不揃いなのでスカルプトモードのスライドリラックスブラシで滑らかにします。
ちなみに隣に置いてあるメッシュは今回トポロジーの見本にしたMakeHumanのメッシュです。


最後にサブディビジョンサーフェイスを1回分追加して、シュリンクラップ・サブディビジョンサーフェイスを適応するとこんな感じになります。




【リトポロジーをしたくない場合】
上記のリトポロジーがモデリングの正規ルートなのですが、実は自分はリトポロジーが無茶苦茶苦手なのでやっていません。
先ほど見本にしていたMakeHumanのメッシュ…。
これを使ってズルをしています。
どういうズルなのかというと……。

MakeHumanのメッシュをスカルプトした顔の形に変形するというズルです。


はじめは体のメッシュはMakeHumanを使って、顔は自分でリトポロジーしようかと思っていたのですが、
①リトポロジーが苦手すぎるのでMakeHumanのきれいなトポロジーを使いたい。
②MakeHumanの高品質なテクスチャを使いたい。
③モデリングで躓いてゲーム制作が進まなくなることを避けたい。
という理由でこういう方法をとっています。

ちゃんと全部自分で作りたい方は前半に紹介したリトポロジーを実行してくださいね。

ちなみに自分でリトポロジーしたメッシュ(右)とMakeHumanのメッシュ(左)を並べてみるとこんな感じです。
PR

【備忘録】キャラクターの顔をスカルプトする

【備忘録】キャラクターの顔をスカルプトする

Blenderでキャラクターの顔をスカルプトします。
自分は顔の原型だけスカルプトして、体はMakeHumanのモデルを使用しているので体もスカルプトで作りたい方はyoutubeなどで解説を探してみてください。



この動画で顔のスカルプトについて軽く触れているので参考までにどうぞ。




【資料の準備】
リアル風の顔を作りたい場合、自分のような初心者は資料がないと詰みます。
資料がないと、頭の中のイメージと実際にできてくるもののイメージがどんどん乖離してしまうからです。
なので作りたいキャラクターのイメージに近い役者さんやモデルさんの写真を見ながら作ります。

写真資料では足りない場合は、時に鏡を見ながら自分の顔を穴が開くほど観察したり、実際に凹凸を触って確認したりもします。

また、すでに他のモデルを作っている場合は、サイズやバランスがおかしくならないように隣に並べて置いておいたりします。



【大まかなスカルプト】
立方体を二つ作ります。
これはそれぞれ頭蓋骨の上顎から上と、下顎になります。
ちなみにオブジェクトの移動やサイズ変更は編集モードから行うようにしてください。
オブジェクトモードで行うとメッシュごとのスケールがバラバラになってあとから変なことになります。
この後もサイズや位置を変更するときはすべて編集モードで行います。


モデファイアでサブディビジョンサーフェイスを追加します。


ビューポートとレンダリングの数値をどちらも2にします。


∨を押して適応を選択します。


下顎のオブジェクトをShift+Dで複製して縮小して鼻も作っておきます。


スカルプトモードでグラブブラシを使って大まかな形を整えます。
バランスを取りやすくするために円柱で頚部も作っておきました。




同じように上唇と下唇を追加してスカルプトしたものがこちらです。
目だけはUV球で作りました。
目の作り方はこちらのブログ記事を参考にしてください。


ちなみに3Dビューのシェーディングでカラーをランダムにすると…。


どのようにオブジェクトが分けられているかわかりやすくなります。


ここまで出来たらオブジェクトモードで右クリックしてスムーズシェードを選択しておきましょう。




【サブディビジョンサーフェイスを適応する際の注意】
最初にサブディビジョンサーフェイスを適応するときにメッシュを細かく分割しすぎた場合…


ちょっとだけ変形したい…という時にこんな感じで一部が突出してしまって逆にスカルプトしづらくなります。
なので最初は少ない分割で形を整えていく方がおすすめです。




【細部のスカルプト①】
右上のシェーディングモードをワイヤーフレームにしてメッシュの細かさを確認すると…。


結構メッシュの網目は荒くて、このままでは細かい彫刻はできません。


メッシュの網目を細かくして、細部を作りこめるようにします。
メッシュを細かくする方法にはサブディビジョンサーフェイスやマルチレゾリューションもありますが、今回はスカルプトモードでメッシュサイズを変更する方法を採用します。
というのも、サブディビジョンサーフェイスやマルチレゾリューションは元のメッシュを分割する機能なので、元のメッシュが不均一の場合、分割したメッシュも不均一になってしまうんですよね。

適当ですが、例えばこんな感じにメッシュが分割されている場合…。


サブディビジョンサーフェイスやマルチレゾリューションではこうなります。
メッシュサイズが均一でないとスカルプトしづらくなります。


スカルプトモードではこのようにメッシュサイズを均一に変更することができます。


やり方はこう。
スカルプトモードでRを押すと網目と数字が出てくるので、マウスをドラッグしてメッシュサイズを変更します。
今回は0.005mにして画面のどこかをクリックします。
クリックすると網目と数字は消えますが、まだメッシュサイズは適応されていません。


Ctrl+Rを押すとメッシュサイズが適応されます。
ワイヤーフレーム表示にしてメッシュサイズが変更されたことを確認しましょう。


ちなみにこの方法は、穴の開いた立体や平面など、閉じていないメッシュで実行すると穴だらけのメッシュになってしまうので、必ず閉じたメッシュで実行しましょう。
…集合体恐怖症の方にはなかなかきつい見た目になります。

そんなこんなで顎や鼻、唇の形、頬のふくらみなどの形を整えました。
この段階ではまだ輪郭を整える程度で、目のふたえや鼻の穴やキワ、唇のM型などはまだ作りこみません。




【各オブジェクトを結合する】
各オブジェクトをブーリアン結合で結合します。
「統合」ではメッシュが重なっている部分はそのまま残ってしまって、スムーズブラシで均そうとしてもつなぎ目が残ってしまいます。
ブーリアン結合ではメッシュが重なっている部分は消えるので、スムーズブラシで均すとメッシュのつなぎ目がきれいに滑らかになります。


また、結合するオブジェクト同士のメッシュサイズが同じくらいでないとうまくいかないので、スカルプトモードのRでメッシュサイズが同じくらいになるようにしておきましょう。

モディファイアでブーリアンを追加します。


合成を選択してオブジェクトに合成したいオブジェクトを選択します。


∨を押して適応を選択します。


メッシュの形状によってブーリアン結合がうまくいかない場合があります。
…こんな感じで合成したオブジェクトが消えます。


モディファイアのソルバーオプションを開いて「自分自身と交差」や「穴を許容」にチェックを入れるとだいたいうまくいきます。


結合直後はつなぎ目がまだ目立つので、スカルプトモードのスムーズブラシで少し均しておきましょう。
その際、スムーズブラシの強さは0.2~0.3くらい弱めにしておきましょう。




【細部のスカルプト②】
目以外をすべて結合しました。
スカルプトモードでメッシュサイズを0.002mにします。


細部のスカルプト①では後回しにしていた作りこみをやっていきます。


(鼻のキワ)

ドローシャープのマイナスで彫り込むとやりやすいです。


(唇のM型)

削り取り(マルチプレーン)を使うと淵がくっきりできます。

上唇と下唇の境界を作りたいのですが、メッシュサイズが0.002mでは大きすぎて境界が作れません。


この場合、ダイナミックトポロジーのチェックを入れてサイズを2.00pxにします。


簡略化ブラシを選択して唇の境界をなぞるとなぞった部分のメッシュが細かくなります。


この状態でドローシャープのマイナスを使って唇の境界を描いていきましょう。



(目元)
ドローシャープでまぶたのふちをくっきりさせます。


クレイやクレイストリップのプラスで目の下を膨らませて涙袋を作ったり、マイナスで目頭をくぼませたりします。


目の上もダイナミックトポロジーでメッシュを細かくしてから、ドローシャープのマイナスやピンチでふたえを作ります。




【最終結果】
肌色のマテリアルを仮設定するとこんな感じになりました。
レンダリングモードはCyclesです。





スカルプトはいきなりやってもなかなかうまくいかないので、何度か練習することが大切だと思います。
自分は習作含めてこれが9回目です。

ちなみに初めてスカルプトした習作はこちら。



一応人の頭の形はしていますが…って感じですね。
まあ見る人が見れば1回目も9回目も変わらないかもしれませんが;

スカルプトした顔は頂点数が多すぎてこのままゲームに使用することはできないので、次はリトポロジーを行います。
ちゃんとモデリングする人はこの後リトポロジーするのですが…実は自分はリトポロジーが苦手すぎてやってません。ズルしてます。
どういうズルをしているのか…。本来のリトポロジーとはどんなものなのかはまた別の記事にしたいと思います。

【備忘録】TexToolsでテクスチャをベイクする

【備忘録】TexToolsでテクスチャをベイクする

これまでに服のマテリアルとディティール(凹凸)を作りましたが、このままでは重くてゲームで動かすことはできません。
ゲームで動かせるようにマテリアルとディティールをテクスチャにベイクします。

これまでの作業はこちら。
【備忘録】服をモデリングする
【備忘録】TexToolsでUV展開する
【備忘録】シワなどのディティールをスカルプトする
【備忘録】EasyPBRでマテリアルを設定する

TexToolsのダウンロードはこちら


【ハイポリメッシュとローポリメッシュの名前を変更する】
ベイクの元となっるハイポリとベイク先になるローポリメッシュは同じ名前を付け、最後の部分をハイポリは「.hp」、ローポリは「.lp」となるようにします。
例えばシャツの場合、ハイポリメッシュは「shirt.hp」ローポリは「shirt.lp」となります。



【ベースカラーをベイクする】
ハイポリメッシュとローポリメッシュを同時に選択した状態で「/」を押して選択したメッシュのみを表示します。


ベイク処理は重いですが、同時に3つくらいまでならベイクしてくれます。
同時にベイクするメッシュはなるべく互いに重なり合っていないメッシュを選択するようにしましょう。
重なり合っているメッシュをベイクすると重なり合っている部分の色や凹凸が互いのベイク結果に影響してしまいます。
例えばシャツの上にある色付きのボタンを同時にベイクすると、シャツのテクスチャにボタンが色移りした状態でベイクされてしまいます。

プレビュー画像をクリックしてベースカラーを選択します。


ベイクしたテクスチャのサイズを選択します。
あまりに大きいとBlenderが落ちるのでほどほどのサイズにしておきましょう。


下の赤枠部分のように選択した3つのメッシュの名称の横に丸と四角のアイコンが表示されていたらベイクの準備OKです。
ベイクをクリックして終わるまでひたすら待ちましょう。


ベイクが完了したらベイク結果のテクスチャを保存します。


複数同時にベイクした場合、画面に表示されているテクスチャは一つだけです。
プレビューテクスチャの下のリストをクリックすると他のベイク結果を表示することができるので、一つずつ表示しながら保存しましょう。


すべてベイクして保存したら、他の画像編集ソフトですべてのテクスチャを統合します。
最初から統合する方法があるのかもしれませんが、自分は知らないのでいちいち他のソフトで編集しています…。



【ノーマルマップをベイクする】
ベイクする種類にタンジェントノーマルを選択するだけで、他はベースカラーとほとんど同じです。


のちのマテリアル設定でこのように表示される場合、ノーマルマップをベイクしなおす必要があります。

脇の部分に妙な凹凸があるように見えます。
これはノーマルアップをベイクする際、凹凸として認識する範囲が広すぎて脇腹のメッシュを腕のメッシュの凹凸として認識してしまっているせいです。

これを解決するには、ケージを押し出しの数値を小さくしてベイクしなおします。


今回は0.02くらいでベイクしなおすとちょうどよくなりました。



【ベイクしたテクスチャをローポリのマテリアルに設定する】
出来上がったテクスチャをローポリのマテリアルに設定していきます。
シェーディングモードでマテリアルを新規作成し、このようにノードをつなぎます。
ノーマルマップの画像設定は非カラーにしておきましょう。




【最終結果】
すべてのマテリアルを設定し終えた結果です。
ローポリのメッシュですが、ハイポリで設定したEasyPBRのマテリアルとスカルプトしたシワなどのディティールが表現できています。


拡大してみたもの。
皮の質感やシワの凹凸がわかりますね。


ハイポリや複雑なマテリアルをそのままゲームにインポートすると重くて操作どころではなくなってしまうので、このようにローポリのテクスチャにベイクしてインポートするようにしましょう。

【備忘録】EasyPBRでマテリアルを設定する

【備忘録】EasyPBRでマテリアルを設定する

前回モデリングした服にマテリアルを設定します。
今回はEasyPBRというアドオンを使用します。
前回の記事>【備忘録】服をモデリングする
EasyPBRのDLはこちら


現状では各オブジェクトにベースカラーのみを設定した仮のマテリアルを設定しています。
このままゲームにインポートすると色の数だけマテリアルが必要になる上に単色でバケツ塗りしただけの味気ない見た目になってしまうので、EasyPBRを使って見た目をリッチにしていきます。
ただ、EasyPBRのマテリアルをそのままゲームにダウンロードすると重すぎるので、最終的にはテクスチャ化(ベイク)します。

ちなみにマテリアルはローポリメッシュではなくハイポリメッシュのほうに設定していきます。
ハイポリメッシュの作り方はこちらを参考にしてください。
【備忘録】シワなどのディティールをスカルプトする 



【EasyPBRでマテリアルをダウンロードする】
EasyPBRをダウンロードするとシェーディングモードのこの部分にEPBRというタブができています。


タブを開いてLoad the libraryをクリックします。


Onlineをクリックします。


検索アイコンの上をクリックして、探したいマテリアルのカテゴリを選択します。
今回はシャツの布地のマテリアルを探したいのでFabricを選択します。


ちなみにこの部分をクリックするとインターネット上で大きなプレビューを確認することができます。


マテリアルのプレビューをクリックして、出てくるウィンドウからダウンロードしたいマテリアルを選択します。


ダウンロードマークをクリックします。


ダウンロードする画像の種類を選びます。
赤枠の部分をクリックするとダウンロードできる画像の一覧が表示されます。
自分は基本的に4KのJPGを選択するようにしています。


OKをクリックしてダウンロードを開始します。
※一度ダウンロードしたことがあるマテリアルの場合は赤字でOverwrite?と表示されるので、上書きしたい場合はOKを押します。


ダウンロードが完了したら+マークを押して、オブジェクトにマテリアルを適応します。


表示されるウィンドウでOKを押します。




【マテリアルのスケールや向きを調節する】
仮のマテリアルを削除するとシャツのメッシュにダウンロードしたFabricのマテリアルが適応されます。
かなり拡大して表示されているので、シェーディングのマッピングノードでスケールを大きくすることで拡大率を調整します。


スケールを10にするとちょうどよくなりました。
しかし布目の向きが左右で違うため違和感があります。


マッピングの回転で布目の向きを変えることもできますが、左右で向きが違う場合はUV展開のほうを修正しなければいけません。

UV展開モードに入ります。
TexToolsを使用していればChekerMapをクリックしてカラーグリッドを表示しましょう。


UVを回転して左右対称になるようにします。




【EasyPBRの色を変更する】
EasyPBRのマテリアルは豊富ですが、それでも色見がちょっと惜しい…ということはあります。
そういう場合はシェーディングモードで色を変更します。


プリンシブルBSDFのベースカラーにカラーミックスをつないで色を調整します。




【手書きの模様を追加する】
腰布に模様を追加したいので手書きしていきます。
シェーディングモードに入り、プリンシブルBSDFのベースカラーにカラーミックスの乗算で画像テクスチャをつなぎます。


画像テクスチャに白いテクスチャを新規作成します。


画像テクスチャを選択した状態でテクスチャペイントモードに入るとそのまま書き込み始めることができます。


模様のテクスチャは画像→名前を付けて保存で保存しておきましょう。



すべてのオブジェクトにマテリアルが設定できたらテクスチャにベイクします。
ベイクについてはまた別の記事にまとめます。

【備忘録】シワなどのディティールをスカルプトする

【備忘録】シワなどのディティールをスカルプトする

前回モデリングした服にシワなどのディティールを作っていきます。
前回の記事>【備忘録】服をモデリングする


この状態では服がのっぺりしているので、ハイポリメッシュを作ってスカルプトでシワを描いていきます。
ハイポリメッシュのままゲームでは動かせないので、最終的にはハイポリメッシュをそのまま動かすのではなく、ノーマルマップという凹凸を疑似的に表現するテクスチャ化(ベイク)することでローポリメッシュに表示します。



【ハイポリメッシュを作る】
ローポリメッシュをすべて選択してShift+Dでコピーします。
コピーしたメッシュを選択したままMを押し、hiporiと名前を付けたフォルダに分離します。


コピーしたメッシュにマルチレゾリューションモディファイアを追加します。
細分化、シンプル、リニアのいずれかのボタンを3~4回押します。
押すボタンとメッシュの形によってメッシュの形が大きく変わってしまうことがあります。
大きく変わってしまった場合はCtrl+Zを押して編集を戻して別のボタンを試します。


枠の中の数値が細分化の回数です。
ここが3~4になるまでボタンを押して、∨を押してモディファイアを適応します。




【スカルプトでシワを描く】
スカルプトモードでシワを描きます。
丸みを帯びたドローブラシで大きなシワを描き、先の尖ったドローシャープで細かいシワを描き、スムーズブラシでなじませます。
スムーズブラシはドローまたはドローシャープブラシのままShiftを押すことでも使用できます。


ブラシで描くのが難しい凹凸をマスクと押し出しで作ります。
マスクででっぱりを作りたい部分を塗っていきます。


Ctrl+Iでマスクを反転します。


押し出しを選択して右にゆっくりドラッグすると、マスクで保護されていない部分がでっぱります。


マスクを解除するにはAlt+Mです。



【最終結果】
こんな感じでハイポリメッシュのスカルプトが完了しました。


これをすべてのメッシュで実行したあと、ノーマルマップにベイクします。
ベイクについてはまた別の記事にまとめます。

プロフィール

HN:
山乃 ゆぎと
性別:
非公開

最新コメント

[09/06 グリペン]
[07/03 くらげ]
[04/30 NONAME]