Timelineノードの長さを動的に調整したい

現在夏休み特別UE4授業の一日目を拝見させてきただき勉強中です。
その中で、簡単な昇降エレベーターをBluePrintで作る内容を拝見させていただき、改造を試みているのですが、
わからないことがあり、質問させて頂きます。

授業ではTimelineノードを作り昇降のための高さをタイムラインエディッタで作成しておりました。
ただ時間部分については2秒固定のままでした。

高さを大きな値にすると時間が2秒固定のままなので速い速度で移動してしまいます。
高さ同様移動時間も変数化して詳細画面からいじれるようにしたいのですが、どうすればいいでしょうか。

簡単に思いついた手としてset Timeline Lengthを呼び出して値を修正してみたのですが、移動しない時間が増えただけでした。

1 Like

タイムラインノードですが、動的に長さを変更する事はできません。

タイムラインの編集はブループリントエディターからタイムラインノードを選択して直接長さを編集する必要があります。

時間は固定ですが、タイムラインエディターはエディターから"プレイ"中であれば値は変化させる事ができます。ゲームをプレイしながらタイムラインを眺め、速いと思ったらエディターから直接編集して調整してみてください。

タイムラインの長さではなく、再生速度を変化させることによって、エレベーターの周期を調整することが可能です。

これには Set Play Rate というノードを用います。

具体的な手順を以下に示します。[夏休み特別UE4授業 Day 1 「UE4基礎」][1]でエレベーターを作成した後に、Cube_Blueprint のブループリントエディタにて実行してください。

  1. 『エレベーターの周期』という名前の float 変数を作成する。
    編集可能 (目玉マークをオン) にし、カテゴリを Elevator に、デフォルト値を 1.0 にする。
  2. 『タイムライン_0』を開き、周期を 1 秒にする
    (長さを 1.0 にし、0.5 秒で値が 1.0、1.0 秒で値が 0.0 になるよう設定する)。
  3. 以下の画像のように、Set Play Rate ノードや、それに繋がるノードを配置する。
    Target に接続されている『タイムライン_0』は、変数と同じようにマイブループリントタブからドラッグ&ドロップでゲットする。
    New Rate に接続されている割り算ノードは “/” (スラッシュ) もしくは “divide” で検索可能。

これで、エレベーターの周期を、アクタの詳細タブから設定できるようになります。例えば、変数『エレベーターの周期』の値を 5.0 に設定すれば、往復に 5 秒かかるようになります。

1 Like

ありがとうございました。まさに求めていた回答でした。