もんしょの巣穴blog

[UE4] SequenceとDelayの関係

 ぷちコンのゲームを作っていてちょっとはまってしまった部分があるので、推察ではありますが解説と回避方法をご紹介します。

皆さん、Sequenceノードは使用していますか?
複数の処理を1つの連続した処理として実行してくれるノードです。
Blueprintは連続した処理をExecピンを繋げることで簡単に実行することが出来ますが、あまりに長い処理になってくると横方向にノードが伸びていって見難くなってしまいます。
文字列を改行するかのように折り返す方法では右から左への長いラインが出来てしまいますし、関数化やマクロ化は関連性の薄い処理をまとめるのに躊躇します。

そんな時に使いやすいのがSequenceノードです。
例えばこんな処理を考えてみます。

ue299.jpg

"Hello" "World"と2行に文字列を表示するだけです。
これをSequenceノードを使って実装するとこうなります。

ue300.jpg

結果は変わらず、2行に表示されます。
つまり、この2つの処理は等価ということになります。正確ではありませんが、少なくとも結果は等価です。

では、ここでちょっと改造してこういう状態にしてみます。

ue301.jpg

2秒のDelayを間に挟んでみました。
Delayは次の処理までの時間を遅らせるノードですので、"Hello"と表示された2秒後に"World"と表示されます。
これをSequenceノードで実装してみます。

ue302.jpg

この結果は上と同じ…になるかと思いきや、そんなことはありません。
結果は"Hello"の後にすぐに"World"が表示されます。Delayノードの2秒は完全に無視されてしまいます。

この結果から、Execピンを連続して繋ぐ処理とSequenceノードを使う処理が等価ではないことがわかると思いますが、もう少し動作を確認するために以下の2つの処理を試してみましょう。

ue303.jpg 

ue304.jpg 
最初の実装では"Hello"と表示された2秒後に"My", "World"と連続して表示されます。
次のSequenceを使った実装では"Hello", "World"と連続して表示された2秒後に"My"と表示されます。
Sequenceと言っておきながら、まるで並列に動作しているかのような印象を受けますが、これこそがSequenceノードの動作なのです。

では、続きからなぜそうなるのかの考察と、LoopにおけるDelayの問題点を考えていこうと思います。


[[UE4] SequenceとDelayの関係]の続きを読む
スポンサーサイト
  1. 2015/04/20(月) 00:17:46|
  2. UE4
  3. | トラックバック:0
  4. | コメント:0

[UE4] UMGのアニメーションと動的な配置

 ぷちコンのゲーム製作中にはまったのでさくっと記事にしてみます。
今回はUMGでアニメーションするウィジェットを動的に配置する方法を紹介します。

UMGはメニュー画面やHUDなどを簡単に作成することが出来る便利機能です。
アニメーションも比較的簡単に実装できますし、値の変更などもBlueprintを使って簡単に行えます。
しかし、例えばスクロールするアイテムウィンドウなどを考えると、動的にテキストを配置する機能などが欲しくなります。
もちろん、これにも対応しているのですが、パッと見でどうすればいいのかわかりにくいです。
しかもそいつがアニメーションするとなるとウィジェットとして作成したくなります。
というわけで、今回の記事ではその実装方法を紹介します。

まず、コンテンツブラウザでメインとなるウィジェットを作成します。
Widgetブループリントを選択し、"Widget_Main"と名前をつけましょう。

ue289.jpg

このウィジェットは以下のように作成します。

ue290.jpg 
緑の枠が[Canvas Panel]です。
Canvasの位置がわかりやすいようにテキストを配置して位置を確認できるようにしました。
ここで重要なのですが、Canvasにはわかりやすい名前をつけて、[Is Variable]にチェックを入れておきます。

ue291.jpg 
このチェックを入れておくとBPから変数として扱うことが出来ます。
つまり、このCanvasにアクセスすることが出来るようになります。

次にレベルBPでこのウィジェットを作成し、表示します。
まあこれは説明の必要もないと思いますが、一応BPを提示しておきます。

ue292.jpg 

では、続きからで動的配置とアニメーションをやっていきます。


[[UE4] UMGのアニメーションと動的な配置]の続きを読む
  1. 2015/04/13(月) 00:43:59|
  2. UE4
  3. | トラックバック:0
  4. | コメント:0

プロフィール

monsho

Author:monsho
ゲームプログラマ?

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する