

SunhelmとSimple Food Spoilage Systemを導入して、空腹要素を入れつつ未消費の手持ちの食糧が数日で腐っていくという環境で遊んでいたのですが、みどリスさんから「腐らない非常食があるといいね」というお言葉を頂いたので、自分なりに満足出来る形で実装してみる事にしました。その結果人型NPCが5%の確率で非常食を持っているという形となり、せっかくなので飲食時にアニメーションが追加されるEating Animations and Sounds SE(以下EAS)に対応させてみる事にしました。EASのDescやサンプルファイルを読めば一定の範囲までは分かるのですが、最後にアニメーション中のオブジェクトを差し替えるAnimObject Swapperに対応させるのに苦労したので、自分が忘れないように手順を箇条書きしておきます。
ビーフシチューモーションを自作メッシュに対応するまでメモ
【KID設定ファイル側の記述】
Keyword = EASKID_All|Potion|aaaKimachuuRationFood
Keyword = EASkey_BeefStew|Potion|aaaKimachuuRationFood
Keyword = EASKID_Group01|Potion|aaaKimachuuRationFood
ここに関してはDescとサンプルファイルをしっかり読めば察しがつく範囲なので説明は省略
【AnimObject Swapperに対応させる為のパッチ作り】
・EAS本体をEditで開いて、aaaDummy_Cabbageを別レコードとして複製(以下ダミーアイテムと呼ぶ)
(複製したレコードは新規eslフラグ付きespとして分けておくといいです)
・EAS本体からaaaBeefStew_Animation_MEを別レコードとして複製(以下複製MEと呼ぶ)
・上記MEのaaaEAS_Twohands_tableスクリプトに「EasDummyItem」プロパティを新規に追加
・TypeをObject、Object v2直下のFormIDにダミーアイテムを指定
・ANIO用のAnimated Objectを作成、アニメ専用メッシュの場所を指定
・Animated ObjectのUnloadEventにEasUnequipAnimObj0と記述
・Potion側に複製MEを付け、EASのビーフシチューを参考にしながらDurationに10と記述する
(ここが元と同じでないとゲーム中にエラー通知が出ました)
【ANIO設定ファイル側の記述】
[ANIO|aaaDummy_KimachuuRation]
aaAO_StewBeefStew|aaaAO_KimachuuRation
つまり
[ANIO|ダミーアイテム]
EAS側のビーフシチューのAnimated Object|パッチ側のAnimated Object
のはずです。
【Animated Object用のnifに対してNifSkopeでやっておく事】
・1 NiStringExtraData を追加し、Txtに NPC L Finger10 [LF10] と記述
(左端が1でない場合はCtrl+上を押して1まで持っていく)
・傾きを合わせたいならメッシュのトランスレーションとローテーションを調整する
(EAS側のビーフシチューのメッシュを参考にするといいです)
・コリジョン関係はいらないのでバッサリ削除する
Animated Object用のnifはGNDモデル同様LE基準のメッシュでどうにかなりましたが、細かいところは正直分かっていません。何か動いたのでヨシって感じ(笑)。あれこれ触ってみてEAS自体が一種のフレームワークと言える程の凄さである事を実感しました。小春ちゃんにあれこれ食べさせたい。
コメント