人形のオブジェクトからメッシュを複製・分離させて衣服を作る方法
パンツ――縞パンの作り方
モデリング
①人型モデルのパンツにしたい領域を選択する。頂点グループを作って、その領域を割り当てる。
②モデルにMaskModifierを割り当てる。
さらにそのモディファイアに作った頂点グループを割り当て、パンツの部分が表示されないようにする。
③パンツの領域を選択し(頂点グループの部分でSelectで可能)、Shift + D で複製、 P で分離してパンツを別オブジェクトにする。
④パンツオブジェクトにアタッチされている余分なデータ、マテリアルや、モディファイアなどを消す。
モデルのマスクの領域とパンツの領域がズレているなら調整する。
Shading / マテリアル
⑤パンツを編集し、シームを入れる。
レースや立体感を造形するならやる。
できることなら、キャラとの境界に位置している頂点を動かさないで編集する。
しかしプロポーショナル編集だと頂点を非表示にしていても動いてしまう。
これの対策として、HideOnlyVertexというアドオンを使う。
ロックしたい頂点を選択してCtrol + Shift + H をするとロック可能。
⑥UV展開する。
後で調整するのでとりあえずでOK。
⑦マテリアルを作る。
とりあえず、腰のゴム部分とかは考えずにやる
TextureCordinateはGeneratedに
MappingのZ軸でボーダーの向き
ColorRampの右側のストップのPositionを0.5にすると均等な幅のボーダーになる。
Constrastモードにすることでくっきり表示。
WaveTextureのScaleでボーダー全体のサイズ感を調整。
色はColorRampで色調整
TextureCordinateをUVでやる場合、見てわかるようにどうしても歪みがでる。
対処としてはシームの入れ方と、展開されたUVがなるべくまっすぐになるように調整。Align機能などを使う
⑦Generatedだと正面から見たときはよいが、股下の部分はボーダーが崩れてしまう。
対策として、パンツオブジェクトにもう一つマテリアルを作成。
EditModeで新しく作った方のマテリアルを割り当てたい頂点を選択する。
そしたらMaterialPropertiesからAssignする。
ノードは最初につくつたほうからとりあえずコピペする。
TextureCordinateをUVにしてサイズなどを調整する。
おかしい場合はUVEditorで股下の部分がちゃんとなっているか確認しておく。とくに向き。真っ直ぐにしておくとノードで値調整しやすい。
どうせなら面の張り方を変える方が良い。
股下にもボーダーが出る。
ゴム部分
⑧ゴム部分。色を変えるだけなら上のやり方と同じ用に新しくマテリアルをつくってゴムの部分に割り当てるだけ。
ただ今回は下のような画像を当てたい。
まずUVを新しく追加する。
そしたら新たにマテリアルを作り(3つ目になる)レースの画像を割り当てる。
違いはデフォルトのTextureCordinateノードは使わず、、UVMapノードを使う。
割り当てるのはさっき作った方のUV
できたらこのマテリアルをゴム部分にAssignする。
まだ表示は変
UVEditorに移動。
UVMapsを開き、新しく作った方の背景が青になってるか確認する。
ゴム部分をUnwrapする。
左画面の背景にレース画像が表示されていない場合は出しておく。
グチャッとなっているならTextoolsのRelaxや、Align機能で、展開された頂点が画像に重なるように整える。
ゴム部分のレースがそれっぽくなっているならOK
他の箇所も同じ要領で
ベイク
見た目は一応できたが、3つのマテリアルを使うのはよくない。
なので一枚のテクスチャにベイクして、それを利用する。
パンツオブジェクトを選択する。
Bake用のUVMapを用意して青背景に。
そしたらUVEditorを開き、全部の頂点を重ならないようにUnWrapし、形状を整える。
ShaderEditorを開き、Imagetextureノードを出す。
そしたらNewから新規にベイク用のテクスチャを用意する。
そしてこのノードが選択状態になっているようにしておく(白枠が出ている状態)
そしたらこのノードを他の2つのマテリアルにもコピペする。
準備ができたので、RenderPropertiesを開く。
エンジンをCyclesにする。
下に移動し、Bakeの設定ができたらBakeする。
できたら保存する。
そしたらベイクされた画像を接続する。
UVMapもベイク用に作ったものに変える(カメラアイコンをアクティブに)
EditModeに入り、全頂点を選択し、上のマテリアルをAssignする。
表示に問題がなければOK。
余分なマテリアルやUVMapを消しておく。
パンツの作り方2
パンツメッシュを作成
体オブジェクトから複製・分離
体オブジェクトがあること前提。
パンツを構成するあたりの部位をとりあえず選択し、shift + D で複製 , そのままpキーで選択部分を別オブジェクトとして分離する。
オブジェクトモードに戻り、分離した方のオブジェクトを選択し、名前を変えておく。
また体オブジェクトから分離させたため、余分な情報やらモディファイアがそのまま付属している可能性がある。
とりあえずModifier、UVMaps、Materialなどは消したり外したりしておく(特にUVMapを外すのを忘れがち)。
形を整える
EditModeでパンツオブジェクトの片側を削除しミラーモディファイアを割り当てる。
そしたら頂点を移動させてパンツの形を整える。
スナップ機能をオンにしてやると、体にフィットさせたまま頂点の移動が可能。
またこういう感じで角がでてしまっている部分は頂点を繋いで面にしておく。穴とかが空いているなら埋めておく。
パーツ部分を造形
腰と足の部分をループ選択し、Eキーで押し出し、Gキーで移動させてゴム部分を造形していく。
またクロッチの部分も立体的に押しだしていく。
角をはっきりさせたい場合は 、 はっきりさせたい辺を選択し、ctrol + E – Mark Sharp を実行しておく。
そして必要であればModifierを当てる。
よりなめらかにしたい場合SubdivisionSurface
布に厚みを出したい場合Solidifyモディファイアを利用する。
マテリアル作成バージョンA パターン画像を使うバージョン
UVEditingモードに移動し、シームを入れる
入れ終えたらUnWrapする。
左画面に展開図が
ShaderEditorに移動し、パターン画像を割り当てる。
MappingNodeのScaleの箇所でサイズ調整。
そしたらSlotの箇所をクリックし、プラスアイコンでSlotを増やし、Newで新しくもうひとつのマテリアル作成する。
TabキーでEditModeに移動し新しいマテリアルを割り当てたい面を選択する。(シームを入れいているなら面選択モードにしてどれかひとつの面を選択し、Lキーでシーム内選択が可能)
選択できたら、MaterialProperitesを開き、Panty2の方をアクティブにして、Assignを実行する。
そうすると選択した面のみPanty2が割り当てられる。
ベイクする
ひとつのテクスチャにベイクしたい場合
レンダーエンジンをCyclesに
各マテリアルにImageTextureノードを出し、Newから新規にテクスチャを作成する(名前やサイズは適宜つける)(どれかひとつに作ったノードをコピペすると楽)(このノードをアクティブにしておくこと!!!白枠で囲われていればOK)
再度RenderPropertiesを開き、Bakeの箇所に移動する。
今回はライティングなどを考慮せず色だけベイクしたいので、下記画像のように設定。
できたらBakeボタンを押す。
ベイクが終わったら、UVEditingモードに移動し、画像アイコンからベイクした画像を開いてデキを確認し、よければSaveAsで保存する。
まだこの時点ではマテリアルは2つ割り当てられた状態なので、どっちかひとつを削除し、ひとつの方にベイクした画像を割り当てると作業完了。
マテリアルバージョンB
とりあえずSeamを入れておくUV展開しておく。(体オブジェクトから切り出しているので、もしかすると体のUVMapがそのまま割り当てられている可能性がある。ObjectDataPropertiesのUVMapsを開いて余分なUVMapがないか確認しておく)
マテリアルも簡単にするため、無料で使用できる布系のテクスチャをダウンロードしてくる(規約は要確認)。
https://www.textures.com/
https://3dtextures.me/
そしたらより簡単にするため、Normal画像だけを利用する。
ImageTexureNode – NormalMapNode で布の質感を出し、BaseColorで色をつける。
Displacement・HeightテクスチャがあるならDisplacementの部分に接続する。
布のキメの細かさはMappingNodeのScaleをいじって調整する。
ゴム部分など色を変えるなら別マテリアルを割り当てる。
面の表示がおかしいときは、EditModeでMesh – Normals – Reculculate Outside やFlipをするか、Mesh – Normal – Reset Vectorをやってみる。
基本的手順――キャミソールの作り方
メッシュの複製分離
体オブジェクトを選択してEditModeに入り、CircleSelectとかで大雑把にキャミソールの元になりそうな箇所をなぞってShift+D で複製,
Pで別オブジェクトとして分離する。
メッシュの下処理
そしたら分離したキャミオブジェクトからModifier / Material / UVMapなどを外す。
また名前を変更しておく。
編集がしやすいよう四角面でリメッシュする。
いちばん簡単なのはObjectDataPropertiesのRemesh機能。
穴が空いていたりするとうまくいかないこともあるが、やっておいた方が後の編集が楽なのでできる限りやっておく。
そしたらEditModeで頂点のどちらか半分を削除する。
MirrorModifierを割り当てる。
またMergeByDistanceで重複している頂点などを消しておく。
形を整える
・ループを意識して整えていく。
・Snap機能をアクティブにすると体に沿うように頂点を移動させることが可能。注意点として、髪のようなオブジェクトがあるとそっちにスナップされてしまうことがあるので、邪魔なオブジェクトは非表示にしておく
装飾部分を作成
必要があれば装飾部分を作成する。
適当にマテリアルを当ててからやると視覚的にわかりやすい。
マテリアル作成
自分で作るか、無料で使用できる布系のテクスチャをダウンロードしてくる(規約は要確認)。
https://www.textures.com/
https://3dtextures.me/
さらにシンプルにするなら、下のようにNormalだけテクスチャを利用するという方法もある。
レース部分のモデリング
①レースを付けたい箇所の辺を選択し、Shift + D で複製、Pキーで分離して別オブジェクトにする。
今回は腰を例に
②分離した辺オブジェクトを選択し、右クリックでConvertTo – Curve(Curvesではないので注意!)に変換する。
さらに頂点の位置がカーブの中心に来るようにSetOriginを実行する。
③ひだのオブジェクトを作る。Object – Circleを出し、EditModeに移動。
半円になるように頂点を削除する。
そしたらEキーなどで押し出して、面をつける。
フリルのサイズを調整する。
こちらも原点が可能な限りフリルの中心に来るように修正する
(オブジェクトモードでSetOriginでもOK)
(これは後々再修正する)
④腰カーブの原点の位置にフリルを移動させる。
(両方とも中心に原点が来るようにしておくこと)
⑤フリルにArrayモディファイアを割り当てる。
⑥フリルにCurveモディファイアを割り当てる。
CurveObjectの箇所に最初に作った腰のカーブを割り当てる。
位置があっていたらこんな感じ
位置が変なことになる場合。
腰のカーブの原点がちゃんとカーブの中心にあるか確認する。
ない場合はObject – SetOrigin か手動かで原点の位置が中心に来るように直す
さらにフリルがその腰カーブの中心に来るように移動させておく。
⑦フリルの角度や位置やサイズ、個数を調整する。
個数調整はArrayモディファイアで行い、角度などはEditModeでフリルを回転させたりサイズや位置を変えて行う。
⑧できたらフリルのモディファイアをApplyする。
オブジェクトなのでこんな感じ。
腰のカーブはいらないので削除する。
⑨すでにパンツのリギングとかを済ましている場合、パンツのウェイトをこのレースに転写するとウェイトやらが楽になる。
レース – Rigの順番に選択しCtrol + P – With EmptyGroupsでリグと親子に。
パンツ – レース の順番に選択し、Ctrol+ Tab でWeightPaintsモードに移動。
Weights – Transferweightを選択し、 SourceLayersの部分をByNameにする。