UE4 コマ送り機能を実装する(デバッグ機能)
モーションや挙動のチェックをする場合のデバッグ機能としてコマ送りが必要になることがあります。
それの実装方法です。
コマ送りには「Set Game Paused」ノードを使います。

統合開発環境と同じく「F9」でコマ送りのポーズ(ブレークポイント)
という風にしてみました。
F9を押すたびに、コマ送りのポーズ状態の切り替えが行われます。
コマ送りを検知するために「StepPause」という変数を追加しています。

コマ送りのポーズ状態化を持っているだけです。
割とあってもなくても問題なかったりはします。
これでコマ送りのポーズ状態の切り替えができたので
次にコマ送りの機能を実装します。

F10を押すたびに1コマ進めるような処理です。
内容は1F処理を待って再びポーズをしている簡単なものですね。
Delay に指定している Duration は60Fでの1Fを秒に変換した値です。
60F以上の動作時には値を変える必要があります。
あとは、F9とF10がポーズ中でも効くようにします。

詳細の「Execute when Paused」にチェックをいれます。
と、この方法でコマ送りを実装してうまくいったのですが、
メニューやゲームのポーズなどに「Set Game Paused」を使ってしまうと
バッティングしてしまうのでその場合はうまくいかないかもですね。
あとはポーズ中も動くようにしているものがあったりとか。
モーションもフレームで制御しているわけではないので多少はずれますね。
時代なのでしょうがないのですがフレームが恋しくなります(笑
メニューも含めポーズ系はUE4だとどう実装するのがよいのですかねー。
いろいろな人に聞いてみたいです。
それの実装方法です。
コマ送りには「Set Game Paused」ノードを使います。

統合開発環境と同じく「F9」でコマ送りのポーズ(ブレークポイント)
という風にしてみました。
F9を押すたびに、コマ送りのポーズ状態の切り替えが行われます。
コマ送りを検知するために「StepPause」という変数を追加しています。

コマ送りのポーズ状態化を持っているだけです。
割とあってもなくても問題なかったりはします。
これでコマ送りのポーズ状態の切り替えができたので
次にコマ送りの機能を実装します。

F10を押すたびに1コマ進めるような処理です。
内容は1F処理を待って再びポーズをしている簡単なものですね。
Delay に指定している Duration は60Fでの1Fを秒に変換した値です。
60F以上の動作時には値を変える必要があります。
あとは、F9とF10がポーズ中でも効くようにします。

詳細の「Execute when Paused」にチェックをいれます。
と、この方法でコマ送りを実装してうまくいったのですが、
メニューやゲームのポーズなどに「Set Game Paused」を使ってしまうと
バッティングしてしまうのでその場合はうまくいかないかもですね。
あとはポーズ中も動くようにしているものがあったりとか。
モーションもフレームで制御しているわけではないので多少はずれますね。
時代なのでしょうがないのですがフレームが恋しくなります(笑
メニューも含めポーズ系はUE4だとどう実装するのがよいのですかねー。
いろいろな人に聞いてみたいです。
| UE4 | 14:22 | comments:0 | trackbacks:0 | TOP↑