更新履歴
- 2021/11/23
- MCMに対応しました。
- アイドルを固定する機能をつけました。
- 2021/2/10
- 盾を外す機能を追加しました。
インストール
お使いのMod Managerにて普通にインストールするだけです。
Dynamic Animation Replacerと待機モーションが別途必要です。
待機モーションの追加
モーションの切り替えはDynamic Animation Replacerを利用します。
待機モーションを別途用意します。
グローバル変数imIdleCounter(Form ID = 801)が「0より小さい場合」を加えてカスタム条件を作成します。
DARの条件例
例としてSexy Random Idles (simple and dynamic)を使う場合で説明します。
DARのカスタム条件として3301から3320まで用意されています。
それぞれの_conditions.txtを開き、以下のようになっているところを
IsActorBase("Skyrim.esm" | 0x000007) AND Random(0.5)
ValueLessThan関数を追加します。
IsActorBase("Skyrim.esm" | 0x000007) AND ValueLessThan("IdleManager.esp" | 0x00000801, 0) AND Random(0.5)
切り替わりを自然にする
モーションの切り替わりにIdleLookFarモーションを再生します。
以下のようなカスタム条件を作成することで、動きが自然になります。
meshes\actors\character\animations\DynamicAnimationReplacer\_CustomConditions\101
- _conditions.txt
- idlelookfar.hkx
101の部分は都合に合わせて変更します。
idlelookfar.hkxは、現在使用しているデフォルトのmt_idle.hkxをコピーして用意します。
_conditions.txtは以下のようにします。
IsActorBase("Skyrim.esm" | 0x00000007) AND ValueLessThan("IdleManager.esp" | 0x00000801, 0)
待機時間や間隔を変更する
以下のグローバル変数にて定義されています。
変数名 | 役割 |
---|---|
imIdleTime | プレイヤーが移動を停止してから最初のモーション変更までの秒数 |
imIdleInterval | 2回目以降のモーション変更までの間隔 |
imIdleCounter | 移動中と停止直後は0になります。 停止してからimIdleTimeが経過すると-1になります。 さらにimIdleIntervalが経過すると-2になります。 以降はimIdleIntervalが経過するごとに1ずつ下がっていきます。 |
imUnequipShield | 0で盾を外しません。0以外で盾を外します。 |
_conditions.txtを工夫することで、停止してある程度の時間が経ってからのみ行うモーションを用意することもできます。
アイドルを固定で指定する
MCMで固定にするよう設定すると、グローバル変数imIdleNumber(Form ID = 808)に番号が設定されます。
DARのカスタム条件を以下のように作成するとアイドルアニメーションを指定できます。例として3301を設定しています。
IsActorBase("Skyrim.esm" | 0x000007) AND ValueEqualTo("IdleManager.esp" | 0x00000808, 3301)
使い方としては、たくさんあるアイドルアニメーションをゲーム内で順に確認したりできます。
注意事項
モーションが切り替わるのに1秒かかりますが、このときは動けません。
mt_idleからmt_idleへの移行はできないようなので、別の支障なさそうなモーション(idleLookFar)を経由して切り替えているのですが、idleLookFarの再生中は移動できないためです。