既存NPCの顔を改造する簡単な方法 その1 -nifのみ編-
Skyrimの新規コンパニオンの作り方の記事は沢山あれど、既存NPCの顔変更、改変についてのまとまった情報がみつけられず。個人的に調べた顔改変の方法をまとめました。多分これが一番簡単だと思います。
なぜ今更、Skyrimの顔改変記事?
久しぶりにSkyrim始めたのですけど、このゲーム全く古びないのが凄いですね。 Skyrim MODデータベースを見ると、未だに新しいMODが文字通り毎日リリースされているという状況。 ENBでグラフィックも刷新できるので、最新のゲームに引けを取らないビジュアルで楽しめます。 (当然、重さも最新ゲーム並みになるので、私のショボいGPUだと悲鳴を上げます) TESシリーズ前作Oblivionの移植、前々作であるMorrowindの移植が海外有志によって開発されていますし、本気で10年後まで遊べそうだから凄まじい。
そんな中、メインクエストは初回以降とんとご無沙汰だったので、以前から入れていた美化MODのデルフィンの顔が可愛いことに今更気がつきました。 なので日本モチーフのアカヴィリ文化の影響があるブレイズらしく、私服を着物に改変してみると……
「あれ……バニラ顔だと殺意すら湧いた言動が……全然憎らしくない?」
「むしろ、この台詞とか正統派ヒロインじゃない!?」
言葉というのは斯様に「何を言うか」ではなく、「誰が言うか」が大事なんですね。
これで楽しくなってしまって、同じく全世界のプレイヤーから憎しみを集めるデルフィンの愉快な仲間、エズバーンの顔もイケメンにすれば印象変わるかも知れない、と思い改変してみようと思い立ちました。
ところが、検索してもNPCの顔改変はこうだ!という特化した記事が見つけられない。 新規コンパニオンの作り方は素晴らしい記事が沢山あるのに不思議。 まあ、既存キャラの美化MODは既に名作が多数リリースされて飽和しているので、需要がないんでしょうかね。 なので、個人的に調べた情報を記事にしました。
NPCの顔改変解説
まずは改変するキャラを決めます。 最初は、ニューゲームからすぐに顔を確認できるキャラが楽だと思います。 顔データならほぼ問題はないと思いますけど、プレイしているデータからの確認では、どの時点でキャラが生成されているのか、それまでのプレイ状況の影響を受けているかという判別難しいので一応の安全策です。
というわけで、当初の目的はエズバーンでしたが変更します。 リバーウッドはスリーピングジャイアントに在住、RTA動画ではデルフィンのとばっちりで殺されるオーグナーの改変をしていきます。
本当は記事にするなら女の子の修正の方が絵的に良いとは思うのですが、既にMODでバニラのバグ顔は全て修正されてしまい、改変するべき余地のあるキャラがいないんですよね。
Base IDを調べる
まずは「skyrim orgnar」などとググってオーグナーのBase IDを調べましょう。 英語名さえ分かればここでページ内検索するのが早いですね。
https://en.uesp.net/wiki/Skyrim:Orgnar
これは別にネットで調べなくとも、Tes5EditやCKで調べてもいいです。
Tes5Editでキャラデータを確認
そしてIDを使ってTES5Editでキャラメイクに必要な情報を調べます。
左上の窓にBase IDを入力すると、目的のキャラが自動で表示されます。 そこでWeightとTexture lightingを記録しておきます。
移植する顔を作成する
続いてEnhanced Character Editで置き換える顔を作成するためにキャラメイクします。
和風繋がりで「引退したヤクザ」のイメージで作りました。 男の顔を延々と改変していても楽しくないので、適当に十分ぐらいでWoozy Face Emoji ヒゲだけは元のものをそのまま残しています。凄くロアフレンドリーですね。
本当は漫画みたいな美形キャラに出来たら元との落差があって面白いんですが、Skyrimで男キャラを日本的美形にするのは難しいので今回は見送り。 (配布されてるイケメンフォロワーなんかは、女の顔から移植して使うとか色々と凄いテクニックが使われているらしいです)
ここで大事なのは重量と肌の色を元のキャラと合わせることです。 重量が違うと首との間に隙間が出来ます。 肌の色が違うと首から上と体で色が変わります。
Tes5Editで調べたweightは0 ~ 100の値なのに対して、ECEでは0 ~ 1のようです。 CKだと0 ~ 1なのですが、何故Tes5Editだけ違うのかは謎です。 ECEの数値を100倍に読み替えれば問題ないでしょう。 ただオーグナーの場合、weightは「35.000000」なんですが、ECEだと0.1単位でしか変更できないんですよね。 今回は0.4にしました。やってみた感じでは近似値なら多分問題ない……と思います。
完成後にF1を押して顔のnifと化粧のddsを出力して終了。 ファイルはMod Organizer 2だと \mods\OverRide\SKSE\Plugins\CharGen に出てきました。
後はこれを元の顔データに移植すれば完成なのですが、そこで二種類の方式を選ぶことになります。
NPC顔移植、二種類の方法
主な違いは髪の扱いです。 MODで追加された髪の毛は、だいたいクオリティを上げる為にノードの数がバニラより多くなっているので、この扱いをどうするかで分岐します。 (髪以外では、顔にバニラにはないパーツを付け足す場合でもノードが増えます。つまり、バニラにはなかった傷やヒゲの追加や、目をオッドアイにした時です)
このノードというのは、要は顔データの持ってる目や口や髪といったパーツです。 そのパーツの番号と名前が、ゲーム内の設定データと同じじゃないと、データに問題がなくともSkyrim内で顔がバグる仕様なのだそうです。
ただし、数と名前さえ一致していればパーツの内容は問わないようです。 だからespによるデータ改変なしで移植できる訳ですが、NPCの顔情報はnifに全て入っているのに、データ側と一致しているか判定する必要ないんじゃないか、とユーザーとしては思うわけです。 何でこんな仕様なっているかについては理由が解説されているサイトは見つけられませんでしたが、どうしてなんでしょうね?
その他、ノードについて更に詳しく知りたいなら、素晴らしい記事があるのでそちらを参照して下さい。
今回扱うオーグナーのバニラの髪のノードは以下の二つです。
- HairMaleNord06
- HairLineMaleNord06
しかし今回、キャラメイクで使用した髪はKS Hairdos RenewalのJoshuaという髪はノード数が三です。
- 0Joshua
- 0JoshuaHL
- 0_HAIRLINE_Male_Human_CurlyScalp
このままでは移植するのに一つ足りません。 これをどうにかやりくりするのが主な課題となります。
さて、この解決策。 一つは、espを作成しないでメッシュの移植のみをする方法です。 凄く簡単にできる反面、ノード数の多い髪の場合は完全には移植できない場合があります。
もう一つがespを作成する方法です。 こちらは設定データの元から修正するので、作成した顔を完全に移植できる代わりに、Creation Kitでの作業と追加のespが必要になります。 クオリティが高い代わりに手間も増えるというわけです。
espなしの方法解説
espなしの場合は、ベゼスタ系圧縮ファイルの汎用解凍ツールであるBSA Blowserを使って、バニラの顔メッシュを所得します。 最新版はSEのページで配布されていますが、汎用なのでLEのbsaも問題なく解凍できます。 ここで取り出したものが、skyrimが持ってる内部の顔データのテンプレートになります。 作った顔を構造を変更せずに移植することで、バニラの顔とノードが完全に同じなり、顔がおかしくなることはないという理屈です。 美化MODの中にはespがなしで動作するものがありますが、この方式で制作されているんじゃないかと。
バニラ顔データの取り出し
Dataフォルダ内の「Skyrim - Meshes.bsa」をBSA Blowserで開きます。
先程調べたBase IDを使って検索し、適当な作業フォルダに出力します。
NifScope2を使って顔データを開いてみると……
はい、ゴリラオーグナーの顔のメッシュが出てきました。
これは最終的に上書きされて完成ファイルになるので、先にMod Ordganizerで「空Modを作成」してゲームに読みこめるようにしておきます。 (失敗した時に再度解凍するのは面倒なので、作業中は適当な場所にバックアップも取っておきましょう) 今回は適当に「Blades_Replacer」というModを作ってその中に配置しました。
化粧テクスチャはECEで出力されたものをBase IDに名前を変えて設置して下さい。 バニラのものは使わないのでBSAから取り出す必要はありません。
NPC Nif Mergeを使った顔データの移植
NPC Nif Mergeを使います。 これ、すっごい便利なツールなんですが、Skyrim SEは未対応なんですよね。 今回、海外フォーラムも少し読んだのですけど、「SEで動かないよー」「SE未対応です」みたいな会話が頻繁になされてました。
まずDLして起動します。
左右に移植元のnif、移植先のnifファイルをD&Dすると、最初に説明した一致させなければならない顔データのノードが表示されます。 これが左側の形状を保ったまま、移植先である右側と同じになればいいわけです。
起動後に左右にファイルを入れたら、まずは忘れないように下記の設定をします。
この設定、nexusのpostに貼ってあった解説が元ネタです。
1の「Merge Child Nodes」なしだとSkyrim Mod データベースのNPC Nif Mergeのコメント欄にある例のように、NiAddtionalGeometryDataが転送されずに不自然に目が光ってしまう状態になったのですが、オンにすると手動で移植しなくてもコピーされていました。 また、ディティールマップのパスが移植先から変更されずに手動で修正する必要があったのですが、それも自動でコピーしてくれるようです。
2の「Match by Vertex」を押すと、左右で頂点数が同じアイテムがある場合、設定がなくても自動で転送先に割り当ててくれます。 設定がないModで追加された眉毛がこれで自動割り当てされたので便利です。 (本当はNPC Nif MergeのOptional filesで配布されている、Tes5Editのスクリプトで追加されたパーツのcsv作るべきなんでしょうが、数やらないならいいかなと)
後は、残りの自動設定されなかったパーツを選びます。 どれを使い、どれを削るかは髪の構造によるので、こればかりは試してみるしかないですね。 この後で実際に検証してみます。
画像内にも書きましたが、Mergeのチェックも忘れずに。
後は1回か2回、ウィンドウが開くので適当にOK押して終了。
これだけで移植完了です……神ツール過ぎる……。
因みに上書きされる方の顔データは、出力時に拡張子に.bakとつけたバックアップを自動で作ってくれます。素晴らしい。
NifSkopeで確認してみました。完璧です。 (髪がないのは上空に浮いているからです。SkyrimのMOD髪の仕様です)
ただ、顔色が少し悪いですね? これはnifで指定されている化粧のテクスチャパスが、ECEで出力された時の「Data\SKSE\Plugins\CharGen\Prisoner.dds」のままだからです。 どうもゲームで表示する時はnifのパスは無視されて、Base IDの名前が一致するテクスチャを優先して割り当てているらしく、以下の設定を忘れた時も正常に表示されたのですが、内部データもきちんとしておきたいので修正しましょう。
上記の箇所を、最初にECEから出力して配置したテクスチャファイルのパスに書き換えます。
Data\SKSE\Plugins\CharGen\Prisoner.dds ↓ Actors\Character\FaceGenData\FaceTint\Skyrim.esm\00013479.dds
これでNifScope上でも血色が良くなりました。
それでは、実際にAlternate Startでスリーピングジャイアントの常連を選んでニューゲームしてみましょう。
espなしの髪移植の結果検証
2つのノードに対してパーツを選んで移植する場合の結果を、実際に3パターン実際に作成して試してみました。
移植パターン1
最初は三つある髪のノード内、0Joshuaと0JoshuaHLだけを移植した場合です。
お、意外と悪くない……と思わせて
髪の隙間から頭皮が見えてます。 これは0_HAIRLINE_Male_Human_CurlyScalpが、髪の内側を埋める為のメッシュだから起こった現象ですね。 遠目には良さそうですが、近づくと少し厳しいかな。 この方式は、ボリュームがあって全く内側が見えないタイプの髪だったなら問題ないかもしれませんね。
移植パターン2
続いて0JoshuaHLと0_HAIRLINE_Male_Human_CurlyScalpの組み合わせ。
生え際がジャギってます。
これは0JoshuaHLが、MODの髪でノードを増やす必要が生まれるアパッチ法(透過ありと透過なし、二つの髪メッシュを重ねることで綺麗に透過させるテクニックらしい)というものの、透過情報を持たない方のメッシュに該当するからでしょうか。
最初と違い、内側を埋めるメッシュがあるので、頭皮は問題ないんですけどね。
移植パターン3
三度目の正直、0Joshuaと0_HAIRLINE_Male_Human_CurlyScalpの組み合わせ。
これは成功じゃないですか?
はい、よく見ると光源の前にある髪が透けてしまい、後頭部の頭の形が見えてます。 前回とは逆に透過情報を持っているから、一枚だと透けてしまうって感じなんでしょうかね?(適当) 通常は問題ないけれども、アングルによっては破綻する感じ。
一応、ENBの影響あったりするかなと試してみました。上の画像はENBオフの状態です。 なしでも変わりませんね。
以上、三種類。一長一短という感じです。 個人的には近づいて接写するような重要キャラじゃないのなら、一番目の頭皮なしが良いかなと思いました。髪の形状によっては全く気にならなそうですし。
移植パターン4
とはいえ、これでは完全とは言えません。
espなしはこれが限界なのか? いえ、オーグナーには彼だからこそ出来る最後の手段が残っています。
「ヒゲを生贄に、完全なる頭髪を召喚!」 という感じで、元はヒゲだったノードに髪を移植しました。
MODの髪が完璧に機能してます。 ヒゲがなくなって、ロアフレンドリーは名乗れなくなりましたが、顔の改変としては成功と言えそうです。
ただ、これは削っても問題がないノードを持っていたからできることなので、女性キャラだと難しいかもしれませんね。 流石に目や歯、顔のノードは削れませんから。
補足
当然ですがespを作れば
完全体オーグナー! このように、全てのパーツを問題なく移植できます。
espなしのまとめ
このように、元の顔データの構造に縛られるので完全に自由にはできない、というのがこの方式の難点です。 この改造オーグナーに更に頬に傷を追加してオッドアイにもする!なんてのは、espを作らないとノードが足りなくなるので不可能だと思います。
反面、良いところは、espがなくバニラの顔と同じ扱いになるので、競合が発生する心配がないということです。 (一応、espありの美化modのnifを更に上書きすれば発生しますが、流石にそれは完全に初歩的な導入ミス、人災なので問題なしと言っていいでしょう)
例えば私の環境で調べると、オーグナーはUnofficial Skyrim Legendary Edition PatchとExpanded Towns and Citiesが変更しているので、espありの場合は両方を活かすのに、Tes5Editで互換パッチの作成が必要になってしまいます。 顔のnif改変のみならこれが必要ありません。
凄く楽です。
espありの方法解説
こちらがデータ的には正しい修正方法です。 ただしその分だけ作業量も増えます。
- 髪MODをマスター指定する or 移植する髪と同じノード数の髪を作る
- 上記の髪を指定したespを作成し、Creation KitからFaceGenも出力
- 出力したFaceGenにNPC Nif Mergeで移植
のような流れになります。
と、いうところで、ここまででスクショが多くて記事が長くなりすぎたので、espありの方法は気が向いたらまた今度書きます。書かないかもしれません。
(今回、何気なく読んでた解説系ブログの記事は、書くのは本当に大変なのだなぁと実感できました。主に大量のスクショの処理の手間が)
外部リンク
参考サイト
ECEを使ったスタンドアロンフォロワー作成方法 フォロワーの追加 その2 - Nifskopeでの作業 スタンドアロンフォロワー作成までの道 - 応用篇 【Skyrim】NPCの髪型変更実験
使ったツール&MOD
Mod Organizer 2 TES5Edit BSA Blowser NifSkope 2 NPC Nif Merge Enhanced Character Edit Alternate Start - Live Another Life