# Level Sequence の「時間拡張(Time Dilation)」の機能について 

**URL:** <https://forums.unrealengine.com/t/level-sequence-time-dilation/2851850>\
**Category:** 日本語 (Japanese)\
**Tags:** unreal-engine, Epic-Pro-Support, question\
**Created:** [October 5, 2026, 4:39am UTC](https://forums.unrealengine.com/t/level-sequence-time-dilation/2851850 "2026-10-05T04:39:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [October 5, 2026, 4:39am UTC](https://forums.unrealengine.com/t/level-sequence-time-dilation/2851850/1 "2026-10-05T04:39:08Z")

</div>

こちらの時間拡張のトラックの動作について、いくつか質問させて下さい

質問1

Level Sequence の「時間拡張(Time Dilation)」トラックで設定されている値を、シーケンス再生中に取得するための公式な API はありますか。

これにより、下記のことを実現したいです。

- 現在評価されている Time Dilation 値を取得する
- シーケンス上のスロー倍率を **Set Global Time Dilationに設定した ゲームの全体をスローにしたい**

\<br/\>

質問2

`Get Global Time Dilation` が、シーケンス上の Time Dilation と同じ値を返すような設定方法は存在しますか。

現在の理解では、

- Sequence の「時間拡張(Time Dilation)」
- `UGameplayStatics::GetGlobalTimeDilation()`

は別の仕組みとして動作しているように見えます。

もし Sequence の時間拡張を World の Global Time Dilation に反映させる正しい方法や、推奨されるシーケンサーデータの実装方法があれば教えてください。

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![anonymous-edc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous-edc](https://forums.unrealengine.com/u/anonymous-edc)\
**Post date:** [October 5, 2026, 4:39am UTC](https://forums.unrealengine.com/t/level-sequence-time-dilation/2851850/2 "2026-10-05T04:39:12Z")

</div>

**再現手順**  
Level Sequence に「時間拡張(Time Dilation)」トラックを追加し、再生中にスロー演出を設定しています。

シーケンス再生中に現在適用されているスロー倍率を取得するため、Blueprint および C++ から `Get Global Time Dilation` を確認しました。

しかし、シーケンス上で時間拡張が適用されているにもかかわらず、`Get Global Time Dilation` の戻り値は常に `1.0` となり、シーケンスで設定したスロー倍率を取得できませんでした。

[Image Removed]

[Attachment Removed]

---

<div class="post-metadata">

**Author:** ![AxelR-EpicGames](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@AxelR-EpicGames](https://forums.unrealengine.com/u/AxelR-EpicGames)\
**Post date:** [October 8, 2026, 5:10am UTC](https://forums.unrealengine.com/t/level-sequence-time-dilation/2851850/3 "2026-10-08T05:10:27Z")

</div>

ご質問ありがとうございます。

結論から言うと、Sequencerの時間拡張トラックとGet Global Time DilationはAWorldSettingsの別々のプロパティを使っているため、Get Global Time Dilationからトラックの値は取れません。時間拡張トラックはAWorldSettings::CinematicTimeDilationに値を書き、Get Global Time DilationはAWorldSettings::TimeDilationだけを返します。ワールドのTickで実際に使われるのは、この2つを掛けたGetEffectiveTimeDilation()の値です。

つまりトラックの値はすでにゲーム全体に効いています。Set Global Time Dilationに入れ直す必要はなく、両方に入れるとスローが二重にかかります。

質問1について。C++ではGetWorld()-\>GetWorldSettings()-\>CinematicTimeDilation（Sequencerの値だけ）かGetEffectiveTimeDilation()（全部掛けた値）で取れます。どちらもBlueprintからは呼べないので、Blueprintで使う場合はGetEffectiveTimeDilation()を返すBlueprintPure関数を一つ作ってください。

質問2について。そのような設定はありません。ゲームプレイ用のTimeDilationとSequencer用のCinematicTimeDilationはわざと分けてあり、WorldSettings.hのコメントでもTimeDilationを直接読まずにGetEffectiveTimeDilation()を使うように書かれています。ゲーム側で時間倍率を見ている箇所をGetEffectiveTimeDilation()に変えるのが一番確実です。どうしてもGet Global Time Dilationに値を入れたい場合は、時間拡張トラックをやめてActorのfloat変数（Expose to Cinematicsをオン）をSequencerで動かし、そのActorのTickでSet Global Time Dilationを呼ぶ方法もあります。

お手数ですが、よろしくお願いします。

[Attachment Removed]
