スケルトンが動くとメッシュが動く、というところまで前回説明しました。
では何がスケルトンを動かすのか?というと、アニメーション(モーション)ファイルです。
歩く、走る、シャウト、魔法、とにかく動くものは全てアニメーションファイルで制御されています。
※文言は「アニメーション」で統一しようとは思っています。ゲームのフォルダ名がそもそも「Animations」なので。しかしながら当ブログ内で「モーション」という文言を見かけたら、「アニメーション」のことだ、と置き換えて頂きたく。(一応チェックはしていますが、漏れてたときの為に)
(20150524)色々書いているうちに全般を指すのが「アニメーション」、個別の1アクションが「モーション」みたいなニュアンスになってきたので、それでいっちゃいます。また変わるかもですが・・・いい加減ですいませんすいません。
アニメーションとは「能動的(積極的)」にボーンが動くものを指します。投げたアイテムがぶつかって跳ね返る、死体の挙動(ラグドール物理)等、他の動きに連動した結果の受動的動作は、物理演算エンジン「HAVOK」によるものなので、アニメーションではないです。HDT Physics Extensions も同様です。
アニメーションの定義
メッシュ=着ぐるみ
スケルトン=中の人
と説明してきました。このノリでアニメーションを定義してみると、
アニメーション=振り付け
と定義できると思います。歩く、走る、戦う、パンを食べる等、あらゆる全ての動きは用意された「振り付け」に従っています。
振り付け(アニメーション)は「振付師(主にModder)」が考案し、中の人(スケルトン)に教える必要があります。NPCの中のスケルトンが、臨機応変に新たな振り付けを考えてくれることはありません。
「五体」だけがアニメーションではない
現実であれば、人体としての骨格のある部分だけを能動的(積極的)に動かすことが出来ます。「21本目の指」は置いておきます。自在に回転できるレベルの人は居ないでしょうけど。
Skyrimにおけるスケルトンの場合は、通常の五体以外にも、武器装備位置やスカート、髪の毛、メロンや桃に至るまで、様々なボーンが存在しています。これはつまり、
中の人(スケルトン)がこれら全てを能動的に動かせる
ことを意味します。勿論着ぐるみ(メッシュ)が対応している場合に限りますけど。
振り付け(アニメーション)が無くても動く場合
HAVOKを使った受動的な動きの場合、物理演算により「計算」された動きとなるので、アニメーションは必要ありません。ただし「受動的」なので、トリガとなる動作が必要になります(ちょっと表現方法が適切か微妙な所ですが、ニュアンスということで)。
アイテムを「投げる」とか、胴が上下するアニメーションに連動した「メロン揺れ」とか。倒した敵を動かした時のラグドール物理の挙動も同様です。胴を掴んで引っ張ると、手足がブラブラしてるみたいな。
アニメーションファイルの場所
個別のアニメーションファイルは以下の場所にあります。
Data\Meshes\Actors\Character\Animations\・・・男女共用アニメーション
Data\Meshes\Actors\Character\Animations\Female・・・女性専用アニメーション
Data\Meshes\Actors\Character\Animations\Male・・・男性専用アニメーション
Data\Meshes\Actors\Character\Animations\Horse_rider・・・騎乗時(?)馬使ってないんでちょっと不明。
バニラだと戦闘アニメーションは男女共用っぽいです。(Animations直下に入ってる)
こんな感じで大量に入ってます。いくつか例を。(もしかしたら間違いあるかもです)
1hm_xxx.hkx・・・片手武器
2hm_xxx.hkx・・・両手剣
2hw_xxx.hkx・・・両手斧、両手棍
Bow_xxx.hkx・・・弓
Bowdrawn_xxx.hkx・・・弓(矢つがえてない)
h2h_xxx.hkx・・・素手
男女別のフォルダは、待機状態とか移動とかのアニメーションが入ってます。
逆に言いますと、男は男で全世界同じアニメーション、女は女でまた全世界同じということになります。
※PCEAを導入すると多少融通利きます。主にプレイヤーキャラのアニメーションだけ独立させたい目的で使います。実はこのMOD、プレイヤー種族だけに別のアニメーションを割り当てるMODでは無いです。バニラ種族全部”だけ”に別のアニメーションを割り振ります。詳細は別記事で。
アニメーションファイルの変更
単純に置き換えるだけならば、.hkxファイルをそのままbsaかルーズで置き換えればOKです。esp変更を伴わない、メッシュやテクスチャの変更と同じですね(勿論bsaで作る場合はesp必要になりますが)。ただし女性用と男性用を間違えると、色々と不具合となる場合がありますので、ご注意ください。
上記は女性用アニメーションを、間違えて男性用フォルダに入れてしまった場合の不具合事例です。システム的にCTDを引き起こす訳ではありませんが、プレイヤー的に厳しいものがあります。
アニメーションの新規追加
新しい装備を追加する場合は、espに新しいForm IDの装備を追加することで対応しました。過去記事でのSteelArmorの例です。
アニメーションでも、新しいものを作りたければ、同様に新しいForm IDのアニメーションを作ればいいんじゃない?と思うのですが。
残念ながらできません。
設定を少し変更したり、入れ替えたりするくらいならまだ出来るのですが、新規アニメーションを登録するという作業が、esm、espのようなプラグインから制御できるものではないようです。(HAVOK使ってるからライセンス的にNGなのかも?)
個別のアニメーションファイルは、すでに説明しましたように
Data\Meshes\Actors\Character\Animations\
に入っています。それとは別に、上位のファイル(Behavior)があります。ちょっと中身に関しての理解が、自分怪しい、というか解っていないのですが。
アニメーションの状態遷移とか移動量とか?バラバラの個別のアニメーションを繋ぎ合わせて管理する為のファイルといった所でしょうか。多分ですけど。
Data\Meshes\Actors\Character\Characters
defaultmale.hkx
男性用アニメーションDefaultFile。アニメーション一覧やBehavior、rigの指定。
Data\Meshes\Actors\Character\Characters female
defaultfemale.hkx
女性用アニメーションDefaultFile。同上
Data\Meshes\Actors\Character\Behaviors
0_master.hkx
人間系キャラクターのアニメーションのBehaviorの親。
mt_behavior.hkx
0_master.hkxから分岐する子のBehaviorの1つ。他にも色々有り。
ちょっとはてなが多くてすみません。つまる所こういったesp上で制御できない部分が関わっているために、アニメーションの追加が出来ないのです。
詳しく見てみたい人は、hkxcmdでbehaviorをxml形式に変換すれば中身が見られます。
CondenseBehaviorを使って更に変換すると、より見やすいと思います。
よかったらこんなのもどうぞ。
そういう訳で、どれだけespでがんばっても、新規のアニメーション追加はできない訳です。ですが、
追加する方法があります。
Fores New Idles in Skyrim - FNIS というMODです。使ってる方多いと思います。
これはMODとはいっても、esmやespといったものではなく、ちょっと異質で別格かもしれません。FNISは、追加するアニメーションのリストを取得した上で、上記の0_master.hkx等の、本来さわれないはずだったファイルを、.exeの実行ファイルを走らせることで直接書き換えます。MOD単体の話になってしまうので、ここではあまり詳しく説明しませんが(出来ないとも言います!)、アニメーションの追加をしたい場合はこのMODが必須ということです。武器を振るモーションを入れ替えたい等、置換えであれば無くても大丈夫です。説明しました通り、複雑な構造のMODなので、軽く使うとトラブルの元になることもありますので、ご注意を。
すでに使ってる方はご存知かと思いますが、FNISユーザーがアニメーションの追加削除を行った場合、必ず「GenerateFNISforUsers.exe」を実行する、というのは、このファイルを更新するためです。これをやらないと整合性がとれず、いわゆる「案山子」になったりします。
FNISを使うと戦闘アニメーションも男女別に分けられます(バニラは分けられない・・筈です)
まとめ
- スケルトンを動かすものがアニメーションファイル
- アニメーションファイルは男女共用と別とがある
- 個別の.hkxファイルの上書きで変更できる
- 新規アニメーションの追加は出来ない(FNISが必要)
とりあえず最低限の基本事項を、長いシリーズでお届けしました。ここまでの基本を抑えておけば、以降の記事も特に不都合無く読めるかと思います。
何か思い出したら、シリーズで追加作るかもしれません。
思い出しましたので追加しました。