Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

【Skyrim】NPCの顔黒の原因と対策方法



スポンサーリンク

よくあるトラブルまとめ記事にも書きましたが、この検索結構多いので別記事として1個作ってみました。

NPCの顔が黒い バグ」の検索ワードが多いのですが、このトラブルはほぼ全てがローカル環境問題であり、誤ったMODの使い方をした結果です。つまりバグじゃないです。絶対とは言えないですが、Modderが顔に異常のあるデータをパッキングしてアップする可能性はかなり低いでしょう。一目瞭然すぎるので。

構造理解に興味無い人はこういったツケが出てきます。CK、TES5Edit、Nifskopeが最低限使えないとどうにもならないです。ひたすらMOD入れまくりなだけの人には、修正ハードル高いです。

どうしても対処できない(したくない)場合は、NPC改変系MODの複数使用を控えることをお勧めします。1つの美化MOD以外にバニラNPCを変更するMOD(NPCに少しでも関わるMOD全て)を一切使わなければ発生しません

(20151025)ちょっと文言みづらいの多かったので、いくつか直しました。

顔黒発生の概要

とりあえず簡単なまとめから。

顔黒の発生原因

トリガとなる主な原因は次の2点。

  1. バニラNPCの顔を改変するMOD(主に美化MOD)と、NPCを何かしら変更するMODとの間に起こるesp(esm)の競合
  2. 複数の美化MODによる顔のメッシュファイル(FaceGenData)の競合、もしくは導入ミス

 

1つ目は、美化MODより高いロードオーダーで該当NPCを何かしら変更するMODがある場合。美化MODのespを上書きして潰しています。これが一番多いと思います。例えばUFOのように、レベル制限や結婚属性等、NPCのレコードを変更しているMODが該当します。あまり無いとは思いますが、未クリーニングのMODにNPCのDirty Editが残っていても同じことが発生します。

 

2つ目は、複数のMODで同じNPCの顔を二重変更した結果、FaceGenDataとespのレコードが不一致になっている場合です。メッシュの導入ミスの場合も同様です。「美化MOD」だけに限らず、Seniors Wear Vanillaのようなお年寄り種族の体型分離MODでも発生します(FaceGenDataを変更している為)。

 

結果的にはどれも同じで、espの最終レコードとFaceGenDataが一致せずに顔黒化します(この詳細説明が記事のメイン)。

名前、不死属性、スキル、LV制限、AI、初期装備等、NPCに関連する項目を1つでも変更しているMODは、例外なく美化MODとの競合対象になります

NPCのBaseIDとFaceGenDataのファイル名の不一致でも発生しますが、これは不正な改造しない限り起こりえないことなので(例えばマージの失敗)、改造の責任は各自にて。

 

対策方法

競合無く完全に修正したい場合

ロードオーダーだけでNPC改変を行う複数のMODを共存させることは不可能で、TES5Editで互換パッチを作る以外に解決方法がありません。2種類記事あるので参考にどうぞ。

UFOとSBFの競合対策

Seniors Wear VanillaとDecent Womenの競合対策

 

ロードオーダーだけでどうにかしたい場合

「パッチ作れない、でも他のあらゆるNPCの変更潰してでも顔黒を直したい」という場合は、美化MODのespをロードオーダー最優先にしておけば解決できます

弊害として、例えばフォロワー拡張MOD(UFO等)のレベル上限撤廃や、都市改変MODに伴うAI変更だったり、USKPの変更等、他のMODによるNPCに関する変更項目が全部潰されます。Race情報を変更してる場合はPCEAも潰れます(FNIS自体は大丈夫)。

これでも直らない場合は恐らくメッシュの問題で、同一NPCを美化するMODを複数入れて競合してる、メッシュの導入ミスあたりが原因だと思います。

※優先したい美化MODを再インストール(ファイルは全て最優先で上書き)して、espもロードオーダー最優先にしておけば、その美化MODの適用範囲に関しては直ってる筈です。弊害で他に色々潰れる可能性はありますが。

 

 

逆にいいますと、

NPCの構造と互換パッチの作り方を理解していれば、この問題は絶対に発生しません

100%回避できます。

※ここまでの内容を読んで意味が全くわからない場合、この先読んでも全くわからないかも知れません。 基本的なノウハウ増やすか、ロードオーダー最優先で強行するしか無いかと・・・

 

 

バニラNPCの頭部構造

詳細の話にいきます。

何をしたら発生するか?」ではなく、「これを守らないと絶対起こる」という方向で話を進めます。そんな訳で、まずは構造把握から。プラグインとメッシュファイルの中身を見ていきます。

※ここでは競合対策に限定した話だけなので、自作した顔のNPCを作りたい場合はtktkさんの記事がおすすめです。PC環境にも優しいespの作り方や、最小限の同梱ファイルの説明もされてます。

skyrimshot.blog.fc2.com

 

プラグイン内のNPC情報

Skyrim.esmに設定されてるリディアさんの頭情報。赤枠内に各Head Partsが設定されています。名前の通りの構造部品。また、右の方に「Face Tinting Color」があります。キャラメイク時の肌の色設定みたいなものです。

リディアさんの頭情報

 

HairのHead Partsを覗いてみると、Extra Partsの欄にもう1個別のHead Partsが紐付けされてます。主に生え際に使うメッシュ。帽子やアクセサリ、タトゥー等がセットになってる髪の場合はもっと多いです。

髪の追加HeadParts

 

(20151024追記訂正)口のHead PartsのSS入れるの忘れてました。この後の比較等にも追加しました。

口は種族で固定なのでRaceのExtra Partsに入ってます、NPC毎に変わらないので。

Nordの口のHeadParts

 

こんな感じで、赤枠で囲まれた部品が合体してリディアさんの顔になります。

これを踏まえた上で、次はメッシュファイルを見てみます。

 

頭のメッシュファイル

参考までに、プレイヤキャラで使うバニラの頭メッシュ、femalehead.nif。キャラエディットで髪や目等色々変える前提なので、まさしく「頭」だけです。

PC用頭部メッシュ

 

一方、NPCであるリディアさんの頭、000A2C8E.nifプレイヤキャラ用と違い完成した頭部になってます。いわゆるFaceGenData。髪や目や眉、歯まで完備。

リディアさんのFaceGenData

NPCは1個のメッシュファイルに全部入ってます。造形を任意に変える必要が無いからですかね。フォロワーの髪型を変えたいと思ってもキャラメイクみたいには変更できない訳です。同じ理由で、目や歯のメッシュ変更MOD入れてもNPCには適用されません。

ファイル名はNPCのBaseIDと決まってます。これはCKでNPCの頭を作った後に、該当NPCにカーソルを合わせてCtrl+F4を押すことで自動的に出力してくれます。メッシュの改変をしない限り顔黒対策にこの作業は不要です。

ファイル自体はここに入ってます。

FaceGenDataの場所

リディアさんのBaseIDと比較すれば、どのファイルか判別つきます。

リディアさんのBaseID

 

プラグインとメッシュファイルの比較

赤枠部分を見比べてみます。Skyrim.esmと・・・

リディアさんのHeadParts

 

000A2C8E.nif

リディアさんのFaceGenData

 

esmのHead Pats名と、メッシュファイルのNode名が同一になっています。それぞれ6個づつありますね。Head PartsとNodeがユニークに対応しています。CKからCtrl+F4で頭のメッシュファイルを出力するとこうなります。

これが重要で、プラグインとメッシュファイルで整合性が取れていないと顔黒現象が起きます

ここで言う「整合性」とは、

  1. Head Parts名Node名が同じ
  2. HeadParts数(Extra Partsを含む)とNode数が同じ
  3. Node番号CKで出力したメッシュファイルと同じ
  4. NPCのBaseIDメッシュファイル名が同じ

この4点です。

2はExtra Partsの数を忘れずに。SSの例では髪だけですが、他のHead Partsで使ってることもあります。

3は、メッシュファイルのNode番号はCKが出力時に決めているので、勝手にNifskopeで番号変えちゃダメよ、ってことです。

espやメッシュファイルの管理ができていない場合、上書き競合によりこの整合性が崩壊している可能性があります。結果として顔黒の発生となります。

 

バニラだとこんな感じです。次に美化MODで改変したリディアさんを見てみます。

 

※以上の理由から、この不整合による顔黒が発生するのはNPCのみであり、プレイヤキャラで異常が起きてる場合は別要因です。各種メッシュやテクスチャ、.triファイルのミスだったり、ECEやRaceMenuの不正な導入をしているとか。

時々目が潰れてる場合はバニラのバグです。バグフィクスMODで直ります。

 

 

MODで改変したバニラNPCの頭部構造

今度はさらっといきます。赤枠付けてませんが見るべきポイントは同じです

Skyrim Beautiful Followers - SBFで変更されたリディアさん。各Head Partsが独自の物になっているので、バニラと違う名前になっています。肌色も違いますね。

SBFリディアさんのesp情報

 

HairについたHairLineと・・・

SBFリディアさんの追加HeadParts

 

口。同じノルドなのでこれは変わらず。そんな訳で口の不整合は滅多に起こりません

SBFリディアさんの口HeadParts

 

Head Parts名に合わせてメッシュのNode名も変わってますNode番号もバニラと違います。ですがCKがこれで出力した以上、勝手に変えるとえらいことになります。

SBFリディアさんのFaceGenData

 

バニラと全然違う設定ですが、大事なことである「プラグインとメッシュファイルの整合性」は取れています。正しく使われていればゴリっちゃうことはありません。

競合の無いSBFリディアさん

 

しかし仮に競合により、

  • バニラプラグイン+SBFメッシュ
  • SBFプラグイン+バニラメッシュ

こんな組合せになっていたとしたらどうでしょう?

プラグインとメッシュファイルの整合性が取れていないことになります

 

競合による不具合の例

他の記事でも例にしてますが、SBFとUFO - Ultimate Follower Overhaulの競合例です。SBFのHead PartsがUFO(バニラと同じ)で上書きされています

SBFとUFOの競合

 

つまりバニラのプラグイン設定と、

バニラリディアさんのHeadParts

 

SBFのメッシュファイルの組合せになっちゃってます。

SBFリディアさんのFaceGenData

整合性が崩壊していますね!

ゲーム内で見るとこうなります。左、ゴリってます。espのActive化だけを切った場合も同様になります。ルーズフォルダにメッシュが残ってますので。

右のは逆で、espはSBFだけどメッシュファイルがバニラだった場合。SBFにはFaceGenData以外にも出力前の髪のメッシュが同梱されてる為、メッシュがバニラなのにSBFの髪が表示されちゃってるんだと思います。

競合でゴリっちゃったリディアさん

MODの作り方や競合具合によって見え方に差分があるものの、いずれも問題に違いないです。このまま遊んでも楽しくないですね・・・あとbsa形式の美化MODだと、知らないうちに他のMODでメッシュファイルの上書きされてる可能性も有るので要注意です。

この競合の対策ですが、最初に書いた通りロードオーダーをSBF優先にしておけば顔黒に関しては完全に直ります。しかし今度はUFOのAIやレベル制限解除が潰されますので、共存させる場合は互換パッチ作るしかありません。別記事でやってます。

このように、美化MODの後にNPCのレコードを1つでも変更するespが有ると必ず問題が起こります

例えばOBISと山賊美化MODでも同じで、双方山賊NPCを変更しているので競合します。結果として美化が反映されなかったり、追加スポーンや強さ調整が反映されなかったり等のトラブルが起こると思います。

 

 

MODによる追加NPCの場合

バニラ改変と違って元々存在しない新規Actorなので、競合による問題が起こることはまずありません。問題起きたとしたら、導入ミスや不正改造、あるいはバグによる物だと思います。

スタンドアロンフォロワMODのEleonoraさん。バニラには居ないですから、まず競合のしようがありません。服はNorthgirl ArmorのニットとTriss Armor Retexturedの指出しグローブ。巨乳ニットとかマジ女神。UNP体型にCBBEの手繋いでますが、長袖なので問題無し。薄着だと手首にスキマできると思います。

エレオノーラさん

 

メッシュファイルも、ここまでの条件で競合するとかまず無さそう。

エレオノーラさんのFaceGenDataの場所

 

しかしメッシュファイルを入れ忘れると、バニラに無いのでbsaから読まれることがありません・・・

 

誰だオマエは!?

お前は誰だ的エレオノーラさん

それはお前アル!!恐らくデフォルトと思われる顔が出現、ある意味正体。スニッカーズ切れたんですかね。とても同一人物とはおもえません。世知辛いクポ。

スタンドアロンフォロワMODでこの顔出てきたら、頭メッシュのインストールがコケてると思います。esp競合の可能性はかなり低いので。

余談ですが、フォロワに好きなMODの顔の移植改造する際、esp改造後にCtrl+F4で出力したFaceGenDataをそのまま使うと、テクスチャが正しくても造形がこれになること多いです。各Head Partsや.triファイルまで同梱されているMODならうまく出るかもですが、FaceGenDataのみが同梱されている場合(他のメッシュは使わないので大半そうだと思いますが)はどうにもならないです。

対策は、元のFaceGenDataを変更してNodeの整合性を取ればOK。Ctrl+F4出力したFaceGenDataのNode名とNode番号に合わせ込み、整合性をとって使えば問題無いです。FaceTint共々、ファイル名をBaseIDに変更するのを忘れずに。

 

競合してないけど微妙に色が違う場合

造形に全く問題が無く、かつ微妙な色違だったり浅黒い感が無い場合は、テクスチャの問題かもです。勿論競合してない前提ですが。別記事あるのでそちらをどうぞ。

 

まとめ

繰り返しになりますが、前述の4つの整合性を崩さなければ顔黒は発生しません。したがってMODで追加されたNPCに対しては発生しにくいです(esm配布の場合は起こるかも)。

  • esp(esm)競合、頭メッシュファイル(FaceGenData)競合による不一致
  • esp(esm)だけを非Active化してルーズファイルを放置
  • インストールそのもののミス
  • 不正なマージによるBaseID変動
  • 整合性を壊すような不正改造

原因としてありそうなのは、こんな所でしょうか。

特にesp競合に関しては、先入観を捨ててTES5Editで確実にチェックしてください。大半はこれが原因のはずです。最初の概要の通り、一見ビジュアルと関係無さそうなLV制限、スキルやパーク、Sand Box(日常AI)、所持品やvoice設定等、NPCの項目を1つでも変更しているMODがあれば競合してます

思いもよらないMODが変更している場合もあるので、使用中のプラグイン全てをTES5Editでロードして確認しないと見落とします

正しくMODを使っていれば確実に潰せるローカル問題なので、競合対処したこと無い人でも対策第一歩のチャレンジおすすめです。

 

具体的な対策例はこちら

 

(おまけ)ApachiiSkyHair NPC Overhaulの顔黒について

ApachiiSkyHair NPC Overhaul関連のランディングが時々あるので追記しておきます。NPCの髪型をApachiiSkyHairに変更するMODですが、解釈によってはちょっとトラブルになるかもです。

このMODは本体ファイルだけだと構造的に不具合があり(espしか無い為)、必ず顔黒になります。バグフィクス(整合性の取れたFaceGenData)が用意されていますが、これは髪だけでなく、NPCの頭部そのものを変更します。Skyrimの仕様上、仕方ないと思います。

つまりこれはNPC美化MODです。バニラNPCを基準にして髪を変更する物であり、他の美化MODと併用して髪を変更できるMODではありません

Skyrimの構造上、プラグインやルーズファイルでNPCの髪型だけを任意に変更することができません(装備化すればいけるかも)。Behaviorを生成するFNISのように、何か外部アプリ使わないと自動化できないと思います。

理由は、前述の通りNPCの頭部が1つのメッシュファイル(FaceGenData)になっている為です。顔も髪も全部合わせて1個のメッシュファイルです。よって美化MODの顔を残しつつ髪型だけを変更するには、新たなFaceGenDataが必要になります

任意の美化MODの顔を使いつつ髪を差替えたい場合は、別記事あります。髪の作り次第で3パターンの手順有り。