忍者ブログ

非現実的な話

ゲーム、UnrealEngine4などの話題を取り扱います。取り扱う内容は個人の範囲で調べたものなのでご利用は自己責任でお願いします。

【UE4】Ver4.8の新機能を使ってみる(Network Replays編)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

【UE4】Ver4.8の新機能を使ってみる(Network Replays編)


Blueprint編を1~6までやってきましたが、残りがBugFix関連だったので6で終了です。
見切り発車をしてしまったことを反省。また、1~6については和訳を追加しました。
翻訳の先生に、圧倒的・・・感謝・・・


今回はNetworkReplaysについてです。
リプレイ機能です。

まずは、ShooterGameにお手本があるようなので見てます。

-----------------------------------------------------------

ShooterGameのメインメニューからスタートするにはまず、
「ShooterEntry」というレベルを開きます。
あとはPIEで実行して・・・・とメニューが出てこない。

AnswerHUBで調べてみたところ、4.5以降ではメニューが出てこない報告がありました。
ただし、Package化することで動作には問題ないようです。
ということでPackageを作成します。

Packageはメニューの[File]->[Project]から作成していきます。
自分の場合はWin64を使用しているので赤枠を選択。


完了したら早速exeをたたいてみます。
ShooterGame.exeを選択。



リリースノートに記載があったように"Record Demo"をONにします。
あとはFREE FOR ALL"を押してゲーム開始します。



一度ゲームをプレイすれば録画されるので、
一旦"MAIN MENU"に戻り、今度は"DEMOS"を選択します。



リプレイのログが出てくるのでクリック選択し、Enterで再生します。



上記がリプレイ画面。
シークバーと停止ボタンが白くなっていますが、リプレイを再生できました。
カメラはプレイヤー視点ではなく、別にリプレイ用のカメラで映し出されます。
なので、キーボード操作でワールド内を移動できます。

また、シークバーを制御することでリプレイの指定した地点まで飛ぶことができます。
中央の停止ボタンでリプレイの中断、再開を切り替えます。

以上、ShooterGameのデモ。
-----------------------------------------------------------

では一体どうやってリプレイ機能を実現しているのか。
まずはリプレイデータから逆引きしてみます。



Demosにリプレイデータがあります。
中身を見るといくつかのファイルが入ってます。



このDemo1のフォルダ、32kByteしかありません。
このサイズだけで1分程のリプレイデータが保持できるのはすごいです。
内容はチェックポイント(Game開始地点)だったり、ネットワークのデータだったり。
プレイヤーの挙動の再現はキー入力を見ているようです。

あとは、.headerファイルは、エンジンとの関連情報、.metadataファイルは、リプレイデータとの関連情報のようだ。
リプレイデータの制御はDemoNetDriverというクラス。
リプレイデータの描画はSlateを使っているのか・・・
メインメニューのリプレイ設定はGameThread・・・

現段階だと実装・移植するのが結構大変そうな感じです。
今後パワーアップするらしいので、今後に期待しよう、うん。
本日は覚え書き程度の調査。

コメント

プロフィール

HN:
どんぶつ
性別:
非公開
自己紹介:
UnrealEngine4について調べる。

ブログ内検索

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

リンク

  • [PR]
    PR