Skyrim箱庭DIY

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

【Skyrim SE】Special EditionへのPCEA適用実験



スポンサーリンク

アニメーションファイルの互換性の問題から、SEでは32bit版のPCEAが使えません。FNIS PCEA2はいずれSE版を公開してくれると思いますが、旧版のPCEAは、恐らくSE用のFNISでサポートされることは無い気がします(個人的フィーリングですが・・・)。

そこでちょっと荒っぽい手段を使いますが、32bit版PCEAをSEに対応させてみます。

FNIS及びPCEAの基本構造については、別記事参照してください(知らないと作業厳しいかもです)。

※実験記事なので、試す場合は自己責任でお願いします。最低限アニメーション関連ファイルのフォルダ構造の把握をしてないと、不具合起きた際に戻せないかもしれません。

プラグイン

PCEA - 0 - DG and DB DLC - All Races.espですが、そのまま使えます。

 

 

アニメーションファイルの変換

PCEAで分離される、バニラ種族用アニメーションファイル群。そのまま使うと案山子確定なので、CK付属のHavokBehaviorPostProcess.exeで64bit変換します。もしくは、同名のアニメーションファイルをSEのbsaの中から持ってきてもOK。

Meshes
├ actors
| └ character
| ├ animations
| | └ PCEA
| | ├ female
| | | ├ 1hm_attackforwardsprint.hkx
| | | ├ 1hm_attackleft.hkx
| | | ├ ・
| | | ├ ・
| | | ├ ・
| | | ├ tor_blockbashintro.hkx
| | | └ torch_sprintforward.hkx
| | └ male
| | ├ 1hm_attackforwardsprint.hkx
| | ├ 1hm_attackleft.hkx
| | ├ ・
| | ├ ・
| | ├ ・
| | ├ staffright_idle.hkx
| | └ staffrightleft_sprint.hkx

 

変換の参考に、別記事あります。

 変換したら、バニラ種族用のアニメーションファイルの準備完了。

 

 

defaultfemale(male).hktの作成

espからバニラ種族用に指定されているdefaultファイルです。PCEAで導入される物は使えません

Meshes
├ actors
| └ character
| ├ defaultfemale.hkt
| └ defaultmale.hkt

 

2つともサイズ1KBのファイルです。残念ながら公式変換ツールで64bit対応化ができません(拡張子直してもダメです)。なのでPCEAでインストールされるこの2つのファイルは廃棄して、新しく作り直します。

 

defaultfemale(male).hkxを用意

バニラのbsaの中から、同じフォルダにある

defaultfemale.hkx

defaultmale.hkx

を拾ってきて、これを改造して使います。hkxcmdが使えればxml変換して書き換えられるのですが、16年11月14日現在、hkxcmdは64bitのhkxを変換できません

※SE用のFNISに同梱されてる物も同様だと思いますが、僕がバカやってたらすいません。

 

持ってきた2つのファイルの拡張子を.hktに変更し、中身を書換えます。

 

バイナリエディタで書き換え

文字列を1個変更するだけなので、バイナリエディタで直接書換えました。ここではStirlingを使用。

0000028A78から70に変更。

バイナリで開いたdefaultfemale.hkx

 

これでdefaultfemale.hktから呼び出されるdefaultファイルが、defaultdemale.hkpに書き換わりました。"hkt"じゃなくて"hkp"なので注意。

バイナリエディタでDefaultFileを変更

defaultmale.hktにも、同様の作業をします。これで.hktのdefaultファイルの作業は終了です。

 

 

defaultfemale(male).hkpの作成

.hktから呼ばれる、本命のdefaultファイルを用意します。これもPCEAで導入されるファイルは使えません

Meshes
├ actors
| └ character
| ├ characters
| | └ defaultmale.hkp
| ├ characters female
| | └ defaultfemale.hkp

 

アニメーションファイルのパス指定情報等が格納されたファイルで、PCEAによるフォルダ変更や、FNISで追加されたアニメーションファイルのパスも同様です。

PCEA同梱のファイルを使うと案山子の原因になる為、32bit版のFNISから生成したファイルを64bit変換して使います。32bit版Skyrimを持って無くても作業可能です。

32bit版ですが、defaultfemale.hktをhkxcmdでxml変換すると、こんな風に見えます。リダイレクト可能なアニメーションのパスが、PCEAフォルダに変更されてます。

xml変換したdefaultfemale.hkt

 

GenerateFNISforUsers.exeを動かす環境を作成

Skyrim用のフォルダでなくてOKなので(デスクトップでも可)、32bit版のFNISとPCEAのアーカイブを解凍し、フォルダを統合しておきます。PCEAは"01 main"のフォルダの中身だけでOKです。espは使いません。

こんなフォルダ階層で合体してればOK。

FNIS Behavior 6.2
└ Data
├ Meshes
| └ actors
| └ character
| ├ animations
| | ├ FNISBase
| | └ PCEA
| | ├ female
| | └ male
| ├ behaviors
| ├ characters
| └ characters female
├ scripts
| └ source
└ tools
├ GenerateFNIS_for_Modders
| ├ templates
| └ temporary_logs
└ GenerateFNIS_for_Users
├ languages
├ templates
└ temporary_logs

 

追加のアニメーションファイルとbehaviorファイルを用意

FNISによる追加アニメーションを入れてない場合は飛ばしてください。

男女分けや、既存アニメーションの差替えだけの場合は不要です。ポーズMODやエロMOD等、新規アニメーションを追加している場合に必要になります。

 

SE環境で追加しているアニメーションファイル及びbehaviorファイルを、作成した32bit版FNISフォルダ下へ適切に配置します。64bit仕様のファイルをそのまま持ってきて大丈夫です(多分ファイル名だけ合ってればOK)。

 

例を上げると、僕はポーズMODのKinoko Poseを64bit変換して使っているので、このアニメーションファイルとbehaviorファイルを持ってくる必要があります。

こんな感じで、作成した32bit版FNISフォルダへ配置。

FNIS Behavior 6.2
├ Data
| ├ Meshes
| | ├ actors
| | | └ character
| | | ├ animations
| | | | ├ cpkp
| | | | | ├ cpkp_02_01.hkx (個別のポーズ)
| | | | | ├ cpkp_02_02.hkx
| | | | | ├ ・
| | | | | ├ ・
| | | | | ├ ・
| | | | | ├ cpkp_stand08.hkx
| | | | | ├ cpkp_stand09.hkx
| | | | | └ FNIS_cpkp_List.txt
| | | | ├ FNISBase
| | | | └ PCEA
| | | | ├ female
| | | | └ male
| | | ├ behaviors
| | | | └ FNIS_cpkp_Behavior.hkx (ポーズ用behaviorファイル)

追加アニメーションの場合、アニメーションファイルとbehaviorファイルが必ずセットになっています。見落としのないように注意。

差替えではバニラのbehaviorファイルを変更する必要が無い為、追加behaviorファイルは無いです。

 

GenerateFNISforUsers.exeを実行

準備ができたので、32bit版で実行します。PCEAのチェックを忘れずに。.hkpファイルが生成されます。

 

FNIS Behavior 6.2
├ Data
| ├ Meshes
| | ├ actors
| | | └ character
| | | ├ animations
| | | | ├ cpkp
| | | | ├ FNISBase
| | | | └ PCEA
| | | | ├ female
| | | | └ male
| | | ├ behaviors
| | | ├ characters
| | | | ├ defaultmale.hkp
| | | | └ defaultmale.hkx
| | | ├ characters female
| | | | ├ defaultfemale.hkp
| | | | └ defaultfemale.hkx

 

この2つを取り出し、64bit変換します。変換時は一時的に拡張子をhkxに変更、終了後にhkpに戻せばOK。変換後、SE版の同じフォルダにコピーしたら、全作業終了です。

 

 

ゲーム内での動作確認

左が追加種族Half Dragon Raceによるプレイヤキャラで、アイドルアニメーションはSexy idle Animation。右はSigridさんで、PCEAフォルダにPretty Female Idlesを使用。共に64bit版が公開されてますが、実験を兼ねて32bit版から変換して使いました。

あアニメーションの分離確認

追加種族とバニラ種族で、異なる待機アニメーションを使っています。うまく分離できたようです。そんなにテストしてないので万全とは言い切れませんが、理屈上は正しい筈。

※Half Dragon Raceの角のメッシュはNiTriStripsな為、NiTriShapeに変換しないとSEで使えないです。詳細は別記事にて。

 

追加アニメーション込みで.hkpファイルを生成したので、Kinoko Poseもうまく動作しています。

FNIS追加アニメーションの動作確認

 

繰り返しになりますが、結構面倒な作業してますので、やる場合は十分注意してください。

 

 

(おまけ)behaviorファイル

32bit版の話ですが、現行のFNISではPCEA専用のbehaviorファイルを生成せず、defaultファイルでも専用behavior(0_master.hkt等)を指定してません。恐らく互換性や使い勝手の問題ですかね。

つまりPCEAではbehaviorの独立化をしていないので、behaviorファイルを変更する必要はありません。 behaviorsフォルダには.hktのbehaviorファイルがあるのですが、すべて未使用です。

 

FNIS Behavior 6.2
├ Data
| ├ Meshes
| | ├ actors
| | | └ character
| | | ├ animations
| | | | ├ FNISBase
| | | | └ PCEA
| | | ├ behaviors
| | | | ├ 0_master.hkt
| | | | ├ 0_master.hkx
| | | | ├ 1hm_behavior.hkt
| | | | ├ 1hm_behavior.hkx
| | | | ├ 1hm_locomotion.hkt
| | | | ├ bashbehavior.hkt
| | | | ├ blockbehavior.hkt
| | | | ├ bow_direction_behavior.hkt
| | | | ├ FNIS_FNISBase_Behavior.hkx
| | | | ├ horsebehavior.hkt
| | | | ├ idlebehavior.hkt
| | | | ├ idlebehavior.hkx
| | | | ├ magicbehavior.hkt
| | | | ├ magicbehavior.hkx
| | | | ├ sprintbehavior.hkt
| | | | ├ staggerbehavior.hkt
| | | | └ weapequip.hkt 

.hkxのbehaviorファイルは、バニラの差替え用にFNISが生成したファイルです。削除するとトラブルになります

 

以上、Special EditionでのPCEA実験終了です!