必要なMod
- Eating Animations and Sounds SE 1.9.4
- Osare Food SE – With patch for Eating Animations and Sounds – Survival Mode
- AnimObject Swapper
その他、Eating Animations and Sounds SEが前提としているModが必要です。
Osare Foodのインストール
MAIN FILESから以下の2つをインストールします。
- Osare Food SE Port
- TaberuAnimation for Osare Food
サバイバルモードを使用しているなら以下も必要です。
- Osare Food plugin patched for Survival Mode
以下は古いのでインストールしません。
- TaberuAnimation OsareFood plugin patched for Survival Mode
Osare Foodの食べ物をアニメーション対応にする
TaberuAnimation for Osare FoodはEating Animations and Sounds SE 1.7のためのパッチなので、まずはModマネージャで無効化して使わないようにします。
KIDの設定ファイルとして TaberuAnimationOsareFoodPatch_KID.ini
を作成します。
Osare Foodのトーストをバニラのパンのアニメーションに対応させる例です。
Keyword = EASKID_All|Potion|OsareFoodToast
Keyword = EASKID_Group02|Potion|OsareFoodToast
Keyword = EASkey_BreadHalf|Potion|OsareFoodToast
とりあえずはこれでアニメーションするはずです。
パンの見た目をトーストに変更する
ModマネージャでTaberuAnimation for Osare Foodを有効化して、TaberuAnimationOsareFoodPatch.espをSSEEditで開きます。
Art Objectだけを残してすべて削除します。
Art ObjectはMagic Effect用なので、アニメーション用のAnimated Objectに変換する必要があります。TaberuAnimation.espのAnimated Objectを参考にするといいでしょう。
Modelで指定するNIFファイルのパスはArt Objectのものをそのまま指定すればいいです。
Factionを新規作成します。AnimObject Swapperでの変換条件に使用します。
FactionのEditorIDは OsareFoodFaction
としました。
AnimObject Swapperで変換するために TaberuAnimationOsareFoodPatch_ANIO.ini
を作成します。
[ANIO|OsareFoodFaction]
aaAO_breadHalf|aaAO_Toast
これで、アニメーション対象のActorがOsareFoodFactionに属している間はパンの見た目がトーストに置き換わります。
メッシュを変換する
Osare Food EAS patchにArt Object用のメッシュが含まれているようです。
以下は自分で作る場合の解説になります。
よくわかりませんが、Art Object用のメッシュはそのままではAnimated Objectに使えないようです。
TaberuAnimationOsareFoodPatch.bsaからメッシュファイルを取り出し、NifScopeで開きます。
NiStringsExtraDataをNiStringExtraDataに置き換えます。
NiStringsExtraDataを削除して、Eating Animations and Sounds SEのメッシュからNiStringExtraDataをコピーするのが楽だと思います。
これで見た目がうまいこと置き換わりました。
Factionに所属させる仕組みを用意する
Osare Foodの食べ物を食べようとしたら、OsareFoodFactionに所属させてから食べて、食べ終わったらOsareFoodFactionから除名する、という処理が必要です。
アニメーションの処理を食べる前に仕込むか食べた後から追加するかでかわってきます。Eating Animations and Sounds SEは食べた後からアニメーションを追加しています。今回はEating Animations and Sounds SEには手を入れないという形にしたいため、食べる前に仕込む必要があります。食べるとEating Animations and Sounds SEがアニメーションを始めてしまうため間に合いません。そこで、食べるのはホットキーからにします。
インベントリメニューやお気に入りメニューからの処理はどうしても食品自体の編集が必要になってしまい、本末転倒です。ちなみに、この場合は食品をダミーに置き換えておき、ダミーを食べたらそれを検知してOsareFoodFactionに所属させてから本物を食べる、という流れになります。
ホットキーを押したら食べるものを決定します。食べ物がOsare Foodのものかどうかを判定するには、FormIDを見るか、キーワードを付与しておいて調べるといいでしょう。それからOsareFoodFactionに所属させて食べる、という流れです。
この実装はEquipment Managerに行いました。