Posted Articles

2023年 09月's articles. (3)

わんころのUE5勉強会 Sep/29/2023 12:00

自作ゲームの進捗20:チュートリアル周りを少しアップデート

皆様、こんばんは!


UI 周りに手を付け始めて少し経ちましたが、概ねやりたいことは実装が進んでおります。

操作説明を1枚の画面で表示して切り替えるような仕組みは以前実装してましたが、チュートリアルを一気に表示するより特定のタイミングで表示した方がいいかなということで修正とアップデートを行いました。


脱出ゲームの特性上ユーザが調べる場所がバラバラになることを想定し、解放してないチュートリアルはまだ見れないようにしておく機能も実装。

左右の矢印でまだ先があることを示しているのですが、最後のページの見通しがないためページ全体の枚数も表示した方がいいかもしれませんね。

一応お見せ出来ない部分も進めており、順調には進んでいます。


一点どうしても分からない問題に遭遇し、再現性も微妙で出来る時は出来てるという症状だったので結構悩んでましたがようやく原因が分かりました。


Level Sequencer で Cine Camera Actor を使ってカットシーンを再生し、「Set View Target with Blend」を使ってカットシーン後の最終位置にカメラを切り替えるという実装をしました。

ある時は想定通り切り替わり、ある時はカットシーン再生前の位置にカメラが戻り、再現性も微妙な状況でした。


カメラを最終位置で固定するか、戻すかについては「カメラカット」で右クリック>「セクションの編集」>「When Finished」を[Keep State]に変更することで対応できます。

デフォルトでは[Project Default]になっており、(恐らく)[Restore State]の挙動になってるんじゃないかと思います。


これの原因ですが、[Keep State]にしていたはずなのに[Project Default]に戻っている時があったことが判明しました。


挙動がおかしい時にすぐ見れば気が付いてただろうと思うんですが、問題ない挙動を示す時もあったため全然気づけませんでした。

Level Sequencer はまだまだ全然使えてないのでこういう挙動が発生するとデバッグ方法もよく分からないため焦りますね。
これでまた一つバグが潰せました。良かった...


それではまた!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Sep/07/2023 06:33

【UE5.3】Enhanced Input:IMC と Input Action の変更点

UE5.2 を全然触ってないまま UE5.3 がリリースされました。

そこで、Enhanced Input の Input Mapping Context と、入力アクション(Input Action)で UE5.1 から UE5.3 で変更された部分を自分で確認出来た範囲でまとめてみようと思います。

※ UE5.2 で既に変更された部分も含まれています
※ 未検証部分が含まれます
※ 気づいた点などあれば加筆・修正も予定しています



入力アクション

コンテンツブラウザで右クリック> 入力> 入力アクションで作成出来るアセットです。


変更された部分は画像で囲った部分です。

Accumulation Behavior

IMC に設定した IA_○○ に複数のキーが設定されていて、2つ以上の入力が同時に発生した場合の入力値をどうするか選択できます。

例えば IA_Move には WASD などキャラ移動に対して何個かキーが割り当たっています。

WとSキーを同時に押すと、入力値としては -1.0と1.0 が発生するので値が相殺(±0)されてその場から動かなくなりそうですが、W/S なら前方向、A/Dなら右方向へ移動します。


Unreal Engine Issues にも報告があり、仕様ではなく不具合だったようで修正されたみたいです。
Feature Request: Make WASD movement cancel out movement when you press keys in opposite directions


そして、以前の入力と今回修正されたオプションがこのプルダウンメニューから選択できるようになっています。

[Take Highest Absolute Value]
入力値の大きい値で処理されます。デフォルトではこちらが選択されており従来通りの挙動です。

[Comulative]
先程挙げた修正にて新しく追加された処理方式で、複数の入力値の合計値で処理されます。

例えば IA_Move をこのオプションに設定すると、-1.0 と 1.0 の合計値で 0.0 になり、キャラはその場から動きません。


Consume Lower Priority Enhanced Input Mappings

長い名前になりましたが、Consume Input の設定です。
以前の記事で記載しておりますのでこちらでは割愛します。

【UE5】Enhanced Input:Priority や Consume Input の検証


Consumes Action and Axis Mappings

Enhanced Input + 従来の入力イベントを併用する場合の処理方法を決定できます。

このオプションにチェックを入れるとすぐ下の "Trigger Events That Consume Legacy Keys" が設定できるようになります。


プルダウンメニューの中から、Enhanced Input のどのイベントと連動させるかを決められます。


各種入力イベントを置いて Enter キーでトリガーされるように実装して確認しました。

"Consumes Action and Axis Mappings" にチェックを入れると、Enhanced Input の入力イベントのみ実行されたことが確認できます。

従来の入力イベントと併用する場合で、Enhanced Input の処理を優先したい場合はこのオプションを利用すると良さそうです。


Legacy Input mappings and Gameplay Debug Mappings cannot "consume" Enhanced Input actions
余談ですが、Unreal Engine Issues に報告されているこちら内容は UE5.4 で修正予定のようです。
(Enhanced Input の IA_○○ の入力と、Debug Key○○ で同じキーを利用している場合両方トリガーされるという問題です)



現在 Enhanced Input の Debug版の入力イベントには Consume Input の設定がないため、画像のようなケースでも両方トリガーされます。

UE5.4 で Debug版の入力に対しても Consume Input の設定が出来ると嬉しいです。


Player Mappable Key Settings(未検証)

従来だと Input Mapping Context 内で設定していた "Player Mappable Options" が入力アクション内でも設定出来るようになりました。

IMC 側もそうですが、設定の仕方が以前と変わりました。

"Player Mappable Key Settings" を [None] から [Player Mappable Key Setteings(Experimental)] に変更すると、画像のような設定画面が展開されます。

キーコンフィグ等で利用するために設定する名前や、ゲーム内で表示する名前・カテゴリを設定できるのは以前と変わらずです。

"サポートキープロファイル" が新しく追加されていました。


[空のマップ]と書いた部分をクリックするとゲームプレイタグを設定できる画面が表示されます。

どういう使い方をするのか未検証のため分かり次第追記予定です。


Input Mapping Context

Setting Behavior

入力アクション内でも出てきた "Player Mappable Key Settings" の設定を IMC 内でどうするか選択することができます。

Inherit Settings from Action

入力アクションで設定した情報をそのまま利用します。
デフォルトでこの設定になっています。

Override Settings(未検証)


IMC 内で独自に設定できます。
同じくサポートキープロファイルについては未検証です。

Ignore Settings from Action

入力アクションで設定した情報を使用しません。


入力イベント系は頻繁に使うので Enhanced Input 系の機能は少しでも覚えていきたいです。

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Sep/05/2023 21:19

自作ゲームの進捗19:簡単な操作説明と暫定のオプション画面

皆様、こんばんは!

先日から手を入れている UI も躓きながらとりあえずは前に進んでおります。

知らない仕様も沢山知れて勉強にはなってますが、新しいことを覚えていくとそれなりに考えないといけなかったりして疲れてくるので、少し違う作業にしようと思いチュートリアルで表示する画面のベースを作成しました。

最初枠だけ作って相変わらず UI の統一感がないな...と思ってましたが、操作説明等を入れるとマシに見えたのでとりあえずこれで行こうと思います。

内容の切り替えに Widget Switcher を採用してみました。
Active Widget Index で切り替えたいインデックスに指定すれば選択的に Widget を表示出来るので便利ですね。

あとはこれを適切なタイミングで入れるだけなのでそんなに困らないと思います。



また、オプション画面の構成もある程度固まってきました。

ON/OFF を切り替える Toggle Widget、スライダーもしくは数値の入力(キーボードのみ)と連動するマウス感度、音量調整などの Slider Widget を実装しました。(このゲーム BGM 使うんだろうか...)

Sound Class/Sound Mix にてサウンド調整機能も実装しました。
各オプションもセーブ&ロードに対応出来たのでオプション画面はかなり進んだと思います。


一応パッド操作も考慮してはいるんですが、このゲームを無料公開する場所は Steam 以外になると思うので、XInput 系のコントローラーなら UE5 側で対応できますが Direct Input 系のコントローラをどう対応するかが悩みどころです。


特に名言はしてなかったんですが一応年内には...と思ってましたが、このペースだと年内に公開は難しいかもですね。

それではまた!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

Monthly Archive

Search by Article Tags

Search by Exclusive Perks

Search Articles