LoginSignup
3
1

More than 3 years have passed since last update.

[UE4]プレイヤーをネットワーク化(1)

Last updated at Posted at 2019-07-24

UE4のFPSサンプルをネットワーク化します。
今回はこちらの前半となります。

サンプルプロジェクトを作成

新規プロジェクトでファーストパーソンを選択しプロジェクトを作成します。
2019-07-24_132904.jpg

2019-07-24_133317.jpg

プレイヤーを2人に

まずはプレイヤーを2人にしてみます。
再生ボタン横の▼をクリックし、詳細設定を選択
2019-07-24_133423.jpg

複数画面を同時に確認できるよう画面サイズを小さめに設定し、
プレイヤー数を2にします
2019-07-24_133707.jpg

再生ボタン横の▼をクリックし、新規エディタウィンドウを選択します
2019-07-24_133932.jpg

それぞれのウインドウで各プレイヤーが動かせるようになりました。
ただし、まだ相手の画面で自分の弾が生成されません。
2019-07-24_134136.jpg

弾をネットワーク対応に

コンテンツブラウザ>FiestPersonBP>BluePrints>FirstPersonProjectile
をダブルクリックし、イベントグラフを開きます

詳細>ReplicateMovement
詳細>Replicates
にチェックを入れ、コンパイルボタンを押してウインドウを閉じます

2019-07-24_135302.jpg

これでサーバー側の弾はクライアント側で生成されるようになりましたが、
クライアント側の弾はサーバー側で生成されません。

トリガーボタンをネットワーク対応に

初期状態だと「トリガーを押したときに弾が生成される」となっているので、
これを、「トリガーを押したときにサーバーでネットワークイベントが発動する」
ようにして、クライアント側でも弾が生成されるようにします。

アウトライナ>FirstPersonCharacter>クリックしてブループリントを編集
弾を生成している箇所(Spawn projectile)を探します。
2019-07-24_140029.jpg

タッチやコントローラー等不要な処理を削り、
右クリック>カスタムイベントを生成>ServerSpawnProjectileと名付け
グラフ>サーバーで実行 に変更
2019-07-24_150427.jpg

右クリック>ServerSpawnProjectileでカスタムイベントを発動させる同名の関数を生成
2019-07-24_150552.jpg

トリガーで弾を出していたのを
2019-07-24_150648.jpg

トリガーでイベントを呼び出し、イベントで弾を出すようつなぎなおす
2019-07-24_150746.jpg

これでどちらからも弾が出るようになりました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1