以前の記事で少し触れましたが、プレイヤキャラとNPCで異なる口のメッシュを使った場合(バニラと頂点が異なる非互換の物)、モーフファイルの不一致により口パクに不具合が出てしまいます。具体的には、口が動いても歯が動かなくなります。
Xvision Children - Redoneの後にPC Exclusive Animation Pathをロードして、口パクしなくなるのと同じようなものです。
例えばRealistic Teethをプレイヤキャラのみに適用すると、NPCの口パクに不具合がでます。NPCにも適用すれば解消しますが、FaceGenDataごと差し替えるので美化MODと競合します(一部互換パッチ有り)。どの道MODで新規追加されたNPCの不具合は解消できません。
この不具合はRealistic Teethの個別問題ではなく、口のメッシュをバニラ非互換の物と差し替えること自体に起因しています。この問題を解消する為に、プレイヤキャラ限定で使う方法と、NPCのFaceGenDataにも対応させる方法の2パターン試します。あまりテストしてないので何か不具合あるかもしれません。試す場合は自己責任でお願いします。
※非常に頂点数の多いメッシュ(口の中だけでCBBE胴並)なので、負荷に注意した方がいいかもしれません。
追加種族のプレイヤキャラ限定で適用
モーフファイルは種族単位の設定になるので、追加種族限定になります。Enhanced Character EditのYgNordの口だけを、その他種族から独立化してみます。
問題の原因は、Realistic Teethのメッシュに合わせた新規モーフファイルが、NPCのバニラメッシュの口(FaceGenData内)にも適用されてしまうことにあります。そこでプレイヤキャラだけがRealistic Teethのメッシュとモーフを使用するように、口のモーフファイルを独立化します。NPCは従来通りにバニラ(もしくは互換MOD)のモーフファイルを使えば、問題無い筈です。
口のHead Partsを新設
プレイヤキャラの口だけ(正しくはYgNord種族の口)を、他の種族から分離します。バニラで用意されている口のHead Parts、FemaleMouthHumanoidDefault(0005150F)をベースにして、プレイヤキャラ専用に新設します。
Realistic Teethのメッシュ&モーフファイルを指定。バニラの上書きにならないようにリネームしてます。
新設したHead PartsをYgNordに適用
これをYgNordに適用。Vampireは僕が使ってないので何もしてないです(汗)
口のHead Partsを、新設した物と差替えます。これで作業終了!
ゲーム内で口の動きを確認
プレイヤキャラのみRealistic Teethですが、NPCも歯の動きには問題無さそうです。ちょっと位置が合わなかったので、Nifskopeで口のメッシュの座標を調整しました。
奥歯の厚みはいい感じですが、前歯は若干すきっ歯かも?
NPCのFaceGenDataにもRealistic Teethを適用
全てのNPCの口を差し替えることでも、口パク不具合を回避可能です。重くなるかもですが。
Optional FilesにあるRealistic Teeth Face Converter Tool for Moddersを使えば、バッチファイルによる一括処理で、必要なFaceGenDataの口を入れ替えてくれます。位置がうまく合わない場合(歯が飛び出た等)、座標補正の設定も可能です。Nifskopeで直してもOK。
User用ではなく、Modder向けツールのようです。了承の上、自己責任にて作業してください。同梱のテキストが丁寧に説明してくれているので、使い方はそちらにて。
NifskopeによるFaceGenDataのRealistic Teeth対応化
NifskopeでNPCにもRealistic Toothを移植する方を試します。FaceGenData1個毎に作業しないといけないので、数が多いとちょっと大変ですが。上記のツール使った方が楽だと思います。
Bijin Warmaidensのリディアさんに、Realistic Toothの口を移植してみます。
プレイヤキャラの頭部をFaceGenData出力
まずはRealistic Toothを使用したプレイヤキャラの頭部を、FaceGenDataとして出力します。
口を楽に取り出したいだけなので、顔の造形は何でもいいです。
口のメッシュの頂点数が3440であればOKです(バニラ系メッシュだと141)。 これをCopy Branchしておきます。
NPCのFaceGenDataへ口を移植
リディアさんのFaceGenDataにPaste Branchして、Node番号、Node名を合わせます。元のFaceGenDataと完璧に同じにしてください。でないと顔黒になります。
終わったらSpells>Sanitize>Reorder Link Arraysを忘れずに(忘れると確定CTD)。
少しサイズが合わなかったので、口を若干縮小&座標修正しています。Block DetailsのTranslationとScaleで調整できます。終わったらApplyして反映させます。
オリジナルと移植後の比較。うまく動いているようです。もうちょっと上にずらした方がよかったかも。
髪の移植の同じノリなので、いまいち手順がわからない人は、そっちも参考にしてください。
以上、実験終了です!