UE4 手軽にスタッフロールを実装したい
個人製作でスタッフロールを実装したいと思い、いろいろやってみました。
もっと簡単で融通の利く方法があるかと思いますが今回は備忘録として投稿しておきます。
↓今回やりたいこと↓
スタッフロールの素 pic.twitter.com/G9cUzfsh8p
— わかいです (@wakaiGames) 2020年8月8日
- UE4ver. 4.24.3
今回は簡潔に書くために関数等は作成していません。
①WidgetBlueprintを作成
- いつも通り作ります。
②Textを追加してアンカー、座標、文字サイズを設定
- 座標値を入れやすいようにアンカーを中央でなく上に設定しています。
- サイズは画面いっぱいいっぱいに設定。今回は1920*1080です。
- IsVariableにチェックを入れます。
③グラフを開いて変数を追加
- maxTimeテキストが流れきる時間:5
- nowTime流れている時間の計測:0
- Upperテキストが流れる上限座標:-200
- Lowerテキストが流れ始める座標:1080
④経過時間から割合を計算
- nowTimeにDeltaTimeを足して経過時間を計測する。
- その値をmaxTimeで割って割合にする。(0-1にするためにClampしておきます)
- 今回は画面下が+画面上が0なので1-0にしておきます。
⑤画面下~上までの距離を計測して、割合をかける
- 割合をかけた後にUpper分足しているのは画面外に出るためにマイナスの数まで遷移する必要があるからです。
⑥Textの座標を設定
- 計算した数値をVector2のYに代入して、Vector2をTextの座標に代入します。
これでプレイすると、画面下から上に流れていくはずです。
ue4でスクロールの勉強中
— わかいです (@wakaiGames) 2020年8月8日
背景のスクロールにも使えそう pic.twitter.com/r4U45XPcQt
⑦無限スクロール
- 画面外に出たらnowTimeとテキストの座標を初期化します。
初期化回数をカウントしておいて、テキストを変更すると、スタッフロールの基礎が完成です。
役職を表示する用のTextを別途用意、名前のText一行目を改行する等の工夫でいい感じのスタッフロールが作れるかと思います。
もっと良い方法がありそうですが、とりあえず動けばいいという状況でお使いください。