アニメーション周りの改変をしてSkyrimを遊んでいれば、「behavior」という単語を時々目にする筈です。アニメーション改変において極めて重要なのですが、
behaviorって何してんの?
と聞かれても、答えられる人は結構少数派に思えます。おおよそ各所の解説でも「アニメーション設定ファイル」とか「管理ファイル」等で濁してることが多いかと。まあ間違ってはいないのですが、これだけだとイメージ掴みにくいですよね。
behaviorのイメージを掴んでないことこそが、
FNISやNEMESISでトラブルを起こす最大の原因
と言って良いでしょう。
そこで今回は、このbehaviorについて、大雑把にメモっておくことにします。
そもそも僕自身も、そんなbehaviorを知ってる訳ではないので( ; ゚Д゚)
Skyrimにおけるアニメーションのコントロール
Skyrimのアニメーションは、外製エンジンである「Havok Behavior」がコントロールしています。Bethesda社ではなく、Havok社の製品ですね。物理エンジンであるHavok Phisicsと合わせて、実にスマートなアニメーションを実現してるのはご存じの通り。色々なゲームタイトルで採用されています。
アニメーションの再生には、必ずこのHavok Behaviorを通します。Skyrimのプラグインから、直接アニメーションを操作することはできません(コンソールやスクリプトから直接再生できるアニメーションは、そうなるようにbehaviorが組まれてるだけ)。
強攻撃ボタンが押された時の流れを、超アバウトに説明すると・・・こんな感じ。
この例で重要なことは、
- behaviorが「強攻撃」という状態及び遷移(出し方的な)を知っている
- behaviorが「1HM_SneakAttackPower.hkx」というアニメーションファイルを知っている
- アニメーションファイル「1HM_SneakAttackPower.hkx」が存在する
という点です。Havok Behaviorは、behaviorファイル(正確にはファイル群を携えたプロジェクト)に従ってアニメーションをコントロールします。
behaviorが知っている=behaviorファイルに記述がある
ということです。
ここに齟齬が発生すると、アニメーションが出ずに棒立ちしたり、T-pose(案山子)で固まるといった不具合が出ます。
新規アニメーションの追加
ダクソのようなローリング回避を追加する、Dodge MCOというMODがあります。
これをインストールした「だけ」だと、こんな具合にbehaviorさんが困ります。
これは、
- behaviorが「ローリング」という状態及び遷移を知らない
- behaviorがローリングに必要なアニメーションファイルを知らない
- アニメーションファイルは存在するが、behaviorが知らないので使えない
からです。
プラグイン、スクリプト、アニメーションファイルも全て準備万端なのに、behaviorがアニメーションの出し方を知らないが故、このままだと動きません。
動かすためにはどうしたら良いでしょう?
behaviorに「ローリング」という状態及び遷移の仕方、それとローリングに使うアニメーションファイルを教える必要があります。つまりbehaviorを”modding”する訳ですが・・・。
前述のようにHavok Behaviorは外製エンジンです。SkyrimはBethesdaがMOD公認なのは周知の事実ですが、Bethesdaの権限で社外製品のmoddingまで許可することは出来ないと思われます。その為、CKでbehaviorに対して変更を加えることはできません。
そこでかの有名な、FNIS及びNEMESISの出番です。
どちらも追加アニメーションに合わせて、behaviorを更新してくれます。
FNIS及びNEMESIS=behaviorを書き換えるMOD
です。
ただしDodge MCOに関しては、FNISではbehaviorを作れない為、NEMESISのみです。
FNISとNEMESISに関しては、また別記事でいずれ。
どうでしょう、behaviorを「管理」や「設定」と表記してることが多い気がしますが、実際は「制御」のイメージだと思います。
Behaviorファイルの格納フォルダ
SkyrimでHavok Behaviorが使う、behaviorファイル群の場所をメモっておきます。
人間種族用とそれ以外用で場所が違います。
人間種族用behaviorファイル
プレイヤを含む人間種族用のbehavior関連ファイルは、以下にあります。
※ちょっと過不足あったので修正しました
Data └─meshes └─actors └─Character │ animationdatasinglefile.txt │ animationsetdatasinglefile.txt │ defaultfemale.hkx │ defaultmale.hkx │ ├─behaviors │ 0_master.hkx │ 1hm_behavior.hkx │ 1hm_locomotion.hkx │ AttackBehavior.hkx │ bashbehavior.hkx │ behavior.hkx │ blockbehavior.hkx │ bow_direction_behavior.hkx │ crossbow_direction_behavior.hkx │ horsebehavior.hkx │ idlebehavior.hkx │ magicbehavior.hkx │ magicmountedbehavior.hkx │ magic_readied_direction_behavior.hkx │ mt_behavior.hkx │ shoutmounted_behavior.hkx │ shout_behavior.hkx │ sprintbehavior.hkx │ staggerbehavior.hkx │ weapequip.hkx │ WeapUnequip.hkx │ ├─character assets │ skeleton.hkx │ ├─character assets female │ skeleton_female.hkx │ ├─characters │ defaultmale.hkx │ ├─characters female │ defaultfemale.hkx │ └─_1stperson │ firstperson.hkx │ ├─behaviors │ 0_master.hkx │ 1hm_behavior.hkx │ 1hm_locomotion.hkx │ bashbehavior.hkx │ blockbehavior.hkx │ bow_direction_behavior.hkx │ crossbow_direction_behavior.hkx │ horsebehavior.hkx │ idlebehavior.hkx │ magicbehavior.hkx │ magicmountedbehavior.hkx │ mt_behavior.hkx │ shoutmounted_behavior.hkx │ shout_behavior.hkx │ sprintbehavior.hkx │ staggerbehavior.hkx │ weapequip.hkx │ └─characters firstperson.hkx
skeleton.hkx及びskeleton_female.hkxを、間違えて消さないように( ; ゚Д゚)
これはFNISやNEMESISで再生成されません。
人間以外用behaviorファイル
熊と犬を例に。他もactors直下に入ってます。
\Data\meshes\actors\ ├─bear │ ├─behaviors │ │ bearbehavior.hkx │ │ │ ├─character assets │ │ skeleton.hkx │ │ │ └─characters │ bearcharacter.hkx │ └─canine ├─behaviors │ dogbehavior.hkx │ ├─behaviors wolf │ wolfbehavior.hkx │ ├─character assets dog │ skeleton.hkx │ ├─character assets wolf │ skeleton.hkx │ ├─characters dog │ dog.hkx │ └─characters wolf wolf.hkx
各種族ごとに1つのbehaviorファイルです。これらがFNISやNEMESISの更新対象です。
あとは人間種族同様にskeleton.hkxと、defaultmale.hkxみたいなプロジェクトのrootかな?
とりあえずざっくり説明、ということでこの辺で。
もうちょっとだけ詳細を掘り下げた物も、現在準備中。
LE時代のプレイヤキャラだったちまいのを、なんとかSEに持ち込み。色々様変わりしましたが…。
行方不明で見つからないassetも数しれず_| ̄|○
Miqo'te followerと合体させて、5人目のmiqo'teに転生('_')
なすの様作の髪も神だったので、髪型も変更したでござる。
この方のHDTドキュメントには大変お世話になりました、今のプレイヤキャラの髪関係で(TдT) アリガトウ
続きはこちら
skmod.hatenablog.com