お世話になっております。
<br/>
UE5.8でウィジェットアニメーションのデフォルトフレームレートを設定できるDefaultWidgetAnimationFrameRateが追加されましたが、
UWidgetAnimation::GetNullAnimation()にも同様の処理があり、そちらの変更が漏れているようです。(もともと20というマジックナンバーで設定されていた為、対応漏れと思われます)
<br/>
こちらの関数はアニメーションの非選択状態での表示となる為、実際の処理には影響無い状態ではあります。
[Attachment Removed]
再現手順
1.[プロジェクト設定]-[エディタ]-[ウィジェットデザイナー(チーム)]-[デフォルトウィジェットアニメーションフレームレート]を変更
2.ユーザーウィジェットアセットを作成
3.アニメーションタブを表示する
4.表示が「20fps」となっている事を確認(1で変更した数値ではない)
[Attachment Removed]
処理を確認したところ"UMGEditorProjectSettings.h"がUMGEditorモジュールに存在していますが、UWidgetAnimationはUMGモジュールとなっており、UMGモジュールからUMGEditorモジュールが参照できない(循環参照となってしまう)ので、現状の構成or処理では対応が難しいようにも思えます。
[Attachment Removed]
お世話になっております。
ご指摘ありがとうございます。確かに実装漏れと思われます。
対処法としましては、WidgetBlueprintEditor側でUMGモジュール側のNullAnimationをつかみ、SetPlaybackRange()などを呼び出しているコードがありますので、同様にしてSetDisplayRate()で設定値を注入するという方法が考えられます。以下に暫定パッチを準備いたしました。
Engine\Source\Editor\UMGEditor\Private\WidgetBlueprintEditor.cpp
// include群にこれを追加
#include "UMGEditorProjectSettings.h"
// L1654付近
FSequencerInitParams SequencerInitParams;
{
UWidgetAnimation* NullAnimation = UWidgetAnimation::GetNullAnimation();
+ const UUMGEditorProjectSettings* UMGEditorSettings = GetDefault<UUMGEditorProjectSettings>();
+ NullAnimation->MovieScene->SetDisplayRate(FFrameRate(UMGEditorSettings->DefaultWidgetAnimationFrameRate, 1));
本件は準備ができ次第、社内のバグトラッカーに報告を行います。
以上、よろしくお願いいたします。
[Attachment Removed]