お世話になっております。
開始時間0.0秒に配置されたアニメーション通知ステートのTriggerTimeOffsetの値について質問です。
開始時間0.0秒にアニメーション通知ステートを配置する際、以下のどちらの操作で開始時間を0.0秒に設定したかによって、TriggerTimeOffsetの値が変わります。
- NotifyFrameかNotifyBeginTimeに直接0.0秒を指定する(またはアニメーション通知ステート全体をドラッグして0.0秒に設定する)
- アニメーション通知ステートの左端の境界をドラッグして開始位置を0.0秒まで伸ばす
前者の場合はTriggerTimeOffsetの値は0.0001、後者の場合はTriggerTimeOffsetの値は0.0になります。
TriggerTimeOffsetの値が0.0001だと、スロー再生などで再生レートを小さくした際に再生時間が0.0001まで進まず1フレームだけアニメーション通知ステートが実行されない、という問題が発生します。
これが致命的な問題となる具体例として、連続した複数のアニメーションシーケンス(例えばBegin、Loop、Endの3つに分かれている)の全体を範囲としたい同一アニメーション通知ステートをそれぞれのアニメーションシーケンスに配置した場合に、切れ目部分(BeginからLoopに遷移した瞬間、LoopからEndに遷移した瞬間)でスロー再生などで再生レートが小さくなると、1フレームだけ抜けが生じてしまいます。
厄介なことに同じ再生レートでもFPSが低い時は問題は起きず、FPSが高い時は問題が起きます。(DeltaTimeが0.0001を下回りやすくなるため)
この問題の解決策として、以下の質問で、アニメーション通知ステートがトリガーされる条件処理部分を変更する方法が提案されています。
[Content removed]
[Content removed]
しかし、アニメーション通知ステートがトリガーされる条件処理部分を変更するのはエンジン改造が必須なのと全体として影響が大きいため、開始時間0.0秒に配置されたアニメーション通知ステートのTriggerTimeOffsetを全て0.0にするツールを作ってこの問題を回避しようと考えています。
そこで質問ですが、開始時間0.0秒に配置されたアニメーション通知ステートのTriggerTimeOffsetの値を0.0にすることは問題ないでしょうか?
逆に0.0001になっていないと何か別の問題が起きたりすることは無いでしょうか?
(現状でも操作手順によって0.0か0.0001かが変わるので、0.0001じゃないと何か問題があるということはおそらく無いと思いますが念のため確認させていただきます)
よろしくお願いいたします。
[Attachment Removed]