髪メッシュの作成を方法メモしておいたのを少し整形して置いておきます。
少し内容が古いので、必ずkuromimiさんの自作髪型MOD:準備編【修正】を参照にしてください。
私のグーグルドキュメントに以下の2つの資料を公開してます。
こちらも合わせてお読みください。
髪のメモ カーブで髪の房を作る
髪のポリッシュとウェイトペイント
Blenderの導入やインポート・エクスポート方法はMod作成wikiのBlender導入を読んでおいてください。
作業を始める前に
とにかくリファレンスを集めます。ヘアカタログを読んだり、文献を読んだり、実際に観察したり、また他のmodやゲームではどうしているかをとにかくよく観察してください。
シルエット、髪の生え際、処理の仕方。頭にないものからは具現化できません。慣れないうちは特に最も時間をかけてください。
必要なツール
- Blender最新版(2.79。作業効率が圧倒的にいいので)
- NifSkope 2.0
- BSA Browser
必要なデータ
- バニラのヘッドメッシュ
- バニラの髪メッシュ
ファイルの抽出
BSA Browserでファイルの抽出をします。できるだけ作りたい髪と同じような形や長さの髪を選びます。
女性顔メッシュ:data\meshes\actors\character\character assets\femalehead.nif
男性顔メッシュ:data\meshes\actors\character\character assets\malehead.nif
女性髪メッシュ:meshes\actors\character\character assets\hair\female
男性髪メッシュ:meshes\actors\character\character assets\hair\male
nifインポート
Blenderでの作業
Blender2.79を起動します。
インポートは
[File] > [Import] > [NetImmerse/Gamebryo(.nif & .kf & .egm)]です。
設定はそのままで読み込みます。
髪作成
板ポリから作る方法で作ります。左右に別れて生え際が縦に長い髪に向いてます。
頭:Female.nif→Object→FemaleHead
髪:髪のnif→Object→髪オブジェクト
オブジェクトモードで右クリックで頭のオブジェクトを選択します。
Nキー押して画面右にPropetiesを出してTranslationのXYZを全部0にします。
髪も同様に全部0に。
Propertiesの3DCursorをX0Y0Z1.3にします。
Shift+AでMesh→Planeを出します。
テンキー7で上視点を移動させて、タブキーでEdit Modeに入ります。
Ctrl+R(ループカット)を押してから、辺の方に持って行くと紫の線が出るのでテンキーで9と打つか、マウスのスクロールで9本まで増やします。左クリックを二回押して確定します。
同様に横もループカットで9分割して碁盤目上に。
ShrinkWrapとMirror
ShrinkWrapはサランラップのようなもので、ターゲットに指定したものの形にあわせて変形させるモディファイアです。
Aキーで頂点を全選択したあと、プロパティウィンドウからレンチマーク(Modifiers)を選んで、Add Modifierを開いて右から3列目上から10番目のShrinkWrapを選びます。
TargetをFemaleHeadに、Offsetを0.2にします。その他はそのままで。
頭の形に合わせて板ポリが変形しました。
Aキーで全選択を解除して、Bキーの矩形選択ツールで板ポリの右半分を選択してXキー→Verticesで削除します。
Aキーで板ポリを全選択して、またAdd Modifierから右から2列目上から8番目Mirrorを選びます。
これで、X軸を挟んで左右対称になります。一々両側編集しなくて済むので作業時間が半分になります。
髪のベースを作る
Oキーを押してPropotional Edit(他の頂点も一緒に動く機能)をオンにして、FalloffをSharpに設定します。
Ctrl+テンキー1で正面に向けてからテンキー8で一回押して、斜め上から縦の先が見える状態にしておきます。
ここで右端の縦線にカーソルを合わせて「Alt+右クリック」でループ選択します。
Gキーを押して、ホイールで他の頂点も動かす範囲を調整してから下に引っ張ります。左クリックで確定させます。
下の方ほどポリゴンがカクカクしてるので、Ctrl+Rのループカットで適度に分割します。
Altキーのループ選択とGキー二回押しの頂点スライドをうまく使って辺と辺の位置を均等に調整します。
これぐらいのポリ数が扱いやすいと思います。これでベースは完成です。
Tabキーを押してオブジェクトモードに戻り、ShrinkWrapのApplyボタンを押して適用します。ミラーはそのまま残しておきます。
スカルプトで調整
スカルプトとは粘土細工のように持ったり削ったりできます。
まずSculpt Modeに入ります。
Tキーでツールシェルフを開いて、ブラシを選びます。
Clay(Cキー)で盛り上げてからSmooth(Sキー)でならすと綺麗にできるかもです。モディファイアでミラーしてる方は調整できないので注意。
円の半径の調整は[ ]キーまたはFキーで大小の調整ができます。効果の強さはツールシェルフのStrengthかShift+Fキーで調整できます。
あとは中クリックでグリグリ視点を回しながら微調整します。生え際とか毛先はループ選択にGキーのがやりやすいのでたまにエディットモードと合わせて微調整していきます。
だいぶ髪っぽくなりました。
Bsurfaceで前髪を作る。
BsurfaceとはBlender標準搭載のアドオンで、GreasePencilという線を引く機能で面を生成します。詳しくは Bsurfaces 1.5 ヘルプの日本語訳にて。
使うにはアドオンをまずオンにします。
User Prefrencesを開きます。
Addonタブで左側Meshボタン押すとBsurfaces GPL Editionが絞れます。人のマークの右側のチェックを入れます。
3DViewに戻って、Nキーを押して右側にPropertiesを開いて、Grease Pencilのところをチェック入れます。Drawing Setting:を以下のようにSurfaceにします。これで既存メッシュの表面をなぞるように描けます。
髪のメッシュを選択してEditing Modeに入ってから線を引きます。
※Bsurfaceは何かしらのメッシュ選択状態でないと使えません。
線の引き方ですが、Dキー押しながら、左クリックしてそのままドラッグします。
Tキーのツールシェルフを開いて、Add Surfaceボタンを押します。
線と線の間にメッシュが生成されます。(埋まってるのでGキーで引き出した)
生成した直後に、ツールシェルフ下のBsurfaces add surfaceで
CrossとFollowでポリゴンの分割数の設定できます。弄ってみてください。
頭の形に沿うように線が引かれるので、耳周りや目にかかるような長い髪は向いてないですが、前髪や後ろ髪には使いやすいかもしれません。
ポリゴンを分ける
ベースで作った髪は面積が大きいですからこれを短冊状に分割します。個人的には縦3分割単位で分かるのがやりやすいです。
Alt+右クリックで縦方向にループ選択。そのあとVキー押すと分割できます。
マウスで位置を動かして左クリックで確定します。
おんなじ要領で分割していきます。
後頭部の髪はBsurfaceで足して微調整してます。髪を分けると選択しづらいと思うので右クリックで頂点選択して、その頂点のCtrl+Lで短冊全部選択できます。
Propotional EditのConnected(短冊単体のみ影響)と移動(G)や回転(R)、拡縮(S)を使ってランダム感を出して、短冊の真ん中をループ選択にAlt+Sで少し盛り上げるとそれっぽくなります。
髪エクスポート
Blender最新版での作業
ウェイトのコピーをします。
- 元にする髪ファイルをオブジェクトモードで選択します
- そのあとコピーする作成した髪を選択します
- モードをウェイトペイントモードにします
- Tキーで画面左側にツールシェルフを出し、Weight ToolsからTransferWeightを押します
作った髪を選択してObject DataにVertex Groupsがあったら成功。
マテリアルをつける
Propertiesウィンドウからマテリアル→Newを押します。
右隣の「Texture」ボタンでもNewを押します。TypeをImage or Movieにします。Imagesを選びます。マテリアルのテクスチャは最終的に使わないのでなんでも構いません。MappingのCoordinates:をUVにその下Mapも作ったUVを選んでください。
VertexColorsをつける
プロパティのメッシュボタンのところで、Vertex Colorsのところで「+ボタン」を押すだけです。画像のようにColっていうのが出たら成功です。
実際に頂点カラーは塗りませんが、これがないと髪が正しく表示されません。
再作業時の注意点
一発でOKということは稀で手直しする必要があります。マテリアルをつけると3D View時のテクスチャが透過しなくなります。作業時にはマテリアルを消しておきます。
新規に板ポリ追加する場合はウェイトはコピーし直しします。複製はウェイトもコピーされるので不要です。
VertexColorは特に邪魔にならないので一回設定したらそのままで大丈夫です。
エクスポート用のボーンを付ける
[File] > [Import] > [NetImmerse/Gamebryo(.nif & .kf & .egm)]からバニラの髪メッシュを読み込みます。
設定はSkeleton Onlyにします。
オブジェクトモードで、Shiftキーを押しながらメッシュ→スケルトンの順で選択します。
Ctrl+Pキーで親子の設定をします。With Empty Groupsにします。
これでスケルトンだけ読み込んで選択した髪につけました。
Blenderからnifに出力
出力する髪を選択した状態でFile > Export > Netlmmerse/Gamebryo (.nif & .kf & .egm)をクリックします。
以下の設定でエクスポートします。
以上でエクスポートは終了です。
HairLineの作成
半透明のテクスチャ同士で重ねた時に頂点の順序によっては後ろが透過してしまうのを通称アルファ病(アルファソートバグ)と言って髪を作る上では悩ましい問題でした。
バニラの髪がそうなんですが、透過情報を扱うNiAlphaPropertyのFlagsによってはアルファ病が出ないんですが、毛先がギザギザしてしまって美しくなりません。
しかし、毛先もきれいに透過できてアルファ病にも悩まされない方法が生まれました。(Apacchi Sky Hairがこの方法なのでアパッチ法と勝手に呼んでます)
半透明の髪と全く形状が同じ不透明な髪(HairLine)をふたつ表示することで回避できます。
エクスポートが終わって編集が済んだ髪のnifを開き、NiAlphaPropertyのFlagsを4844 Threshold を200にします。
そのあと別名で保存します。例:Hairline〇〇.nif
ただし、表面と裏面x2で4倍のポリゴン数になってしまい、バニラの髪に比べると重くなります。多くの髪Modで元になっているSims Modの髪はポリゴン数が多いので尚更。Showracemenu PreCacheKillerが出るまでCTDが多発したのもそういう理由です。
CKに登録
CK起動前にMeshes下のどこかにフォルダを設置して、中に髪のファイルを入れておきます。CKを起動して、File->Dataを開き、Skyrim.esmをダブルクリックしてチェックを入れ、OKで読み込みます。
エラーは全部キャンセルします。
HairLineを登録
Character->HeadPartsで元にしたいHairLineを選んで右クリックで「Dupicate」します。(人間種族の女性だったらHairLineFemaleNord01などを選びます)
Duplicateしたものをダブルクリックで開きます。
HairLineで大事点は2つ。
- HairLineTypeが「Misc」
- 「Is Extra Part」にチェックが入ってる
ModelをEdit押して作ったHairLineのファイルを指定します。Triがついてる場合はEdit→Edit→キャンセルで外しておきます。
最後にIDを変えてからOKを押します。
新しいオブジェクトとして作りますかと聞いてくるので必ず「いいえ」→次に設定を引き継ぐかどうかで「はい」を選んでください。
髪の登録
- 同様にCharacter->HeadPartsで元にしたいHairを選んで右クリックで「Duplicate」します。
- Duplicateしたものをダブルクリックで開きます。
- Extra Parts内で右クリックしてNewを押して、作ったHairlineを指定します。
- Modelの部分でEditを押して作った髪を指定します。
- Valid Racesが髪を適用する種族です。FormListにどんな種族が登録されるか記載されてます。
最後に「OK」を押して、ダイアログは「いいえ」→「はい」を押します。
以上で髪の登録は終了です。
あとはespに名前をつけて保存してください。
Blender Export時に失敗しやすいポイント
BSDismemberSkinInstanceがついてない
SkinInstanceはウェイトの情報が格納されている。
- Export時にExport Dismember Body PartsがONになってない
- ウェイトがない。肩にかからない短髪はHeadは赤(1.0)一色、Spineが青(0.0)でOK。
Vertex Group名が違う
髪は大体NPC Head [Head]、NPC Spine2 [Spn2]、SBP_131_HAIR(BP_TORSO)のVertex Groupが必要です。元にする髪によってはNPC L Clavicle [LClv]、NPC R Clavicle [RClv]がつくが、個人的には不要だと思います。
ボーンの親子(Parent)設定してない
エクスポート用にバニラのスケルトンを読み込んで、Ctrl+Pで親子設定する必要があります。エクスポートのこうもく
SkinInstanceがついていてもウェイト情報が抜ける
→マテリアルの設定が正しくないです。設定を見直しましょう。
髪が伸びる
BSDismemberSkinInstanceの設定が正しくない。ウェイトとスケルトンが一致しないと発生する。ウェイトコピーした髪のスケルトンなら失敗しないです。
髪が表示されない
→NiTriShapeData内のVertex Colorsがついてない。
→NiNodeの一番最初(0番)がScene Root。これは不要なので右クリック→Block→Deleteしておきます。
アパッチではなく アパチイかアパチーではないでしょうか。
tktkさん回答ありがとうございます
明日確認してみようと思います。
>名無しさん
hdt髪は作ったことないですけど、髪のメッシュをNifskopeで開いて、NiStringExtraData(HDT Havok Path)のData→Dataにファイルパスがあります。
質問なんですが、hdtの髪型の場合どこにxmlファイルを置けばいいんでしょうか?
hdt本体とは別のところに配置してる人がいたのですが指定のやり方とかよく分からないです。調べてもヒットしないので困ってます。
すみません解決しました。
nifskopeのツリーが変だったみたいです。
ありがとうございました。
うーん・・・髪の造形には拘らずに手順どおりに作ってみて導入してみたのですがゲーム内だとつるっぱげになっちゃいます。
髪が表示されない原因は記事内でも書かれていますがNiTriShapeData内のVertex Colorsがついてない以外にあるのでしょうか?
あ、説明が足りなかったようですみません。
いまは、まずは整形への第一歩で、今後のフォロワー化のことも含め、Skyrim内にて新規マイキャラをECEで作ってみようかとおもっていました。
いままでの使用ががRace Menuでしたので、インストール方に戸惑っていた次第です。
何度もすみませんでした。
ECEでのキャラメイク後程試してみますね^^
ありがとうb
>Elkさん
ご自身の入ってるスケルトンを選ぶんですが、UNPはバニラのスケルトンですのでRealistic Ragdoll Normalを選びます。
なるほど~。
そうでしたか、勘違いしてすみませんでした。
ついでにお伺いしてもよろしいでしょうか?
髪型ではなく、ECEについてですが、Realistic Ragdoll NormalとUNPとの選択等がインストール時にでますが、両方を使用している場合は、どちらを選べばよいか、tktkさんはご存知でしょうか?
お時間のある際にでも構いませんので、よろしければお返事くださいませ。
こちらで質問して御免なさい。
今現在は、めざせミラ・ジョボビッチフォロワーという感じです!
では、よい休日を^^
>Elkさん
Wrye BashはLeveled Listの競合用とウィザードの作成のためにいれてあるんですが使ってません。検証のためには仮想化できるMOが使いやすそうなんですが、不精なのとMod作成時にMO固有の問題もあるようで移行には至ってませんねー
深夜帯になりますが、ご返信の方誠にありがとうございます。寝起き後のトイレ後、目が覚めてしまいました(汗)
隠し立てするような件ではなかったですねw
WBとNMMとの併用ですね^^
参考になりました。
OSのインスト等、一切合財やり直しているので、実践まで、もうしばらくかかりそうです。
tktkさん、どうもありがとう。
>管理人のみの方
基本的には手動ですが、espの管理ではNMM使ってますね。入れてるmod自体少ないのでファイル構成は全部覚えてます。最近では競合しなそうなフォロワーmodとか装備modは7zごとNMMに突っ込んでます。
こんばんは。
お世話になっております!
内密?というほどではなかったのですが、お伺いしたいことがあります。
たまたま今、一体全体何度目か?!というくらいの再インストールや再セットアップ中なのですが、tktkさんは、NMMとWBの組み合わせや、MOやWBとの組み合わせ等、どのようなダウンロードマネージャー&ユーティリティーをお使いになっておられますか?
わたくしも色々と試してはいるのですが、いまいちこれだ!というマネージャーを決めにくくなっているので、tktkさんさえよろしければ、MOD作成等の考慮もふくめて、普段お使いになっているツールを教えてくださいませんか?
あ、ブレンダーやNifScope当のMod作成もののツールは結構です。すみません。
Modderさんがお使いになるダウンロードマネージャーはなにかな?という素朴?な質問で長引きました・・・(汗)
ご返信はお時間のあるときにいつでも結構です。(礼)
では、失礼いたしますね^^
Elkより
>TMさん
ありがとうございます。意外なところで役に立つものですね。
紹介されてたアパッチ法でnumenumeHairの禿を直せました!参考になります。