お世話になっております。
<br/>
シーケンサーエディタのアウトライナーでフォルダをピン止めすると、アウトライナーのビューが上下に分割されますが、ピン止めされたフォルダを展開したりすると分割された境界の位置が変動してしまって使いづらいです。
<br/>
ピン止めされたフォルダの数や展開状態に依存せず、ビューの高さを固定したいのですが、どのようにすればよいでしょうか?
可能であれば、ユーザーが高さを調整できるようにしたいです。
<br/>
以上、よろしくお願いいたします。
[Attachment Removed]
ご質問ありがとうございます。
ご要件の「ピン止めされた領域の高さを固定する」ことは現在のUEの標準実装では実現できないため、エディタ側のコードの改造が必要となります。基本的には、SSequencer::GetPinnedAreaMaxHeight()で指定の値を返すようにすれば高さは固定されます。ただし、SSequencerはNiagaraなどほかのシステムでも使用され、そちらにも影響が出てしまいます。
ユーザーが高さを調整できるようにしたい、というお話もありますので、エディタ設定に項目を出し、0以上の値が入っている場合だけ戻り値をオーバーライドするように組むのが一つの方法ではないかと思います。以下、最小の改造量での実装をご案内します。
Engine\Source\Editor\Sequencer\Public\SequencerSettings.h
public:
+ float GetPinnedAreaHeight() const { return PinnedAreaHeight; }
protected:
+ UPROPERTY(config, EditAnywhere, Category = Timeline, meta = (ClampMin = "0.0"))
+ float PinnedAreaHeight = 0.0f;
Engine\Source\Editor\Sequencer\Private\SSequencer.cpp L3384
float SSequencer::GetPinnedAreaMaxHeight() const
{
if (!MainSequencerArea.IsValid())
{
return 0.0f;
}
+ if (const USequencerSettings* Settings = GetSequencerSettings())
+ {
+ const float FixedHeight = Settings->GetPinnedAreaHeight();
+ if (FixedHeight > 0.0f)
+ {
+ return FixedHeight;
+ }
+ }
// Allow the pinned area to use up to 2/3rds of the sequencer area
return MainSequencerArea->GetCachedGeometry().GetLocalSize().Y * 0.666f;
}
ピン領域の境界線をドラッグして上下に動かせれば理想と思いますが、かなりの改造量になるため、一旦は上記の小改造でご要件を満たせないかご確認いただけますと幸いです。
以上、よろしくお願いいたします。
[Attachment Removed]
ご回答ありがとうございます。
ご教示いただいた変更を適用しまして、この挙動で問題ないことを確認いたしました。
こちらクローズしていただいて問題ございません。
迅速なご対応ありがとうございました。
[Attachment Removed]
回答のご確認をありがとうございます。
それでは本件は解決済みとしてCloseさせていただきます。
以上、よろしくお願いいたします。
[Attachment Removed]