Actorの移動速度はActorValueのSpeedMultで設定できます。
SpeedMultに関する情報
- 基本は100みたいです
- 0に近づくほど遅くなり、1だとほぼ動けません
- 0にしてしまうと逆に効かなくなるみたいです(100と同じみたい)
- マイナスにすると、マイナスが大きい程、逆に速くなっていきます(-10だと遅く、-800だと超高速移動します)
- SpeedMultを変更するだけでは反映されません
最後のところが問題です。メニューを開いて閉じたり、抜刀・納刀したりすると反映されます。
Bug Fixes SSEを導入するとSpeedMultの変更が即座に反映されるようになります。
SpeedMultを反映する方法
Bug Fixes SSEが公開される前の情報になります。
バニラの氷系魔法にはスロウの効果があって移動速度が低下しますが、SpeedMultにダメージを与えることで実現しているようです。こちらは即座に反映されるのですが、CKを覗いてもその方法がわからず、長らく謎でした。
答えは、ActorValueのCarryWeightを変更するとSpeedMultも反映されます。なので、こんな感じにCarryWeightをわずかに上げてすぐ下げます。
737 (papyrus)
PlayerRef.DamageActorValue("SpeedMulti", 99)
PlayerRef.ModActorValue("CarryWeight", 0.01)
PlayerRef.ModActorValue("CarryWeight", -0.01)
アニメーションの再生中にこれをやると、アニメーション再生後の挙動がおかしくなるみたいです。足止めさせるのなら簡単で、SetDontMoveで一度固定させると確実に止まります。移動速度低下は難しいかもしれません。GetMassでアニメーション再生が終わるのを待った方がいいかもしれません。