今までエディターのビューポートでプレイしてきたが、新規ウィンドウでプレイするスタンドアローンゲームでプレイしてみたところ、だいぶ見た目が違っていた。
影の設定も動的シャドウを無効にする設定が正しく動いて、影が消えたりすることも無かった。
ビューポートはあくまで簡易的な描画だったりするのかな。
次に音関連の設定。SEとBGMの追加を行った。
ステージが始まったときに Create Sound 2D でBGMを作成して再生。
プレイヤーが死んだときにBGMを止めるのをイベントディスパッチャーを使って実装してみた。
プレイヤーにイベントディスパッチャーを追加して、ステージ側で開始時にそのディスパッチャーをBGMを止めるイベントにバインドする。
これでプレイヤー側からステージ側のBGMを止めるイベントを呼び出せる。
一応、やりたいことは出来たけど、この方法が良いかは分からない。
タイトル画面
UE5でタイトル画面を作成中。
まず、ウィジェットブループリントでテキストを複数追加出来なくて戸惑う。さきにキャンバスパネルを追加しないと駄目だった。そこに複数のテキストを追加していった。
レベルブループリントでウィジェットを作成し、Add to Viewportで画面に表示する。ここでもウィジェットを作成するノードが見つからなくて焦る。検索窓に create と入れて見つからないと思っていたら、日本語で「ウィジェットを作成」とあった。英語で探していたので気がつくまでちょっと時間がかかった。
何かキーが押されたらゲームプレイレベルに行くようにするため、Any Key イベントで押されたら、Open Level でゲームプレイレベルへと切り替える。
実際に出来たのだが、タイトル画面を実行中に見えないプレイヤーが生成されているようで落下しているのがエディター上でわかる。このプレイヤーを出さないようにするのはどうしたら良いのだろう。
とりあえず、後回しにしてゲームプレイのほうに進むことにする。
アンリアルクエスト4上級編の模範解答を読む その4
アンリアルクエスト4上級編の模範解答のボムの処理と集中線の部分を読んでいる。
ボム自体に関してはアニメーションで拡大し、触れたものにダメージを与えている。だいぶブループリントを読むのにも慣れてきて、わかるようになってきた。
集中線はポストプロセスマテリアルを使って表現している。
カメラのRendering Featuresのポストプロセスマテリアルの配列に設定すると画面全体のエフェクトとして描画されるようだ。
スライディングをしたときにマテリアルを追加して、スライディングが終わったらパラメータで表示しないようにしている。追加したマテリアル自体を取り除くということはしていないようだ。
複数のポストプロセスを設定するときは配列に追加していけば良いのかな。でも処理がバラバラだとまとめて設定するのを書くのは面倒そう。
日本語の設定にしているけど、カメラのポストプロセス内の項目はLensとかFilmは英語のままなのに「ポストプロセスマテリアル」だけ日本語になっている。
historia.co.jp
ヒストリアのブログに実装方法の記事があった。マテリアルの作り方はこちらが参考になる。