ブループリントで埋め込んだシーケンサー アニメーションを使用する

Actor Sequence コンポーネントを使って Actor ブループリント内にシーケンスを埋め込む方法を説明します。

Choose your operating system:

Windows

macOS

Linux

これは現在、開発進行中の実験的な機能です。一部の機能は期待どおりに機能しなかったり、将来のリビジョンで変更される可能性があります。

シーケンス で作業をしたり、シーケンスを作成する場合、シーケンスの機能を他の場所やインスタンスで再利用したい状況があるかもしれません。 [Actor Sequence Plugin] [Actor Sequence Component] を使って、シーケンスを直接 Actor ブループリント に埋め込むことができます。 この機能により、アニメーションをブループリント インスタンスに結合して、自動的にトリガーするか、ブループリントの イベントグラフ でトリガーすることでシーケンスを再利用することができます。 また、Actor Sequence コンポーネントをワールドの任意のアクタに追加して、アクタの単一のインスタンスにアニメーションを追加することもできます。

この操作ガイドでは、埋め込みシーケンスを持つブループリントを作成し、時間経過に伴いスポットライトの色をアニメートし、変化させます。

EndResult.png

このブループリントはどのレベルでも配置、複製が可能であり、埋め込みシーケンスは呼び出されると自動的に再生します。

ステップ

ここでは Starter Content Enabled (スターター コンテンツを有効にした状態) Blueprint Third Person Template を使います。

  1. プロジェクトを開いた状態で [Edit (編集)] メニューから、 [Plugins (プラグイン)] を選択します。

    ActorSequence01.png

  2. [Plugins] メニューの [Built-in] で、 [Actor Sequence Editor] オプションを有効にし、プロンプトが表示されたらエディタを再起動します。

    ActorSequence02.png

    Actor Sequence Editor を有効にすると Experimental (実験的機能) の確認ダイアログ ウィンドウが表示されます。先に進むには、 Yes をクリックします。

  3. Actor タイプの新規 ブループリント を作成し、 Light_BP と名前を付けます。

    ActorSequence03.png

  4. Light_BP 内で、 [Add Component] をクリックし、 [Spot Light] を追加します。

    ActorSequence04.png

  5. Spot Light [Details (詳細)] パネルで Y [Rotation] 値を、 -60 に変更します。

    ActorSequence05.png

    これにより、ビューポート内でライトが回転し、若干下方向に傾きます。

  6. Static Mesh タイプの別の コンポーネント を追加します。次に [Details] パネルで、 [Location] -180 (X)、 -180 (Y)、 -100 (Z) に設定したメッシュを Floor_400x400 に設定します。

    ActorSequence06.png

    この Floor Mesh を使ってライトを照らし、シーケンサーによってパラメータの変更を操作するエフェクトを確認します。

  7. Actor Sequence タイプの別の コンポーネント を追加します。

    ActorSequence07.png

  8. [Actor Sequence] [Details] パネルで、 [Loop Indefinitely] [Random Start Time] 、および [Auto Play] を設定して [Open in Tab] をクリックします。

    ActorSequence08.png

    [Open in Tab] をクリックすると、 [Sequencer Editor] がブループリント内で開きます。

    SequencerWindow.png

    この例では、シーケンスを自動的にトリガーし再生しますが、 イベントグラフ から呼び出して再生することもできます。

  9. [Sequencer] タブで、 [Add] をクリックします。次に [Component] [SpotLight] を選択します。

    ActorSequence09.png

  10. SpotLight トラックで、 [Track] ボタンをクリックし、 [Transform] を選択します。

    ActorSequence10.png

  11. SpotLight トラックで再度 [Track] ボタンを押して、 [Light Color] トラックを追加します。

    ActorSequence11.png

  12. Transform トラックの Rotation で、 Z 値の + アイコンをクリックし、フレーム 0 に キー 0 を追加します。

    ActorSequence12.png

  13. 追加したキーを選択し、 4 キーを押して補間のタイプを Linear に変更します。

    ActorSequence13.png

    補間のタイプを変更するには、数字キーを使うか、該当するキーフレーム上で右クリックして、使用したい補間方法を選択します。

  14. -180.0 に設定されている Rotation Z 値に対して 2.00 にキーを追加し、そのキーの上で 4 を押して補間のタイプを Linear に変更します。

    ActorSequence14.png

  15. -360.0 に設定されている Rotation Z 値に対して 4.00 にキーを追加し、そのキーの上で 4 を押して補間のタイプを Linear に変更します。

    ActorSequence15.png

    赤色の エンド マーカー 4.00 に戻して開始した場所でシーケンスが終わるようにすることもできます。

  16. Light Color トラックの [+] ボタンをクリックして、フレーム 0 にキーを追加します。

    ActorSequence16.png

  17. 0.0 Red に対して 1.00 にキーを追加します。

    ActorSequence17.png

  18. 0.0 Green に対して 2.00 にキーを追加します。

    ActorSequence18.png

  19. 0.0 Blue に対して 3.00 にキーを追加します。 Red Green は両方とも 1.0 にキーを追加します。

    ActorSequence19.png

  20. 1.0 Blue に対して 4.00 にキーを追加します。

    ActorSequence20.png

    以上の操作により、ライトが白色から様々な色に変化してシーケンスの終わりに白色に戻ります。

  21. [Component] ウィンドウで、 StaticMesh フロアを選択して [Delete (削除)] します。

    ActorSequence21.png

    ライトがセットアップできたので、ビューポートでライトをプレビューするためにこのメッシュを使う必要がなくなりました。

  22. メイン レベル エディタ ビューポートで、このフロアを選択し、 Alt キーを押しながら、フロアのコピーを上方向にドラッグして、レベルを覆うルーフを作ります。

    ActorSequence22.png

  23. コンテンツ ブラウザ から、 Light_BP のインスタンスをドラッグしてレベルに配置します ( E キーを押して必要に応じて回転させることもできます)。

    ActorSequence23.png

  24. Build ドロップダウン メニューから、 Build Lighting Only を選択して、レベルでライティングを再ビルドします。

    ActorSequence24.png

  25. [Play (プレイ)] ボタンをクリックして、エディタで再生します。

最終結果

レベルで再生すると、配置したライトが回転し始め色が変化し、埋め込んだシーケンスを再生します。

Actor ブループリント内でシーケンスが埋め込まれているため、依存関係はなく、どのレベルでも問題なく再生したり、複製することができます。

この例では、シーケンスを Auto Play に設定しましたが、 イベントグラフ を使ってシーケンスをいつ再生するかをスクリプティングすることができます。

EventGraphPlayScript.png

上の図では、 Event BeginPlay で、アクタが Player Controller からの入力を受け取ります。 P キーを押すと、 Actor Sequence コンポーネント を取り込み、 Sequence Player を取得します。これにより、関数 Play を呼び出してシーケンスの再生を開始します。 レベルのロード時に Sequence Auto Play を持たないようにしたい場合は、Play 関数を呼び出すための任意の方法を使うことができます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる