Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

【SkyrimSE】EVG Animated Traversalのレバーアクション対策実験



スポンサーリンク

レバーアクション

めっちゃ久々に再構築を始めました。実質7年くらいやってなかったので、別ゲーになってて驚きですw。

またぼちぼち楽しむこととします。

さてタイトルの件、EVG Animated Traversal。アクティベータを設置した場所で、飛び越えやよじ登り、はしご動作(もあるんでしたっけ?まだ見れてないけど・・)等のアクションをしてくれる、イマーシブ捗る良MODです。

なのですが、少々トラブりましたので、解決対策案をメモっておきます。

抜刀状態でのレバーアクション発生

最初のSS、ちょっとわかりづらいんですが、EVGATのアクティベータから壁をよじ登ろうとしています。真ん中は正常動作してますが、右のはレバーを引くアニメーションが発生してます。Descriptionのトラブルシューティングは確認済で、アイドル状態では正常動作します。

発生条件が、武器を構えている時(抜刀状態、unsheath)のみ

1年前にバグレポ上がってるようですが、再現性が低いのか、あまり話題になってないですかね。何かレアな条件があるのかも。

という訳で、自分で調べることに。

 

Open Animation Replacerの動作確認

OARの機能で、ゲーム内で実行されたアニメーションのログを見れるので、それを使いました。動的にアニメーションのスワップができる上、リアルタイムで確認もできるとは、ほんとすごい進化ですね。ビックリ仰天。

 

正常時のアニメーション動作

赤枠内。選択されたレバーアクションを、OARがよじ登りアニメーションに置換してます。[Replaced]の表示が出てますね。正常によじ登ってます。

前後で置換してるのは、待機アニメーションのランダム再生。

リプレイス成功時

ちなみにSCARが入っていると、コンボアニメーションを続々置換する為だと思いますが、ダミーのアニメーションログですぐに画面が埋まってしまいますので注意。

 

レバーアクション時のアニメーション動作

さて、問題の方。[Replaced]が付いておりません。OARが置換しなかったようです。そりゃレバーアクションが再生されますわな('_')

リプレイス失敗

ここで考えることは、「OARのせいかよ!?」ではなくて、「どうして正常に置換されなかったのか!?」ってことです。

そう、まず疑うべきは、アニメーションを置換するトリガ条件から!

 

EVGATアニメーションへの置換条件

置換成功時のログから、Replace先のアニメーションは「6005100」フォルダに置かれていることがわかります。Dynamic Animation Replacerのフォーマットですね、OARは上位互換とのことで問題無し。

 

アニメーションの置換トリガ

置換条件を記述したtextファイル(_conditions.txt) も格納されてる筈なので、それをあさります。以下引用。

 

HasMagicEffect("EVGAnimatedTraversal.esl"|0x000088D)

 

よじ登り、はしご、飛び越え等の各アニメーションの識別子として、EVGATがエフェクトを付けてると思われます。このエフェクトが付いている時は置換して、エフェクトが無ければ置換しない(レバーアクションになる)ということに。

 

EVGATエフェクトの付与状態

正常動作時の様子です。ちゃんと付与されてますね。eslなので上位5桁がロードオーダーな為、88Dで合ってます。

正常時のエフェクト


レバーアクション時です。0x88dのエフェクトが付与されていません。エフェクト数が1つ少ないので一目瞭然。そのせいでSOSエフェクトが見えてしまった

レバーアクション時のエフェクト

置換トリガが無い以上、OARは動いてくれない為、レバーアクションになるのは必然。とはいえあまり騒がれた様子も無いので、何か微妙な発生条件がありそうです。

そこで、「このエフェクトがどうやって付与されてるのか?」を見ていくことに。

 

EVGATエフェクトの付与方法

これはSSEEditで見れば一目瞭然で、アクティベータにスクリプトが括られてます。触ったら赤枠内のSpellが発動して、プレイヤキャラにエフェクトが付与されるのでしょう。

アクティベータ

納刀or抜刀時の如何は無関係なので(powerofthree's Tweaksが無いと戦闘中にアクティベートはできないですけども)、ここ自体は問題なさそうです。

 

赤枠内のスペルを見ていきます。注目すべきは「Duration」。エフェクトの効果時間ですね。これが今回のトラブルの根っこであります(あくまで僕の環境での話!)。

Spellのインジェクション

 

EVGATエフェクトの時間遷移

効果時間を念頭に、もう一度状態を確認します。

 

正常なEVGAT動作時

正常動作時です。これからジャンプして手をひっかけて、よじ登り開始するところ。この時点でDurationの残り時間は約1.7

正常な動作開始時

 

上りきる前に効果時間終了となり、エフェクトが無くなりました。とはいえOARでの置換が済んだ後ですから、もうどこで切れても問題無しです。

上り終わり

 

レバーアクション発生時

さて、問題の抜刀時なのですが・・・1つ重要ポイント。

 

アクティベータを触った後に納刀アニメーションが発生します。

 

そして納刀が済んでからレバーアクションをOARが置換する訳なのですが、エフェクトはアクティベータを触った時点で付与されてる為、納刀アニメーション中もDurationのカウントダウンが発生します

その結果、納刀完了直前で残り時間が0.09しかありません

sheth動作で時間切れ

つまり僕の環境での流れは、

  1. 抜刀状態でEVGATアクティベータを触る(エフェクト付与、カウントダウン開始)
  2. 納刀アニメーション発生
  3. EVGATエフェクト時間切れ
  4. EVGATアニメーション再生開始
  5. 置換条件のエフェクトが無い為、OARがアニメーションの置換をしない
  6. 置換無しでレバーアクションが発生

という流れだと思われます。

 

抜刀時でもレバーアクションを起こさない対策案

エフェクトの時間切れが問題なので、Durationを伸ばしてみることに。

Durationの延長

 

結果、抜刀状態からの正常動作を確認!ちゃんと上ってくれました。

構え状態でもレバー動作無し

 

対策による『お釣り』の可能性

そもそもDurationが2であることが問題なのか?というと、推測ですが(実験してないので)、多分大方の環境では問題無いのではないかと思います。

僕の環境だと、結構ギリで間に合ってない感なんですよね。なので大方の環境はギリで間に合ってるのかも?

そうでなければ1年前のバグレポが放置されてるとも思えない(この記事書いてる50日前くらいにアップデートされてる)ですし、もっとバグレポ自体が多そうな気が(Nexusのポストもそんな読んではいないですが・・)。納刀アニメーションの再生時間も影響しそうですかね。

 

Durationを伸ばすことの副作用として、逆に今度は納刀状態での問題が考えられます。Duration3で、納刀時に上り切った所での状態です。まだそこそこ効果時間が残ってます。

Duration長すぎ問題

これ、この状態で即座に次のアクティベータに触ったら、おかしな置換になることは明白ですね。なので、理想はやはり、再生終了前にエフェクト効果が切れることだと思うのです。このDurationは多分intしか使えないのが難点ですかね。小数使えればよかったのですが・・。

一応これで僕の環境は対策としましたが。

そもそもMODの構造からして、レバーアクションのバグ報告が上がった時点で(トラブルシューティングに書いてある物も含めて)、作者さんはこのDurationを気にしたと思いますが、現時点でもEVGATアクティベータは大体2っぽいので、多分2大半の環境は2で動いてるんだと思います。

 

おまけ雑記

まさかこれだけ年月が経って、Skyrimが廃れるどころかますます進化してるとは、正直思いませんでした。侮りすぎていましたぬ。

特にHDTであれがナチュラルにばるんばるんすぎて凄いですね!(頭より大きくしても大丈V!)

AEからちんちくりんコンバートしてこようと思ってたんですが、中止して新規でばるんばるん姉さん作りましたです。

ばるんばるん姉さん

戦闘面も凄いですね、コンボにローリングとびっくり仰天。メロン2つ持ってどうやってローリングしてんだろう

なんかダクソ2くらいの所まではいけんじゃないか?みたいな。まああんまり他ゲーと比較するのもナンセンスだとは思いますが。

という訳で、またちょいちょい遊ぶかも・・・しれませぬ。

以上、おしまいです!