08
2018  18:00:00

スカイリムの顔のノーマルマップ(女性用)



FemaleFaceNM201808SK 000-1 Thumbnail 1


以前から、スカルプトで作ったデータから、キャラクターのノーマルマップを作ってみたかったので挑戦してみました。


ダウンロード


Mediafire



 ・20180807 TestFemaleNormalMap



女性用の顔のノーマルマップのみです。ディフューズ等の他のテクスチャは、別のModのものを使用してください。画像では、Fair Skin Complexionのv093を使用しました。スカイリムで気にするのもなんですが、裸の画像も見えちゃうのでURLのみでリンクなしです。

Skyrim Nexus: by HHaleyy氏



 ・https://www.nexusmods.com/skyrim/mods/51602



比較画像



使ったツール


使ったツールのうち、無料のものだけリンクを載せておきました。全部GIMPだけで出来そうな気もしたんですが、使ったバージョンだと日本語のフォルダが選択出来なくて、Kritaを途中で挟みました。PaintNETは、DDSファイルを出力するために使用しましたが、Texconvを使用する場合は、必要ありません。

GIMP



 ・https://www.gimp.org/


Krita



 ・https://krita.org/jp/


PaintNET



 ・https://www.getpaint.net/



手順


画像制作の手順です。まず、ゲーム内でキャラクターを作ります。このキャラクターの顔を元にして、ノーマルマップを作製することにします。ECEの機能をしようして、キャラクターの顔データをNIFファイルとして出力します。F1を押すと出来ます。

ECEの機能で顔データを出力



FemaleFaceNM201808SK 081-1 Info InGame 1



次に、Nifskopeを使用して、Nifから顔の立体情報をObjファイルとして出力します。顔の部分(Head)を選択し、左上のメニューから、"File → Export → Export .OBJ"を選択します。これでObjファイルが出力されます。ここで出力したObjファイルを、オリジナルの顔メッシュと呼びます。

NifskopeからObjファイルを出力



FemaleFaceNM201808SK 011-1 Info Nifskope 1



このオリジナルの顔データは、サイズが小さいです。これは頂点や面の数が少ないからです。ゲーム内では、この小さなデータにノーマルマップと言うテクスチャの情報を加えることで、なめらかな曲面を作っています。たまに見かけるハイポリは、ノーマルマップを変更することなしに、頂点の数を増やすことで、表面がなめらかになるようにしています。今日は、頂点の数を変更せず、ノーマルマップの方を変更することにします。

とは言え、一度ハイポリのデータを作る必要があります。無料ということもあって、Blenderを使う人が多いと思いますが、今日は、3D Coatを使ってみました。3D Coatでは、ハイポリのデータと、ローポリのデータを使って、ノーマルマップを作製することが出来ます。

ハイポリのデータは、スカルプトと呼ばれる作業で行います。Voxelで扱う場合は、事前に隙間を埋めて閉じた状態にする必要があります。

ローポリは、リトポメッシュと呼ばれますが、今日はNifskopeから出力したオリジナルの顔メッシュを使いました。普段より楽です。

最後にノーマルマップを作製するBakeは、端っこ等はあまり気にせずやれば大丈夫です。後の作業で、その辺りは隠れてしまいます。


次に、3D Coatから、ノーマルマップを出力します。最近はTangent Spaceが多いですが、World Spaceを選びます。Object Spaceがないので代用しました。

3D Coatから出力したノーマルマップ



FemaleFaceNM201808SK 070-1 Info 3dc FN



普段見ているノーマルマップと色が違います。後で利用するFair Skin Complexionのノーマルマップは、こんな感じです。

FSCのノーマルマップ



FemaleFaceNM201808SK 071-1 Info FSC93 FN



チャンネルを分解して調べたところ、青チャンネルと緑チャンネルが逆でした。

この部分は、作業の途中でモデルの方向を回転させたのが原因だったようです。残して置きますが、不要な作業でした。(また、赤チャンネルと変更後の緑チャンネル(元青チャンネル)の数値が逆でした。そこで、GIMPで青チャンネルと緑チャンネルを変更し、更に赤チャンネルと緑チャンネルの色を反転して対応しました。)



上で書いたとおり、不要な作業でした。(赤チャンネルと緑チャンネル(元青)の色を反転させます。"色 → Invert"をそれぞれに対して行います。ちなみに、緑チャンネルと青ちゃんねるを取り替えると言うのは、名前をそれぞれ逆のものに変更して、レイヤーの順番を変更するだけです。)




最後に、"色 → 色要素 → チャンネル合成"で、RGBに再度合成します。

このままDDSファイルにしても首筋等に線が見えたりするので使えません。そこで、顔の目、口、鼻、頬、顎の部分を今作ったノーマルマップを使用し、それ以外をFSCのものを利用することにしました。アルファ画像を使って、画像を分割すれば大丈夫です。GIMPでも出来たはずですが、久しぶりに使ったもので良く分からなかったので、私はKritaで作業しました。

Kritaでこう言った作業をする場合、レイヤーとして画像を追加します。その後、上側のレイヤーのアルファを編集して、必要な部分だけ見えるようにし、それ以外は隠します。

これで境界線だけFSCに偽装した、新しいノーマルマップの画像が完成しました。

完成したノーマルマップ(まだDDSじゃない)



FemaleFaceNM201808SK 073-1 Info Krita FN



最後に、DDSファイルにします。以前記事にしたことがありますが、ノーマルマップをDDSファイルにする時は、無圧縮で行うのが良いと思います。よく使われるPaint.netの設定で言うと、"R8G8B8"です。

Paint.netでDDSファイル(R8G8B8)に圧縮



FemaleFaceNM201808SK 060-1 Info PaintNet 1



Texconvで作業する場合は、以前書いた記事を参考にしてください。

ブログ内リンク



 ・Texconvのメモ



以上で作業が終わりました。後は、ゲーム内で確認してください。


おわり


追記)
2018年8月8日
テクスチャの編集の部分を修正しました。
スポンサーサイト

 自作Mod

0 Comments

Leave a comment