モーションに関して
ここの所、モーションの分析にかかりっきりでメモ兼ねてまとめ。
なぜ追加モーション(notポーズ)のMODがでないのかというのがわかるかも。

モーションのファイルは.hkxファイルです。
これをblenderで扱える.kfに変えて編集します。
http://skup.dip.jp/up/up00731.zip
これの解説に従って行えば簡単に編集できるようになります。
モーションキャプチャなしで自然なモーションを作るのはかなり難しいですが。

これ単体で作っても動きません。ポーズはともかく動くモーションなら移動距離に関するデータがありませんし、攻撃なら当たり判定などの設定もしなくてはいけません。

同じ.hkxファイルですがそのモーションを制御するBehaviorファイルというのがあります。
Behaviorの仕事は主にモーション間のブレンドです。
Joshs Skyrim Behavior File Patcherでxml変換します。Behaviorファイルビューワーとしては見やすいんですが、編集が不完全で完全に表示できない部分があるので、通常のエディタで編集します。

で、肝心の中身なんですがNestID, EventID, Eliment, Signature, flag, triggerなどの要素でファイル間をまたいでたらい回しにするので非常にわかりにくいです。
Behaviorモーションのカットや再生速度の変更はあるんですが、そのモーションがどれだけの距離動くのかなどのデータがありません。

適当に探していたら、Animation.bsaに以下のファイルがあって、ここにモーションの移動に関するデータがありました。
Data\Meshes\animationdata\boundanims\anims_defaultmale.txt
; は筆者コメント


575 ; :DodgeLeftのEventID(defaultmale(or female).hkxのID)
0.9 ;モーションの再生時間
5 ;以下の時間区切りの総数
0.2 -30.3637 0 0 ;時間、 x, y, z軸の移動距離。0.2秒で約-.30x軸に動くということ。
0.3 -49.2962 0 0 ;上に同じ
0.433333 -61.9517 0 0
0.8 -115.446 0 0
0.9 -125.462 0 0
1 ;トリガーの数.ここでのトリガーはモーション終了時に再生されるモーション(Dodgeの場合はsprintstop)
0.9 0 0 0 1 ;トリガーのプロパティ


これと似たようなのでbehaivorの制御を記述したファイルが以下。
Data\Meshes\animationdata\defaultmale.txt

575 ;Event ID (DodgeLeft)
1 ; PlayBackspeed
0 ; enforceDuration?
0 ; userControlledTimeFraction?
1 ; トリガー数.
SprintStop:0.9 トリガーのプロパティ



DodgeRightは時間が0.666…DodgeBackとLeftだと0.9
最終的な移動距離が左は125、右と後ろが200ちょい。
左と後ろはモーションの体のひねりを考慮してか初動の距離が短くて遅いです。

見つけたのはいいんですが、この数値をいじったとしてもCKやゲーム上では全く変化しません。


よくわからないので追加モーション(ポーズ)を実現するFNISの作者のfore氏に聞いてみました。
アップデート時にこのファイルも更新されてることから、このファイルごとHavokのツールで読み込んでからCKかTESV.exeに数値をハードコーディングしているのではないかとのこと。

私もほぼ同意見ですが、パークポイントのように隠れデータ(通常PapyrusやCKではいじれない)として.txtのような移動量に関するデータを保持しているのかと思います。
メモリからダイレクトアクセスして直接書き換えるしかないかなーという感じです。
SKSEのソースにそれっぽいのがあるので色々試してる途中です。
私には難しすぎてクラクラしてきますがw

追加移動モーションの場合は
モーションを作り→Behaviorファイルで他のモーションとのブレンドを作り(鬼門)→外部のスクリプトで移動量にかんするデータを直接書き加え(未踏の地)→モーションとキーのスクリプトを組む

攻撃モーションの場合だとこれにヒットに関するのデータをBehaviorで作ってCKでは編集不可な攻撃に関する設定を行う必要があります。どちらの作業を誰も突破できずな状況です。


(2015/03/18追記)
Data\Meshes\animationdatasinglefile.txt
の方を弄ることで既存のモーションの移動量は変更できることが分かりました。
カスタムで作った新規モーションでもできるかはこれから検証が必要です。





関連記事
コメントの投稿


Does not accept comments that are all written in English on this blog for blocking a spam. If you have any questions, send a e-mail: tktk11111[at]gmail.com

コメント

名無しさん by 2017.10.02 14:152017.10.03 18:04

これからトライしてみます。
ちなみに装備は

BB's Hair Physics Project
http://skyrim.2game.info/detail.php?id=57538

これです。


tktk2017.10.03 17:02

https://github.com/niftools/pyffi/releases 2.2.3のSource Code(zip)をダウンロードして展開します。

Blenderのバージョンが2.78だとすると(2.79でも問題ないはず)
blender-2.78-windows64\2.78\pythonフォルダに
pyffi-pyffi-2.2.3フォルダをコピーします。

Skyrim nif-data anim utilsをダウンロードして、展開し、フォルダ名をio_nifdataにリネームします。

blender-2.78-windows64\2.78\scripts\addons
にio_nifdataフォルダを入れます。

Blender開いて、File→User Prefrences→左上の検索欄にnifと入力。Skyrim nif-format Data Utilsが出るので、チェック入れて、Save User Settingsを押してウィンドウを閉じます。

使い方はhttp://www.loverslab.com/topic/73144-skyrim-nif-data-anim-utils/page-3#entry1895109に書いてあります。


名無しさん by 2017.10.02 14:152017.10.03 12:46

すみません。

Skyrim nif-data anim utils
のインストールの仕方を教えてください。


名無しさん by 2017.10.02 14:152017.10.02 19:15

ありがとうございます。


tktk2017.10.02 17:53

>名無しさん
・hkx poserがアニメーション対応しているので要件とあってるかもしれないです。
https://www.nexusmods.com/skyrim/mods/86254/

・Blender 2.78以上なら
hkxから直接importできるのはこれで
https://github.com/opparco/io_anim_hkx/releases

インポートとエクスポートができるのがこれです。
Skyrim nif-data anim utils
http://www.loverslab.com/files/file/3707-skyrim-nif-data-anim-utils/

・足りないファイルはここにリンク揃ってます。
https://github.com/niftools/blender_nif_plugin/releases
Blender 2.49b→Python 2.6.6→PyFFI 2.1.11→Blender NIF Scripts 2.5.9→nifskopeは1.2でも2.0でも



名無しさん2017.10.02 14:15

http://skup.dip.jp/up/up00731.zip
これの解説に従って行えば簡単に編集できるようになります。

との事なのですが、
いくつかファイルがダウンロード出来ずに
編集できません。

変わりにhkxをblenderで編集可能なものはありますか?

既存MODの装備ボーンデータを個人利用のために
編集したいのです。(改造したnifですとボーンの位置が合わずにめり込んでしまうので編集したい)


名無しさん2014.04.16 21:55

なるほど、ご回答ありがとうございます
CKで調べてみようと思います


tktk2014.04.15 20:25

>名無しさん
私よりYuklさんに聞いたほうがよさそうですが、置き換えの場合はbehaviorファイルは要りません。
置き換えでなくてanimationsフォルダにhkxファイルを置いてみてCreationKitのActorのPreviewで動くか確認してみてください。
置き換えでなくて動く場合は、確かフレーム数が置き換え元と完全一致しないとちゃんと動かないはずです。


名無しさん2014.04.15 16:37

Skyrimのモーションのことを調べていてここにたどり着いたのですが、質問いいでしょうか?
既存の武器攻撃や武器を抜く・しまうといったモーションを自作して置き換えたい場合、どのようにhkxファイルを作ったらいいでしょうか?
通常のhkxファイルをkfに変換してblender 2.49bで読み込み、モーションを作ってみたりしたのですがうまく動作せず、やはりbehaviorsファイルが必要なのでしょうか?


tktk2012.08.04 11:18

>膝に矢を受けた熊さん
Behaviorの中身みて分かる人か、SKSEのソース見て分かる人じゃないと厳しいですね。SKSEの解析チームかForeさんあたり突破してくれると期待してます。


膝に矢を受けた熊2012.08.04 00:53

それじゃモーション追加は現状ほとんど無理じゃないですかやだー